diff --git a/README.md b/README.md index 273fcf06..7e4c6c5a 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,12 @@ Details can be found on the Wiki pages. ## Changelog - lastest version -##### 0.1.1 (2020-08-13) +##### Rolling (2020-08-13) * Implementation of Digital Consistency Check: check if Digit shows next number earlier, than previous number has gone through zero - Turn on/off - see updated config.ini `CheckDigitIncreaseConsistency = True`) Not fully tested! + + ##### 0.1.0 (2020-08-07) @@ -25,6 +27,7 @@ Details can be found on the Wiki pages. * spontaneous reboot, especially in case of intensive web server access * stopping automated tflite flow - Error teared down to alignment procedure (results in restart) * Camera initialization stuck not often, but randomly 5s after reboot - Hard reboot (power on/off) necessary :-( + --> Next try: adopted reboot sequence with additional and extended camera reset diff --git a/code/lib/jomjol_controlcamera/server_camera.cpp b/code/lib/jomjol_controlcamera/server_camera.cpp index 7971b384..0904ea48 100644 --- a/code/lib/jomjol_controlcamera/server_camera.cpp +++ b/code/lib/jomjol_controlcamera/server_camera.cpp @@ -12,6 +12,21 @@ char scratch2[SCRATCH_BUFSIZE2]; +void PowerResetCamera(){ + ESP_LOGD(TAGPARTCAMERA, "Resetting camera by power down line"); + gpio_config_t conf = { 0 }; + conf.pin_bit_mask = 1LL << GPIO_NUM_32; + conf.mode = GPIO_MODE_OUTPUT; + gpio_config(&conf); + + // carefull, logic is inverted compared to reset pin + gpio_set_level(GPIO_NUM_32, 1); + vTaskDelay(1000 / portTICK_PERIOD_MS); + gpio_set_level(GPIO_NUM_32, 0); + vTaskDelay(1000 / portTICK_PERIOD_MS); +} + + esp_err_t handler_lightOn(httpd_req_t *req) { LogFile.WriteToFile("handler_lightOn"); diff --git a/code/lib/jomjol_controlcamera/server_camera.h b/code/lib/jomjol_controlcamera/server_camera.h index 4d136529..b3f1fe19 100644 --- a/code/lib/jomjol_controlcamera/server_camera.h +++ b/code/lib/jomjol_controlcamera/server_camera.h @@ -11,4 +11,6 @@ static const char *TAGPARTCAMERA = "server_camera"; void register_server_camera_uri(httpd_handle_t server); +void PowerResetCamera(); + #endif \ No newline at end of file diff --git a/code/src/main.cpp b/code/src/main.cpp index 94df8888..c7849f37 100644 --- a/code/src/main.cpp +++ b/code/src/main.cpp @@ -104,6 +104,8 @@ void Init_NVS_SDCard() extern "C" void app_main() { + printf("Do Reset Camera\n"); + PowerResetCamera(); // LogFile.WriteToFile("Startsequence 01"); Init_NVS_SDCard(); LogFile.WriteToFile("Startsequence 02"); diff --git a/firmware/firmware.bin b/firmware/firmware.bin index e3d96028..c14fed44 100644 Binary files a/firmware/firmware.bin and b/firmware/firmware.bin differ