diff --git a/README.md b/README.md index 3d985089..46025dde 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,19 @@ A 3d-printable housing can be found here: https://www.thingiverse.com/thing:4571 **General remark:** Beside the `firmware.bin`, typically also the content of `/html` needs to be updated! +##### Rolling - (2020-10-25) - -##### Rolling - (2020-10-14) - -* based on v3.0.0 (2020-10-14) +* based on v3.1.0 (2020-10-26) +##### 3.1.0 MQTT-Client - (2020-10-26) + +* Update digital CNN to v6.5.0 and HTML (Info to hostname, IP, ssid) + +* New implementation of "checkDigitConsistency" also for digits +* MQTT-Adapter: user and password for sign in MQTT-Broker + ##### 3.0.0 MQTT-Client (2020-10-14) * Implementation of MQTT Client diff --git a/code/lib/connect_wlan/connect_wlan.cpp b/code/lib/connect_wlan/connect_wlan.cpp index 8f1186ac..07b5bc6e 100644 --- a/code/lib/connect_wlan/connect_wlan.cpp +++ b/code/lib/connect_wlan/connect_wlan.cpp @@ -22,6 +22,7 @@ static const char *MAIN_TAG = "connect_wlan"; std::string ssid; std::string passphrase; std::string hostname; +std::string ipaddress; std::string std_hostname = "watermeter"; @@ -123,6 +124,7 @@ void initialise_wifi(std::string _ssid, std::string _passphrase, std::string _ho xEventGroupWaitBits(wifi_event_group,CONNECTED_BIT,true,true,portMAX_DELAY); tcpip_adapter_ip_info_t ip_info; ESP_ERROR_CHECK(tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip_info)); + ipaddress = std::string(ip4addr_ntoa(&ip_info.ip)); printf("IPv4 : %s\n", ip4addr_ntoa(&ip_info.ip)); printf("HostName : %s\n", hostname.c_str()); } @@ -191,3 +193,14 @@ void LoadWlanFromFile(std::string fn, std::string &_ssid, std::string &_passphra } +std::string getHostname(){ + return hostname; +} + +std::string getIPAddress(){ + return ipaddress; +} + +std::string getSSID(){ + return ssid; +} diff --git a/code/lib/connect_wlan/connect_wlan.h b/code/lib/connect_wlan/connect_wlan.h index faa5c57d..3bc740d8 100644 --- a/code/lib/connect_wlan/connect_wlan.h +++ b/code/lib/connect_wlan/connect_wlan.h @@ -10,4 +10,8 @@ void initialise_wifi(std::string _ssid, std::string _passphrase, std::string _ho void LoadWlanFromFile(std::string fn, std::string &_ssid, std::string &_passphrase, std::string &_hostname); +std::string getHostname(); +std::string getIPAddress(); +std::string getSSID(); + #endif \ No newline at end of file diff --git a/code/lib/jomjol_controlcamera/ClassControllCamera.cpp b/code/lib/jomjol_controlcamera/ClassControllCamera.cpp index e8f5b781..bea60d38 100644 --- a/code/lib/jomjol_controlcamera/ClassControllCamera.cpp +++ b/code/lib/jomjol_controlcamera/ClassControllCamera.cpp @@ -10,6 +10,8 @@ #include "camera_define.h" +#include "driver/ledc.h" + CCamera Camera; @@ -20,6 +22,42 @@ typedef struct { size_t len; } jpg_chunking_t; + + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +#define LEDC_LS_CH2_GPIO (4) +#define LEDC_LS_CH2_CHANNEL LEDC_CHANNEL_2 +#define LEDC_LS_TIMER LEDC_TIMER_1 +#define LEDC_LS_MODE LEDC_LOW_SPEED_MODE +#define LEDC_TEST_DUTY (4000) + +void test(){ + ledc_channel_config_t ledc_channel = { }; + + ledc_channel.channel = LEDC_LS_CH2_CHANNEL; + ledc_channel.duty = 0; + ledc_channel.gpio_num = FLASH_GPIO; + ledc_channel.speed_mode = LEDC_LS_MODE; + ledc_channel.hpoint = 0; + ledc_channel.timer_sel = LEDC_LS_TIMER; + + ledc_channel_config(&ledc_channel); + + ledc_set_duty(ledc_channel.speed_mode, ledc_channel.channel, LEDC_TEST_DUTY); + ledc_update_duty(ledc_channel.speed_mode, ledc_channel.channel); + vTaskDelay(1000 / portTICK_PERIOD_MS); +}; + + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////// + + + + + + static size_t jpg_encode_stream(void * arg, size_t index, const void* data, size_t len){ jpg_chunking_t *j = (jpg_chunking_t *)arg; if(!index){ diff --git a/code/lib/jomjol_fileserver_ota/server_ota.cpp b/code/lib/jomjol_fileserver_ota/server_ota.cpp index 11359885..bef94bb0 100644 --- a/code/lib/jomjol_fileserver_ota/server_ota.cpp +++ b/code/lib/jomjol_fileserver_ota/server_ota.cpp @@ -404,6 +404,9 @@ void doReboot(){ LogFile.WriteToFile("Reboot - now"); KillTFliteTasks(); xTaskCreate(&task_reboot, "reboot", configMINIMAL_STACK_SIZE * 64, NULL, 10, NULL); + vTaskDelay(5000 / portTICK_PERIOD_MS); + esp_restart(); + hard_restart(); } diff --git a/code/lib/jomjol_flowcontroll/ClassFlowPostProcessing.cpp b/code/lib/jomjol_flowcontroll/ClassFlowPostProcessing.cpp index 95e1df74..686b0869 100644 --- a/code/lib/jomjol_flowcontroll/ClassFlowPostProcessing.cpp +++ b/code/lib/jomjol_flowcontroll/ClassFlowPostProcessing.cpp @@ -335,25 +335,23 @@ bool ClassFlowPostProcessing::doFlow(string zwtime) Value = std::stof(zw); if (checkDigitIncreaseConsistency) { -// Value = checkDigitConsistency(Value, DecimalShift, isanalog); + Value = checkDigitConsistency(Value, DecimalShift, isanalog); } zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift); if ((!AllowNegativeRates) && (Value < PreValue)) { - error = "Negative Rate - Returned old value - read value: " + zwvalue; + error = error + "Negative Rate - Returned old value - read value: " + zwvalue + " "; Value = PreValue; zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift); } - else + + if (useMaxRateValue && (abs(Value - PreValue) > MaxRateValue)) { - if (useMaxRateValue && (abs(Value - PreValue) > MaxRateValue)) - { - error = "Rate too high - Returned old value - read value: " + zwvalue; - Value = PreValue; - zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift); - } + error = error + "Rate too high - Returned old value - read value: " + zwvalue + " "; + Value = PreValue; + zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift); } ReturnValueNoError = zwvalue; @@ -426,7 +424,7 @@ float ClassFlowPostProcessing::checkDigitConsistency(float input, int _decilamsh float zw; pot = _decilamshift; - if (!_isanalog) // falls es keine analogwerte gibt, kann die letzte nicht bewerte werden + if (!_isanalog) // falls es keine analogwerte gibt, kann die letzte nicht bewertet werden { pot++; } diff --git a/code/src/server_main.cpp b/code/src/server_main.cpp index b84d782c..e67d47a8 100644 --- a/code/src/server_main.cpp +++ b/code/src/server_main.cpp @@ -7,6 +7,8 @@ #include "time_sntp.h" +#include "connect_wlan.h" + #include "version.h" #include "esp_wifi.h" @@ -94,6 +96,34 @@ esp_err_t info_get_handler(httpd_req_t *req) return ESP_OK; } + if (_task.compare("Hostname") == 0) + { + std::string zw; + zw = std::string(getHostname()); + httpd_resp_sendstr_chunk(req, zw.c_str()); + httpd_resp_sendstr_chunk(req, NULL); + return ESP_OK; + } + + if (_task.compare("IP") == 0) + { + std::string zw; + zw = std::string(getIPAddress()); + httpd_resp_sendstr_chunk(req, zw.c_str()); + httpd_resp_sendstr_chunk(req, NULL); + return ESP_OK; + } + + if (_task.compare("SSID") == 0) + { + std::string zw; + zw = std::string(getSSID()); + httpd_resp_sendstr_chunk(req, zw.c_str()); + httpd_resp_sendstr_chunk(req, NULL); + return ESP_OK; + } + + return ESP_OK; } diff --git a/code/src/version.cpp b/code/src/version.cpp index a3d684c7..1bbc164d 100644 --- a/code/src/version.cpp +++ b/code/src/version.cpp @@ -1,4 +1,4 @@ -const char* GIT_REV="2614481"; +const char* GIT_REV="1223aa7"; const char* GIT_TAG=""; -const char* GIT_BRANCH="master"; -const char* BUILD_TIME="2020-10-14 18:40"; \ No newline at end of file +const char* GIT_BRANCH="rolling"; +const char* BUILD_TIME="2020-10-25 19:48"; \ No newline at end of file diff --git a/code/version.cpp b/code/version.cpp index a3d684c7..1bbc164d 100644 --- a/code/version.cpp +++ b/code/version.cpp @@ -1,4 +1,4 @@ -const char* GIT_REV="2614481"; +const char* GIT_REV="1223aa7"; const char* GIT_TAG=""; -const char* GIT_BRANCH="master"; -const char* BUILD_TIME="2020-10-14 18:40"; \ No newline at end of file +const char* GIT_BRANCH="rolling"; +const char* BUILD_TIME="2020-10-25 19:48"; \ No newline at end of file diff --git a/firmware/bootloader.bin b/firmware/bootloader.bin index d0f95cb6..5aba167a 100644 Binary files a/firmware/bootloader.bin and b/firmware/bootloader.bin differ diff --git a/firmware/firmware.bin b/firmware/firmware.bin index a7c09acf..9b3ffcc2 100644 Binary files a/firmware/firmware.bin and b/firmware/firmware.bin differ diff --git a/firmware/html.zip b/firmware/html.zip index 47bd7ab7..a5417389 100644 Binary files a/firmware/html.zip and b/firmware/html.zip differ diff --git a/sd-card/config/config.ini b/sd-card/config/config.ini index 17fc2e0e..64219ec0 100644 --- a/sd-card/config/config.ini +++ b/sd-card/config/config.ini @@ -13,7 +13,7 @@ SearchFieldY = 20 [Digits] -Model=/config/dig0640s3.tflite +Model=/config/dig0650s3.tflite LogImageLocation = /log/digit ModelInputSize 20, 32 digit1, 306, 120, 37, 67 diff --git a/sd-card/config/dig0640s3.tflite b/sd-card/config/dig0640s3.tflite deleted file mode 100644 index 3bc9e686..00000000 Binary files a/sd-card/config/dig0640s3.tflite and /dev/null differ diff --git a/sd-card/config/dig0650s3.tflite b/sd-card/config/dig0650s3.tflite new file mode 100644 index 00000000..56ac6a92 Binary files /dev/null and b/sd-card/config/dig0650s3.tflite differ diff --git a/sd-card/html/index.html b/sd-card/html/index.html index 3989cd60..36e2fa78 100644 --- a/sd-card/html/index.html +++ b/sd-card/html/index.html @@ -73,8 +73,8 @@ li.dropdown {
-| + Hostname: + | +
+
+
+
+ |
+
| + IP-Address: + | +
+
+
+
+ |
+
| + WLan-SSID: + | +
+
+
+
+ |
+