6
6
************************************************************************
7
7
* *
8
8
* airRohr firmware *
9
- * Copyright (C) 2016-2020 Code for Stuttgart a.o. *
9
+ * Copyright (C) 2016-2021 Code for Stuttgart a.o. *
10
10
* Copyright (C) 2019-2020 Dirk Mueller *
11
11
* *
12
12
* This program is free software: you can redistribute it and/or modify *
45
45
* *
46
46
* Please check Readme.md for other sensors and hardware *
47
47
* *
48
- ************************************************************************
49
- *
50
- * latest mit lib 2.6.1
51
- * DATA: [==== ] 40.7% (used 33316 bytes from 81920 bytes)
52
- * PROGRAM: [===== ] 49.3% (used 514788 bytes from 1044464 bytes)
53
-
54
- * latest mit lib 2.5.2
55
- * DATA: [==== ] 39.4% (used 32304 bytes from 81920 bytes)
56
- * PROGRAM: [===== ] 48.3% (used 504812 bytes from 1044464 bytes)
57
- *
58
48
************************************************************************/
59
49
#include < WString.h>
60
50
#include < pgmspace.h>
61
51
62
52
// increment on change
63
- #define SOFTWARE_VERSION_STR " NRZ-2020-134-B3 "
53
+ #define SOFTWARE_VERSION_STR " NRZ-2020-134-B4 "
64
54
String SOFTWARE_VERSION (SOFTWARE_VERSION_STR);
65
55
66
56
/* ****************************************************************
@@ -374,6 +364,7 @@ unsigned long last_update_attempt;
374
364
int last_update_returncode;
375
365
int last_sendData_returncode;
376
366
367
+
377
368
float last_value_BMP_T = -128.0 ;
378
369
float last_value_BMP_P = -1.0 ;
379
370
float last_value_BMX280_T = -128.0 ;
@@ -618,8 +609,8 @@ static void disable_unneeded_nmea() {
618
609
619
610
/* backward compatibility for the times when we stored booleans as strings */
620
611
static bool boolFromJSON (const DynamicJsonDocument& json, const __FlashStringHelper* key) {
621
- if (json[key].is <char *>()) {
622
- return !strcmp_P (json[key].as <char *>(), PSTR (" true" ));
612
+ if (json[key].is <const char *>()) {
613
+ return !strcmp_P (json[key].as <const char *>(), PSTR (" true" ));
623
614
}
624
615
return json[key].as <bool >();
625
616
}
@@ -668,12 +659,12 @@ static void readConfig(bool oldconfig = false) {
668
659
break ;
669
660
case Config_Type_String:
670
661
case Config_Type_Password:
671
- strncpy (c.cfg_val .as_str , json[c.cfg_key ()].as <char *>(), c.cfg_len );
662
+ strncpy (c.cfg_val .as_str , json[c.cfg_key ()].as <const char *>(), c.cfg_len );
672
663
c.cfg_val .as_str [c.cfg_len ] = ' \0 ' ;
673
664
break ;
674
665
};
675
666
}
676
- String writtenVersion (json[" SOFTWARE_VERSION" ].as <char *>());
667
+ String writtenVersion (json[" SOFTWARE_VERSION" ].as <const char *>());
677
668
if (writtenVersion.length () && writtenVersion[0 ] == ' N' && SOFTWARE_VERSION != writtenVersion) {
678
669
debug_outln_info (F (" Rewriting old config from: " ), writtenVersion);
679
670
// would like to do that, but this would wipe firmware.old which the two stage loader
@@ -976,7 +967,7 @@ static String form_select_lang() {
976
967
" <option value='RS'>Srpski (RS)</option>"
977
968
" <option value='RU'>Русский (RU)</option>"
978
969
" <option value='SI'>Slovenščina (SI)</option>"
979
- " <option value='SK'>Slovenský (SK)</option>"
970
+ " <option value='SK'>Slovák (SK)</option>"
980
971
" <option value='SE'>Svenska (SE)</option>"
981
972
" <option value='TR'>Türkçe (TR)</option>"
982
973
" <option value='UA'>український (UA)</option>"
@@ -1901,11 +1892,11 @@ static void webserver_metrics_endpoint() {
1901
1892
DeserializationError err = deserializeJson (json2data, last_data_string);
1902
1893
if (!err) {
1903
1894
for (JsonObject measurement : json2data[FPSTR (JSON_SENSOR_DATA_VALUES)].as <JsonArray>()) {
1904
- page_content += measurement[" value_type" ].as <char *>();
1895
+ page_content += measurement[" value_type" ].as <const char *>();
1905
1896
page_content += ' {' ;
1906
1897
page_content += id;
1907
1898
page_content += " } " ;
1908
- page_content += measurement[" value" ].as <char *>();
1899
+ page_content += measurement[" value" ].as <const char *>();
1909
1900
page_content += ' \n ' ;
1910
1901
}
1911
1902
page_content += F (" last_sample_age_ms{" );
@@ -2231,6 +2222,7 @@ static WiFiClient* getNewLoggerWiFiClient(const LoggerEntry logger) {
2231
2222
#if defined(ESP8266)
2232
2223
static_cast <WiFiClientSecure*>(_client)->setSession (loggerConfigs[logger].session );
2233
2224
static_cast <WiFiClientSecure*>(_client)->setBufferSizes (1024 , TCP_MSS > 1024 ? 2048 : 1024 );
2225
+ static_cast <WiFiClientSecure*>(_client)->setSSLVersion (BR_TLS12, BR_TLS12);
2234
2226
switch (logger) {
2235
2227
case Loggeraircms:
2236
2228
case LoggerInflux:
@@ -2353,16 +2345,16 @@ static void create_influxdb_string_from_data(String& data_4_influxdb, const Stri
2353
2345
data_4_influxdb += F (" ,node=" SENSOR_BASENAME);
2354
2346
data_4_influxdb += esp_chipid + " " ;
2355
2347
for (JsonObject measurement : json2data[FPSTR (JSON_SENSOR_DATA_VALUES)].as <JsonArray>()) {
2356
- data_4_influxdb += measurement[" value_type" ].as <char *>();
2348
+ data_4_influxdb += measurement[" value_type" ].as <const char *>();
2357
2349
data_4_influxdb += " =" ;
2358
2350
2359
2351
if (isNumeric (measurement[" value" ])) {
2360
2352
// send numerics without quotes
2361
- data_4_influxdb += measurement[" value" ].as <char *>();
2353
+ data_4_influxdb += measurement[" value" ].as <const char *>();
2362
2354
} else {
2363
2355
// quote string values
2364
2356
data_4_influxdb += " \" " ;
2365
- data_4_influxdb += measurement[" value" ].as <char *>();
2357
+ data_4_influxdb += measurement[" value" ].as <const char *>();
2366
2358
data_4_influxdb += " \" " ;
2367
2359
}
2368
2360
data_4_influxdb += " ," ;
@@ -2389,9 +2381,9 @@ static void send_csv(const String& data) {
2389
2381
String valueline (act_milli);
2390
2382
valueline += ' ;' ;
2391
2383
for (JsonObject measurement : json2data[FPSTR (JSON_SENSOR_DATA_VALUES)].as <JsonArray>()) {
2392
- headline += measurement[" value_type" ].as <char *>();
2384
+ headline += measurement[" value_type" ].as <const char *>();
2393
2385
headline += ' ;' ;
2394
- valueline += measurement[" value" ].as <char *>();
2386
+ valueline += measurement[" value" ].as <const char *>();
2395
2387
valueline += ' ;' ;
2396
2388
}
2397
2389
static bool first_csv_line = true ;
@@ -2514,7 +2506,7 @@ static void fetchSensorSHT3x(String& s) {
2514
2506
}
2515
2507
2516
2508
/* ****************************************************************
2517
- * read SHT3x sensor values *
2509
+ * read SCD30 sensor values *
2518
2510
*****************************************************************/
2519
2511
static void fetchSensorSCD30 (String& s) {
2520
2512
debug_outln_verbose (FPSTR (DBG_TXT_START_READING), FPSTR (SENSORS_SCD30));
@@ -2964,6 +2956,7 @@ static __noinline void fetchSensorHPM(String& s) {
2964
2956
/* ****************************************************************
2965
2957
* read Tera Sensor Next PM sensor sensor values *
2966
2958
*****************************************************************/
2959
+ /* Disabled
2967
2960
static void fetchSensorNPM(String& s) {
2968
2961
2969
2962
debug_outln_verbose(FPSTR(DBG_TXT_START_READING), FPSTR(SENSORS_NPM));
@@ -3252,6 +3245,7 @@ static void fetchSensorNPM(String& s) {
3252
3245
3253
3246
debug_outln_verbose(FPSTR(DBG_TXT_END_READING), FPSTR(SENSORS_NPM));
3254
3247
}
3248
+ */
3255
3249
3256
3250
/* ****************************************************************
3257
3251
* read PPD42NS sensor values *
0 commit comments