mirror of
https://github.com/opentx/opentx.git
synced 2025-07-25 17:25:13 +03:00
Log file moved to RAM and aligned for proper DMA access. Log functions renamed.
This commit is contained in:
parent
6ddb9e414f
commit
e229c8f8e7
13 changed files with 31 additions and 23 deletions
|
@ -101,7 +101,7 @@ void menuRadioSdManager(event_t _event)
|
|||
if (warningResult) {
|
||||
warningResult = 0;
|
||||
showMessageBox(STR_FORMATTING);
|
||||
closeLogs();
|
||||
logsClose();
|
||||
#if defined(PCBSKY9X)
|
||||
Card_state = SD_ST_DATA;
|
||||
#endif
|
||||
|
|
|
@ -348,7 +348,7 @@ void menuModelSensor(event_t event)
|
|||
case SENSOR_FIELD_LOGS:
|
||||
ON_OFF_MENU_ITEM(sensor->logs, SENSOR_2ND_COLUMN, y, STR_LOGS, attr, event);
|
||||
if (attr && checkIncDec_Ret) {
|
||||
closeLogs();
|
||||
logsClose();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ void menuRadioSdManager(event_t _event)
|
|||
if (warningResult) {
|
||||
warningResult = 0;
|
||||
showMessageBox(STR_FORMATTING);
|
||||
closeLogs();
|
||||
logsClose();
|
||||
audioQueue.stopSD();
|
||||
if (f_mkfs(0, 1, 0) == FR_OK) {
|
||||
f_chdir("/");
|
||||
|
|
|
@ -358,7 +358,7 @@ bool menuModelSensor(event_t event)
|
|||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_LOGS);
|
||||
sensor->logs = editCheckBox(sensor->logs, SENSOR_2ND_COLUMN, y, attr, event);
|
||||
if (attr && checkIncDec_Ret) {
|
||||
closeLogs();
|
||||
logsClose();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -153,7 +153,7 @@ bool menuRadioSdManager(event_t _event)
|
|||
if (warningResult) {
|
||||
warningResult = 0;
|
||||
showMessageBox(STR_FORMATTING);
|
||||
closeLogs();
|
||||
logsClose();
|
||||
audioQueue.stopSD();
|
||||
if (f_mkfs(0, 1, 0) == FR_OK) {
|
||||
f_chdir("/");
|
||||
|
|
|
@ -21,10 +21,12 @@
|
|||
#include "opentx.h"
|
||||
#include "ff.h"
|
||||
|
||||
FIL g_oLogFile = {0};
|
||||
FIL g_oLogFile __DMA;
|
||||
const pm_char * g_logError = NULL;
|
||||
uint8_t logDelay;
|
||||
|
||||
void writeHeader();
|
||||
|
||||
#if defined(PCBTARANIS) || defined(PCBFLAMENCO) || defined(PCBHORUS)
|
||||
#define GET_2POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : 1)
|
||||
#else
|
||||
|
@ -33,7 +35,13 @@ uint8_t logDelay;
|
|||
|
||||
#define GET_3POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : (switchState(SW_ ## sw ## 2) ? 1 : 0))
|
||||
|
||||
const pm_char * openLogs()
|
||||
|
||||
void logsInit()
|
||||
{
|
||||
memset(&g_oLogFile, 0, sizeof(g_oLogFile));
|
||||
}
|
||||
|
||||
const pm_char * logsOpen()
|
||||
{
|
||||
// Determine and set log file filename
|
||||
FRESULT result;
|
||||
|
@ -111,7 +119,7 @@ const pm_char * openLogs()
|
|||
|
||||
tmr10ms_t lastLogTime = 0;
|
||||
|
||||
void closeLogs()
|
||||
void logsClose()
|
||||
{
|
||||
if (f_close(&g_oLogFile) != FR_OK) {
|
||||
// close failed, forget file
|
||||
|
@ -204,7 +212,7 @@ uint32_t getLogicalSwitchesStates(uint8_t first)
|
|||
return result;
|
||||
}
|
||||
|
||||
void writeLogs()
|
||||
void logsWrite()
|
||||
{
|
||||
static const pm_char * error_displayed = NULL;
|
||||
|
||||
|
@ -214,7 +222,7 @@ void writeLogs()
|
|||
lastLogTime = tmr10ms;
|
||||
|
||||
if (!g_oLogFile.fs) {
|
||||
const pm_char * result = openLogs();
|
||||
const pm_char * result = logsOpen();
|
||||
if (result != NULL) {
|
||||
if (result != error_displayed) {
|
||||
error_displayed = result;
|
||||
|
@ -370,14 +378,14 @@ void writeLogs()
|
|||
if (result<0 && !error_displayed) {
|
||||
error_displayed = STR_SDCARD_ERROR;
|
||||
POPUP_WARNING(STR_SDCARD_ERROR);
|
||||
closeLogs();
|
||||
logsClose();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
error_displayed = NULL;
|
||||
if (g_oLogFile.fs) {
|
||||
closeLogs();
|
||||
logsClose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -391,7 +391,7 @@ void perMain()
|
|||
#endif
|
||||
checkSpeakerVolume();
|
||||
checkEeprom();
|
||||
writeLogs();
|
||||
logsWrite();
|
||||
handleUsbConnection();
|
||||
checkTrainerSettings();
|
||||
periodicTick();
|
||||
|
|
|
@ -97,7 +97,7 @@ void perMain()
|
|||
|
||||
#if defined(SDCARD)
|
||||
sdMountPoll();
|
||||
writeLogs();
|
||||
logsWrite();
|
||||
#endif
|
||||
|
||||
event_t evt = getEvent();
|
||||
|
|
|
@ -1993,7 +1993,7 @@ void opentxClose(uint8_t shutdown)
|
|||
}
|
||||
|
||||
#if defined(SDCARD)
|
||||
closeLogs();
|
||||
logsClose();
|
||||
#endif
|
||||
|
||||
saveTimers();
|
||||
|
@ -2551,6 +2551,7 @@ void opentxInit(OPENTX_INIT_ARGS)
|
|||
else {
|
||||
#if defined(SDCARD) && !defined(PCBMEGA2560)
|
||||
sdInit();
|
||||
logsInit();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -80,10 +80,9 @@ extern FATFS g_FATFS_Obj;
|
|||
extern FIL g_oLogFile;
|
||||
|
||||
extern uint8_t logDelay;
|
||||
const pm_char *openLogs();
|
||||
void writeHeader();
|
||||
void closeLogs();
|
||||
void writeLogs();
|
||||
void logsInit();
|
||||
void logsClose();
|
||||
void logsWrite();
|
||||
|
||||
uint32_t sdGetNoSectors();
|
||||
uint32_t sdGetSize();
|
||||
|
|
|
@ -484,7 +484,7 @@ const pm_char * eeBackupModel(uint8_t i_fileSrc)
|
|||
UINT written;
|
||||
|
||||
// we must close the logs as we reuse the same FIL structure
|
||||
closeLogs();
|
||||
logsClose();
|
||||
|
||||
// check and create folder here
|
||||
strcpy_P(buf, STR_MODELS_PATH);
|
||||
|
@ -567,7 +567,7 @@ const pm_char * eeRestoreModel(uint8_t i_fileDst, char *model_name)
|
|||
UINT read;
|
||||
|
||||
// we must close the logs as we reuse the same FIL structure
|
||||
closeLogs();
|
||||
logsClose();
|
||||
|
||||
strcpy_P(buf, STR_MODELS_PATH);
|
||||
buf[sizeof(MODELS_PATH)-1] = '/';
|
||||
|
|
|
@ -46,7 +46,7 @@ void preModelLoad()
|
|||
#endif
|
||||
|
||||
#if defined(SDCARD)
|
||||
closeLogs();
|
||||
logsClose();
|
||||
#endif
|
||||
|
||||
if (pulsesStarted()) {
|
||||
|
|
|
@ -170,7 +170,7 @@ void usbMassStorage()
|
|||
if (sdMounted()) {
|
||||
Card_state = SD_ST_DATA;
|
||||
audioQueue.stopSD();
|
||||
closeLogs();
|
||||
logsClose();
|
||||
f_mount(NULL, "", 0); // unmount SD
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue