Update for rolling

This commit is contained in:
jomjol
2020-12-28 16:26:05 +01:00
parent 6e521f07c4
commit dffb28816d
11 changed files with 67 additions and 26 deletions

View File

@@ -19,13 +19,30 @@ A 3d-printable housing can be found here: https://www.thingiverse.com/thing:4571
### Known Issues
* Reboot on extensive web access due to the limits of the internal web server
* Spontaneous reboots, most probably due to weak power supply during power intensive operations (taking / calculating pictures)
------
**General remark:** Beside the `firmware.bin`, typically also the content of `/html` needs to be updated!
##### Rolling - (2020-12-07)
##### Rolling - (2020-12-27)
* Major change: no need of SD card for image processing anymore (all in memory)
* 95% less SD card writing
* SD use: mainly reading of data (config, html, tflite parameters), only log files and prevalue write on SD card anymore
* Need to limit camera resolution to VGA (due to memory limits)
* New Feature: setting of time server in `config.ini`
```
[System]
TimeServer = fritz.box
```
* Bug fix: corrected handling of out commented analog pointer ROIs
2020-12-07
* Improvement: internal file handling

View File

@@ -206,21 +206,49 @@ esp_err_t CCamera::CaptureToBasisImage(CImageBasis *_Image, int delay)
// if (debug_detail_heap) LogFile.WriteHeapInfo("CCamera::CaptureToBasisImage - After fb_get");
LEDOnOff(false);
if (delay > 0)
{
LightOnOff(false);
}
TickType_t xDelay = 1000 / portTICK_PERIOD_MS;
vTaskDelay( xDelay ); // wait for power to recover
uint8_t * buf = NULL;
size_t buf_len = 0;
int _anz = 0;
TickType_t xDelay = 3000 / portTICK_PERIOD_MS;
xDelay = 3000 / portTICK_PERIOD_MS;
while (!frame2bmp(fb, &buf, &buf_len) && _anz < 5)
{
esp_camera_fb_return(fb);
std::string _zw1 = "CCamera::CaptureToBasisImage failed #" + std::to_string(++_anz);
LogFile.WriteToFile(_zw1);
esp_camera_fb_return(fb);
_zw1 = "CCamera::CaptureToBasisImage failed #" + std::to_string(_anz) + " - after esp_camera_fb_return";
LogFile.WriteToFile(_zw1);
free(buf);
_zw1 = "CCamera::CaptureToBasisImage failed #" + std::to_string(_anz) + " - after free";
LogFile.WriteToFile(_zw1);
InitCam();
_zw1 = "CCamera::CaptureToBasisImage failed #" + std::to_string(_anz) + " - after InitCam";
LogFile.WriteToFile(_zw1);
vTaskDelay( xDelay );
fb = esp_camera_fb_get();
fb = esp_camera_fb_get();
_zw1 = "CCamera::CaptureToBasisImage failed #" + std::to_string(_anz) + " - after esp_camera_fb_get";
LogFile.WriteToFile(_zw1);
}
esp_camera_fb_return(fb);
@@ -256,11 +284,6 @@ esp_err_t CCamera::CaptureToBasisImage(CImageBasis *_Image, int delay)
free(buf);
if (delay > 0)
{
LightOnOff(false);
}
if (debug_detail_heap) LogFile.WriteHeapInfo("CCamera::CaptureToBasisImage - Done");
return ESP_OK;

View File

@@ -108,7 +108,7 @@ bool ClassFlow::getNextLine(FILE* pfile, string *rt)
}
*rt = zw;
*rt = trim(*rt);
while (zw[0] == '#' || (rt->size() == 0)) // Kommentarzeilen und Leerzeilen überspringen
while (zw[0] == ';' || zw[0] == '#' || (rt->size() == 0)) // Kommentarzeilen (; oder #) und Leerzeilen überspringen
{
fgets(zw, 1024, pfile);
printf("%s", zw);

View File

@@ -29,7 +29,7 @@
static const char *TAGMAIN = "connect_wlan_main";
bool debug_detail_heap = true;
bool debug_detail_heap = false;
#define FLASH_GPIO GPIO_NUM_4

View File

@@ -1,4 +1,4 @@
const char* GIT_REV="c05313a";
const char* GIT_REV="6e521f0";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling-reduce-sd-use";
const char* BUILD_TIME="2020-12-27 17:35";
const char* BUILD_TIME="2020-12-28 15:38";

View File

@@ -1,4 +1,4 @@
const char* GIT_REV="c05313a";
const char* GIT_REV="6e521f0";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling-reduce-sd-use";
const char* BUILD_TIME="2020-12-27 11:05";
const char* BUILD_TIME="2020-12-28 15:38";

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -570,16 +570,16 @@ textarea {
</tr>
<tr class="expert" id="ex16">
<td width="20px" style="padding-left: 40px;">
<input type="checkbox" id="System_TimeUpdateIntervall_enabled" value="1" onclick = 'document.getElementById("System_TimeUpdateIntervall_value1").disabled = !document.getElementById("System_TimeUpdateIntervall_value1").disabled' unchecked >
</td>
<td width="200px">
<class id="System_TimeUpdateIntervall_text" style="color:black;">TimeUpdateIntervall</class>
<td"><input type="checkbox" id="System_TimeServer_enabled" value="1" onclick = 'document.getElementById("System_TimeServer_value1").disabled = !document.getElementById("System_TimeServer_value1").disabled' unchecked ></td>
</td>
<td>
<input type="number" id="System_TimeUpdateIntervall_value1" size="13" min="0" step="1">
<class id="System_TimeServer_text" style="color:black;">TimeServer</class>
</td>
<td>
<input type="text" id="System_TimeServer_value1">
</td>
<td style="font-size: 80%;">
Intervall for synchronizing the time with the time server (in hours)
Time server to synchronize system time (default: "pool.ntp.org" - used if nothing is specified)
</td>
</tr>
</table>
@@ -717,7 +717,7 @@ function UpdateInput() {
WriteParameter(param, "Debug", "LogfileRetentionInDays", true);
WriteParameter(param, "System", "TimeZone", true);
WriteParameter(param, "System", "TimeUpdateIntervall", true);
WriteParameter(param, "System", "TimeServer", true);
}
function WriteConfig(){
@@ -762,7 +762,7 @@ function WriteConfig(){
ReadParameter(param, "Debug", "LogfileRetentionInDays", true);
ReadParameter(param, "System", "TimeZone", true);
ReadParameter(param, "System", "TimeUpdateIntervall", true);
ReadParameter(param, "System", "TimeServer", true);
FormatDecimalValue(param, "PostProcessing", "MaxRateValue");

View File

@@ -72,9 +72,9 @@ function ParseConfig() {
var catname = "System";
param[catname] = new Object();
ParamAddValue(param, catname, "TimeZone");
ParamAddValue(param, catname, "TimeServer");
ParamAddValue(param, catname, "AutoAdjustSummertime");
ParamAddValue(param, catname, "TimeUpdateIntervall");
ParamAddValue(param, catname, "SetupMode");
ParamAddValue(param, catname, "SetupMode");
while (aktline < config_split.length){
if (config_split[aktline].trim().toUpperCase() == "[MAKEIMAGE]") {
@@ -149,6 +149,7 @@ function ParseConfigParamSystem(_aktline){
var linesplit = ZerlegeZeile(input, " =");
ParamExtractValue(param, linesplit, catname, "TimeZone", _aktline, isCom);
ParamExtractValue(param, linesplit, catname, "TimeServer", _aktline, isCom);
ParamExtractValue(param, linesplit, catname, "AutoAdjustSummertime", _aktline, isCom);
ParamExtractValue(param, linesplit, catname, "TimeUpdateIntervall", _aktline, isCom);
ParamExtractValue(param, linesplit, catname, "SetupMode", _aktline, isCom);