diff --git a/vehicle/OVMS.V3/components/console/argtable3/argtable3.c b/vehicle/OVMS.V3/components/console/argtable3/argtable3.c index 2127192a8..c1273f79b 100644 --- a/vehicle/OVMS.V3/components/console/argtable3/argtable3.c +++ b/vehicle/OVMS.V3/components/console/argtable3/argtable3.c @@ -3464,7 +3464,7 @@ static const TRexChar *trex_matchnode(TRex* exp,TRexNode *node,const TRexChar *s /* public api */ TRex *trex_compile(const TRexChar *pattern,const TRexChar **error,int flags) { - TRex *exp = (TRex *)malloc(sizeof(TRex)); + TRex * volatile exp = (TRex *)malloc(sizeof(TRex)); exp->_eol = exp->_bol = NULL; exp->_p = pattern; exp->_nallocated = (int)scstrlen(pattern) * sizeof(TRexChar); diff --git a/vehicle/OVMS.V3/components/mongoose/CMakeLists.txt b/vehicle/OVMS.V3/components/mongoose/CMakeLists.txt index 3aef92aa0..08b2aba5e 100644 --- a/vehicle/OVMS.V3/components/mongoose/CMakeLists.txt +++ b/vehicle/OVMS.V3/components/mongoose/CMakeLists.txt @@ -60,7 +60,7 @@ idf_component_register(SRCS ${srcs} if (CONFIG_OVMS_SC_GPL_MONGOOSE) - component_compile_definitions("MG_ARCH=MG_ARCH_FREERTOS" "MG_ENABLE_LINES=1" "MG_ENABLE_LWIP=1" "MG_ENABLE_IPV6=1" "MG_ENABLE_ASSERT=1") + component_compile_definitions("MG_ARCH=MG_ARCH_FREERTOS" "MG_ENABLE_LINES=1" "MG_ENABLE_LWIP=1" "MG_ENABLE_ASSERT=1") if (CONFIG_MG_SSL_IF_MBEDTLS) component_compile_definitions("MG_ENABLE_MBEDTLS=1") diff --git a/vehicle/OVMS.V3/components/mongoose/include/mg_locals.h b/vehicle/OVMS.V3/components/mongoose/include/mg_locals.h index 18508271b..406d44681 100644 --- a/vehicle/OVMS.V3/components/mongoose/include/mg_locals.h +++ b/vehicle/OVMS.V3/components/mongoose/include/mg_locals.h @@ -78,6 +78,10 @@ #endif +#ifdef CONFIG_LWIP_IPV6 + #define MG_ENABLE_IPV6 1 +#endif + // Override memory allocation macros in mongoose.c #define CS_COMMON_MG_MEM_H_ #define MG_MALLOC ExternalRamMalloc diff --git a/vehicle/OVMS.V3/components/ovms_cellular/src/gsmnmea.cpp b/vehicle/OVMS.V3/components/ovms_cellular/src/gsmnmea.cpp index 46c5dd264..61510a38e 100644 --- a/vehicle/OVMS.V3/components/ovms_cellular/src/gsmnmea.cpp +++ b/vehicle/OVMS.V3/components/ovms_cellular/src/gsmnmea.cpp @@ -110,7 +110,7 @@ static bool valid_nmea_cksum(const std::string line) return 0; unsigned char chk = 0; while (cp < ep) - chk ^= (const unsigned char)*cp++; + chk ^= (unsigned char)*cp++; unsigned char chk2 = (unsigned char)strtoul(ep + 1, NULL, 16); return (chk == chk2); } diff --git a/vehicle/OVMS.V3/components/ovms_webserver/assets/charts.js.gz b/vehicle/OVMS.V3/components/ovms_webserver/assets/charts.js.gz deleted file mode 100644 index 8e4a16f1f..000000000 Binary files a/vehicle/OVMS.V3/components/ovms_webserver/assets/charts.js.gz and /dev/null differ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/assets/script.js.gz b/vehicle/OVMS.V3/components/ovms_webserver/assets/script.js.gz deleted file mode 100644 index e3cc9bd07..000000000 Binary files a/vehicle/OVMS.V3/components/ovms_webserver/assets/script.js.gz and /dev/null differ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/assets/style.css.gz b/vehicle/OVMS.V3/components/ovms_webserver/assets/style.css.gz deleted file mode 100644 index 6cf1ad09b..000000000 Binary files a/vehicle/OVMS.V3/components/ovms_webserver/assets/style.css.gz and /dev/null differ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/assets/tables.js.gz b/vehicle/OVMS.V3/components/ovms_webserver/assets/tables.js.gz deleted file mode 100644 index cb2a2ebe7..000000000 Binary files a/vehicle/OVMS.V3/components/ovms_webserver/assets/tables.js.gz and /dev/null differ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/assets/zones.json.gz b/vehicle/OVMS.V3/components/ovms_webserver/assets/zones.json.gz deleted file mode 100644 index ea6527799..000000000 Binary files a/vehicle/OVMS.V3/components/ovms_webserver/assets/zones.json.gz and /dev/null differ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/component.mk b/vehicle/OVMS.V3/components/ovms_webserver/component.mk index 75d83e572..a7cdc46fc 100644 --- a/vehicle/OVMS.V3/components/ovms_webserver/component.mk +++ b/vehicle/OVMS.V3/components/ovms_webserver/component.mk @@ -42,7 +42,7 @@ $(COMPONENT_PATH)/assets/script.js : \ $(COMPONENT_PATH)/assets/script.js.gz : \ $(COMPONENT_PATH)/assets/script.js - cat $^ | gzip -c > $@ + cat $^ | gzip -9 -c > $@ $(COMPONENT_PATH)/assets/charts.js : \ $(COMPONENT_PATH)/assets/highcharts.js \ @@ -55,7 +55,7 @@ $(COMPONENT_PATH)/assets/charts.js : \ $(COMPONENT_PATH)/assets/charts.js.gz : \ $(COMPONENT_PATH)/assets/charts.js - cat $^ | gzip -c > $@ + cat $^ | gzip -9 -c > $@ $(COMPONENT_PATH)/assets/tables.js : \ $(COMPONENT_PATH)/assets/datatables.min.js @@ -63,7 +63,7 @@ $(COMPONENT_PATH)/assets/tables.js : \ $(COMPONENT_PATH)/assets/tables.js.gz : \ $(COMPONENT_PATH)/assets/tables.js - cat $^ | gzip -c > $@ + cat $^ | gzip -9 -c > $@ $(COMPONENT_PATH)/assets/style.css : \ $(COMPONENT_PATH)/assets/intro.css \ @@ -77,11 +77,11 @@ $(COMPONENT_PATH)/assets/style.css : \ $(COMPONENT_PATH)/assets/style.css.gz : \ $(COMPONENT_PATH)/assets/style.css - cat $^ | gzip -c > $@ + cat $^ | gzip -9 -c > $@ $(COMPONENT_PATH)/assets/zones.json.gz : \ $(COMPONENT_PATH)/assets/zones.json - cat $^ | gzip -c > $@ + cat $^ | gzip -9 -c > $@ src/web_framework.o: \ $(COMPONENT_PATH)/assets/script.js.gz \ diff --git a/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp b/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp index e82b6bfcf..24c7f5f63 100644 --- a/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp +++ b/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp @@ -39,6 +39,7 @@ static const char *TAG = "webserver"; #include #include #include +#include #include "ovms_webserver.h" #include "ovms_config.h" #include "ovms_metrics.h" diff --git a/vehicle/OVMS.V3/components/vehicle/vehicle.cpp b/vehicle/OVMS.V3/components/vehicle/vehicle.cpp index 9516edb07..605cc58ae 100644 --- a/vehicle/OVMS.V3/components/vehicle/vehicle.cpp +++ b/vehicle/OVMS.V3/components/vehicle/vehicle.cpp @@ -670,8 +670,11 @@ void OvmsVehicle::RegisterCanBus(int bus, CAN_mode_t mode, CAN_speed_t speed, db { std::string busname = string_format("can%d", bus); can = (canbus*)MyPcpApp.FindDeviceByName(busname.c_str()); - can->SetPowerMode(On); - can->Start(mode,speed,dbcfile); + if (can) + { + can->SetPowerMode(On); + can->Start(mode,speed,dbcfile); + } } #endif switch (bus) diff --git a/vehicle/OVMS.V3/components/vehicle/vehicle.h b/vehicle/OVMS.V3/components/vehicle/vehicle.h index 35acaf1f8..7b0030734 100644 --- a/vehicle/OVMS.V3/components/vehicle/vehicle.h +++ b/vehicle/OVMS.V3/components/vehicle/vehicle.h @@ -31,6 +31,7 @@ #ifndef __VEHICLE_H__ #define __VEHICLE_H__ +#include #include #include #include diff --git a/vehicle/OVMS.V3/components/vehicle_hyundai_ioniq5/src/hif_commands.cpp b/vehicle/OVMS.V3/components/vehicle_hyundai_ioniq5/src/hif_commands.cpp index 2bbacf627..f14e7f87f 100644 --- a/vehicle/OVMS.V3/components/vehicle_hyundai_ioniq5/src/hif_commands.cpp +++ b/vehicle/OVMS.V3/components/vehicle_hyundai_ioniq5/src/hif_commands.cpp @@ -641,7 +641,7 @@ void OvmsHyundaiIoniqEv::RangeCalcReset() void xiq_range_reset(int verbosity, OvmsWriter *writer, OvmsCommand *cmd, int argc, const char *const *argv) { OvmsHyundaiIoniqEv *mycar = (OvmsHyundaiIoniqEv *)(MyVehicleFactory.ActiveVehicle()); - if (mycar) { + if (mycar == NULL) { writer->puts("Error: No vehicle module selected"); return; } diff --git a/vehicle/OVMS.V3/components/vehicle_maple60s/CMakeLists.txt b/vehicle/OVMS.V3/components/vehicle_maple60s/CMakeLists.txt index 445c99f7d..19374d80d 100644 --- a/vehicle/OVMS.V3/components/vehicle_maple60s/CMakeLists.txt +++ b/vehicle/OVMS.V3/components/vehicle_maple60s/CMakeLists.txt @@ -2,7 +2,7 @@ set(srcs) set(include_dirs) if (CONFIG_OVMS_VEHICLE_MAPLE60S) - list(APPEND srcs "src/vehicle_maple60s.cpp") + list(APPEND srcs "src/vehicle_maple_60s.cpp") list(APPEND include_dirs "src") endif () @@ -10,4 +10,4 @@ endif () idf_component_register(SRCS ${srcs} INCLUDE_DIRS ${include_dirs} PRIV_REQUIRES "main" - WHOLE_ARCHIVE) \ No newline at end of file + WHOLE_ARCHIVE) diff --git a/vehicle/OVMS.V3/components/vehicle_maxus_euniq6/CMakeLists.txt b/vehicle/OVMS.V3/components/vehicle_maxus_euniq6/CMakeLists.txt index 1c2ad99a3..9b02a26d5 100644 --- a/vehicle/OVMS.V3/components/vehicle_maxus_euniq6/CMakeLists.txt +++ b/vehicle/OVMS.V3/components/vehicle_maxus_euniq6/CMakeLists.txt @@ -2,7 +2,7 @@ set(srcs) set(include_dirs) if (CONFIG_OVMS_VEHICLE_MAXE6) - list(APPEND srcs "vehicle_me6.cpp") + list(APPEND srcs "src/vehicle_me6.cpp") list(APPEND include_dirs "src") endif () diff --git a/vehicle/OVMS.V3/components/vehicle_mgev/CMakeLists.txt b/vehicle/OVMS.V3/components/vehicle_mgev/CMakeLists.txt index bfb28ccaf..d19788612 100644 --- a/vehicle/OVMS.V3/components/vehicle_mgev/CMakeLists.txt +++ b/vehicle/OVMS.V3/components/vehicle_mgev/CMakeLists.txt @@ -2,7 +2,7 @@ set(srcs) set(include_dirs) if (CONFIG_OVMS_VEHICLE_MG_EV) - list(APPEND srcs "src/mg_auth.cpp" "src/mg_bcm.cpp" "src/mg_can_handler.cpp" "src/mg_configuration.cpp" "src/mg_gwm.cpp" "src/mg_poll_atc.cpp" "src/mg_poll_bcm.cpp" "src/mg_poll_bms.cpp" "src/mg_poll_dcdc.cpp" "src/mg_poll_evcc.cpp" "src/mg_poll_peps.cpp" "src/mg_poll_tpms.cpp" "src/mg_poll_vcu.cpp" "src/mg_software_versions.cpp" "src/mg_web.cpp" "src/vehicle_mgev.cpp" "src/vehicle_mgev_a.cpp" "src/vehicle_mgev_b.cpp" "src/vehicle_mg5.cpp" "src/vehicle_mgzsev2.cpp" ) + list(APPEND srcs "src/mg_auth.cpp" "src/mg_bcm.cpp" "src/mg_can_handler.cpp" "src/mg_configuration.cpp" "src/mg_gwm.cpp" "src/mg_poll_atc.cpp" "src/mg_poll_bcm.cpp" "src/mg_poll_bms.cpp" "src/mg_poll_dcdc.cpp" "src/mg_poll_evcc.cpp" "src/mg_poll_gwm.cpp" "src/mg_poll_peps.cpp" "src/mg_poll_tpms.cpp" "src/mg_poll_vcu.cpp" "src/mg_software_versions.cpp" "src/mg_web.cpp" "src/vehicle_mgev.cpp" "src/vehicle_mgev_a.cpp" "src/vehicle_mgev_b.cpp" "src/vehicle_mg5.cpp" "src/vehicle_mgzsev2.cpp") list(APPEND include_dirs "src") endif () diff --git a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_battmon.cpp b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_battmon.cpp index e38d2cbb6..12a8c42ac 100644 --- a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_battmon.cpp +++ b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_battmon.cpp @@ -249,6 +249,20 @@ void OvmsVehicleRenaultTwizy::BatteryUpdate() } +/** + * BatterySetSensorAndUpdate: Set sensor state and update if all done + */ +void OvmsVehicleRenaultTwizy::BatterySetSensorAndUpdate(uint8_t flag) +{ + uint8_t batt_sensors_state = twizy_batt_sensors_state; + batt_sensors_state |= flag; + twizy_batt_sensors_state = batt_sensors_state; + if ((batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { + BatteryUpdate(); + } +} + + /** * BatteryReset: reset deviations, alerts & watches */ diff --git a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_can.cpp b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_can.cpp index 8a9a5e575..51f32b9bd 100644 --- a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_can.cpp +++ b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/rt_can.cpp @@ -160,7 +160,6 @@ void OvmsVehicleRenaultTwizy::CanResponder(const CAN_frame_t* p_frame) } } - /** * Asynchronous CAN RX handler */ @@ -353,12 +352,8 @@ void OvmsVehicleRenaultTwizy::IncomingFrameCan1(CAN_frame_t* p_frame) } } } - - // detect fetch completion: - twizy_batt_sensors_state |= BATT_SENSORS_GOT554; - if ((twizy_batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { - BatteryUpdate(); - } + + BatterySetSensorAndUpdate(BATT_SENSORS_GOT554); } break; @@ -409,11 +404,7 @@ void OvmsVehicleRenaultTwizy::IncomingFrameCan1(CAN_frame_t* p_frame) twizy_cell[8].volt_new = ((UINT) CAN_NIBL(4) << 8) | ((UINT) CAN_BYTE(5)); twizy_cell[9].volt_new = ((UINT) CAN_BYTE(6) << 4) | ((UINT) CAN_NIBH(7)); - // detect fetch completion: - twizy_batt_sensors_state |= BATT_SENSORS_GOT557; - if ((twizy_batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { - BatteryUpdate(); - } + BatterySetSensorAndUpdate(BATT_SENSORS_GOT557); } break; @@ -428,11 +419,7 @@ void OvmsVehicleRenaultTwizy::IncomingFrameCan1(CAN_frame_t* p_frame) twizy_cell[12].volt_new = ((UINT) CAN_BYTE(3) << 4) | ((UINT) CAN_NIBH(4)); twizy_cell[13].volt_new = ((UINT) CAN_NIBL(4) << 8) | ((UINT) CAN_BYTE(5)); - // detect fetch completion: - twizy_batt_sensors_state |= BATT_SENSORS_GOT55E; - if ((twizy_batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { - BatteryUpdate(); - } + BatterySetSensorAndUpdate(BATT_SENSORS_GOT55E); } break; @@ -449,11 +436,7 @@ void OvmsVehicleRenaultTwizy::IncomingFrameCan1(CAN_frame_t* p_frame) v2 = ((UINT) CAN_NIBL(6) << 8) | ((UINT) CAN_BYTE(7)); twizy_batt[0].volt_new = (v1 + v2 + 1) >> 1; - // detect fetch completion: - twizy_batt_sensors_state |= BATT_SENSORS_GOT55F; - if ((twizy_batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { - BatteryUpdate(); - } + BatterySetSensorAndUpdate(BATT_SENSORS_GOT55F); } break; @@ -757,11 +740,7 @@ void OvmsVehicleRenaultTwizy::IncomingFrameCan1(CAN_frame_t* p_frame) } } - // detect fetch completion: - twizy_batt_sensors_state |= BATT_SENSORS_GOT700; - if ((twizy_batt_sensors_state & BATT_SENSORS_READY) >= BATT_SENSORS_GOTALL) { - BatteryUpdate(); - } + BatterySetSensorAndUpdate(BATT_SENSORS_GOT700); } break; diff --git a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/vehicle_renaulttwizy.h b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/vehicle_renaulttwizy.h index 8486c0aca..174bac47d 100644 --- a/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/vehicle_renaulttwizy.h +++ b/vehicle/OVMS.V3/components/vehicle_renaulttwizy/src/vehicle_renaulttwizy.h @@ -374,6 +374,7 @@ class OvmsVehicleRenaultTwizy : public OvmsVehicle void BatteryUpdate(); void BatteryReset(); void BatterySendDataUpdate(bool force = false); + void BatterySetSensorAndUpdate(uint8_t flag); vehicle_command_t CommandBatt(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int argc, const char* const* argv); protected: diff --git a/vehicle/OVMS.V3/components/vehicle_zombie_vcu/CMakeLists.txt b/vehicle/OVMS.V3/components/vehicle_zombie_vcu/CMakeLists.txt new file mode 100644 index 000000000..b350d097c --- /dev/null +++ b/vehicle/OVMS.V3/components/vehicle_zombie_vcu/CMakeLists.txt @@ -0,0 +1,13 @@ +set(srcs) +set(include_dirs) + +if (CONFIG_OVMS_VEHICLE_ZOMBIE_VCU) + list(APPEND srcs "src/vehicle_zombie_vcu.cpp") + list(APPEND include_dirs "src") +endif () + +# requirements can't depend on config +idf_component_register(SRCS ${srcs} + INCLUDE_DIRS ${include_dirs} + PRIV_REQUIRES "main" + WHOLE_ARCHIVE) diff --git a/vehicle/OVMS.V3/main/ovms_boot.cpp b/vehicle/OVMS.V3/main/ovms_boot.cpp index ac41e9ad8..74f62d8c7 100644 --- a/vehicle/OVMS.V3/main/ovms_boot.cpp +++ b/vehicle/OVMS.V3/main/ovms_boot.cpp @@ -61,6 +61,12 @@ static const char *TAG = "boot"; #include "string_writer.h" #include +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 4) +#define ADC_ATTEN ADC_ATTEN_DB_12 +#else +#define ADC_ATTEN ADC_ATTEN_DB_11 +#endif + boot_data_t __attribute__((section(".rtc.noload"))) boot_data; Boot MyBoot __attribute__ ((init_priority (1100))); @@ -337,7 +343,7 @@ Boot::Boot() if (min_12v_level > 0) { adc1_config_width(ADC_WIDTH_BIT_12); - adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_11); + adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN); uint32_t adc_level = 0; for (int i = 0; i < 5; i++) { diff --git a/vehicle/OVMS.V3/main/ovms_events.cpp b/vehicle/OVMS.V3/main/ovms_events.cpp index 09aadb5f7..23a63133f 100644 --- a/vehicle/OVMS.V3/main/ovms_events.cpp +++ b/vehicle/OVMS.V3/main/ovms_events.cpp @@ -41,8 +41,10 @@ static const char *TAG = "events"; #include "ovms_boot.h" #if ESP_IDF_VERSION_MAJOR >= 4 #include +#ifdef CONFIG_ETH_ENABLED #include #endif +#endif #if ESP_IDF_VERSION_MAJOR >= 5 #include #endif @@ -764,6 +766,7 @@ void OvmsEvents::ReceiveSystemEvent(void* handler_args, esp_event_base_t base, i break; } } +#ifdef CONFIG_ETH_ENABLED else if (base == ETH_EVENT) { switch (id) @@ -784,6 +787,7 @@ void OvmsEvents::ReceiveSystemEvent(void* handler_args, esp_event_base_t base, i break; } } +#endif } #else diff --git a/vehicle/OVMS.V3/main/ovms_metrics.cpp b/vehicle/OVMS.V3/main/ovms_metrics.cpp index 9946d3801..465054b01 100644 --- a/vehicle/OVMS.V3/main/ovms_metrics.cpp +++ b/vehicle/OVMS.V3/main/ovms_metrics.cpp @@ -2149,7 +2149,7 @@ bool OvmsMetricBool::SetValue(std::string value, metric_unit_t units) bool OvmsMetricBool::SetValue(const dbcNumber& value, metric_unit_t units) { - return SetValue((bool)value.GetUnsignedInteger(), units); + return SetValue((uint32_t)(bool)value.GetUnsignedInteger(), units); } void OvmsMetricBool::Clear() diff --git a/vehicle/OVMS.V3/main/ovms_netmanager.cpp b/vehicle/OVMS.V3/main/ovms_netmanager.cpp index 93e5afbbd..0c8f99cb8 100644 --- a/vehicle/OVMS.V3/main/ovms_netmanager.cpp +++ b/vehicle/OVMS.V3/main/ovms_netmanager.cpp @@ -72,7 +72,7 @@ void network_status(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int arg ((ni->flags & NETIF_FLAG_UP) != 0), ((ni->flags & NETIF_FLAG_LINK_UP) != 0)); writer->printf(" IPv4: " IPSTR "/" IPSTR " gateway " IPSTR "\n", - IP2STR(&ni->ip_addr.u_addr.ip4), IP2STR(&ni->netmask.u_addr.ip4), IP2STR(&ni->gw.u_addr.ip4)); + IP2STR(ip_2_ip4(&ni->ip_addr)), IP2STR(ip_2_ip4(&ni->netmask)), IP2STR(ip_2_ip4(&ni->gw))); writer->puts(""); } @@ -84,10 +84,8 @@ void network_status(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int arg if (! ip_addr_isany(srv)) { dnsservers++; - if (srv->type == IPADDR_TYPE_V4) - writer->printf(" " IPSTR, IP2STR(&srv->u_addr.ip4)); - else if (srv->type == IPADDR_TYPE_V6) - writer->printf(" " IPSTR, IP2STR(&srv->u_addr.ip6)); + if (IP_IS_V4(srv)) + writer->printf(" " IPSTR, IP2STR(ip_2_ip4(srv))); } } if (dnsservers == 0) @@ -99,9 +97,9 @@ void network_status(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int arg { writer->printf("\nDefault Interface: %c%c%d (" IPSTR "/" IPSTR " gateway " IPSTR ")\n", netif_default->name[0], netif_default->name[1], netif_default->num, - IP2STR(&netif_default->ip_addr.u_addr.ip4), - IP2STR(&netif_default->netmask.u_addr.ip4), - IP2STR(&netif_default->gw.u_addr.ip4)); + IP2STR(ip_2_ip4(&netif_default->ip_addr)), + IP2STR(ip_2_ip4(&netif_default->netmask)), + IP2STR(ip_2_ip4(&netif_default->gw))); } else { @@ -165,10 +163,12 @@ static void test_on_ping_end(esp_ping_handle_t hdl, void *args) { printf("\n--- %s ping statistics ---\n", inet_ntoa(*ip_2_ip4(&target_addr))); } +#if CONFIG_LWIP_IPV6 else { printf("\n--- %s ping statistics ---\n", inet6_ntoa(*ip_2_ip6(&target_addr))); } +#endif writer->printf("%" PRIu32 " packets transmitted, %" PRIu32 " received, %" PRIu32 "%% packet loss, time %" PRIu32 "ms\n", transmitted, received, loss, total_time_ms); if (received > 0) @@ -185,16 +185,20 @@ static void test_on_ping_end(esp_ping_handle_t hdl, void *args) void network_ping(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int argc, const char* const* argv) { // parse hostname / IP address +#if CONFIG_LWIP_IPV6 struct sockaddr_in6 sock_addr6; +#endif ip_addr_t target_addr; memset(&target_addr, 0, sizeof(target_addr)); +#if CONFIG_LWIP_IPV6 if (inet_pton(AF_INET6, argv[0], &sock_addr6.sin6_addr) == 1) { /* convert ip6 string to ip6 address */ ipaddr_aton(argv[0], &target_addr); } else +#endif { struct addrinfo hint; struct addrinfo *res = NULL; @@ -210,11 +214,13 @@ void network_ping(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int argc, struct in_addr addr4 = ((struct sockaddr_in *) (res->ai_addr))->sin_addr; inet_addr_to_ip4addr(ip_2_ip4(&target_addr), &addr4); } +#if CONFIG_LWIP_IPV6 else { struct in6_addr addr6 = ((struct sockaddr_in6 *) (res->ai_addr))->sin6_addr; inet6_addr_to_ip6addr(ip_2_ip6(&target_addr), &addr6); } +#endif freeaddrinfo(res); } @@ -806,7 +812,7 @@ void OvmsNetManager::SetDNSServer(ip_addr_t* dnsstore) sep = next+1; } ip4_addr_set_u32(ip_2_ip4(&serverip), ipaddr_addr(cserver.c_str())); - serverip.type = IPADDR_TYPE_V4; + IP_SET_TYPE(&serverip, IPADDR_TYPE_V4); if (!ip_addr_cmp(&serverip, &m_previous_dns[spos])) { m_previous_dns[spos] = serverip; @@ -917,7 +923,7 @@ void OvmsNetManager::DoSafePrioritiseAndIndicate() { ESP_LOGI(TAG, "Interface priority is %c%c%d (" IPSTR "/" IPSTR " gateway " IPSTR ")", pri->name[0], pri->name[1], pri->num, - IP2STR(&pri->ip_addr.u_addr.ip4), IP2STR(&pri->netmask.u_addr.ip4), IP2STR(&pri->gw.u_addr.ip4)); + IP2STR(ip_2_ip4(&pri->ip_addr)), IP2STR(ip_2_ip4(&pri->netmask)), IP2STR(ip_2_ip4(&pri->gw))); m_previous_name[0] = search[0]; m_previous_name[1] = search[1]; for (int i=0; i= ESP_IDF_VERSION_VAL(5, 0, 4) +#define ADC_ATTEN ADC_ATTEN_DB_12 +#else +#define ADC_ATTEN ADC_ATTEN_DB_11 +#endif + Peripherals::Peripherals() { ESP_LOGI(TAG, "Initialising OVMS Peripherals..."); @@ -147,7 +153,7 @@ Peripherals::Peripherals() #ifdef CONFIG_OVMS_COMP_ADC ESP_LOGI(TAG, " ESP32 ADC"); - m_esp32adc = new esp32adc("adc", ADC1_CHANNEL_0, ADC_WIDTH_BIT_12, ADC_ATTEN_DB_11); + m_esp32adc = new esp32adc("adc", ADC1_CHANNEL_0, ADC_WIDTH_BIT_12, ADC_ATTEN); #endif // #ifdef CONFIG_OVMS_COMP_ADC diff --git a/vehicle/OVMS.V3/main/ovms_utils.cpp b/vehicle/OVMS.V3/main/ovms_utils.cpp index ed04d9681..6c24f917b 100644 --- a/vehicle/OVMS.V3/main/ovms_utils.cpp +++ b/vehicle/OVMS.V3/main/ovms_utils.cpp @@ -430,7 +430,7 @@ TaskHandle_t TaskGetHandle(const char *name) { TaskHandle_t res = 0; TaskStatus_t* pxTaskStatusArray; - volatile UBaseType_t uxArraySize, x; + UBaseType_t uxArraySize, x; uxArraySize = uxTaskGetNumberOfTasks(); pxTaskStatusArray = (TaskStatus_t*)pvPortMalloc(uxArraySize * sizeof(TaskStatus_t));