From c0dd8562fb261996a07f02fd294154afd89d92a0 Mon Sep 17 00:00:00 2001 From: jfmartel Date: Sat, 3 May 2025 20:26:14 -0400 Subject: [PATCH] =?UTF-8?q?V1.08=20d=C3=A9ploy=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Station KAYAK KA2401/Config CAN.PNG | Bin 0 -> 57780 bytes .../Station KAYAK KA2401/Config Cloud.PNG | Bin 0 -> 50961 bytes Otarcik_CAN/Config/Station.cfg | Bin 915 -> 709 bytes .../Exec/Config/PCtelemetrie20240521.dbc | 204 +++++ Otarcik_CAN/Logs/SystemLog.txt | 850 ++++++++++++++++++ Otarcik_CAN/Makefile | 68 +- Otarcik_CAN/Makefile.Debug | 6 +- Otarcik_CAN/Makefile.Release | 6 +- .../Sources/CloudLogging/CloudParams.cpp | 14 +- .../Sources/CloudLogging/CloudParams.h | 2 + .../CloudLogging/MQTTClientWrapper.cpp | 106 ++- .../Sources/CloudLogging/MQTTClientWrapper.h | 1 + .../Sources/Gui/LoggingSettingsPage.cpp | 19 + .../Sources/Gui/LoggingSettingsPage.ui | 86 +- Otarcik_CAN/Sources/OtarcikCan.cpp | 61 +- Otarcik_CAN/Sources/OtarcikCan.h | 2 + Otarcik_CAN/Sources/defines.h | 4 +- Otarcik_CAN/debug/Otarcik_CAN.exe | Bin 24342150 -> 24342150 bytes Otarcik_CAN/debug/moc_predefs.h | 402 --------- .../release/Config/PCtelemetrie20240521.dbc | 204 +++++ Otarcik_CAN/release/Config/Station.cfg | Bin 268 -> 709 bytes Otarcik_CAN/release/Logs/SystemLog.txt | 71 ++ Otarcik_CAN/release/Otarcik_CAN.exe | Bin 283648 -> 290816 bytes Otarcik_CAN/ui_LoggingSettingsPage.h | 44 +- 24 files changed, 1623 insertions(+), 527 deletions(-) create mode 100644 Config Stations/Station KAYAK KA2401/Config CAN.PNG create mode 100644 Config Stations/Station KAYAK KA2401/Config Cloud.PNG create mode 100644 Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc delete mode 100644 Otarcik_CAN/debug/moc_predefs.h create mode 100644 Otarcik_CAN/release/Config/PCtelemetrie20240521.dbc diff --git a/Config Stations/Station KAYAK KA2401/Config CAN.PNG b/Config Stations/Station KAYAK KA2401/Config CAN.PNG new file mode 100644 index 0000000000000000000000000000000000000000..81a27280a68f6511311a220cfab69d4df8040629 GIT binary patch literal 57780 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 literal 0 HcmV?d00001 diff --git a/Config Stations/Station KAYAK KA2401/Config Cloud.PNG b/Config Stations/Station KAYAK KA2401/Config Cloud.PNG new file mode 100644 index 0000000000000000000000000000000000000000..628a7bc1f54d745d07b84e916547bf00e651721b GIT binary patch literal 50961 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

vu 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 literal 0 HcmV?d00001 diff --git a/Otarcik_CAN/Config/Station.cfg b/Otarcik_CAN/Config/Station.cfg index d3ef6394369d4134dd71e101406ff24bbbbc8ebe..6e96e215fdaf13e6ca5e8447762c0f60f24629f3 100644 GIT binary patch literal 709 zcmaixOG*P#5Jhi`;KYH5h)4$U4-R5JMxrxGbl^9j4#a_I8zm&BCEW>T1MbExICkg? z+=5&1yy|WU7`35Z)q8d8R^95)*S9Z8W0>c88QhC%+R=uNb)%*_L^U^-$ z;&!SCL{~njmabLRu1f9qTZR`Zuv>x4L8tL6b7}<#r4yST?sJX9@b_2-TR@SoS zPOPJ=BhQEW49P`?TY%+?%%l#qPqTO}JVsUP)9o1kpbfuzpbp*bzb2u5Df>qVz&ERd!I%|)$P1G)b^C~E(Ew|dqldo&yi7Y4T zb809B(!sBVb*m3@r||8ArHE|SJ@I^y(DEHt12c~K^@taD-E=tzpkbxbYlNoxJM+de z%{NO)+mz$6Z&H}24Njicz@#XyZPHj!AFoTWnC^5#3D%wkZ#wKidkA4dS<0-Gj)5me zB(tUq_2B9VMf)E$l5`VLu?^ivi?9>xGWby@MK`~kqT{w4GQ2L~pdwCBkD-NXAc*E| z;aLbNT;b6f+SSUVbq=0q6SpTZhG@gKQ7;WilcQNYX>~}PEY>=-^xrf~yW(hH=FNF7 diff --git a/Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc b/Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc new file mode 100644 index 0000000..afa5c69 --- /dev/null +++ b/Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc @@ -0,0 +1,204 @@ +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: Parker_watchdog Parker_master PC +VAL_TABLE_ DCFC_availability 3 "DCFC available and powered up" 2 "DCFC session in progress" 1 "DCFC not available" 0 "DCFC available" ; +VAL_TABLE_ station_state 6 "Fault" 5 "Station disabled man disabled" 4 "Station disabled very low SOC" 3 "DCFC powered solar production" 2 "DCFC pwrd no solar production" 1 "solar producing no DCFC" 0 "standby" ; +VAL_TABLE_ DCFC_states 10 "open AC contactors" 9 "DCFC is off" 8 "shutdown DCFC" 7 "session in progress" 6 "DCFC is on" 5 "DCFC starting" 4 "close AC contactors" 3 "not inverting opened cont" 2 "inverting opened contactors" 1 "DCFC start requested" 0 "default" ; + + +BO_ 1298 ACcharger3: 8 Parker_master + SG_ outputVoltageChrg3 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg3 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ charger3_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ charger3_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger3_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1297 ACcharger2: 8 Vector__XXX + SG_ outputVoltageChrg2 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg2 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ charger2_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ charger2_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger2_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1296 ACcharger1: 8 Parker_master + SG_ charger1_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger1_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ outputVoltageChrg1 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg1 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + +BO_ 258 WDT_to_master: 8 Parker_watchdog + +BO_ 257 master_to_WDT: 8 Parker_master + SG_ shutdownAllnonEssential12Vloads : 2|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ shutdown_PC_pls : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ shutdown_internet_pls : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1281 DCFC_LEDs: 8 Parker_master + SG_ start_btn_was_pressed : 5|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ RED_LED_SOLID : 4|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ RED_LED_BLINKING : 3|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ GREEN_LED_SOLID : 2|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ GREEN_LED_BLINKING : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ DCFC_LED_DONT_MATCH_STATE : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 320 heater: 8 Parker_master + SG_ heater_problem : 8|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ heater_request : 0|8@1- (1,0) [0|0] "%" Vector__XXX + +BO_ 260 stationESS6: 8 Parker_master + SG_ batt4_discharge_cap : 56|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt4_charge_cap : 48|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt3_discharge_cap : 40|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt3_charge_cap : 32|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt2_discharge_cap : 24|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt2_charge_cap : 16|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt1_discharge_cap : 8|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt1_charge_cap : 0|8@1+ (1,0) [0|0] "kW" Vector__XXX + +BO_ 336 DCFC: 8 Parker_master + SG_ DCFC_state : 0|8@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 310 fans: 8 Parker_master + SG_ FAN_power_elec : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ FAN_cells : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 265 stationESS5: 8 Parker_master + SG_ minCellBattery4 : 48|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery4 : 32|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ minCellBattery3 : 16|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery3 : 0|16@1+ (1,0) [0|0] "mV" Vector__XXX + +BO_ 264 stationESS4: 8 Parker_master + SG_ minCellBattery2 : 48|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery2 : 32|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ minCellBattery1 : 16|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery1 : 0|16@1+ (1,0) [0|0] "mV" Vector__XXX + +BO_ 309 temperature2: 8 Parker_master + SG_ FEEDBACKpowerElectronicPump1 : 16|8@1+ (50,0) [0|0] "RPM" Vector__XXX + SG_ FEEDBACKcellHeatingPump1 : 8|8@1+ (50,0) [0|0] "RPM" Vector__XXX + SG_ FEEDBACKcellCoolingPump1 : 0|8@1+ (50,0) [0|0] "RPM" Vector__XXX + +BO_ 304 temperatures1: 8 Parker_master + SG_ outside_temp_average_24h : 24|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ PCS_hottest_temperature : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ outside_container_temp : 8|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ inside_container_temp : 0|8@1- (1,0) [0|0] "°C" Vector__XXX + +BO_ 1280 AC_chargers: 8 Parker_master + SG_ max_charge_current_each_DC : 40|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ AC_charger_voltage : 24|16@1+ (0.1,0) [0|0] "Vac" Vector__XXX + SG_ chargers_flow_request : 16|8@1+ (1,0) [0|0] "%" Vector__XXX + SG_ AC_input_present : 8|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_cmd : 11|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_cmd : 10|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_cmd : 9|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ AC_chargers_power : 0|8@1+ (0.25,0) [0|0] "kW" Vector__XXX + +BO_ 1024 Power_Inverter: 8 Parker_master + SG_ frequency_bias : 24|8@1- (0.1,0) [0|0] "hz" Vector__XXX + SG_ main_inverter_hotest_sensor : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ power_inverter_DC_power : 0|16@1- (0.1,0) [0|0] "kW" Vector__XXX + +BO_ 263 stationESS3: 8 Parker_master + SG_ ESS_total_power : 0|16@1- (0.1,0) [0|0] "kW" Vector__XXX + +BO_ 288 LowVoltageStatus: 8 Parker_master + SG_ MPPT12vPower : 40|8@1+ (2,0) [0|0] "W" Vector__XXX + SG_ DCDC2outputCurrent : 32|8@1+ (1,0) [0|0] "A" Vector__XXX + SG_ DCDC1outputCurrent : 24|8@1+ (1,0) [0|0] "A" Vector__XXX + SG_ ESS2_12VBatteryVoltage : 16|8@1+ (0.1,0) [0|25.5] "V" Vector__XXX + SG_ ESS1_12VBatteryVoltage : 8|8@1+ (0.1,0) [0|25.5] "V" Vector__XXX + SG_ HouseBatteryVoltage : 0|8@1+ (0.1,0) [0|0] "V" Vector__XXX + +BO_ 262 stationESS2: 8 Parker_master + SG_ batt4_low_cell_t : 56|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt3_low_cell_t : 48|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt2_low_cell_t : 40|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt1_low_cell_t : 32|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt4_high_cell_t : 24|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt3_high_cell_t : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt2_high_cell_t : 8|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt1_high_cell_t : 0|8@1- (1,0) [0|0] "°C" Vector__XXX + +BO_ 768 PC_dateTime: 8 PC + SG_ internetSeemsDead : 32|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 512 WDT_state: 8 Parker_watchdog + +BO_ 277 station_state1: 8 Parker_master + SG_ DCFC_availability : 16|8@1+ (1,0) [0|0] "" Vector__XXX + SG_ Station_state : 8|8@1+ (1,0) [0|0] "" Vector__XXX + SG_ SOCtoDisplay : 0|8@1+ (0.5,0) [0|0] "%" Vector__XXX + +BO_ 272 station_ver: 8 Parker_master + +BO_ 261 stationESS1: 8 Parker_master + SG_ DC_bus_voltage : 48|16@1+ (0.1,0) [0|0] "V" Vector__XXX + SG_ summed_ESS_current : 32|16@1- (0.1,0) [0|0] "A" Vector__XXX + SG_ SOC_battery4 : 24|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery3 : 16|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery2 : 8|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery1 : 0|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + +BO_ 256 parker_dateTime: 8 Parker_master + SG_ parker_time : 16|16@1+ (0.001,0) [0|0] "h" Vector__XXX + SG_ parker_date : 0|16@1+ (1,0) [0|0] "d" Vector__XXX + + + +CM_ SG_ 263 ESS_total_power "positive values = battery charging"; +CM_ SG_ 256 parker_time "hours elapsed since midnight, for example 18.25"; +CM_ SG_ 256 parker_date "number of days that have passed since 1899-12-30"; +BA_DEF_ "BusType" STRING ; +BA_DEF_DEF_ "BusType" ""; +VAL_ 336 DCFC_state 10 "open AC contactors" 9 "DCFC is off" 8 "shutdown DCFC" 7 "session in progress" 6 "DCFC is on" 5 "DCFC starting" 4 "close AC contactors" 3 "not inverting opened cont" 2 "inverting opened contactors" 1 "DCFC start requested" 0 "default" ; +VAL_ 277 DCFC_availability 3 "DCFC available and powered up" 2 "DCFC session in progress" 1 "DCFC not available" 0 "DCFC available" ; +VAL_ 277 Station_state 6 "Fault" 5 "Station disabled man disabled" 4 "Station disabled very low SOC" 3 "DCFC powered solar production" 2 "DCFC pwrd no solar production" 1 "solar producing no DCFC" 0 "standby" ; + diff --git a/Otarcik_CAN/Logs/SystemLog.txt b/Otarcik_CAN/Logs/SystemLog.txt index bbba125..a75fbe2 100644 --- a/Otarcik_CAN/Logs/SystemLog.txt +++ b/Otarcik_CAN/Logs/SystemLog.txt @@ -1102,3 +1102,853 @@ Démarrage du logiciel Otarcik CAN version 1.07-DBG le 2025-05-03 à 14:58:46 2025-05-03 14:59:22 Passage en mode buffering des messages MQTT pour metrics.yultek.dev 2025-05-03 14:59:22 Client MQTT 192.168.51.32 déconnecté. 2025-05-03 14:59:22 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.07-DBG le 2025-05-03 à 15:08:14 +******************************************************************** +2025-05-03 15:08:14 Chargement de la configuration système... +2025-05-03 15:08:14 Configuration système chargée avec succès! +2025-05-03 15:08:14 Initialisation du dispositif [MasterCAN] +2025-05-03 15:08:14 Démarrage d'un module CAN... +2025-05-03 15:08:14 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 15:08:14 Démarrage du Watchdog CAN... +2025-05-03 15:08:14 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 15:08:14 Démarrage du logiciel OtarcikCAN +2025-05-03 15:08:14 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:08:14 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:08:14 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:08:14 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:08:14 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:08:14 Internet Connecté... +2025-05-03 15:08:14 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 15:08:14 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 15:08:14 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 15:08:14 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 15:08:14 LAN Device 192.168.51.34 is now ONLINE on network +2025-05-03 15:08:14 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:08:42 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:08:42 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:08:52 Tentative de connexion au serveur MQTT... +2025-05-03 15:08:52 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:08:52 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:10:13 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:10:13 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:10:13 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:10:13 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 15:10:13 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:10:13 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:10:13 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:10:13 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:10:13 Sauvegarde de la configuration système... +2025-05-03 15:10:13 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:10:13 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:10:40 Déinitialisation du module PCAN USB ID 81 +2025-05-03 15:10:40 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 15:10:40 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:10:40 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:10:40 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:10:40 Passage en mode buffering des messages MQTT pour metrics.yultek.dev + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.07-DBG le 2025-05-03 à 15:18:38 +******************************************************************** +2025-05-03 15:18:38 Chargement de la configuration système... +2025-05-03 15:18:38 Configuration système chargée avec succès! +2025-05-03 15:18:38 Initialisation du dispositif [MasterCAN] +2025-05-03 15:18:38 Démarrage d'un module CAN... +2025-05-03 15:18:38 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 15:18:38 Démarrage du Watchdog CAN... +2025-05-03 15:18:38 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 15:18:38 Démarrage du logiciel OtarcikCAN +2025-05-03 15:18:38 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:18:38 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:18:38 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:18:38 Internet Connecté... +2025-05-03 15:18:38 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 15:18:38 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 15:18:38 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 15:18:38 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 15:18:38 LAN Device 192.168.51.34 is now ONLINE on network +2025-05-03 15:18:38 Client MQTT metrics.yultek.dev connecté. + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:27:16 +******************************************************************** +2025-05-03 15:27:16 Chargement de la configuration système... +2025-05-03 15:27:16 Configuration système chargée avec succès! +2025-05-03 15:27:16 Initialisation du dispositif [MasterCAN] +2025-05-03 15:27:16 Démarrage d'un module CAN... +2025-05-03 15:27:16 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 15:27:16 Démarrage du Watchdog CAN... +2025-05-03 15:27:16 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 15:27:16 Démarrage du logiciel OtarcikCAN +2025-05-03 15:27:16 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:27:16 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:27:16 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:27:16 Internet Connecté... +2025-05-03 15:27:16 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 15:27:16 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 15:27:16 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 15:27:16 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 15:27:16 LAN Device 192.168.51.34 is now ONLINE on network +2025-05-03 15:27:16 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:27:27 Déinitialisation du module PCAN USB ID 81 +2025-05-03 15:27:27 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 15:27:27 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:27:27 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:27:27 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:27:27 Passage en mode buffering des messages MQTT pour metrics.yultek.dev + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:35:36 +******************************************************************** +2025-05-03 15:35:36 Chargement de la configuration système... +2025-05-03 15:35:36 Configuration système chargée avec succès! +2025-05-03 15:35:36 Initialisation du dispositif [MasterCAN] +2025-05-03 15:35:36 Démarrage d'un module CAN... +2025-05-03 15:35:36 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 15:35:36 Démarrage du Watchdog CAN... +2025-05-03 15:35:36 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 15:35:36 Démarrage du logiciel OtarcikCAN +2025-05-03 15:35:36 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:35:36 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:35:36 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:35:36 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 15:35:36 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 15:35:36 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 15:35:36 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 15:35:36 LAN Device 192.168.51.34 is now ONLINE on network +2025-05-03 15:35:36 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:35:36 Internet Connecté... +2025-05-03 15:35:50 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:35:50 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:35:50 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:35:50 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 15:35:50 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:35:50 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:35:50 Sauvegarde de la configuration système... +2025-05-03 15:35:50 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:35:50 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:36:08 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:36:08 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:36:08 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:36:08 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 15:36:08 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:36:08 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:36:08 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:36:08 Sauvegarde de la configuration système... +2025-05-03 15:36:08 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:36:08 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:36:08 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:39:40 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:39:40 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:39:50 Tentative de connexion au serveur MQTT... +2025-05-03 15:39:50 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:39:50 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:00 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:00 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:00 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:10 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:10 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:10 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:20 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:20 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:20 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:30 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:30 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:30 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:40 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:40:40 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:40:40 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:40:40 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 15:40:40 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:40 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:40:40 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:40 Sauvegarde de la configuration système... +2025-05-03 15:40:40 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:40 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:40 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:40:50 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:50 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:50 Tentative de connexion au serveur MQTT... +2025-05-03 15:40:50 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:40:50 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:40:50 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:41:00 Tentative de connexion au serveur MQTT... +2025-05-03 15:41:00 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:41:00 Tentative de connexion au serveur MQTT... +2025-05-03 15:41:00 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:41:00 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:41:00 Client MQTT 192.168.51.32 déconnecté pendant une reconnexion. +2025-05-03 15:41:10 Tentative de connexion au serveur MQTT... +2025-05-03 15:41:10 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:41:10 Tentative de connexion au serveur MQTT... +2025-05-03 15:41:10 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:41:10 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:41:10 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:42:00 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:42:00 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:42:00 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:42:00 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 15:42:00 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:42:00 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:42:00 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 15:42:00 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 15:42:00 Sauvegarde de la configuration système... +2025-05-03 15:42:00 Client MQTT 192.168.51.32 connecté. +2025-05-03 15:42:00 Client MQTT metrics.yultek.dev connecté. +2025-05-03 15:42:04 Déinitialisation du module PCAN USB ID 81 +2025-05-03 15:42:04 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 15:42:04 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 15:42:04 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 15:42:04 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 15:42:04 Passage en mode buffering des messages MQTT pour metrics.yultek.dev + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:53:07 +******************************************************************** +2025-05-03 15:53:07 Chargement de la configuration système... +2025-05-03 15:53:07 Configuration système chargée avec succès! +2025-05-03 15:53:07 Initialisation du dispositif [MasterCAN] +2025-05-03 15:53:07 Démarrage d'un module CAN... +2025-05-03 15:53:07 Impossible de trouver le module CAN sur le channel 1 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:55:42 +******************************************************************** +2025-05-03 15:55:42 Chargement de la configuration système... +2025-05-03 15:55:42 Configuration système chargée avec succès! +2025-05-03 15:55:42 Initialisation du dispositif [MasterCAN] +2025-05-03 15:55:42 Démarrage d'un module CAN... +2025-05-03 15:55:42 Impossible de trouver le module CAN sur le channel 1 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:57:11 +******************************************************************** +2025-05-03 15:57:11 Chargement de la configuration système... +2025-05-03 15:57:11 Configuration système chargée avec succès! +2025-05-03 15:57:11 Initialisation du dispositif [MasterCAN] +2025-05-03 15:57:11 Démarrage d'un module CAN... +2025-05-03 15:57:11 Impossible de trouver le module CAN sur le channel 1 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 15:58:43 +******************************************************************** +2025-05-03 15:58:43 Chargement de la configuration système... +2025-05-03 15:58:43 Configuration système chargée avec succès! +2025-05-03 15:58:43 Initialisation du dispositif [MasterCAN] +2025-05-03 15:58:43 Démarrage d'un module CAN... +2025-05-03 15:58:43 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 16:01:08 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:01:08 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:01:08 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:01:08 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:01:08 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:01:08 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:01:08 Sauvegarde de la configuration système... +2025-05-03 16:01:08 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:01:08 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:03:01 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:03:01 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:03:01 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:03:01 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:03:01 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:03:01 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:03:01 Sauvegarde de la configuration système... +2025-05-03 16:03:01 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:03:01 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:03:11 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:03:11 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 16:03:11 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:03:11 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:03:11 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:03:11 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 16:05:34 +******************************************************************** +2025-05-03 16:05:34 Chargement de la configuration système... +2025-05-03 16:05:34 Configuration système chargée avec succès! +2025-05-03 16:05:34 Initialisation du dispositif [MasterCAN] +2025-05-03 16:05:34 Démarrage d'un module CAN... +2025-05-03 16:05:34 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 16:05:34 Démarrage du Watchdog CAN... +2025-05-03 16:05:34 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 16:05:34 Démarrage du logiciel OtarcikCAN +2025-05-03 16:05:34 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:05:34 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:05:34 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:05:34 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 16:05:34 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 16:05:34 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 16:05:34 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 16:05:34 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 16:05:35 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:05:35 Internet Connecté... +2025-05-03 16:05:50 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:05:50 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:05:50 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:05:50 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:05:50 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:05:50 Sauvegarde de la configuration système... +2025-05-03 16:05:50 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:06:02 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:06:02 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 16:06:02 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:06:02 Passage en mode buffering des messages MQTT pour metrics.yultek.dev + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 16:06:05 +******************************************************************** +2025-05-03 16:06:05 Chargement de la configuration système... +2025-05-03 16:06:05 Configuration système chargée avec succès! +2025-05-03 16:06:05 Initialisation du dispositif [MasterCAN] +2025-05-03 16:06:05 Démarrage d'un module CAN... +2025-05-03 16:06:05 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 16:06:05 Démarrage du Watchdog CAN... +2025-05-03 16:06:05 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 16:06:05 Démarrage du logiciel OtarcikCAN +2025-05-03 16:06:05 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:06:05 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 16:06:05 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 16:06:05 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 16:06:05 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 16:06:05 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 16:06:05 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:06:05 Internet Connecté... +2025-05-03 16:06:15 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:06:15 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:06:15 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:06:15 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:06:15 Sauvegarde de la configuration système... +2025-05-03 16:06:15 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:06:15 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:06:36 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:06:36 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:06:36 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:06:36 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:06:36 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:06:36 Sauvegarde de la configuration système... +2025-05-03 16:06:36 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:06:54 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:06:54 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:06:54 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:06:54 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:06:54 Sauvegarde de la configuration système... +2025-05-03 16:06:54 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:06:54 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:07:02 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:07:02 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:07:02 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:07:02 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:07:02 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:07:02 Sauvegarde de la configuration système... +2025-05-03 16:07:02 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:07:11 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:07:11 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 16:07:11 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:07:11 Passage en mode buffering des messages MQTT pour metrics.yultek.dev + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 16:10:07 +******************************************************************** +2025-05-03 16:10:07 Chargement de la configuration système... +2025-05-03 16:10:07 Configuration système chargée avec succès! +2025-05-03 16:10:07 Initialisation du dispositif [MasterCAN] +2025-05-03 16:10:07 Démarrage d'un module CAN... +2025-05-03 16:10:07 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 16:10:07 Démarrage du Watchdog CAN... +2025-05-03 16:10:07 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 16:10:07 Démarrage du logiciel OtarcikCAN +2025-05-03 16:10:07 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:10:07 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 16:10:07 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 16:10:07 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 16:10:07 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 16:10:07 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 16:10:07 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:10:07 Internet Connecté... +2025-05-03 16:10:21 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:10:21 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:10:21 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:10:21 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:10:21 Sauvegarde de la configuration système... +2025-05-03 16:10:21 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:10:21 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:10:34 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:10:44 Tentative de connexion au serveur MQTT... +2025-05-03 16:10:44 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:10:44 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:11:32 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:11:32 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:11:32 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:11:32 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:11:32 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:11:32 Sauvegarde de la configuration système... +2025-05-03 16:11:32 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:11:32 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:11:40 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:11:40 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:11:50 Tentative de connexion au serveur MQTT... +2025-05-03 16:11:50 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:11:50 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:13:46 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:13:46 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:13:56 Tentative de connexion au serveur MQTT... +2025-05-03 16:13:56 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:13:56 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:14:15 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:14:15 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:14:15 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:14:15 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:14:15 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:14:15 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:14:15 Sauvegarde de la configuration système... +2025-05-03 16:14:15 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:14:15 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:14:20 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:14:20 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:14:20 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:14:20 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:14:20 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:14:20 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:14:20 Sauvegarde de la configuration système... +2025-05-03 16:14:20 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:14:20 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:28:27 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:28:27 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:28:27 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:28:27 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:28:27 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:28:27 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:28:27 Sauvegarde de la configuration système... +2025-05-03 16:28:27 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:28:27 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:47:31 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:47:31 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 16:47:31 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:47:31 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:47:31 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:47:31 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 16:49:40 +******************************************************************** +2025-05-03 16:49:40 Chargement de la configuration système... +2025-05-03 16:49:40 Configuration système chargée avec succès! +2025-05-03 16:49:40 Initialisation du dispositif [MasterCAN] +2025-05-03 16:49:40 Démarrage d'un module CAN... +2025-05-03 16:49:40 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 16:49:40 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 16:49:40 Module PCAN USB initialisé avec succès +2025-05-03 16:49:40 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2025-05-03 16:49:40 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 16:49:40 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 16:49:40 Démarrage du Watchdog CAN... +2025-05-03 16:49:40 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 16:49:40 Démarrage du logiciel OtarcikCAN +2025-05-03 16:49:40 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 16:49:40 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:49:40 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:49:40 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 16:49:40 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 16:49:40 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 16:49:40 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 16:49:40 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 16:49:40 Client MQTT metrics.yultek.dev connecté. +2025-05-03 16:49:40 Internet Connecté... +2025-05-03 16:50:19 Sauvegarde de la configuration système... +2025-05-03 16:50:19 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:50:19 Initialisation du dispositif [MasterCAN] +2025-05-03 16:50:19 Démarrage d'un module CAN... +2025-05-03 16:50:19 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 16:50:19 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 16:50:19 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 16:50:19 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 16:50:19 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 16:52:15 Sauvegarde de la configuration système... +2025-05-03 16:52:15 Sauvegarde de la configuration système... +2025-05-03 16:55:44 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 16:55:44 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 16:55:44 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:55:44 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 16:55:44 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 16:55:44 Sauvegarde de la configuration système... +2025-05-03 16:55:44 Client MQTT 192.168.51.32 connecté. +2025-05-03 16:59:52 Déinitialisation du module PCAN USB ID 81 +2025-05-03 16:59:52 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 16:59:52 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 17:00:44 +******************************************************************** +2025-05-03 17:00:44 Chargement de la configuration système... +2025-05-03 17:00:44 Configuration système chargée avec succès! +2025-05-03 17:00:44 Initialisation du dispositif [MasterCAN] +2025-05-03 17:00:44 Démarrage d'un module CAN... +2025-05-03 17:00:44 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 17:00:45 Démarrage du Watchdog CAN... +2025-05-03 17:00:45 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 17:00:45 Démarrage du logiciel OtarcikCAN +2025-05-03 17:00:45 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 17:00:45 Client MQTT 192.168.51.32 connecté. +2025-05-03 17:00:45 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 17:00:45 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 17:00:45 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 17:00:45 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 17:00:45 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 17:00:45 Internet Connecté... +2025-05-03 17:00:47 Déinitialisation du module PCAN USB ID 81 +2025-05-03 17:00:47 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 17:00:47 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 17:00:47 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 17:02:55 +******************************************************************** +2025-05-03 17:02:55 Chargement de la configuration système... +2025-05-03 17:02:55 Configuration système chargée avec succès! +2025-05-03 17:02:55 Initialisation du dispositif [MasterCAN] +2025-05-03 17:02:55 Démarrage d'un module CAN... +2025-05-03 17:02:55 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 17:02:55 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 17:02:55 Module PCAN USB initialisé avec succès +2025-05-03 17:02:55 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 17:02:55 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 17:02:55 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 17:02:55 Démarrage du Watchdog CAN... +2025-05-03 17:02:55 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 17:02:55 Démarrage du logiciel OtarcikCAN +2025-05-03 17:02:55 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 17:02:55 Client MQTT 192.168.51.32 connecté. +2025-05-03 17:02:55 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 17:02:55 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 17:02:55 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 17:02:55 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 17:02:55 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 17:02:55 Internet Connecté... +2025-05-03 17:07:34 Déinitialisation du module PCAN USB ID 81 +2025-05-03 17:07:34 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 17:07:34 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 17:07:37 +******************************************************************** +2025-05-03 17:07:37 Chargement de la configuration système... +2025-05-03 17:07:37 Configuration système chargée avec succès! +2025-05-03 17:07:37 Initialisation du dispositif [MasterCAN] +2025-05-03 17:07:37 Démarrage d'un module CAN... +2025-05-03 17:07:37 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 17:07:38 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 17:07:38 Module PCAN USB initialisé avec succès +2025-05-03 17:07:38 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 17:07:38 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 17:07:38 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 17:07:38 Démarrage du Watchdog CAN... +2025-05-03 17:07:38 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 17:07:38 Démarrage du logiciel OtarcikCAN +2025-05-03 17:07:38 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 17:07:38 Client MQTT 192.168.51.32 connecté. +2025-05-03 17:07:38 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 17:07:38 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 17:07:38 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 17:07:38 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 17:07:38 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 17:07:38 Internet Connecté... +2025-05-03 17:08:06 Déinitialisation du module PCAN USB ID 81 +2025-05-03 17:08:06 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 17:08:06 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 17:08:16 +******************************************************************** +2025-05-03 17:08:16 Chargement de la configuration système... +2025-05-03 17:08:16 Configuration système chargée avec succès! +2025-05-03 17:08:16 Initialisation du dispositif [MasterCAN] +2025-05-03 17:08:16 Démarrage d'un module CAN... +2025-05-03 17:08:16 Impossible de trouver le module CAN sur le channel 1 +2025-05-03 17:08:16 Démarrage du Watchdog CAN... +2025-05-03 17:08:16 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 17:08:16 Démarrage du logiciel OtarcikCAN +2025-05-03 17:08:16 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 17:08:16 Client MQTT 192.168.51.32 connecté. +2025-05-03 17:08:16 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 17:08:16 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 17:08:16 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 17:08:16 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 17:08:16 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 17:08:16 Internet Connecté... +2025-05-03 17:08:18 Déinitialisation du module PCAN USB ID 81 +2025-05-03 17:08:18 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2025-05-03 17:08:18 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 17:08:18 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 17:08:48 +******************************************************************** +2025-05-03 17:08:48 Chargement de la configuration système... +2025-05-03 17:08:48 Configuration système chargée avec succès! +2025-05-03 17:08:48 Initialisation du dispositif [MasterCAN] +2025-05-03 17:08:48 Démarrage d'un module CAN... +2025-05-03 17:08:48 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 17:08:48 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 17:08:48 Module PCAN USB initialisé avec succès +2025-05-03 17:08:48 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 17:08:48 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 17:08:48 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 17:08:48 Démarrage du Watchdog CAN... +2025-05-03 17:08:48 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 17:08:48 Démarrage du logiciel OtarcikCAN +2025-05-03 17:08:48 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 17:08:48 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 17:08:48 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 17:08:48 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 17:08:48 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 17:08:48 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 17:08:48 Client MQTT 192.168.51.32 connecté. +2025-05-03 17:08:48 Internet Connecté... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 18:58:32 +******************************************************************** +2025-05-03 18:58:32 Chargement de la configuration système... +2025-05-03 18:58:32 Configuration système chargée avec succès! +2025-05-03 18:58:32 Initialisation du dispositif [MasterCAN] +2025-05-03 18:58:32 Démarrage d'un module CAN... +2025-05-03 18:58:32 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 18:58:32 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 18:58:32 Module PCAN USB initialisé avec succès +2025-05-03 18:58:32 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 18:58:32 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 18:58:32 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 18:58:32 Démarrage du Watchdog CAN... +2025-05-03 18:58:32 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 18:58:32 Démarrage du logiciel OtarcikCAN +2025-05-03 18:58:32 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 18:58:32 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 18:58:32 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 18:58:32 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 18:58:32 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 18:58:32 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 18:58:32 Client MQTT 192.168.51.32 connecté. +2025-05-03 18:58:32 Internet Connecté... +2025-05-03 18:58:53 Déinitialisation du module PCAN USB ID 81 +2025-05-03 18:58:53 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 18:58:53 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 18:59:49 +******************************************************************** +2025-05-03 18:59:49 Chargement de la configuration système... +2025-05-03 18:59:49 Configuration système chargée avec succès! +2025-05-03 18:59:49 Initialisation du dispositif [MasterCAN] +2025-05-03 18:59:49 Démarrage d'un module CAN... +2025-05-03 18:59:49 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 18:59:49 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 18:59:49 Module PCAN USB initialisé avec succès +2025-05-03 18:59:49 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 18:59:49 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 18:59:49 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 18:59:49 Démarrage du Watchdog CAN... +2025-05-03 18:59:49 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 18:59:49 Démarrage du logiciel OtarcikCAN +2025-05-03 18:59:49 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 18:59:49 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 18:59:49 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 18:59:49 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 18:59:49 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 18:59:49 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 18:59:49 Client MQTT 192.168.51.32 connecté. +2025-05-03 18:59:49 Internet Connecté... +2025-05-03 19:00:59 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 19:00:59 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 19:00:59 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:00:59 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 19:00:59 Sauvegarde de la configuration système... +2025-05-03 19:00:59 Client MQTT 192.168.51.32 connecté. +2025-05-03 19:00:59 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:04:35 Déinitialisation du module PCAN USB ID 81 +2025-05-03 19:04:35 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:04:35 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:04:35 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 19:04:35 Passage en mode buffering des messages MQTT pour 192.168.51.32 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 19:17:16 +******************************************************************** +2025-05-03 19:17:16 Chargement de la configuration système... +2025-05-03 19:17:16 Configuration système chargée avec succès! +2025-05-03 19:17:16 Initialisation du dispositif [MasterCAN] +2025-05-03 19:17:16 Démarrage d'un module CAN... +2025-05-03 19:17:16 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 19:17:17 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 19:17:17 Module PCAN USB initialisé avec succès +2025-05-03 19:17:17 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 19:17:17 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 19:17:17 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 19:17:17 Démarrage du Watchdog CAN... +2025-05-03 19:17:17 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 19:17:17 Démarrage du logiciel OtarcikCAN +2025-05-03 19:17:17 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:17:17 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 19:17:17 Client MQTT 192.168.51.32 connecté. +2025-05-03 19:17:17 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 19:17:17 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 19:17:17 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 19:17:17 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 19:17:17 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 19:17:17 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:17:17 Internet Connecté... +2025-05-03 19:18:04 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:18:04 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:18:04 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 19:18:04 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 19:18:04 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:18:04 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 19:18:04 Sauvegarde de la configuration système... +2025-05-03 19:18:04 Client MQTT 192.168.51.32 connecté. +2025-05-03 19:18:05 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:18:14 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:18:14 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:18:14 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 19:18:14 Passage en mode buffering des messages MQTT pour 192.168.51.32 +2025-05-03 19:18:14 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:18:14 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 19:18:14 Sauvegarde de la configuration système... +2025-05-03 19:18:14 Client MQTT 192.168.51.32 connecté. +2025-05-03 19:18:14 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:48:19 Sauvegarde de la configuration système... +2025-05-03 19:48:19 Sauvegarde de la configuration système... +2025-05-03 19:50:02 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:50:02 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:50:02 Client MQTT 192.168.51.32 déconnecté. +2025-05-03 19:50:02 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:50:02 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:50:02 Sauvegarde de la configuration système... +2025-05-03 19:50:02 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:50:06 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:50:16 Tentative de connexion au serveur MQTT... +2025-05-03 19:50:16 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:50:20 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:50:30 Tentative de connexion au serveur MQTT... +2025-05-03 19:50:30 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:50:34 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:50:44 Tentative de connexion au serveur MQTT... +2025-05-03 19:50:44 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:50:46 Déinitialisation du module PCAN USB ID 81 +2025-05-03 19:50:46 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:50:46 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:50:46 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 19:50:52 +******************************************************************** +2025-05-03 19:50:52 Chargement de la configuration système... +2025-05-03 19:50:52 Configuration système chargée avec succès! +2025-05-03 19:50:52 Initialisation du dispositif [MasterCAN] +2025-05-03 19:50:52 Démarrage d'un module CAN... +2025-05-03 19:50:52 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 19:50:52 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2025-05-03 19:50:52 Module PCAN USB initialisé avec succès +2025-05-03 19:50:52 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc +2025-05-03 19:50:52 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 19:50:52 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 19:50:52 Démarrage du Watchdog CAN... +2025-05-03 19:50:52 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 19:50:52 Démarrage du logiciel OtarcikCAN +2025-05-03 19:50:52 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:50:52 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:50:52 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 19:50:52 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 19:50:52 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 19:50:52 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 19:50:52 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 19:50:52 Client MQTT metrics.yultek.dev connecté. +2025-05-03 19:50:53 Internet Connecté... +2025-05-03 19:50:56 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:51:06 Tentative de connexion au serveur MQTT... +2025-05-03 19:51:06 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:51:10 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:51:20 Tentative de connexion au serveur MQTT... +2025-05-03 19:51:20 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:51:24 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:51:34 Tentative de connexion au serveur MQTT... +2025-05-03 19:51:34 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:51:38 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:51:48 Tentative de connexion au serveur MQTT... +2025-05-03 19:51:48 Client MQTT git.jfmartel.ca en cours de connexion... +2025-05-03 19:51:49 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 19:51:49 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 19:51:49 Client MQTT git.jfmartel.ca déconnecté pendant une reconnexion. +2025-05-03 19:51:49 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 19:51:49 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 19:51:49 Sauvegarde de la configuration système... +2025-05-03 19:51:49 Client MQTT 192.168.51.32 connecté. +2025-05-03 19:51:49 Client MQTT metrics.yultek.dev connecté. +2025-05-03 20:05:28 Sauvegarde de la configuration système... +2025-05-03 20:05:28 Déinitialisation du module PCAN USB ID 81 +2025-05-03 20:06:13 Sauvegarde de la configuration système... +2025-05-03 20:06:13 Initialisation du dispositif [MasterCAN] +2025-05-03 20:06:13 Démarrage d'un module CAN... +2025-05-03 20:06:13 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 20:06:13 Initialisation d'un module PCAN. Handle:0x51, Baudrate:284 +2025-05-03 20:06:13 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc +2025-05-03 20:06:13 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 20:06:13 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 20:07:39 Déinitialisation du module PCAN USB ID 81 +2025-05-03 20:07:39 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 20:07:39 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 20:07:39 Client MQTT 192.168.51.32 déconnecté. + + +******************************************************************** +Démarrage du logiciel Otarcik CAN version 1.08 le 2025-05-03 à 20:08:02 +******************************************************************** +2025-05-03 20:08:02 Chargement de la configuration système... +2025-05-03 20:08:02 Configuration système chargée avec succès! +2025-05-03 20:08:02 Initialisation du dispositif [MasterCAN] +2025-05-03 20:08:02 Démarrage d'un module CAN... +2025-05-03 20:08:02 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2025-05-03 20:08:02 Initialisation d'un module PCAN. Handle:0x51, Baudrate:284 +2025-05-03 20:08:02 Module PCAN USB initialisé avec succès +2025-05-03 20:08:02 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/Exec/Config/PCtelemetrie20240521.dbc +2025-05-03 20:08:02 Base de données chargée avec succès. Flags: 0x0 +2025-05-03 20:08:02 Dispositif [MasterCAN] initialisé avec succès! +2025-05-03 20:08:02 Démarrage du Watchdog CAN... +2025-05-03 20:08:02 Watchdog CAN initialisé pour le module sur le channel 1 +2025-05-03 20:08:02 Démarrage du logiciel OtarcikCAN +2025-05-03 20:08:02 Client MQTT metrics.yultek.dev en cours de connexion... +2025-05-03 20:08:02 Client MQTT 192.168.51.32 en cours de connexion... +2025-05-03 20:08:03 Client MQTT 192.168.51.32 connecté. +2025-05-03 20:08:03 LAN Device 192.168.51.2 is now ONLINE on network +2025-05-03 20:08:03 LAN Device 192.168.50.100 is now ONLINE on network +2025-05-03 20:08:03 LAN Device 192.168.50.1 is now ONLINE on network +2025-05-03 20:08:03 LAN Device 192.168.51.32 is now ONLINE on network +2025-05-03 20:08:03 LAN Device 192.168.50.110 is now ONLINE on network +2025-05-03 20:08:03 Client MQTT metrics.yultek.dev connecté. +2025-05-03 20:08:03 Internet Connecté... +2025-05-03 20:08:07 Déinitialisation du module PCAN USB ID 81 +2025-05-03 20:08:07 Client MQTT metrics.yultek.dev déconnecté. +2025-05-03 20:08:07 Passage en mode buffering des messages MQTT pour metrics.yultek.dev +2025-05-03 20:08:07 Client MQTT 192.168.51.32 déconnecté. diff --git a/Otarcik_CAN/Makefile b/Otarcik_CAN/Makefile index cacf86f..40e2a97 100644 --- a/Otarcik_CAN/Makefile +++ b/Otarcik_CAN/Makefile @@ -3,16 +3,16 @@ # Generated by qmake (3.1) (Qt 5.14.2) # Project: Otarcik_CAN.pro # Template: app -# Command: C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe -o Makefile Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" +# Command: C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe -o Makefile Otarcik_CAN.pro -spec win32-g++ ############################################################################# MAKEFILE = Makefile EQ = = -first: debug -install: debug-install -uninstall: debug-uninstall +first: release +install: release-install +uninstall: release-uninstall QMAKE = C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe DEL_FILE = del CHK_DIR_EXISTS= if not exist @@ -37,24 +37,10 @@ RES_FILE = SED = $(QMAKE) -install sed MOVE = move SUBTARGETS = \ - debug \ - release + release \ + debug -debug: FORCE - $(MAKE) -f $(MAKEFILE).Debug -debug-make_first: FORCE - $(MAKE) -f $(MAKEFILE).Debug -debug-all: FORCE - $(MAKE) -f $(MAKEFILE).Debug all -debug-clean: FORCE - $(MAKE) -f $(MAKEFILE).Debug clean -debug-distclean: FORCE - $(MAKE) -f $(MAKEFILE).Debug distclean -debug-install: FORCE - $(MAKE) -f $(MAKEFILE).Debug install -debug-uninstall: FORCE - $(MAKE) -f $(MAKEFILE).Debug uninstall release: FORCE $(MAKE) -f $(MAKEFILE).Release release-make_first: FORCE @@ -69,6 +55,20 @@ release-install: FORCE $(MAKE) -f $(MAKEFILE).Release install release-uninstall: FORCE $(MAKE) -f $(MAKEFILE).Release uninstall +debug: FORCE + $(MAKE) -f $(MAKEFILE).Debug +debug-make_first: FORCE + $(MAKE) -f $(MAKEFILE).Debug +debug-all: FORCE + $(MAKE) -f $(MAKEFILE).Debug all +debug-clean: FORCE + $(MAKE) -f $(MAKEFILE).Debug clean +debug-distclean: FORCE + $(MAKE) -f $(MAKEFILE).Debug distclean +debug-install: FORCE + $(MAKE) -f $(MAKEFILE).Debug install +debug-uninstall: FORCE + $(MAKE) -f $(MAKEFILE).Debug uninstall Makefile: Otarcik_CAN.pro C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qdevice.pri \ @@ -239,7 +239,6 @@ Makefile: Otarcik_CAN.pro C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qma C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_post.prf \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qml_debug.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/warn_on.prf \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt.prf \ @@ -263,7 +262,7 @@ Makefile: Otarcik_CAN.pro C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qma C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Core.prl \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/qtmain.prl \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/build_pass.prf - $(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" + $(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qdevice.pri: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/device_config.prf: @@ -433,7 +432,6 @@ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/default_pre.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_post.prf: -C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qml_debug.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/warn_on.prf: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt.prf: @@ -458,32 +456,32 @@ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Core.prl: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/qtmain.prl: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/build_pass.prf: qmake: FORCE - @$(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" + @$(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ qmake_all: FORCE -make_first: debug-make_first release-make_first FORCE -all: debug-all release-all FORCE -clean: debug-clean release-clean FORCE -distclean: debug-distclean release-distclean FORCE +make_first: release-make_first debug-make_first FORCE +all: release-all debug-all FORCE +clean: release-clean debug-clean FORCE +distclean: release-distclean debug-distclean FORCE -$(DEL_FILE) Makefile -debug-mocclean: - $(MAKE) -f $(MAKEFILE).Debug mocclean release-mocclean: $(MAKE) -f $(MAKEFILE).Release mocclean -mocclean: debug-mocclean release-mocclean +debug-mocclean: + $(MAKE) -f $(MAKEFILE).Debug mocclean +mocclean: release-mocclean debug-mocclean -debug-mocables: - $(MAKE) -f $(MAKEFILE).Debug mocables release-mocables: $(MAKE) -f $(MAKEFILE).Release mocables -mocables: debug-mocables release-mocables +debug-mocables: + $(MAKE) -f $(MAKEFILE).Debug mocables +mocables: release-mocables debug-mocables check: first benchmark: first FORCE: -$(MAKEFILE).Debug: Makefile $(MAKEFILE).Release: Makefile +$(MAKEFILE).Debug: Makefile diff --git a/Otarcik_CAN/Makefile.Debug b/Otarcik_CAN/Makefile.Debug index 08123e1..7d8a474 100644 --- a/Otarcik_CAN/Makefile.Debug +++ b/Otarcik_CAN/Makefile.Debug @@ -13,7 +13,7 @@ EQ = = CC = gcc CXX = g++ -DEFINES = -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN +DEFINES = -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN CFLAGS = -fno-keep-inline-dllexport -g -Wall -Wextra -Wextra $(DEFINES) CXXFLAGS = -fno-keep-inline-dllexport -g -Wall -Wextra -Wextra -fexceptions -mthreads $(DEFINES) INCPATH = -I. -I. -ISources -ISources\Gui -ISources\PCAN -ISources\KVASER -ISources\CANDatabase -ISources\CANBus -ISources\CloudLogging -ISources\Axiomtek -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtWidgets -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtGui -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtANGLE -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtMqtt -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtNetwork -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore -Idebug -I. -I/include -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++ @@ -232,12 +232,12 @@ debug/Otarcik_CAN.exe: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C:/Q $(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) @object_script.Otarcik_CAN.Debug $(LIBS) qmake: FORCE - @$(QMAKE) -o Makefile.Debug Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" + @$(QMAKE) -o Makefile.Debug Otarcik_CAN.pro -spec win32-g++ qmake_all: FORCE dist: - $(ZIP) Otarcik_CAN.zip $(SOURCES) $(DIST) Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qdevice.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\device_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\sanitize.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\gcc-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\angle.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows_vulkan_sdk.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-vulkan.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-win32.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-desktop.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qconfig.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_accessibility_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_edid_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_egl_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fb_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickshapes_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_theme_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_vulkan_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++\qmake.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_post.prf ..\..\.qmake.stash C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\toolchain.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resolve_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\build_pass.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qml_debug.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\precompile_header.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\warn_on.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\moc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\opengl.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\uic.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qmake_use.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\file_copies.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\testcase_targets.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exceptions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\yacc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\lex.prf Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Widgets.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Gui.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Mqtt.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Network.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Core.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\qtmain.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\data\dummy.cpp Sources\MainWindow.h Sources\PCANInterface.h Sources\OtarcikCan.h Sources\Gui\GeneralStatusPage.h Sources\GeneralMessagesLogDispatcher.h Sources\defines.h Sources\KVASER\kvaDbLib.h Sources\PCAN\PCANBasic.h Sources\Gui\CANViewerPage.h Sources\CANDatabase\CANDatabase.h Sources\SystemConfig.h Sources\Gui\CANbusSettingsPage.h Sources\Gui\LoggingSettingsPage.h Sources\CANBus\CANAnalyzer.h Sources\CANBus\CANDevice.h Sources\CANBus\CANDeviceConfig.h Sources\CANBus\CANMessage.h Sources\CANBus\CANSignal.h Sources\CANBus\CANDataLogger.h Sources\CloudLogging\CloudParams.h Sources\CloudLogging\MQTTMessage.h Sources\CloudLogging\MQTTClientWrapper.h Sources\Gui\CCANWatchdogSettingsPage.h Sources\CANBus\CANWatchdogConfig.h Sources\GeneralSystemParams.h Sources\CANBus\CANWatchdog.h Sources\Axiomtek\AxUfiAPI.h Sources\ComputerBoardInterface.h Sources\CPUWatchdogConfig.h Sources\SysLogger.h Sources\InternetMonitor.h Sources\ComputerBoardState.h Sources\DeviceDetectionConfig.h Sources\LANDevicePresenceConfig.h Sources\LANDeviceMonitor.h Sources\LANDevicesPresenceMonitor.h Sources\main.cpp Sources\MainWindow.cpp Sources\PCANInterface.cpp Sources\OtarcikCan.cpp Sources\Gui\GeneralStatusPage.cpp Sources\GeneralMessagesLogDispatcher.cpp Sources\Gui\CANViewerPage.cpp Sources\CANDatabase\CANDatabase.cpp Sources\SystemConfig.cpp Sources\Gui\CANbusSettingsPage.cpp Sources\Gui\LoggingSettingsPage.cpp Sources\CANBus\CANAnalyzer.cpp Sources\CANBus\CANDevice.cpp Sources\CANBus\CANDeviceConfig.cpp Sources\CANBus\CANMessage.cpp Sources\CANBus\CANSignal.cpp Sources\CANBus\CANDataLogger.cpp Sources\CloudLogging\CloudParams.cpp Sources\CloudLogging\MQTTMessage.cpp Sources\CloudLogging\MQTTClientWrapper.cpp Sources\Gui\CCANWatchdogSettingsPage.cpp Sources\CANBus\CANWatchdogConfig.cpp Sources\GeneralSystemParams.cpp Sources\CANBus\CANWatchdog.cpp Sources\ComputerBoardInterface.cpp Sources\CPUWatchdogConfig.cpp Sources\SysLogger.cpp Sources\InternetMonitor.cpp Sources\ComputerBoardState.cpp Sources\DeviceDetectionConfig.cpp Sources\LANDevicePresenceConfig.cpp Sources\LANDeviceMonitor.cpp Sources\LANDevicesPresenceMonitor.cpp Sources\Gui\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.ui Sources\Gui\CCANWatchdogSettingsPage.ui + $(ZIP) Otarcik_CAN.zip $(SOURCES) $(DIST) Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qdevice.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\device_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\sanitize.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\gcc-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\angle.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows_vulkan_sdk.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-vulkan.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-win32.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-desktop.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qconfig.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_accessibility_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_edid_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_egl_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fb_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickshapes_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_theme_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_vulkan_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++\qmake.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_post.prf ..\..\.qmake.stash C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\toolchain.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resolve_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\build_pass.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\precompile_header.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\warn_on.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\moc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\opengl.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\uic.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qmake_use.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\file_copies.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\testcase_targets.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exceptions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\yacc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\lex.prf Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Widgets.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Gui.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Mqtt.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Network.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Core.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\qtmain.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\data\dummy.cpp Sources\MainWindow.h Sources\PCANInterface.h Sources\OtarcikCan.h Sources\Gui\GeneralStatusPage.h Sources\GeneralMessagesLogDispatcher.h Sources\defines.h Sources\KVASER\kvaDbLib.h Sources\PCAN\PCANBasic.h Sources\Gui\CANViewerPage.h Sources\CANDatabase\CANDatabase.h Sources\SystemConfig.h Sources\Gui\CANbusSettingsPage.h Sources\Gui\LoggingSettingsPage.h Sources\CANBus\CANAnalyzer.h Sources\CANBus\CANDevice.h Sources\CANBus\CANDeviceConfig.h Sources\CANBus\CANMessage.h Sources\CANBus\CANSignal.h Sources\CANBus\CANDataLogger.h Sources\CloudLogging\CloudParams.h Sources\CloudLogging\MQTTMessage.h Sources\CloudLogging\MQTTClientWrapper.h Sources\Gui\CCANWatchdogSettingsPage.h Sources\CANBus\CANWatchdogConfig.h Sources\GeneralSystemParams.h Sources\CANBus\CANWatchdog.h Sources\Axiomtek\AxUfiAPI.h Sources\ComputerBoardInterface.h Sources\CPUWatchdogConfig.h Sources\SysLogger.h Sources\InternetMonitor.h Sources\ComputerBoardState.h Sources\DeviceDetectionConfig.h Sources\LANDevicePresenceConfig.h Sources\LANDeviceMonitor.h Sources\LANDevicesPresenceMonitor.h Sources\main.cpp Sources\MainWindow.cpp Sources\PCANInterface.cpp Sources\OtarcikCan.cpp Sources\Gui\GeneralStatusPage.cpp Sources\GeneralMessagesLogDispatcher.cpp Sources\Gui\CANViewerPage.cpp Sources\CANDatabase\CANDatabase.cpp Sources\SystemConfig.cpp Sources\Gui\CANbusSettingsPage.cpp Sources\Gui\LoggingSettingsPage.cpp Sources\CANBus\CANAnalyzer.cpp Sources\CANBus\CANDevice.cpp Sources\CANBus\CANDeviceConfig.cpp Sources\CANBus\CANMessage.cpp Sources\CANBus\CANSignal.cpp Sources\CANBus\CANDataLogger.cpp Sources\CloudLogging\CloudParams.cpp Sources\CloudLogging\MQTTMessage.cpp Sources\CloudLogging\MQTTClientWrapper.cpp Sources\Gui\CCANWatchdogSettingsPage.cpp Sources\CANBus\CANWatchdogConfig.cpp Sources\GeneralSystemParams.cpp Sources\CANBus\CANWatchdog.cpp Sources\ComputerBoardInterface.cpp Sources\CPUWatchdogConfig.cpp Sources\SysLogger.cpp Sources\InternetMonitor.cpp Sources\ComputerBoardState.cpp Sources\DeviceDetectionConfig.cpp Sources\LANDevicePresenceConfig.cpp Sources\LANDeviceMonitor.cpp Sources\LANDevicesPresenceMonitor.cpp Sources\Gui\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.ui Sources\Gui\CCANWatchdogSettingsPage.ui clean: compiler_clean -$(DEL_FILE) debug\main.o debug\MainWindow.o debug\PCANInterface.o debug\OtarcikCan.o debug\GeneralStatusPage.o debug\GeneralMessagesLogDispatcher.o debug\CANViewerPage.o debug\CANDatabase.o debug\SystemConfig.o debug\CANbusSettingsPage.o debug\LoggingSettingsPage.o debug\CANAnalyzer.o debug\CANDevice.o debug\CANDeviceConfig.o debug\CANMessage.o debug\CANSignal.o debug\CANDataLogger.o debug\CloudParams.o debug\MQTTMessage.o debug\MQTTClientWrapper.o debug\CCANWatchdogSettingsPage.o debug\CANWatchdogConfig.o debug\GeneralSystemParams.o debug\CANWatchdog.o debug\ComputerBoardInterface.o debug\CPUWatchdogConfig.o debug\SysLogger.o debug\InternetMonitor.o debug\ComputerBoardState.o debug\DeviceDetectionConfig.o debug\LANDevicePresenceConfig.o debug\LANDeviceMonitor.o debug\LANDevicesPresenceMonitor.o debug\moc_MainWindow.o debug\moc_PCANInterface.o debug\moc_OtarcikCan.o debug\moc_GeneralStatusPage.o debug\moc_CANViewerPage.o debug\moc_CANDatabase.o debug\moc_CANbusSettingsPage.o debug\moc_LoggingSettingsPage.o debug\moc_CANAnalyzer.o debug\moc_CANDevice.o debug\moc_MQTTClientWrapper.o debug\moc_CCANWatchdogSettingsPage.o debug\moc_CANWatchdog.o debug\moc_SysLogger.o debug\moc_InternetMonitor.o debug\moc_LANDeviceMonitor.o debug\moc_LANDevicesPresenceMonitor.o diff --git a/Otarcik_CAN/Makefile.Release b/Otarcik_CAN/Makefile.Release index 32cb31a..dd75a0f 100644 --- a/Otarcik_CAN/Makefile.Release +++ b/Otarcik_CAN/Makefile.Release @@ -13,7 +13,7 @@ EQ = = CC = gcc CXX = g++ -DEFINES = -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN +DEFINES = -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN CFLAGS = -fno-keep-inline-dllexport -O2 -Wall -Wextra -Wextra $(DEFINES) CXXFLAGS = -fno-keep-inline-dllexport -O2 -Wall -Wextra -Wextra -fexceptions -mthreads $(DEFINES) INCPATH = -I. -I. -ISources -ISources\Gui -ISources\PCAN -ISources\KVASER -ISources\CANDatabase -ISources\CANBus -ISources\CloudLogging -ISources\Axiomtek -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtWidgets -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtGui -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtANGLE -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtMqtt -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtNetwork -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore -Irelease -I. -I/include -IC:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++ @@ -232,12 +232,12 @@ release/Otarcik_CAN.exe: C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C: $(LINKER) $(LFLAGS) -o $(DESTDIR_TARGET) @object_script.Otarcik_CAN.Release $(LIBS) qmake: FORCE - @$(QMAKE) -o Makefile.Release Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" + @$(QMAKE) -o Makefile.Release Otarcik_CAN.pro -spec win32-g++ qmake_all: FORCE dist: - $(ZIP) Otarcik_CAN.zip $(SOURCES) $(DIST) Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qdevice.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\device_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\sanitize.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\gcc-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\angle.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows_vulkan_sdk.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-vulkan.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-win32.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-desktop.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qconfig.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_accessibility_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_edid_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_egl_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fb_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickshapes_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_theme_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_vulkan_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++\qmake.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_post.prf ..\..\.qmake.stash C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\toolchain.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resolve_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\build_pass.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qml_debug.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\precompile_header.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\warn_on.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\moc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\opengl.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\uic.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qmake_use.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\file_copies.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\testcase_targets.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exceptions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\yacc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\lex.prf Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Widgets.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Gui.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Mqtt.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Network.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Core.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\qtmain.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\data\dummy.cpp Sources\MainWindow.h Sources\PCANInterface.h Sources\OtarcikCan.h Sources\Gui\GeneralStatusPage.h Sources\GeneralMessagesLogDispatcher.h Sources\defines.h Sources\KVASER\kvaDbLib.h Sources\PCAN\PCANBasic.h Sources\Gui\CANViewerPage.h Sources\CANDatabase\CANDatabase.h Sources\SystemConfig.h Sources\Gui\CANbusSettingsPage.h Sources\Gui\LoggingSettingsPage.h Sources\CANBus\CANAnalyzer.h Sources\CANBus\CANDevice.h Sources\CANBus\CANDeviceConfig.h Sources\CANBus\CANMessage.h Sources\CANBus\CANSignal.h Sources\CANBus\CANDataLogger.h Sources\CloudLogging\CloudParams.h Sources\CloudLogging\MQTTMessage.h Sources\CloudLogging\MQTTClientWrapper.h Sources\Gui\CCANWatchdogSettingsPage.h Sources\CANBus\CANWatchdogConfig.h Sources\GeneralSystemParams.h Sources\CANBus\CANWatchdog.h Sources\Axiomtek\AxUfiAPI.h Sources\ComputerBoardInterface.h Sources\CPUWatchdogConfig.h Sources\SysLogger.h Sources\InternetMonitor.h Sources\ComputerBoardState.h Sources\DeviceDetectionConfig.h Sources\LANDevicePresenceConfig.h Sources\LANDeviceMonitor.h Sources\LANDevicesPresenceMonitor.h Sources\main.cpp Sources\MainWindow.cpp Sources\PCANInterface.cpp Sources\OtarcikCan.cpp Sources\Gui\GeneralStatusPage.cpp Sources\GeneralMessagesLogDispatcher.cpp Sources\Gui\CANViewerPage.cpp Sources\CANDatabase\CANDatabase.cpp Sources\SystemConfig.cpp Sources\Gui\CANbusSettingsPage.cpp Sources\Gui\LoggingSettingsPage.cpp Sources\CANBus\CANAnalyzer.cpp Sources\CANBus\CANDevice.cpp Sources\CANBus\CANDeviceConfig.cpp Sources\CANBus\CANMessage.cpp Sources\CANBus\CANSignal.cpp Sources\CANBus\CANDataLogger.cpp Sources\CloudLogging\CloudParams.cpp Sources\CloudLogging\MQTTMessage.cpp Sources\CloudLogging\MQTTClientWrapper.cpp Sources\Gui\CCANWatchdogSettingsPage.cpp Sources\CANBus\CANWatchdogConfig.cpp Sources\GeneralSystemParams.cpp Sources\CANBus\CANWatchdog.cpp Sources\ComputerBoardInterface.cpp Sources\CPUWatchdogConfig.cpp Sources\SysLogger.cpp Sources\InternetMonitor.cpp Sources\ComputerBoardState.cpp Sources\DeviceDetectionConfig.cpp Sources\LANDevicePresenceConfig.cpp Sources\LANDeviceMonitor.cpp Sources\LANDevicesPresenceMonitor.cpp Sources\Gui\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.ui Sources\Gui\CCANWatchdogSettingsPage.ui + $(ZIP) Otarcik_CAN.zip $(SOURCES) $(DIST) Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qdevice.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\device_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\sanitize.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\gcc-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-base.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\angle.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows_vulkan_sdk.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-vulkan.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\g++-win32.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\common\windows-desktop.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\qconfig.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3danimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dcore_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dlogic_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickinput_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickrender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_3drender_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_accessibility_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axbase_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axcontainer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_axserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bluetooth_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_bootstrap_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_concurrent_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_core_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_dbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designer_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_designercomponents_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_edid_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_egl_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fb_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gamepad_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_gui_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_help_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_httpserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_location_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_mqtt_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimedia_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_network_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_nfc_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_opengl_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_openglextensions_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_packetprotocol_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioning_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_positioningquick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_printsupport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldebug_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmldevtools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlmodels_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmltest_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quick_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickparticles_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickshapes_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_quickwidgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_remoteobjects_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_repparser_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_scxml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sensors_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialbus_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_serialport_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sql_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_sslserver_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_svg_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_testlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_texttospeech_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_theme_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uiplugin.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_uitools_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_vulkan_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_webchannel_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_websockets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_widgets_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_winextras_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xlsx_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xml_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\modules\qt_lib_zlib_private.pri C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++\qmake.conf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\spec_post.prf ..\..\.qmake.stash C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\toolchain.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\default_pre.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resolve_config.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exclusive_builds_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\default_post.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\build_pass.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\precompile_header.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\warn_on.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qt.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\resources.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\moc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\opengl.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\uic.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qmake_use.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\file_copies.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\win32\windows.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\testcase_targets.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\exceptions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\yacc.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\lex.prf Otarcik_CAN.pro C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Widgets.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Gui.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Mqtt.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Network.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\Qt5Core.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\qtmain.prl C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\data\dummy.cpp Sources\MainWindow.h Sources\PCANInterface.h Sources\OtarcikCan.h Sources\Gui\GeneralStatusPage.h Sources\GeneralMessagesLogDispatcher.h Sources\defines.h Sources\KVASER\kvaDbLib.h Sources\PCAN\PCANBasic.h Sources\Gui\CANViewerPage.h Sources\CANDatabase\CANDatabase.h Sources\SystemConfig.h Sources\Gui\CANbusSettingsPage.h Sources\Gui\LoggingSettingsPage.h Sources\CANBus\CANAnalyzer.h Sources\CANBus\CANDevice.h Sources\CANBus\CANDeviceConfig.h Sources\CANBus\CANMessage.h Sources\CANBus\CANSignal.h Sources\CANBus\CANDataLogger.h Sources\CloudLogging\CloudParams.h Sources\CloudLogging\MQTTMessage.h Sources\CloudLogging\MQTTClientWrapper.h Sources\Gui\CCANWatchdogSettingsPage.h Sources\CANBus\CANWatchdogConfig.h Sources\GeneralSystemParams.h Sources\CANBus\CANWatchdog.h Sources\Axiomtek\AxUfiAPI.h Sources\ComputerBoardInterface.h Sources\CPUWatchdogConfig.h Sources\SysLogger.h Sources\InternetMonitor.h Sources\ComputerBoardState.h Sources\DeviceDetectionConfig.h Sources\LANDevicePresenceConfig.h Sources\LANDeviceMonitor.h Sources\LANDevicesPresenceMonitor.h Sources\main.cpp Sources\MainWindow.cpp Sources\PCANInterface.cpp Sources\OtarcikCan.cpp Sources\Gui\GeneralStatusPage.cpp Sources\GeneralMessagesLogDispatcher.cpp Sources\Gui\CANViewerPage.cpp Sources\CANDatabase\CANDatabase.cpp Sources\SystemConfig.cpp Sources\Gui\CANbusSettingsPage.cpp Sources\Gui\LoggingSettingsPage.cpp Sources\CANBus\CANAnalyzer.cpp Sources\CANBus\CANDevice.cpp Sources\CANBus\CANDeviceConfig.cpp Sources\CANBus\CANMessage.cpp Sources\CANBus\CANSignal.cpp Sources\CANBus\CANDataLogger.cpp Sources\CloudLogging\CloudParams.cpp Sources\CloudLogging\MQTTMessage.cpp Sources\CloudLogging\MQTTClientWrapper.cpp Sources\Gui\CCANWatchdogSettingsPage.cpp Sources\CANBus\CANWatchdogConfig.cpp Sources\GeneralSystemParams.cpp Sources\CANBus\CANWatchdog.cpp Sources\ComputerBoardInterface.cpp Sources\CPUWatchdogConfig.cpp Sources\SysLogger.cpp Sources\InternetMonitor.cpp Sources\ComputerBoardState.cpp Sources\DeviceDetectionConfig.cpp Sources\LANDevicePresenceConfig.cpp Sources\LANDeviceMonitor.cpp Sources\LANDevicesPresenceMonitor.cpp Sources\Gui\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.ui Sources\Gui\CCANWatchdogSettingsPage.ui clean: compiler_clean -$(DEL_FILE) release\main.o release\MainWindow.o release\PCANInterface.o release\OtarcikCan.o release\GeneralStatusPage.o release\GeneralMessagesLogDispatcher.o release\CANViewerPage.o release\CANDatabase.o release\SystemConfig.o release\CANbusSettingsPage.o release\LoggingSettingsPage.o release\CANAnalyzer.o release\CANDevice.o release\CANDeviceConfig.o release\CANMessage.o release\CANSignal.o release\CANDataLogger.o release\CloudParams.o release\MQTTMessage.o release\MQTTClientWrapper.o release\CCANWatchdogSettingsPage.o release\CANWatchdogConfig.o release\GeneralSystemParams.o release\CANWatchdog.o release\ComputerBoardInterface.o release\CPUWatchdogConfig.o release\SysLogger.o release\InternetMonitor.o release\ComputerBoardState.o release\DeviceDetectionConfig.o release\LANDevicePresenceConfig.o release\LANDeviceMonitor.o release\LANDevicesPresenceMonitor.o release\moc_MainWindow.o release\moc_PCANInterface.o release\moc_OtarcikCan.o release\moc_GeneralStatusPage.o release\moc_CANViewerPage.o release\moc_CANDatabase.o release\moc_CANbusSettingsPage.o release\moc_LoggingSettingsPage.o release\moc_CANAnalyzer.o release\moc_CANDevice.o release\moc_MQTTClientWrapper.o release\moc_CCANWatchdogSettingsPage.o release\moc_CANWatchdog.o release\moc_SysLogger.o release\moc_InternetMonitor.o release\moc_LANDeviceMonitor.o release\moc_LANDevicesPresenceMonitor.o diff --git a/Otarcik_CAN/Sources/CloudLogging/CloudParams.cpp b/Otarcik_CAN/Sources/CloudLogging/CloudParams.cpp index 115a020..cd97878 100644 --- a/Otarcik_CAN/Sources/CloudLogging/CloudParams.cpp +++ b/Otarcik_CAN/Sources/CloudLogging/CloudParams.cpp @@ -8,8 +8,10 @@ CCloudParams::CCloudParams() mMQTTBrokerPort = 0; mMQTTBrokerUserName.clear(); mMQTTTopicPrefix.clear(); - mMQTTTransmitTimeout = 0; + mMQTTTransmitTimeout = 10000; mMQTTClientID.clear(); + mMQTTBrokerActive = true; + mMQTTEnableDataLogging = true; } CCloudParams::CCloudParams(CCloudParams &Other) @@ -26,7 +28,9 @@ QDataStream &operator>>(QDataStream &in, CCloudParams &dest) >> dest.mMQTTBrokerUserName >> dest.mMQTTTopicPrefix >> dest.mMQTTTransmitTimeout - >> dest.mMQTTClientID; + >> dest.mMQTTClientID + >> dest.mMQTTBrokerActive + >> dest.mMQTTEnableDataLogging; return in; } @@ -38,7 +42,9 @@ QDataStream &operator<<(QDataStream &out, const CCloudParams &source) << source.mMQTTBrokerUserName << source.mMQTTTopicPrefix << source.mMQTTTransmitTimeout - << source.mMQTTClientID; + << source.mMQTTClientID + << source.mMQTTBrokerActive + << source.mMQTTEnableDataLogging; return out; } @@ -56,6 +62,8 @@ CCloudParams& CCloudParams::operator=(const CCloudParams &source) this->mMQTTTopicPrefix = source.mMQTTTopicPrefix; this->mMQTTTransmitTimeout = source.mMQTTTransmitTimeout; this->mMQTTClientID = source.mMQTTClientID; + this->mMQTTBrokerActive = source.mMQTTBrokerActive; + this->mMQTTEnableDataLogging = source.mMQTTEnableDataLogging; return *this; } diff --git a/Otarcik_CAN/Sources/CloudLogging/CloudParams.h b/Otarcik_CAN/Sources/CloudLogging/CloudParams.h index 998864e..cc51f85 100644 --- a/Otarcik_CAN/Sources/CloudLogging/CloudParams.h +++ b/Otarcik_CAN/Sources/CloudLogging/CloudParams.h @@ -15,6 +15,8 @@ public: quint32 mMQTTBrokerPort; quint32 mMQTTTransmitTimeout; QString mMQTTClientID; + bool mMQTTBrokerActive; + bool mMQTTEnableDataLogging; CCloudParams &operator=(const CCloudParams &source); }; diff --git a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp index f4af3de..183b779 100644 --- a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp +++ b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp @@ -73,7 +73,7 @@ int CMQTTClientWrapper::SetMQTTServerPresenceCANBit(quint64 CANBit) int CMQTTClientWrapper::StartMQTTClient() { - mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout); + // mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout); mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; ConnectToBroker(); mCircularBufferStatusText = QString("0/%1 messages (0\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE); @@ -193,7 +193,7 @@ void CMQTTClientWrapper::StateChanged() #ifdef MQTT_USE_TIMER_TO_FLUSH_QUEUE mMQTTQueueFlushTimer->stop(); #endif - if(mDisconnectionIsVoluntary == false) + if(mDisconnectionIsVoluntary == false && mMQTTParams.mMQTTEnableDataLogging == true) { mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; //We're disconnected, queue all the messages. CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Passage en mode buffering des messages MQTT pour %1").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1); @@ -255,26 +255,26 @@ int CMQTTClientWrapper::SetCANDevicesList(QList *List) return RET_OK; } -void CMQTTClientWrapper::MQTTSendTimerExpired() +int CMQTTClientWrapper::SendMQTTMessages(QList *MessagesList) { if(mMessagesQueueMode == MQTT_DROP_MSG_MODE) { - return; + return RET_OK; } if(mCANDevicesList == 0) { - return; + return RET_GENERAL_ERROR; } //Send the CANbus devices messsages - for(int j = 0; j < mCANDevicesList->size(); j++) + // for(int j = 0; j < mCANDevicesList->size(); j++) { switch(mMessagesQueueMode) { case MQTT_TRANSMIT_MSG_MODE: { - CCANDevice *Device = mCANDevicesList->at(j); - QList *MessagesList = Device->GetMQTTMessagesList(); + // CCANDevice *Device = mCANDevicesList->at(j); + // QList *MessagesList = Device->GetMQTTMessagesList(); #ifdef ENABLE_CHIPSET_DRIVER if(mCPUInterface != 0) { @@ -287,7 +287,7 @@ void CMQTTClientWrapper::MQTTSendTimerExpired() for(int i = 0; i < MessagesList->size(); i++) { qint32 res = mMQTTClient.publish(MessagesList->at(i).mMessageTopic,MessagesList->at(i).mMessagePayload.toLocal8Bit(),1,true); - QString LogMsg = QString("Envoi d'un message MQTT. Topic: %1 Payload: %2 Result: %3").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload).arg(res); + QString LogMsg = QString("%4 : Envoi d'un message MQTT. Topic: %1 Payload: %2 Result: %3").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload).arg(res).arg(mMQTTParams.mMQTTBrokerHostName); CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3); } @@ -297,8 +297,8 @@ void CMQTTClientWrapper::MQTTSendTimerExpired() } case MQTT_QUEUE_MSG_MODE: { - CCANDevice *Device = mCANDevicesList->at(j); - QList *MessagesList = Device->GetMQTTMessagesList(); + // CCANDevice *Device = mCANDevicesList->at(j); + // QList *MessagesList = Device->GetMQTTMessagesList(); #ifdef ENABLE_CHIPSET_DRIVER if(mCPUInterface != 0) { @@ -332,7 +332,88 @@ void CMQTTClientWrapper::MQTTSendTimerExpired() } } - mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout); + // mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout); + return RET_OK; +} + +void CMQTTClientWrapper::MQTTSendTimerExpired() +{ +// if(mMessagesQueueMode == MQTT_DROP_MSG_MODE) +// { +// return; +// } +// if(mCANDevicesList == 0) +// { +// return; +// } + +// //Send the CANbus devices messsages +// for(int j = 0; j < mCANDevicesList->size(); j++) +// { +// switch(mMessagesQueueMode) +// { +// case MQTT_TRANSMIT_MSG_MODE: +// { +// CCANDevice *Device = mCANDevicesList->at(j); +// QList *MessagesList = Device->GetMQTTMessagesList(); +//#ifdef ENABLE_CHIPSET_DRIVER +// if(mCPUInterface != 0) +// { +// MessagesList->append(GetSystemStatusMessage()); +// } +//#endif + +// if(MessagesList != 0) +// { +// for(int i = 0; i < MessagesList->size(); i++) +// { +// qint32 res = mMQTTClient.publish(MessagesList->at(i).mMessageTopic,MessagesList->at(i).mMessagePayload.toLocal8Bit(),1,true); +// QString LogMsg = QString("Envoi d'un message MQTT. Topic: %1 Payload: %2 Result: %3").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload).arg(res); +// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3); + +// } +// // qDebug("Sent %d MQTT messages",MessagesList->size()); +// } +// break; +// } +// case MQTT_QUEUE_MSG_MODE: +// { +// CCANDevice *Device = mCANDevicesList->at(j); +// QList *MessagesList = Device->GetMQTTMessagesList(); +//#ifdef ENABLE_CHIPSET_DRIVER +// if(mCPUInterface != 0) +// { +// MessagesList->append(GetSystemStatusMessage()); +// } +//#endif + +// if(MessagesList != 0) +// { +// for(int i = 0; i < MessagesList->size(); i++) +// { +// CMQTTMessage *NewMsg = new CMQTTMessage(MessagesList->at(i).mMessageTopic,MessagesList->at(i).mMessagePayload); +// if(mMQTTMessagesQueue.size() >= MQTT_CLIENT_MSG_QUEUE_SIZE) +// { +// delete mMQTTMessagesQueue.takeFirst(); +// CGeneralMessagesLogDispatcher::instance()->AddLogMessage("FIFO pleine, retrait du premier message.","CMQTTClientWrapper",true,3); +// } +// mMQTTMessagesQueue.append(NewMsg); +// QString LogMsg = QString("Ajout d'un message MQTT à la FIFO. Topic: %1 Payload: %2 FIFO size: %3").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload).arg(mMQTTMessagesQueue.size()); +// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3); + +// mCircularBufferStatusText = QString("%2/%1 messages (0%3\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE).arg(mMQTTMessagesQueue.size()).arg((mMQTTMessagesQueue.size()/MQTT_CLIENT_MSG_QUEUE_SIZE)*100); +// UpdateGUIBufferingStatus(); + +// } +// } +// break; +// } +// case MQTT_DROP_MSG_MODE://Just to please the compiler. +// break; +// } +// } + +// mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout); } @@ -344,6 +425,7 @@ void CMQTTClientWrapper::MQTTReconnectTimerExpired() return; } + DisconnectFromBroker(); CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Tentative de connexion au serveur MQTT...","CMQTTClientWrapper",true,1); ConnectToBroker(); } diff --git a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h index 6c33bc7..56bd9e8 100644 --- a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h +++ b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h @@ -43,6 +43,7 @@ public: quint64 GetMQTTServerPresenceCANMask(); bool IsMQTTClientConnected(); QString GetMQTTClientConnectionState(); + int SendMQTTMessages(QList *MessagesList); #ifdef ENABLE_DEVELOPMENT_DEBUG_TOOLS int ForceMQTTClientDisconnection(bool Disconnect); diff --git a/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.cpp b/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.cpp index 288c2ad..4ea12a0 100644 --- a/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.cpp +++ b/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.cpp @@ -18,6 +18,8 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) : ui->mCloudMQTTTopicPrefixEdit->setEnabled(false); ui->mCloudMQTTUserNameEdit->setEnabled(false); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); + ui->mCloudMQTTActivateBrokerChkBx->setEnabled(false); + ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); ui->mDevicePresCancelBtn->hide(); @@ -199,6 +201,8 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed() ui->mCloudMQTTRefreshRateSpinBx->setEnabled(true); ui->mCloudMQTTClientID->setEnabled(true); ui->mChangeParamsBtn->setText("Appliquer"); + ui->mCloudMQTTActivateBufferingChkBx->setEnabled(true); + ui->mCloudMQTTActivateBrokerChkBx->setEnabled(true); ui->mMQTTBrokersList->setEnabled(false); } else @@ -213,6 +217,8 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed() ui->mCloudMQTTUserNameEdit->setEnabled(false); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); + ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); + ui->mCloudMQTTActivateBrokerChkBx->setEnabled(false); ui->mMQTTBrokersList->setEnabled(true); @@ -242,8 +248,15 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed() BrokerParams->mMQTTBrokerUserName = ui->mCloudMQTTUserNameEdit->text(); BrokerParams->mMQTTTransmitTimeout = (quint32)ui->mCloudMQTTRefreshRateSpinBx->value(); BrokerParams->mMQTTClientID = ui->mCloudMQTTClientID->text(); + BrokerParams->mMQTTBrokerActive = ui->mCloudMQTTActivateBrokerChkBx->isChecked(); + BrokerParams->mMQTTEnableDataLogging = ui->mCloudMQTTActivateBufferingChkBx->isChecked(); ui->mMQTTBrokersList->item(index)->setText(BrokerParams->mMQTTBrokerHostName); + for(int i = 0; i < mCloudParams.size(); i++) + { + mCloudParams.at(i)->mMQTTTransmitTimeout = ui->mCloudMQTTRefreshRateSpinBx->value(); + } + mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams); @@ -254,6 +267,7 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed() void CLoggingSettingsPage::CancelBtnPressed() { EditMode = false; + ui->mChangeParamsBtn->setText("Modifier"); ui->mCancelBtn->hide(); ui->mCloudMQTTHostNameEdit->setEnabled(false); ui->mCloudMQTTPasswordEdit->setEnabled(false); @@ -263,6 +277,8 @@ void CLoggingSettingsPage::CancelBtnPressed() ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); ui->mMQTTBrokersList->setEnabled(true); + ui->mCloudMQTTActivateBrokerChkBx->setEnabled(false); + ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); UpdateCloudConfig(); } @@ -283,6 +299,8 @@ int CLoggingSettingsPage::UpdateCloudConfig() ui->mCloudMQTTUserNameEdit->setText(BrokerParams->mMQTTBrokerUserName); ui->mCloudMQTTRefreshRateSpinBx->setValue(BrokerParams->mMQTTTransmitTimeout); ui->mCloudMQTTClientID->setText(BrokerParams->mMQTTClientID); + ui->mCloudMQTTActivateBrokerChkBx->setChecked(BrokerParams->mMQTTBrokerActive); + ui->mCloudMQTTActivateBufferingChkBx->setChecked(BrokerParams->mMQTTEnableDataLogging); return RET_OK; } @@ -671,6 +689,7 @@ void CLoggingSettingsPage::DeleteMQTTBrokerBtnPressed() else { ui->mMQTTBrokersList->setCurrentRow(0); + mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams); } } diff --git a/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.ui b/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.ui index 464f509..23c901b 100644 --- a/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.ui +++ b/Otarcik_CAN/Sources/Gui/LoggingSettingsPage.ui @@ -37,7 +37,7 @@ 220 100 351 - 271 + 261 @@ -235,44 +235,30 @@ - + - 10 - 220 - 181 + 180 + 230 + 101 20 - - - 10 - - - Taux de rafraichissement (ms): - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Activer buffering - + - 200 - 220 + 50 + 230 101 - 22 + 20 - - 1000 - - - 500000 - - - 1 + + Broker actif @@ -297,8 +283,8 @@ - 430 - 380 + 410 + 370 80 22 @@ -310,8 +296,8 @@ - 320 - 380 + 300 + 370 80 22 @@ -1104,6 +1090,46 @@ et l'heure Ajouter + + + + 20 + 60 + 181 + 20 + + + + + 10 + + + + Taux de rafraichissement (ms): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 210 + 60 + 101 + 22 + + + + 1000 + + + 500000 + + + 1 + + diff --git a/Otarcik_CAN/Sources/OtarcikCan.cpp b/Otarcik_CAN/Sources/OtarcikCan.cpp index 7146d4c..aacdc82 100644 --- a/Otarcik_CAN/Sources/OtarcikCan.cpp +++ b/Otarcik_CAN/Sources/OtarcikCan.cpp @@ -28,6 +28,11 @@ COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent) connect(mWatchdogTimer,&QTimer::timeout,this,&COtarcikCan::WatchdogUpdateTimerExpired); mWatchdogTimer->setSingleShot(false); mWatchdogTimer->setInterval(1000); + + mMQTTDataTransmitTimer = new QTimer; + connect(mMQTTDataTransmitTimer,&QTimer::timeout,this,&COtarcikCan::MQTTDataTransmitTimerExpired); + mMQTTDataTransmitTimer->setInterval(10000); + mMQTTDataTransmitTimer->setSingleShot(false); } COtarcikCan::~COtarcikCan() @@ -93,19 +98,20 @@ int COtarcikCan::Start() mMainWindow.mDataLoggingSettingsPage->SetCloudParams(mCloudLoggingParamsList); for(int i = 0; i < mCloudLoggingParamsList->size(); i++) { - CMQTTClientWrapper *NewMQTTWrapper = new CMQTTClientWrapper; - NewMQTTWrapper->mProgramPtr = this; - NewMQTTWrapper->SetMQTTParams(mCloudLoggingParamsList->at(i)); - NewMQTTWrapper->SetCANDevicesList(&mCANDevicesList); + if(mCloudLoggingParamsList->at(i)->mMQTTBrokerActive == true) + { + CMQTTClientWrapper *NewMQTTWrapper = new CMQTTClientWrapper; + NewMQTTWrapper->mProgramPtr = this; + NewMQTTWrapper->SetMQTTParams(mCloudLoggingParamsList->at(i)); + NewMQTTWrapper->SetCANDevicesList(&mCANDevicesList); #ifdef ENABLE_CHIPSET_DRIVER - NewMQTTWrapper->SetCPUInterface(&mCPUInterface); + NewMQTTWrapper->SetCPUInterface(&mCPUInterface); #endif - NewMQTTWrapper->SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit); - mCANBusMQTTClientList.append(NewMQTTWrapper); + NewMQTTWrapper->SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit); + mCANBusMQTTClientList.append(NewMQTTWrapper); + } } -// mCANBusMQTTClient.SetMQTTParams(mCloudLoggingParamsList->at(0)); //TODO: Fix that -// mCANBusMQTTClient.SetCANDevicesList(&mCANDevicesList); - + mMQTTDataTransmitTimer->setInterval(mCloudLoggingParamsList->at(0)->mMQTTTransmitTimeout); //Use the first mGeneralSystemParams = *mSystemConfig.GetGeneralSystemSettings(); mMainWindow.mDataLoggingSettingsPage->SetGeneralSettingsParams(&mGeneralSystemParams); @@ -156,12 +162,11 @@ int COtarcikCan::Start() CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"),"CPCANInterface"); -// mCANBusMQTTClient.ConnectToBroker(); - //mCANBusMQTTClient.StartMQTTClient(); for(int i = 0; i < mCANBusMQTTClientList.size(); i++) { mCANBusMQTTClientList.at(i)->StartMQTTClient(); } + mMQTTDataTransmitTimer->start(); mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList); connect(&mInternetMonitor,&CInternetMonitor::InternetStateChanged,mMainWindow.mGeneralStatusPage,&CGeneralStatusPage::InternetStatusChanged); @@ -256,17 +261,20 @@ int COtarcikCan::SaveCloudLoggingConfigRequest(QList *CloudParam } for(int i = 0; i < CloudParams->size(); i++) { - CMQTTClientWrapper *NewMQTTWrapper = new CMQTTClientWrapper; - NewMQTTWrapper->mProgramPtr = this; - NewMQTTWrapper->SetMQTTParams(CloudParams->at(i)); - NewMQTTWrapper->SetCANDevicesList(&mCANDevicesList); + if(mCloudLoggingParamsList->at(i)->mMQTTBrokerActive == true) + { + CMQTTClientWrapper *NewMQTTWrapper = new CMQTTClientWrapper; + NewMQTTWrapper->mProgramPtr = this; + NewMQTTWrapper->SetMQTTParams(CloudParams->at(i)); + NewMQTTWrapper->SetCANDevicesList(&mCANDevicesList); #ifdef ENABLE_CHIPSET_DRIVER - NewMQTTWrapper->SetCPUInterface(&mCPUInterface); + NewMQTTWrapper->SetCPUInterface(&mCPUInterface); #endif - NewMQTTWrapper->SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit); - mCANBusMQTTClientList.append(NewMQTTWrapper); + NewMQTTWrapper->SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit); + mCANBusMQTTClientList.append(NewMQTTWrapper); - NewMQTTWrapper->StartMQTTClient(); + NewMQTTWrapper->StartMQTTClient(); + } } mSystemConfig.mDeviceDetectionParams.SetCANPresenceMonitors(mCANBusMQTTClientList.at(0),&mLANDevicesPresenceMonitor,&mInternetMonitor); //mCANBusMQTTClient.SetMQTTParams(mCloudLoggingParamsList->at(0)); //TODO: Fix @@ -383,6 +391,19 @@ int COtarcikCan::SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogC return mSystemConfig.SaveConfig(); } +void COtarcikCan::MQTTDataTransmitTimerExpired() +{ + QList *MQTTMsgList; + for(int i = 0; i< mCANDevicesList.size(); i++) + { + MQTTMsgList = mCANDevicesList.at(i)->GetMQTTMessagesList(); + for(int i = 0; i < mCANBusMQTTClientList.size(); i++) + { + mCANBusMQTTClientList.at(i)->SendMQTTMessages(MQTTMsgList); + } + } +} + void COtarcikCan::WatchdogUpdateTimerExpired() //Time to kick the CPU watchdog { #ifdef ENABLE_CHIPSET_DRIVER diff --git a/Otarcik_CAN/Sources/OtarcikCan.h b/Otarcik_CAN/Sources/OtarcikCan.h index 8088c24..0f1a631 100644 --- a/Otarcik_CAN/Sources/OtarcikCan.h +++ b/Otarcik_CAN/Sources/OtarcikCan.h @@ -28,6 +28,7 @@ public: /// CMQTTClientWrapper mCANBusMQTTClient; QList mCANBusMQTTClientList; QTimer *mGPTimer; + QTimer *mMQTTDataTransmitTimer; #ifdef ENABLE_CHIPSET_DRIVER CComputerBoardInterface mCPUInterface; #endif @@ -77,6 +78,7 @@ signals: public slots: void GPTimerExpired(); void WatchdogUpdateTimerExpired(); + void MQTTDataTransmitTimerExpired(); }; #endif // OTARCIKCAN_H diff --git a/Otarcik_CAN/Sources/defines.h b/Otarcik_CAN/Sources/defines.h index 8e9dcb6..a4f8ba5 100644 --- a/Otarcik_CAN/Sources/defines.h +++ b/Otarcik_CAN/Sources/defines.h @@ -2,12 +2,12 @@ #define DEFINES_H -#define SOFTWARE_VERSION "1.07-DBG" +#define SOFTWARE_VERSION "1.08" #define GENERAL_MESSAGES_MAX_LOG_LINES 5000 //The number of lines of general status log we keep in the general status window (avoids fucking up because you know.... RAM) #define GENERAL_MESSAGES_SEND_TO_STDOUT //Comment this line to avoid printing log messages using qDebug. -#define MQTT_CLIENT_RECONNECT_TIMEOUT 5000 //Time in ms between reconnect attemps to MQTT broker when connection is lost +#define MQTT_CLIENT_RECONNECT_TIMEOUT 10000 //Time in ms between reconnect attemps to MQTT broker when connection is lost #define MQTT_CLIENT_MSG_QUEUE_FLUSH_TIMEOUT 50 //The delay in ms between the TX messages when flushing the msg queue after a server reconnection #define MQTT_CLIENT_MSG_QUEUE_SIZE 5000 //The maximum number of messages to be queued. Older messages are lost when adding a new one in a full queue #define MQTT_TIMESTAMP_IN_PAYLOAD //Defining this adds the local timestamp to each MQTT payloads. diff --git a/Otarcik_CAN/debug/Otarcik_CAN.exe b/Otarcik_CAN/debug/Otarcik_CAN.exe index 070bc995f3858cb36f1d91481b9444f5459fd92e..ac4c46d86647059fea0f34e21a0d8775f2730c96 100644 GIT binary patch delta 6035 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 b_|ZH(CW9agSu$C&SQe3Tc+6tD+xhmSeTf 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 QB$r7ZNrxsbrJH^K3oz;Sga7~l diff --git a/Otarcik_CAN/debug/moc_predefs.h b/Otarcik_CAN/debug/moc_predefs.h deleted file mode 100644 index 707f358..0000000 --- a/Otarcik_CAN/debug/moc_predefs.h +++ /dev/null @@ -1,402 +0,0 @@ -#define __DBL_MIN_EXP__ (-1021) -#define __FLT32X_MAX_EXP__ 1024 -#define __cpp_attributes 200809 -#define __UINT_LEAST16_MAX__ 0xffff -#define __ATOMIC_ACQUIRE 2 -#define __FLT128_MAX_10_EXP__ 4932 -#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F -#define __GCC_IEC_559_COMPLEX 2 -#define __cpp_aggregate_nsdmi 201304 -#define __UINT_LEAST8_TYPE__ unsigned char -#define __SIZEOF_FLOAT80__ 16 -#define _WIN32 1 -#define __INTMAX_C(c) c ## LL -#define __CHAR_BIT__ 8 -#define __UINT8_MAX__ 0xff -#define _WIN64 1 -#define __WINT_MAX__ 0xffff -#define __FLT32_MIN_EXP__ (-125) -#define __cpp_static_assert 200410 -#define __ORDER_LITTLE_ENDIAN__ 1234 -#define __SIZE_MAX__ 0xffffffffffffffffULL -#define __WCHAR_MAX__ 0xffff -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#define __GCC_IEC_559 2 -#define __FLT32X_DECIMAL_DIG__ 17 -#define __FLT_EVAL_METHOD__ 0 -#define __cpp_binary_literals 201304 -#define __FLT64_DECIMAL_DIG__ 17 -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#define __x86_64 1 -#define __cpp_variadic_templates 200704 -#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL -#define __SIG_ATOMIC_TYPE__ int -#define __DBL_MIN_10_EXP__ (-307) -#define __FINITE_MATH_ONLY__ 0 -#define __cpp_variable_templates 201304 -#define __GNUC_PATCHLEVEL__ 0 -#define __FLT32_HAS_DENORM__ 1 -#define __UINT_FAST8_MAX__ 0xff -#define __has_include(STR) __has_include__(STR) -#define _stdcall __attribute__((__stdcall__)) -#define __DEC64_MAX_EXP__ 385 -#define __INT8_C(c) c -#define __INT_LEAST8_WIDTH__ 8 -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL -#define __SHRT_MAX__ 0x7fff -#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L -#define __FLT64X_MAX_10_EXP__ 4932 -#define __UINT_LEAST8_MAX__ 0xff -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 -#define __UINTMAX_TYPE__ long long unsigned int -#define __DEC32_EPSILON__ 1E-6DF -#define __FLT_EVAL_METHOD_TS_18661_3__ 0 -#define __UINT32_MAX__ 0xffffffffU -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#define __LDBL_MAX_EXP__ 16384 -#define __FLT128_MIN_EXP__ (-16381) -#define __WINT_MIN__ 0 -#define __FLT128_MIN_10_EXP__ (-4931) -#define __INT_LEAST16_WIDTH__ 16 -#define __SCHAR_MAX__ 0x7f -#define __FLT128_MANT_DIG__ 113 -#define __WCHAR_MIN__ 0 -#define __INT64_C(c) c ## LL -#define __DBL_DIG__ 15 -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#define __FLT64X_MANT_DIG__ 64 -#define __SIZEOF_INT__ 4 -#define __SIZEOF_POINTER__ 8 -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#define __USER_LABEL_PREFIX__ -#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x -#define __STDC_HOSTED__ 1 -#define __WIN32 1 -#define __LDBL_HAS_INFINITY__ 1 -#define __WIN64 1 -#define __FLT32_DIG__ 6 -#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F -#define __GXX_WEAK__ 1 -#define __SHRT_WIDTH__ 16 -#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L -#define __DEC32_MAX__ 9.999999E96DF -#define __cpp_threadsafe_static_init 200806 -#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x -#define __MINGW32__ 1 -#define __FLT32X_HAS_INFINITY__ 1 -#define __INT32_MAX__ 0x7fffffff -#define __INT_WIDTH__ 32 -#define __SIZEOF_LONG__ 4 -#define __UINT16_C(c) c -#define __PTRDIFF_WIDTH__ 64 -#define __DECIMAL_DIG__ 21 -#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 -#define __INTMAX_WIDTH__ 64 -#define __FLT64_MIN_EXP__ (-1021) -#define __has_include_next(STR) __has_include_next__(STR) -#define __FLT64X_MIN_10_EXP__ (-4931) -#define __LDBL_HAS_QUIET_NAN__ 1 -#define __FLT64_MANT_DIG__ 53 -#define _REENTRANT 1 -#define __GNUC__ 7 -#define _cdecl __attribute__((__cdecl__)) -#define __GXX_RTTI 1 -#define __MMX__ 1 -#define __cpp_delegating_constructors 200604 -#define __FLT_HAS_DENORM__ 1 -#define __SIZEOF_LONG_DOUBLE__ 16 -#define __BIGGEST_ALIGNMENT__ 16 -#define __STDC_UTF_16__ 1 -#define __FLT64_MAX_10_EXP__ 308 -#define __FLT32_HAS_INFINITY__ 1 -#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) -#define _thiscall __attribute__((__thiscall__)) -#define __cpp_raw_strings 200710 -#define __INT_FAST32_MAX__ 0x7fffffff -#define __WINNT 1 -#define __DBL_HAS_INFINITY__ 1 -#define __INT64_MAX__ 0x7fffffffffffffffLL -#define __WINNT__ 1 -#define __DEC32_MIN_EXP__ (-94) -#define __INTPTR_WIDTH__ 64 -#define __FLT32X_HAS_DENORM__ 1 -#define __INT_FAST16_TYPE__ short int -#define _fastcall __attribute__((__fastcall__)) -#define __LDBL_HAS_DENORM__ 1 -#define __cplusplus 201402L -#define __cpp_ref_qualifiers 200710 -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#define __INT_LEAST32_MAX__ 0x7fffffff -#define __DEC32_MIN__ 1E-95DF -#define __DEPRECATED 1 -#define __cpp_rvalue_references 200610 -#define __DBL_MAX_EXP__ 1024 -#define __WCHAR_WIDTH__ 16 -#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 -#define __DEC128_EPSILON__ 1E-33DL -#define __SSE2_MATH__ 1 -#define __ATOMIC_HLE_RELEASE 131072 -#define __WIN32__ 1 -#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL -#define __amd64 1 -#define __tune_core2__ 1 -#define __ATOMIC_HLE_ACQUIRE 65536 -#define __FLT32_HAS_QUIET_NAN__ 1 -#define __GNUG__ 7 -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#define __SIZEOF_SIZE_T__ 8 -#define __cpp_rvalue_reference 200610 -#define __cpp_nsdmi 200809 -#define __FLT64X_MIN_EXP__ (-16381) -#define __SIZEOF_WINT_T__ 2 -#define __LONG_LONG_WIDTH__ 64 -#define __cpp_initializer_lists 200806 -#define __FLT32_MAX_EXP__ 128 -#define __cpp_hex_float 201603 -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#define __GXX_ABI_VERSION 1011 -#define __FLT128_HAS_INFINITY__ 1 -#define __FLT_MIN_EXP__ (-125) -#define __cpp_lambdas 200907 -#define __FLT64X_HAS_QUIET_NAN__ 1 -#define __INT_FAST64_TYPE__ long long int -#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 -#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) -#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x -#define __DECIMAL_BID_FORMAT__ 1 -#define __GXX_TYPEINFO_EQUALITY_INLINE 0 -#define __FLT64_MIN_10_EXP__ (-307) -#define __FLT64X_DECIMAL_DIG__ 21 -#define __DEC128_MIN__ 1E-6143DL -#define __REGISTER_PREFIX__ -#define __UINT16_MAX__ 0xffff -#define __DBL_HAS_DENORM__ 1 -#define __cdecl __attribute__((__cdecl__)) -#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 -#define __UINT8_TYPE__ unsigned char -#define __NO_INLINE__ 1 -#define __FLT_MANT_DIG__ 24 -#define __LDBL_DECIMAL_DIG__ 21 -#define __VERSION__ "7.3.0" -#define __UINT64_C(c) c ## ULL -#define __cpp_unicode_characters 200704 -#define __cpp_decltype_auto 201304 -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#define __FLT128_MAX_EXP__ 16384 -#define __FLT32_MANT_DIG__ 24 -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#define __FLT128_HAS_DENORM__ 1 -#define __FLT128_DIG__ 33 -#define __SCHAR_WIDTH__ 8 -#define __INT32_C(c) c -#define __DEC64_EPSILON__ 1E-15DD -#define __ORDER_PDP_ENDIAN__ 3412 -#define __DEC128_MIN_EXP__ (-6142) -#define __FLT32_MAX_10_EXP__ 38 -#define __INT_FAST32_TYPE__ int -#define __UINT_LEAST16_TYPE__ short unsigned int -#define __FLT64X_HAS_INFINITY__ 1 -#define __INT16_MAX__ 0x7fff -#define __cpp_rtti 199711 -#define __SIZE_TYPE__ long long unsigned int -#define __UINT64_MAX__ 0xffffffffffffffffULL -#define __FLT64X_DIG__ 18 -#define __INT8_TYPE__ signed char -#define __cpp_digit_separators 201309 -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#define __FLT_RADIX__ 2 -#define __INT_LEAST16_TYPE__ short int -#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L -#define __UINTMAX_C(c) c ## ULL -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#define __SEH__ 1 -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#define __cpp_sized_deallocation 201309 -#define __SIZEOF_PTRDIFF_T__ 8 -#define __FLT32X_MANT_DIG__ 53 -#define __x86_64__ 1 -#define __FLT32X_MIN_EXP__ (-1021) -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#define __MSVCRT__ 1 -#define __INT_FAST16_MAX__ 0x7fff -#define __FLT64_DIG__ 15 -#define __UINT_FAST32_MAX__ 0xffffffffU -#define __UINT_LEAST64_TYPE__ long long unsigned int -#define __FLT_HAS_QUIET_NAN__ 1 -#define __FLT_MAX_10_EXP__ 38 -#define __LONG_MAX__ 0x7fffffffL -#define __FLT64X_HAS_DENORM__ 1 -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#define __FLT_HAS_INFINITY__ 1 -#define __cpp_unicode_literals 200710 -#define __UINT_FAST16_TYPE__ short unsigned int -#define __DEC64_MAX__ 9.999999999999999E384DD -#define __INT_FAST32_WIDTH__ 32 -#define __CHAR16_TYPE__ short unsigned int -#define __PRAGMA_REDEFINE_EXTNAME 1 -#define __SIZE_WIDTH__ 64 -#define __SEG_FS 1 -#define __INT_LEAST16_MAX__ 0x7fff -#define __DEC64_MANT_DIG__ 16 -#define __UINT_LEAST32_MAX__ 0xffffffffU -#define __SEG_GS 1 -#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#define __SIG_ATOMIC_WIDTH__ 32 -#define __INT_LEAST64_TYPE__ long long int -#define __INT16_TYPE__ short int -#define __INT_LEAST8_TYPE__ signed char -#define __DEC32_MAX_EXP__ 97 -#define __INT_FAST8_MAX__ 0x7f -#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 -#define __INTPTR_MAX__ 0x7fffffffffffffffLL -#define __GXX_MERGED_TYPEINFO_NAMES 0 -#define __cpp_range_based_for 200907 -#define __FLT64_HAS_QUIET_NAN__ 1 -#define __stdcall __attribute__((__stdcall__)) -#define __FLT32_MIN_10_EXP__ (-37) -#define __SSE2__ 1 -#define __EXCEPTIONS 1 -#define __LDBL_MANT_DIG__ 64 -#define __DBL_HAS_QUIET_NAN__ 1 -#define __FLT64_HAS_INFINITY__ 1 -#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#define __cpp_return_type_deduction 201304 -#define __INTPTR_TYPE__ long long int -#define __UINT16_TYPE__ short unsigned int -#define __WCHAR_TYPE__ short unsigned int -#define __SIZEOF_FLOAT__ 4 -#define __pic__ 1 -#define __UINTPTR_MAX__ 0xffffffffffffffffULL -#define __INT_FAST64_WIDTH__ 64 -#define __DEC64_MIN_EXP__ (-382) -#define __cpp_decltype 200707 -#define __FLT32_DECIMAL_DIG__ 9 -#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#define __FLT_DIG__ 6 -#define __FLT64X_MAX_EXP__ 16384 -#define __UINT_FAST64_TYPE__ long long unsigned int -#define __INT_MAX__ 0x7fffffff -#define __amd64__ 1 -#define WIN32 1 -#define __nocona 1 -#define __code_model_medium__ 1 -#define __INT64_TYPE__ long long int -#define __FLT_MAX_EXP__ 128 -#define WIN64 1 -#define __ORDER_BIG_ENDIAN__ 4321 -#define __DBL_MANT_DIG__ 53 -#define __cpp_inheriting_constructors 201511 -#define __SIZEOF_FLOAT128__ 16 -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL -#define __DEC64_MIN__ 1E-383DD -#define __WINT_TYPE__ short unsigned int -#define __UINT_LEAST32_TYPE__ unsigned int -#define __SIZEOF_SHORT__ 2 -#define __SSE__ 1 -#define __LDBL_MIN_EXP__ (-16381) -#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 -#define __WINT_WIDTH__ 16 -#define __INT_LEAST8_MAX__ 0x7f -#define __FLT32X_MAX_10_EXP__ 308 -#define __SIZEOF_INT128__ 16 -#define __WCHAR_UNSIGNED__ 1 -#define __LDBL_MAX_10_EXP__ 4932 -#define __ATOMIC_RELAXED 0 -#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) -#define __thiscall __attribute__((__thiscall__)) -#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 -#define __UINT8_C(c) c -#define __FLT64_MAX_EXP__ 1024 -#define __INT_LEAST32_TYPE__ int -#define __SIZEOF_WCHAR_T__ 2 -#define __FLT128_HAS_QUIET_NAN__ 1 -#define __INT_FAST8_TYPE__ signed char -#define __fastcall __attribute__((__fastcall__)) -#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x -#define __GNUC_STDC_INLINE__ 1 -#define __FLT64_HAS_DENORM__ 1 -#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 -#define __DBL_DECIMAL_DIG__ 17 -#define __STDC_UTF_32__ 1 -#define __INT_FAST8_WIDTH__ 8 -#define __FXSR__ 1 -#define __DEC_EVAL_METHOD__ 2 -#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x -#define __MINGW64__ 1 -#define __cpp_runtime_arrays 198712 -#define __UINT64_TYPE__ long long unsigned int -#define __UINT32_C(c) c ## U -#define __INTMAX_MAX__ 0x7fffffffffffffffLL -#define __cpp_alias_templates 200704 -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#define WINNT 1 -#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F -#define __INT8_MAX__ 0x7f -#define __LONG_WIDTH__ 32 -#define __PIC__ 1 -#define __UINT_FAST32_TYPE__ unsigned int -#define __CHAR32_TYPE__ unsigned int -#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F -#define __cpp_constexpr 201304 -#define __INT32_TYPE__ int -#define __SIZEOF_DOUBLE__ 8 -#define __cpp_exceptions 199711 -#define __FLT_MIN_10_EXP__ (-37) -#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 -#define __INT_LEAST32_WIDTH__ 32 -#define __INTMAX_TYPE__ long long int -#define _INTEGRAL_MAX_BITS 64 -#define __DEC128_MAX_EXP__ 6145 -#define __FLT32X_HAS_QUIET_NAN__ 1 -#define __ATOMIC_CONSUME 1 -#define __nocona__ 1 -#define __GNUC_MINOR__ 3 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#define __INT_FAST16_WIDTH__ 16 -#define __UINTMAX_MAX__ 0xffffffffffffffffULL -#define __DEC32_MANT_DIG__ 7 -#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x -#define __DBL_MAX_10_EXP__ 308 -#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L -#define __INT16_C(c) c -#define __cpp_generic_lambdas 201304 -#define __STDC__ 1 -#define __FLT32X_DIG__ 15 -#define __PTRDIFF_TYPE__ long long int -#define __ATOMIC_SEQ_CST 5 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1 -#define __UINT32_TYPE__ unsigned int -#define __FLT32X_MIN_10_EXP__ (-307) -#define __UINTPTR_TYPE__ long long unsigned int -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#define __DEC128_MANT_DIG__ 34 -#define __LDBL_MIN_10_EXP__ (-4931) -#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 -#define __SSE_MATH__ 1 -#define __SIZEOF_LONG_LONG__ 8 -#define __cpp_user_defined_literals 200809 -#define __FLT128_DECIMAL_DIG__ 36 -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x -#define __LDBL_DIG__ 18 -#define __FLT_DECIMAL_DIG__ 9 -#define __UINT_FAST16_MAX__ 0xffff -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#define __INT_LEAST64_WIDTH__ 64 -#define __SSE3__ 1 -#define __UINT_FAST8_TYPE__ unsigned char -#define __WIN64__ 1 -#define __cpp_init_captures 201304 -#define __ATOMIC_ACQ_REL 4 -#define __ATOMIC_RELEASE 3 -#define __declspec(x) __attribute__((x)) diff --git a/Otarcik_CAN/release/Config/PCtelemetrie20240521.dbc b/Otarcik_CAN/release/Config/PCtelemetrie20240521.dbc new file mode 100644 index 0000000..afa5c69 --- /dev/null +++ b/Otarcik_CAN/release/Config/PCtelemetrie20240521.dbc @@ -0,0 +1,204 @@ +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: Parker_watchdog Parker_master PC +VAL_TABLE_ DCFC_availability 3 "DCFC available and powered up" 2 "DCFC session in progress" 1 "DCFC not available" 0 "DCFC available" ; +VAL_TABLE_ station_state 6 "Fault" 5 "Station disabled man disabled" 4 "Station disabled very low SOC" 3 "DCFC powered solar production" 2 "DCFC pwrd no solar production" 1 "solar producing no DCFC" 0 "standby" ; +VAL_TABLE_ DCFC_states 10 "open AC contactors" 9 "DCFC is off" 8 "shutdown DCFC" 7 "session in progress" 6 "DCFC is on" 5 "DCFC starting" 4 "close AC contactors" 3 "not inverting opened cont" 2 "inverting opened contactors" 1 "DCFC start requested" 0 "default" ; + + +BO_ 1298 ACcharger3: 8 Parker_master + SG_ outputVoltageChrg3 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg3 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ charger3_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ charger3_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger3_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1297 ACcharger2: 8 Vector__XXX + SG_ outputVoltageChrg2 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg2 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ charger2_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ charger2_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger2_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1296 ACcharger1: 8 Parker_master + SG_ charger1_comm_timeout : 52|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_stayed_off : 51|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_input_voltage_wrong : 50|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_overtemp : 49|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_HW_failure : 48|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_inputVoltage : 24|16@1- (0.1,0) [0|0] "Vac" Vector__XXX + SG_ charger1_temperature : 40|8@1- (1,-40) [0|0] "°C" Vector__XXX + SG_ outputVoltageChrg1 : 8|16@1+ (0.1,0) [0|0] "Vdc" Vector__XXX + SG_ outputCurrentChrg1 : 0|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + +BO_ 258 WDT_to_master: 8 Parker_watchdog + +BO_ 257 master_to_WDT: 8 Parker_master + SG_ shutdownAllnonEssential12Vloads : 2|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ shutdown_PC_pls : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ shutdown_internet_pls : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 1281 DCFC_LEDs: 8 Parker_master + SG_ start_btn_was_pressed : 5|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ RED_LED_SOLID : 4|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ RED_LED_BLINKING : 3|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ GREEN_LED_SOLID : 2|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ GREEN_LED_BLINKING : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ DCFC_LED_DONT_MATCH_STATE : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 320 heater: 8 Parker_master + SG_ heater_problem : 8|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ heater_request : 0|8@1- (1,0) [0|0] "%" Vector__XXX + +BO_ 260 stationESS6: 8 Parker_master + SG_ batt4_discharge_cap : 56|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt4_charge_cap : 48|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt3_discharge_cap : 40|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt3_charge_cap : 32|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt2_discharge_cap : 24|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt2_charge_cap : 16|8@1+ (1,0) [0|0] "kW" Vector__XXX + SG_ batt1_discharge_cap : 8|8@1+ (2,0) [0|510] "kW" Vector__XXX + SG_ batt1_charge_cap : 0|8@1+ (1,0) [0|0] "kW" Vector__XXX + +BO_ 336 DCFC: 8 Parker_master + SG_ DCFC_state : 0|8@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 310 fans: 8 Parker_master + SG_ FAN_power_elec : 1|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ FAN_cells : 0|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 265 stationESS5: 8 Parker_master + SG_ minCellBattery4 : 48|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery4 : 32|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ minCellBattery3 : 16|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery3 : 0|16@1+ (1,0) [0|0] "mV" Vector__XXX + +BO_ 264 stationESS4: 8 Parker_master + SG_ minCellBattery2 : 48|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery2 : 32|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ minCellBattery1 : 16|16@1+ (1,0) [0|0] "mV" Vector__XXX + SG_ maxCellBattery1 : 0|16@1+ (1,0) [0|0] "mV" Vector__XXX + +BO_ 309 temperature2: 8 Parker_master + SG_ FEEDBACKpowerElectronicPump1 : 16|8@1+ (50,0) [0|0] "RPM" Vector__XXX + SG_ FEEDBACKcellHeatingPump1 : 8|8@1+ (50,0) [0|0] "RPM" Vector__XXX + SG_ FEEDBACKcellCoolingPump1 : 0|8@1+ (50,0) [0|0] "RPM" Vector__XXX + +BO_ 304 temperatures1: 8 Parker_master + SG_ outside_temp_average_24h : 24|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ PCS_hottest_temperature : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ outside_container_temp : 8|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ inside_container_temp : 0|8@1- (1,0) [0|0] "°C" Vector__XXX + +BO_ 1280 AC_chargers: 8 Parker_master + SG_ max_charge_current_each_DC : 40|8@1+ (0.1,0) [0|0] "Adc" Vector__XXX + SG_ AC_charger_voltage : 24|16@1+ (0.1,0) [0|0] "Vac" Vector__XXX + SG_ chargers_flow_request : 16|8@1+ (1,0) [0|0] "%" Vector__XXX + SG_ AC_input_present : 8|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger3_cmd : 11|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger2_cmd : 10|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ charger1_cmd : 9|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ AC_chargers_power : 0|8@1+ (0.25,0) [0|0] "kW" Vector__XXX + +BO_ 1024 Power_Inverter: 8 Parker_master + SG_ frequency_bias : 24|8@1- (0.1,0) [0|0] "hz" Vector__XXX + SG_ main_inverter_hotest_sensor : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ power_inverter_DC_power : 0|16@1- (0.1,0) [0|0] "kW" Vector__XXX + +BO_ 263 stationESS3: 8 Parker_master + SG_ ESS_total_power : 0|16@1- (0.1,0) [0|0] "kW" Vector__XXX + +BO_ 288 LowVoltageStatus: 8 Parker_master + SG_ MPPT12vPower : 40|8@1+ (2,0) [0|0] "W" Vector__XXX + SG_ DCDC2outputCurrent : 32|8@1+ (1,0) [0|0] "A" Vector__XXX + SG_ DCDC1outputCurrent : 24|8@1+ (1,0) [0|0] "A" Vector__XXX + SG_ ESS2_12VBatteryVoltage : 16|8@1+ (0.1,0) [0|25.5] "V" Vector__XXX + SG_ ESS1_12VBatteryVoltage : 8|8@1+ (0.1,0) [0|25.5] "V" Vector__XXX + SG_ HouseBatteryVoltage : 0|8@1+ (0.1,0) [0|0] "V" Vector__XXX + +BO_ 262 stationESS2: 8 Parker_master + SG_ batt4_low_cell_t : 56|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt3_low_cell_t : 48|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt2_low_cell_t : 40|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt1_low_cell_t : 32|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt4_high_cell_t : 24|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt3_high_cell_t : 16|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt2_high_cell_t : 8|8@1- (1,0) [0|0] "°C" Vector__XXX + SG_ batt1_high_cell_t : 0|8@1- (1,0) [0|0] "°C" Vector__XXX + +BO_ 768 PC_dateTime: 8 PC + SG_ internetSeemsDead : 32|1@1+ (1,0) [0|0] "" Vector__XXX + +BO_ 512 WDT_state: 8 Parker_watchdog + +BO_ 277 station_state1: 8 Parker_master + SG_ DCFC_availability : 16|8@1+ (1,0) [0|0] "" Vector__XXX + SG_ Station_state : 8|8@1+ (1,0) [0|0] "" Vector__XXX + SG_ SOCtoDisplay : 0|8@1+ (0.5,0) [0|0] "%" Vector__XXX + +BO_ 272 station_ver: 8 Parker_master + +BO_ 261 stationESS1: 8 Parker_master + SG_ DC_bus_voltage : 48|16@1+ (0.1,0) [0|0] "V" Vector__XXX + SG_ summed_ESS_current : 32|16@1- (0.1,0) [0|0] "A" Vector__XXX + SG_ SOC_battery4 : 24|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery3 : 16|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery2 : 8|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + SG_ SOC_battery1 : 0|8@1+ (0.5,0) [0|127.5] "%" Vector__XXX + +BO_ 256 parker_dateTime: 8 Parker_master + SG_ parker_time : 16|16@1+ (0.001,0) [0|0] "h" Vector__XXX + SG_ parker_date : 0|16@1+ (1,0) [0|0] "d" Vector__XXX + + + +CM_ SG_ 263 ESS_total_power "positive values = battery charging"; +CM_ SG_ 256 parker_time "hours elapsed since midnight, for example 18.25"; +CM_ SG_ 256 parker_date "number of days that have passed since 1899-12-30"; +BA_DEF_ "BusType" STRING ; +BA_DEF_DEF_ "BusType" ""; +VAL_ 336 DCFC_state 10 "open AC contactors" 9 "DCFC is off" 8 "shutdown DCFC" 7 "session in progress" 6 "DCFC is on" 5 "DCFC starting" 4 "close AC contactors" 3 "not inverting opened cont" 2 "inverting opened contactors" 1 "DCFC start requested" 0 "default" ; +VAL_ 277 DCFC_availability 3 "DCFC available and powered up" 2 "DCFC session in progress" 1 "DCFC not available" 0 "DCFC available" ; +VAL_ 277 Station_state 6 "Fault" 5 "Station disabled man disabled" 4 "Station disabled very low SOC" 3 "DCFC powered solar production" 2 "DCFC pwrd no solar production" 1 "solar producing no DCFC" 0 "standby" ; + diff --git a/Otarcik_CAN/release/Config/Station.cfg b/Otarcik_CAN/release/Config/Station.cfg index b4c34520f03d40487d28ee44df59b2f2b5c8bb87..6e96e215fdaf13e6ca5e8447762c0f60f24629f3 100644 GIT binary patch literal 709 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 Xn)HbZhGn`!ywU?#df@+)J@CH)l<9^g literal 283648 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

r#I?y5ya#cnpE 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 G1OEq9J=!1u diff --git a/Otarcik_CAN/ui_LoggingSettingsPage.h b/Otarcik_CAN/ui_LoggingSettingsPage.h index 7deea16..acb561a 100644 --- a/Otarcik_CAN/ui_LoggingSettingsPage.h +++ b/Otarcik_CAN/ui_LoggingSettingsPage.h @@ -40,8 +40,8 @@ public: QLineEdit *mCloudMQTTTopicPrefixEdit; QLabel *mCloudMQTTClientIDLbl; QLineEdit *mCloudMQTTClientID; - QLabel *mCloudMQTTRefreshRateLbl; - QSpinBox *mCloudMQTTRefreshRateSpinBx; + QCheckBox *mCloudMQTTActivateBufferingChkBx; + QCheckBox *mCloudMQTTActivateBrokerChkBx; QLabel *mGeneralLogParamsLbl; QPushButton *mChangeParamsBtn; QPushButton *mCancelBtn; @@ -99,6 +99,8 @@ public: QLabel *label_5; QPushButton *mDeleteMQTTBrokerBtn; QPushButton *mAddMQTTBrokerBtn; + QLabel *mCloudMQTTRefreshRateLbl; + QSpinBox *mCloudMQTTRefreshRateSpinBx; void setupUi(QWidget *CLoggingSettingsPage) { @@ -113,7 +115,7 @@ public: mCloudLogParamsLbl->setFont(font); groupBox = new QGroupBox(CLoggingSettingsPage); groupBox->setObjectName(QString::fromUtf8("groupBox")); - groupBox->setGeometry(QRect(220, 100, 351, 271)); + groupBox->setGeometry(QRect(220, 100, 351, 261)); mCloudMQTTHostNameLbl = new QLabel(groupBox); mCloudMQTTHostNameLbl->setObjectName(QString::fromUtf8("mCloudMQTTHostNameLbl")); mCloudMQTTHostNameLbl->setGeometry(QRect(10, 21, 71, 20)); @@ -166,27 +168,22 @@ public: mCloudMQTTClientID = new QLineEdit(groupBox); mCloudMQTTClientID->setObjectName(QString::fromUtf8("mCloudMQTTClientID")); mCloudMQTTClientID->setGeometry(QRect(90, 190, 251, 20)); - mCloudMQTTRefreshRateLbl = new QLabel(groupBox); - mCloudMQTTRefreshRateLbl->setObjectName(QString::fromUtf8("mCloudMQTTRefreshRateLbl")); - mCloudMQTTRefreshRateLbl->setGeometry(QRect(10, 220, 181, 20)); - mCloudMQTTRefreshRateLbl->setFont(font1); - mCloudMQTTRefreshRateLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); - mCloudMQTTRefreshRateSpinBx = new QSpinBox(groupBox); - mCloudMQTTRefreshRateSpinBx->setObjectName(QString::fromUtf8("mCloudMQTTRefreshRateSpinBx")); - mCloudMQTTRefreshRateSpinBx->setGeometry(QRect(200, 220, 101, 22)); - mCloudMQTTRefreshRateSpinBx->setMinimum(1000); - mCloudMQTTRefreshRateSpinBx->setMaximum(500000); - mCloudMQTTRefreshRateSpinBx->setSingleStep(1); + mCloudMQTTActivateBufferingChkBx = new QCheckBox(groupBox); + mCloudMQTTActivateBufferingChkBx->setObjectName(QString::fromUtf8("mCloudMQTTActivateBufferingChkBx")); + mCloudMQTTActivateBufferingChkBx->setGeometry(QRect(180, 230, 101, 20)); + mCloudMQTTActivateBrokerChkBx = new QCheckBox(groupBox); + mCloudMQTTActivateBrokerChkBx->setObjectName(QString::fromUtf8("mCloudMQTTActivateBrokerChkBx")); + mCloudMQTTActivateBrokerChkBx->setGeometry(QRect(50, 230, 101, 20)); mGeneralLogParamsLbl = new QLabel(CLoggingSettingsPage); mGeneralLogParamsLbl->setObjectName(QString::fromUtf8("mGeneralLogParamsLbl")); mGeneralLogParamsLbl->setGeometry(QRect(590, 30, 181, 31)); mGeneralLogParamsLbl->setFont(font); mChangeParamsBtn = new QPushButton(CLoggingSettingsPage); mChangeParamsBtn->setObjectName(QString::fromUtf8("mChangeParamsBtn")); - mChangeParamsBtn->setGeometry(QRect(430, 380, 80, 22)); + mChangeParamsBtn->setGeometry(QRect(410, 370, 80, 22)); mCancelBtn = new QPushButton(CLoggingSettingsPage); mCancelBtn->setObjectName(QString::fromUtf8("mCancelBtn")); - mCancelBtn->setGeometry(QRect(320, 380, 80, 22)); + mCancelBtn->setGeometry(QRect(300, 370, 80, 22)); groupBox_2 = new QGroupBox(CLoggingSettingsPage); groupBox_2->setObjectName(QString::fromUtf8("groupBox_2")); groupBox_2->setGeometry(QRect(590, 70, 351, 121)); @@ -386,6 +383,17 @@ public: mAddMQTTBrokerBtn = new QPushButton(CLoggingSettingsPage); mAddMQTTBrokerBtn->setObjectName(QString::fromUtf8("mAddMQTTBrokerBtn")); mAddMQTTBrokerBtn->setGeometry(QRect(130, 370, 61, 22)); + mCloudMQTTRefreshRateLbl = new QLabel(CLoggingSettingsPage); + mCloudMQTTRefreshRateLbl->setObjectName(QString::fromUtf8("mCloudMQTTRefreshRateLbl")); + mCloudMQTTRefreshRateLbl->setGeometry(QRect(20, 60, 181, 20)); + mCloudMQTTRefreshRateLbl->setFont(font1); + mCloudMQTTRefreshRateLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + mCloudMQTTRefreshRateSpinBx = new QSpinBox(CLoggingSettingsPage); + mCloudMQTTRefreshRateSpinBx->setObjectName(QString::fromUtf8("mCloudMQTTRefreshRateSpinBx")); + mCloudMQTTRefreshRateSpinBx->setGeometry(QRect(210, 60, 101, 22)); + mCloudMQTTRefreshRateSpinBx->setMinimum(1000); + mCloudMQTTRefreshRateSpinBx->setMaximum(500000); + mCloudMQTTRefreshRateSpinBx->setSingleStep(1); retranslateUi(CLoggingSettingsPage); @@ -406,7 +414,8 @@ public: mCloudMQTTPasswordLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Password", nullptr)); mCloudMQTTTopicPrefixLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Topic Prefix", nullptr)); mCloudMQTTClientIDLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Client ID", nullptr)); - mCloudMQTTRefreshRateLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Taux de rafraichissement (ms):", nullptr)); + mCloudMQTTActivateBufferingChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Activer buffering", nullptr)); + mCloudMQTTActivateBrokerChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Broker actif", nullptr)); mGeneralLogParamsLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Param\303\250tres g\303\251n\303\251raux", nullptr)); mChangeParamsBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Modifier", nullptr)); mCancelBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Annuler", nullptr)); @@ -448,6 +457,7 @@ public: label_5->setText(QCoreApplication::translate("CLoggingSettingsPage", "Brokers MQTT", nullptr)); mDeleteMQTTBrokerBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Supprimer", nullptr)); mAddMQTTBrokerBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Ajouter", nullptr)); + mCloudMQTTRefreshRateLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Taux de rafraichissement (ms):", nullptr)); } // retranslateUi };