Compare commits

..

2 Commits

7 changed files with 57 additions and 4 deletions

View File

@ -341,6 +341,20 @@
<div id="tab_sysinfo" class="tab-pane fade"> <div id="tab_sysinfo" class="tab-pane fade">
<h3>Systeminfo</h3> <h3>Systeminfo</h3>
<hr> <hr>
<h4>Firmware-Info</h4>
<p>
<table class="table">
<tbody>
<tr>
<th class="col-md-8" scope="col">Parameter</td>
<th class="col-md-4" scope="col">Value</td>
</tr>
<tr>
<td>Version</td>
<td>%SW_VERSION%</td>
</tr>
</table>
</p>
<h4>Einstellungen</h4> <h4>Einstellungen</h4>
<p> <p>
<table class="table"> <table class="table">
@ -424,6 +438,10 @@
<td>writeCycleCounter</td> <td>writeCycleCounter</td>
<td>%WRITE_CYCLE_COUNT%</td> <td>%WRITE_CYCLE_COUNT%</td>
</tr> </tr>
<tr>
<td>PersistenceMarker</td>
<td>%PERSISTENCE_MARKER%</td>
</tr>
<tr> <tr>
<td>tankRemain_µl</td> <td>tankRemain_µl</td>
<td>%TANK_REMAIN_UL%</td> <td>%TANK_REMAIN_UL%</td>

View File

@ -14,6 +14,9 @@
#define HOST_NAME "ChainLube_%06X" // Use printf-Formatting - Chip-ID (uin32_t) will be added #define HOST_NAME "ChainLube_%06X" // Use printf-Formatting - Chip-ID (uin32_t) will be added
#endif #endif
#define SW_VERSION_MAJOR 1
#define SW_VERSION_MINOR 0
#ifndef OTA_DELAY #ifndef OTA_DELAY
#define OTA_DELAY 50 // ticks -> 10ms / tick #define OTA_DELAY 50 // ticks -> 10ms / tick
#endif #endif

View File

@ -19,6 +19,7 @@ void InitEEPROM()
if (!checkEEPROMavailable()) if (!checkEEPROMavailable())
{ {
globals.systemStatus = sysStat_Error; globals.systemStatus = sysStat_Error;
MaintainDTC(DTC_NO_EEPROM_FOUND, true);
return; return;
} }
GetConfig_EEPROM(); GetConfig_EEPROM();
@ -131,6 +132,7 @@ void FormatConfig_EEPROM()
{ {
LubeConfig_t defaults; LubeConfig_t defaults;
LubeConfig = defaults; LubeConfig = defaults;
LubeConfig.EEPROM_Version = eeVersion;
StoreConfig_EEPROM(); StoreConfig_EEPROM();
} }
@ -151,10 +153,10 @@ void MovePersistencePage_EEPROM(boolean reset)
PersistenceData.writeCycleCounter = 0; PersistenceData.writeCycleCounter = 0;
// check if we reached the End of the EEPROM and Startover at the beginning // check if we reached the End of the EEPROM and Startover at the beginning
if ((startofPersistence + eePersistenceMarker + sizeof(PersistenceData)) > ee.getDeviceSize() || reset) // if ((startofPersistence + eePersistenceMarker + sizeof(PersistenceData)) > ee.getDeviceSize() || reset)
{ // {
eePersistenceMarker = 0; // eePersistenceMarker = 0;
} // }
ee.updateByte(0, (uint8_t)(eePersistenceMarker >> 8)); ee.updateByte(0, (uint8_t)(eePersistenceMarker >> 8));
ee.updateByte(1, (uint8_t)(eePersistenceMarker & 0xFF)); ee.updateByte(1, (uint8_t)(eePersistenceMarker & 0xFF));

View File

@ -7,8 +7,18 @@ void RunLubeApp(uint32_t add_milimeters)
MaintainDTC(DTC_TANK_EMPTY, (PersistenceData.tankRemain_µl < LubeConfig.amountPerDose_µl)); MaintainDTC(DTC_TANK_EMPTY, (PersistenceData.tankRemain_µl < LubeConfig.amountPerDose_µl));
static tSystem_Status preserverSysStatusError;
if (getlastDTC(true) < DTC_LAST_DTC) if (getlastDTC(true) < DTC_LAST_DTC)
{
if (globals.systemStatus != sysStat_Error)
preserverSysStatusError = globals.systemStatus;
globals.systemStatus = sysStat_Error; globals.systemStatus = sysStat_Error;
}
else
{
globals.systemStatus = preserverSysStatusError;
}
// Add traveled Distance in mm // Add traveled Distance in mm
PersistenceData.TravelDistance_highRes_mm += add_milimeters; PersistenceData.TravelDistance_highRes_mm += add_milimeters;

View File

@ -59,6 +59,7 @@ void toggleWiFiAP(boolean shutdown = false);
void SystemShutdown(); void SystemShutdown();
uint32_t Process_Impulse_WheelSpeed(); uint32_t Process_Impulse_WheelSpeed();
void EEPROMCyclicPDS_callback(); void EEPROMCyclicPDS_callback();
void initGlobals();
#ifdef FEATURE_ENABLE_REMOTE_DEBUG #ifdef FEATURE_ENABLE_REMOTE_DEBUG
RemoteDebug Debug; RemoteDebug Debug;
@ -192,6 +193,7 @@ void setup()
u8x8.refreshDisplay(); u8x8.refreshDisplay();
initWebUI(); initWebUI();
initGlobals();
EEPROMCyclicPDSTicker.start(); EEPROMCyclicPDSTicker.start();
Serial.println("Setup Done"); Serial.println("Setup Done");
} }
@ -246,6 +248,14 @@ String IpAddress2String(const IPAddress &ipAddress)
String(ipAddress[3]); String(ipAddress[3]);
} }
void initGlobals()
{
globals.purgePulses = 0;
globals.requestEEAction = EE_IDLE;
globals.resumeStatus = sysStat_Normal;
globals.systemStatus = sysStat_Startup;
}
#ifdef FEATURE_ENABLE_REMOTE_DEBUG #ifdef FEATURE_ENABLE_REMOTE_DEBUG
void processCmdRemoteDebug() void processCmdRemoteDebug()
{ {
@ -309,6 +319,7 @@ void RemotDebug_printSystemInfo()
: "UNKNOWN")); : "UNKNOWN"));
debugA("OTA-Pass: %s", QUOTE(ADMIN_PASSWORD)); debugA("OTA-Pass: %s", QUOTE(ADMIN_PASSWORD));
debugA("Git-Revison: %s", GIT_REV); debugA("Git-Revison: %s", GIT_REV);
debugA("Sw-Version: %d.%02d", SW_VERSION_MAJOR, SW_VERSION_MINOR);
} }
void RemoteDebug_dumpConfig() void RemoteDebug_dumpConfig()

View File

@ -71,6 +71,8 @@ String processor(const String &var)
} }
if (var == "WRITE_CYCLE_COUNT") if (var == "WRITE_CYCLE_COUNT")
return String(PersistenceData.writeCycleCounter); return String(PersistenceData.writeCycleCounter);
if (var == "PERSISTENCE_MARKER")
return String(getPersistanceAddress());
if (var == "TANK_REMAIN_UL") if (var == "TANK_REMAIN_UL")
return String(PersistenceData.tankRemain_µl); return String(PersistenceData.tankRemain_µl);
if (var == "TRAVEL_DISTANCE_HIGHRES") if (var == "TRAVEL_DISTANCE_HIGHRES")
@ -168,6 +170,12 @@ String processor(const String &var)
if (var == "SYSTEM_STATUS") if (var == "SYSTEM_STATUS")
return String(globals.systemStatustxt); return String(globals.systemStatustxt);
if (var == "SW_VERSION")
{
char buffer[7];
sprintf(buffer, "%d.%02d", SW_VERSION_MAJOR, SW_VERSION_MINOR);
return String(buffer);
}
if (var == "PLACEHOLDER") if (var == "PLACEHOLDER")
return "placeholder"; return "placeholder";

View File

@ -9,6 +9,7 @@
#include "config.h" #include "config.h"
#include "globals.h" #include "globals.h"
#include "dtc.h" #include "dtc.h"
#include "common.h"
void initWebUI(); void initWebUI();