From 163d050fe5c5f042a98aad09e5eaac6a388f6b79 Mon Sep 17 00:00:00 2001 From: jfmartel Date: Fri, 2 Jun 2023 14:09:37 -0400 Subject: [PATCH] =?UTF-8?q?Changement=20de=20l'identification=20des=20puck?= =?UTF-8?q?s=20CAN=20par=20device=20ID=20plut=C3=B4t=20que=20par=20Handle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Otarcik_CAN/Config/Station.cfg | Bin 351 -> 353 bytes Otarcik_CAN/Logs/SystemLog.txt | 669 ++++++++++++++++++ Otarcik_CAN/Makefile | 74 +- Otarcik_CAN/Makefile.Debug | 88 ++- Otarcik_CAN/Makefile.Release | 88 ++- Otarcik_CAN/Sources/CANBus/CANAnalyzer.cpp | 17 +- Otarcik_CAN/Sources/CANBus/CANAnalyzer.h | 5 +- Otarcik_CAN/Sources/CANBus/CANDevice.cpp | 3 + Otarcik_CAN/Sources/CANBus/CANDeviceConfig.h | 3 +- .../CloudLogging/MQTTClientWrapper.cpp | 5 +- .../Sources/CloudLogging/MQTTClientWrapper.h | 4 + .../Sources/Gui/CANbusSettingsPage.cpp | 31 +- Otarcik_CAN/Sources/Gui/CANbusSettingsPage.ui | 52 +- Otarcik_CAN/Sources/Gui/GeneralStatusPage.cpp | 43 ++ Otarcik_CAN/Sources/Gui/GeneralStatusPage.h | 3 + Otarcik_CAN/Sources/Gui/GeneralStatusPage.ui | 78 +- Otarcik_CAN/Sources/OtarcikCan.cpp | 11 + Otarcik_CAN/Sources/OtarcikCan.h | 3 + Otarcik_CAN/Sources/PCANInterface.cpp | 24 +- Otarcik_CAN/Sources/PCANInterface.h | 3 +- Otarcik_CAN/debug/Otarcik_CAN.exe | Bin 15474730 -> 15615119 bytes Otarcik_CAN/release/Otarcik_CAN.exe | Bin 152064 -> 153088 bytes Otarcik_CAN/ui_CANbusSettingsPage.h | 24 +- Otarcik_CAN/ui_GeneralStatusPage.h | 33 +- 24 files changed, 1152 insertions(+), 109 deletions(-) diff --git a/Otarcik_CAN/Config/Station.cfg b/Otarcik_CAN/Config/Station.cfg index ba2fc15815b36a849a72f9ed6e08494bfe22f722..2810cf80b13e159e8448c8cbc232e6f971b39cac 100644 GIT binary patch literal 353 zcmZvXy-osA5QRU)f(M|a*xCdUD?&%4AyG8(C$Tcfl0a6$z(VZ{`3lxN1-+H8;5V0q zgv8z4xie?ZoHKX#_5BM}JSPo(&B~@Gv;P}CTzT)dE}Z0tHSD*QpS?8tb!M= z=rI%@@Fb_nz1WC1|EANyoEb~wLe-VsHkVw`Nini>a$eO#mpj&G1)0dwxw+MpAH6eY z*J7Eu9dK4TWLkY*_TF*Sy=vbOXfUcuT^kSFj8&P-Ak zw|md;-gCMy>uIGQ*V`LN#5KI6&L^8LJ|274EXXlnPJq!ING(NuO`Z(dzg?3CJ<+?W zz()6>?pC<$C~=JQLQx~-sULm`uGEMzHR|NsketS=2@W0M$kO^6Z2F3g9�JD9ae> OP|9b^j0#mziWxpFY$uNZ diff --git a/Otarcik_CAN/Logs/SystemLog.txt b/Otarcik_CAN/Logs/SystemLog.txt index 5176955..8d4756a 100644 --- a/Otarcik_CAN/Logs/SystemLog.txt +++ b/Otarcik_CAN/Logs/SystemLog.txt @@ -8082,3 +8082,672 @@ Démarrage du logiciel Otarcik CAN le 2023-05-25 à 14:48:26 2023-05-25 14:48:26 Le dispositif [ParkerCAN] n'a pas pu s'initialiser 2023-05-25 14:48:31 Déinitialisation du module PCAN USB ID 81 2023-05-25 14:48:31 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-28 à 08:28:07 +******************************************************************** +2023-05-28 08:28:07 Démarrage du logiciel OtarcikCAN +2023-05-28 08:28:07 Chargement de la configuration système... +2023-05-28 08:28:07 Configuration système chargée avec succès! +2023-05-28 08:28:07 Initialisation du dispositif [ParkerCAN] +2023-05-28 08:28:07 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-28 08:28:07 Base de données chargée avec succès. Flags: 0x0 +2023-05-28 08:28:07 Démarrage d'un module CAN... +2023-05-28 08:28:07 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-28 08:28:07 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-28 08:28:07 Impossible d'initialiser le matériel CAN +2023-05-28 08:28:07 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-28 08:28:14 Déinitialisation du module PCAN USB ID 81 +2023-05-28 08:28:14 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-28 à 08:29:15 +******************************************************************** +2023-05-28 08:29:15 Démarrage du logiciel OtarcikCAN +2023-05-28 08:29:15 Chargement de la configuration système... +2023-05-28 08:29:15 Configuration système chargée avec succès! +2023-05-28 08:29:15 Initialisation du dispositif [ParkerCAN] +2023-05-28 08:29:15 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-28 08:29:15 Base de données chargée avec succès. Flags: 0x0 +2023-05-28 08:29:15 Démarrage d'un module CAN... +2023-05-28 08:29:15 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-28 08:29:15 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-28 08:29:15 Impossible d'initialiser le matériel CAN +2023-05-28 08:29:15 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-28 08:29:39 Déinitialisation du module PCAN USB ID 81 +2023-05-28 08:29:39 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-28 à 08:34:30 +******************************************************************** +2023-05-28 08:34:30 Démarrage du logiciel OtarcikCAN +2023-05-28 08:34:30 Chargement de la configuration système... +2023-05-28 08:34:30 Configuration système chargée avec succès! +2023-05-28 08:34:30 Initialisation du dispositif [ParkerCAN] +2023-05-28 08:34:30 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-28 08:34:30 Base de données chargée avec succès. Flags: 0x0 +2023-05-28 08:34:30 Démarrage d'un module CAN... +2023-05-28 08:34:30 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-28 08:34:30 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-28 08:34:30 Impossible d'initialiser le matériel CAN +2023-05-28 08:34:30 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-28 08:34:44 Déinitialisation du module PCAN USB ID 81 +2023-05-28 08:34:44 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-28 à 08:35:29 +******************************************************************** +2023-05-28 08:35:29 Démarrage du logiciel OtarcikCAN +2023-05-28 08:35:29 Chargement de la configuration système... +2023-05-28 08:35:29 Configuration système chargée avec succès! +2023-05-28 08:35:29 Initialisation du dispositif [ParkerCAN] +2023-05-28 08:35:29 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-28 08:35:29 Base de données chargée avec succès. Flags: 0x0 +2023-05-28 08:35:29 Démarrage d'un module CAN... +2023-05-28 08:35:29 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-28 08:35:29 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-28 08:35:29 Impossible d'initialiser le matériel CAN +2023-05-28 08:35:29 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-28 08:36:15 Déinitialisation du module PCAN USB ID 81 +2023-05-28 08:36:15 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-28 à 20:29:24 +******************************************************************** +2023-05-28 20:29:24 Démarrage du logiciel OtarcikCAN +2023-05-28 20:29:24 Chargement de la configuration système... +2023-05-28 20:29:24 Configuration système chargée avec succès! +2023-05-28 20:29:24 Initialisation du dispositif [ParkerCAN] +2023-05-28 20:29:24 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-28 20:29:24 Base de données chargée avec succès. Flags: 0x0 +2023-05-28 20:29:24 Démarrage d'un module CAN... +2023-05-28 20:29:24 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-28 20:29:24 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-28 20:29:24 Impossible d'initialiser le matériel CAN +2023-05-28 20:29:24 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-28 20:29:32 Déinitialisation du module PCAN USB ID 81 +2023-05-28 20:29:32 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-05-30 à 16:00:15 +******************************************************************** +2023-05-30 16:00:15 Démarrage du logiciel OtarcikCAN +2023-05-30 16:00:15 Chargement de la configuration système... +2023-05-30 16:00:15 Configuration système chargée avec succès! +2023-05-30 16:00:15 Initialisation du dispositif [ParkerCAN] +2023-05-30 16:00:15 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-05-30 16:00:15 Base de données chargée avec succès. Flags: 0x0 +2023-05-30 16:00:15 Démarrage d'un module CAN... +2023-05-30 16:00:15 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-05-30 16:00:15 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-05-30 16:00:15 Impossible d'initialiser le matériel CAN +2023-05-30 16:00:15 Le dispositif [ParkerCAN] n'a pas pu s'initialiser +2023-05-30 16:00:49 Déinitialisation du module PCAN USB ID 81 +2023-05-30 16:00:49 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 11:50:41 +******************************************************************** +2023-06-02 11:50:41 Démarrage du logiciel OtarcikCAN +2023-06-02 11:50:41 Chargement de la configuration système... +2023-06-02 11:50:41 Configuration système chargée avec succès! +2023-06-02 11:50:41 Initialisation du dispositif [ParkerCAN] +2023-06-02 11:50:41 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 11:50:41 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 11:50:41 Démarrage d'un module CAN... +2023-06-02 11:50:41 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-06-02 11:50:41 Module PCAN USB initialisé avec succès +2023-06-02 11:50:41 Dispositif [ParkerCAN] initialisé avec succès! +2023-06-02 11:51:20 Sauvegarde de la configuration système... +2023-06-02 11:51:20 Configuration système sauvegardée avec succès. +2023-06-02 11:51:20 Déinitialisation du module PCAN USB ID 81 +2023-06-02 11:51:20 Module PCAN USB déinitialisé avec succès... +2023-06-02 11:51:20 Initialisation du dispositif [ParkerCAN] +2023-06-02 11:51:20 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 11:51:20 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 11:51:20 Démarrage d'un module CAN... +2023-06-02 11:51:20 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-06-02 11:51:20 Module PCAN USB initialisé avec succès +2023-06-02 11:51:20 Dispositif [ParkerCAN] initialisé avec succès! +2023-06-02 11:51:20 Initialisation du dispositif [test] +2023-06-02 11:51:20 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 11:51:20 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 11:51:20 Démarrage d'un module CAN... +2023-06-02 11:51:20 Initialisation d'un module PCAN. Channel:82, Baudrate:28 +2023-06-02 11:51:20 Module PCAN USB initialisé avec succès +2023-06-02 11:51:20 Dispositif [test] initialisé avec succès! +2023-06-02 11:51:37 Déinitialisation du module PCAN USB ID 81 +2023-06-02 11:51:37 Module PCAN USB déinitialisé avec succès... +2023-06-02 11:51:37 Déinitialisation du module PCAN USB ID 82 +2023-06-02 11:51:37 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 11:51:41 +******************************************************************** +2023-06-02 11:51:41 Démarrage du logiciel OtarcikCAN +2023-06-02 11:51:41 Chargement de la configuration système... +2023-06-02 11:51:41 Configuration système chargée avec succès! +2023-06-02 11:51:41 Initialisation du dispositif [ParkerCAN] +2023-06-02 11:51:41 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 11:51:41 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 11:51:41 Démarrage d'un module CAN... +2023-06-02 11:51:41 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-06-02 11:51:41 Module PCAN USB initialisé avec succès +2023-06-02 11:51:41 Dispositif [ParkerCAN] initialisé avec succès! +2023-06-02 11:51:41 Initialisation du dispositif [test] +2023-06-02 11:51:41 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 11:51:41 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 11:51:41 Démarrage d'un module CAN... +2023-06-02 11:51:41 Initialisation d'un module PCAN. Channel:82, Baudrate:28 +2023-06-02 11:51:41 Module PCAN USB initialisé avec succès +2023-06-02 11:51:41 Dispositif [test] initialisé avec succès! +2023-06-02 11:52:59 Déinitialisation du module PCAN USB ID 81 +2023-06-02 11:52:59 Module PCAN USB déinitialisé avec succès... +2023-06-02 11:52:59 Déinitialisation du module PCAN USB ID 82 +2023-06-02 11:52:59 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:05:44 +******************************************************************** +2023-06-02 13:05:44 Démarrage du logiciel OtarcikCAN +2023-06-02 13:05:44 Chargement de la configuration système... +2023-06-02 13:05:44 Configuration système chargée avec succès! +2023-06-02 13:05:44 Initialisation du dispositif [ParkerCAN] +2023-06-02 13:05:44 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:05:44 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:05:44 Démarrage d'un module CAN... +2023-06-02 13:05:44 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-06-02 13:05:44 Module PCAN USB initialisé avec succès +2023-06-02 13:05:44 Dispositif [ParkerCAN] initialisé avec succès! +2023-06-02 13:05:44 Initialisation du dispositif [test] +2023-06-02 13:05:44 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:05:44 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:05:44 Démarrage d'un module CAN... +2023-06-02 13:05:44 Initialisation d'un module PCAN. Channel:82, Baudrate:28 +2023-06-02 13:05:44 Module PCAN USB initialisé avec succès +2023-06-02 13:05:44 Dispositif [test] initialisé avec succès! +2023-06-02 13:05:53 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:05:53 Module PCAN USB déinitialisé avec succès... +2023-06-02 13:05:53 Déinitialisation du module PCAN USB ID 82 +2023-06-02 13:05:53 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:09:12 +******************************************************************** +2023-06-02 13:09:12 Démarrage du logiciel OtarcikCAN +2023-06-02 13:09:12 Chargement de la configuration système... +2023-06-02 13:09:12 Configuration système chargée avec succès! +2023-06-02 13:09:12 Initialisation du dispositif [ParkerCAN] +2023-06-02 13:09:12 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:09:12 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:09:12 Démarrage d'un module CAN... +2023-06-02 13:09:12 Initialisation d'un module PCAN. Channel:81, Baudrate:28 +2023-06-02 13:09:12 Module PCAN USB initialisé avec succès +2023-06-02 13:09:12 Dispositif [ParkerCAN] initialisé avec succès! +2023-06-02 13:09:12 Initialisation du dispositif [test] +2023-06-02 13:09:12 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:09:12 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:09:13 Démarrage d'un module CAN... +2023-06-02 13:09:13 Initialisation d'un module PCAN. Channel:82, Baudrate:28 +2023-06-02 13:09:13 Module PCAN USB initialisé avec succès +2023-06-02 13:09:13 Dispositif [test] initialisé avec succès! +2023-06-02 13:09:59 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:09:59 Module PCAN USB déinitialisé avec succès... +2023-06-02 13:09:59 Déinitialisation du module PCAN USB ID 82 +2023-06-02 13:09:59 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:43:41 +******************************************************************** +2023-06-02 13:43:41 Démarrage du logiciel OtarcikCAN +2023-06-02 13:43:41 Chargement de la configuration système... +2023-06-02 13:43:41 Configuration système chargée avec succès! +2023-06-02 13:43:54 Sauvegarde de la configuration système... +2023-06-02 13:43:54 Configuration système sauvegardée avec succès. +2023-06-02 13:43:54 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:43:54 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:43:54 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:43:54 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:43:54 Sauvegarde de la configuration système... +2023-06-02 13:43:54 Configuration système sauvegardée avec succès. +2023-06-02 13:43:54 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:43:54 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:44:18 Sauvegarde de la configuration système... +2023-06-02 13:44:18 Configuration système sauvegardée avec succès. +2023-06-02 13:44:18 Initialisation du dispositif [Parker CAN] +2023-06-02 13:44:18 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:44:18 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:44:18 Démarrage d'un module CAN... +2023-06-02 13:44:18 Initialisation d'un module PCAN. Handle:1, Baudrate:28 +2023-06-02 13:44:18 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:44:18 Impossible d'initialiser le matériel CAN +2023-06-02 13:44:18 Le dispositif [Parker CAN] n'a pas pu s'initialiser +2023-06-02 13:44:32 Sauvegarde de la configuration système... +2023-06-02 13:44:32 Configuration système sauvegardée avec succès. +2023-06-02 13:44:32 Déinitialisation du module PCAN USB ID 1 +2023-06-02 13:44:32 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:44:32 Initialisation du dispositif [Parker CAN] +2023-06-02 13:44:32 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:44:32 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:44:32 Démarrage d'un module CAN... +2023-06-02 13:44:32 Initialisation d'un module PCAN. Handle:1, Baudrate:28 +2023-06-02 13:44:32 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:44:32 Impossible d'initialiser le matériel CAN +2023-06-02 13:44:32 Le dispositif [Parker CAN] n'a pas pu s'initialiser +2023-06-02 13:44:32 Initialisation du dispositif [test] +2023-06-02 13:44:32 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:44:32 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:44:32 Démarrage d'un module CAN... +2023-06-02 13:44:32 Initialisation d'un module PCAN. Handle:2, Baudrate:28 +2023-06-02 13:44:32 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:44:32 Impossible d'initialiser le matériel CAN +2023-06-02 13:44:32 Le dispositif [test] n'a pas pu s'initialiser +2023-06-02 13:44:39 Déinitialisation du module PCAN USB ID 1 +2023-06-02 13:44:39 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:44:39 Déinitialisation du module PCAN USB ID 2 +2023-06-02 13:44:39 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:44:45 +******************************************************************** +2023-06-02 13:44:45 Démarrage du logiciel OtarcikCAN +2023-06-02 13:44:45 Chargement de la configuration système... +2023-06-02 13:44:45 Configuration système chargée avec succès! +2023-06-02 13:44:45 Initialisation du dispositif [Parker CAN] +2023-06-02 13:44:45 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:44:45 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:44:45 Démarrage d'un module CAN... +2023-06-02 13:44:45 Initialisation d'un module PCAN. Handle:1, Baudrate:28 +2023-06-02 13:44:45 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:44:45 Impossible d'initialiser le matériel CAN +2023-06-02 13:44:45 Le dispositif [Parker CAN] n'a pas pu s'initialiser +2023-06-02 13:44:45 Initialisation du dispositif [test] +2023-06-02 13:44:45 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:44:45 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:44:45 Démarrage d'un module CAN... +2023-06-02 13:44:45 Initialisation d'un module PCAN. Handle:2, Baudrate:28 +2023-06-02 13:44:45 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:44:45 Impossible d'initialiser le matériel CAN +2023-06-02 13:44:45 Le dispositif [test] n'a pas pu s'initialiser +2023-06-02 13:44:58 Déinitialisation du module PCAN USB ID 1 +2023-06-02 13:44:58 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full +2023-06-02 13:44:58 Déinitialisation du module PCAN USB ID 2 +2023-06-02 13:44:58 Impossible de déinitialiser un module USB PCAN.. Error:The transmit buffer in CAN controller is full + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:46:26 +******************************************************************** +2023-06-02 13:46:26 Démarrage du logiciel OtarcikCAN +2023-06-02 13:46:26 Chargement de la configuration système... +2023-06-02 13:46:26 Configuration système chargée avec succès! +2023-06-02 13:46:26 Initialisation du dispositif [Parker CAN] +2023-06-02 13:46:26 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:46:26 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:46:26 Démarrage d'un module CAN... +2023-06-02 13:48:14 Initialisation d'un module PCAN. Handle:1, Baudrate:28 +2023-06-02 13:48:14 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:48:14 Impossible d'initialiser le matériel CAN +2023-06-02 13:48:14 Le dispositif [Parker CAN] n'a pas pu s'initialiser +2023-06-02 13:48:14 Initialisation du dispositif [test] +2023-06-02 13:48:14 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:48:14 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:48:14 Démarrage d'un module CAN... +2023-06-02 13:49:02 Initialisation d'un module PCAN. Handle:2, Baudrate:28 +2023-06-02 13:49:02 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 13:49:07 Impossible d'initialiser le matériel CAN + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:49:59 +******************************************************************** +2023-06-02 13:49:59 Démarrage du logiciel OtarcikCAN +2023-06-02 13:49:59 Chargement de la configuration système... +2023-06-02 13:49:59 Configuration système chargée avec succès! +2023-06-02 13:49:59 Initialisation du dispositif [Parker CAN] +2023-06-02 13:49:59 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:49:59 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:49:59 Démarrage d'un module CAN... +2023-06-02 13:51:10 Initialisation d'un module PCAN. Handle:1, Baudrate:28 + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:52:02 +******************************************************************** +2023-06-02 13:52:02 Démarrage du logiciel OtarcikCAN +2023-06-02 13:52:02 Chargement de la configuration système... +2023-06-02 13:52:02 Configuration système chargée avec succès! +2023-06-02 13:52:02 Initialisation du dispositif [Parker CAN] +2023-06-02 13:52:02 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:52:02 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:52:02 Démarrage d'un module CAN... +2023-06-02 13:52:14 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:52:19 Module PCAN USB initialisé avec succès +2023-06-02 13:52:22 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:52:22 Initialisation du dispositif [test] +2023-06-02 13:52:22 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:52:22 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:52:22 Démarrage d'un module CAN... +2023-06-02 13:52:30 Initialisation d'un module PCAN. Handle:82, Baudrate:28 +2023-06-02 13:52:33 Module PCAN USB initialisé avec succès +2023-06-02 13:52:33 Dispositif [test] initialisé avec succès! + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:52:46 +******************************************************************** +2023-06-02 13:52:46 Démarrage du logiciel OtarcikCAN +2023-06-02 13:52:46 Chargement de la configuration système... +2023-06-02 13:52:46 Configuration système chargée avec succès! +2023-06-02 13:52:46 Initialisation du dispositif [Parker CAN] +2023-06-02 13:52:46 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:52:46 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:52:46 Démarrage d'un module CAN... +2023-06-02 13:52:46 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:52:46 Module PCAN USB initialisé avec succès +2023-06-02 13:52:46 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:52:46 Initialisation du dispositif [test] +2023-06-02 13:52:46 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:52:46 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:52:46 Démarrage d'un module CAN... +2023-06-02 13:52:46 Initialisation d'un module PCAN. Handle:82, Baudrate:28 +2023-06-02 13:52:46 Module PCAN USB initialisé avec succès +2023-06-02 13:52:46 Dispositif [test] initialisé avec succès! + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:53:36 +******************************************************************** +2023-06-02 13:53:36 Démarrage du logiciel OtarcikCAN +2023-06-02 13:53:36 Chargement de la configuration système... +2023-06-02 13:53:36 Configuration système chargée avec succès! +2023-06-02 13:53:36 Initialisation du dispositif [Parker CAN] +2023-06-02 13:53:36 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:53:36 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:53:36 Démarrage d'un module CAN... +2023-06-02 13:53:36 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:53:36 Module PCAN USB initialisé avec succès +2023-06-02 13:53:36 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:53:36 Initialisation du dispositif [test] +2023-06-02 13:53:36 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:53:36 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:53:36 Démarrage d'un module CAN... +2023-06-02 13:53:36 Initialisation d'un module PCAN. Handle:82, Baudrate:28 +2023-06-02 13:53:36 Module PCAN USB initialisé avec succès +2023-06-02 13:53:36 Dispositif [test] initialisé avec succès! + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:54:42 +******************************************************************** +2023-06-02 13:54:42 Démarrage du logiciel OtarcikCAN +2023-06-02 13:54:42 Chargement de la configuration système... +2023-06-02 13:54:42 Configuration système chargée avec succès! +2023-06-02 13:54:42 Initialisation du dispositif [Parker CAN] +2023-06-02 13:54:42 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:54:42 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:54:42 Démarrage d'un module CAN... +2023-06-02 13:54:42 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:54:42 Module PCAN USB initialisé avec succès +2023-06-02 13:54:42 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:54:42 Initialisation du dispositif [test] +2023-06-02 13:54:42 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 13:54:42 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:54:42 Démarrage d'un module CAN... +2023-06-02 13:54:42 Initialisation d'un module PCAN. Handle:82, Baudrate:28 +2023-06-02 13:54:42 Module PCAN USB initialisé avec succès +2023-06-02 13:54:42 Dispositif [test] initialisé avec succès! +2023-06-02 13:54:55 Sauvegarde de la configuration système... +2023-06-02 13:54:55 Configuration système sauvegardée avec succès. +2023-06-02 13:54:55 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:54:55 Module PCAN USB déinitialisé avec succès... +2023-06-02 13:54:55 Déinitialisation du module PCAN USB ID 82 +2023-06-02 13:54:55 Module PCAN USB déinitialisé avec succès... +2023-06-02 13:54:55 Initialisation du dispositif [Parker CAN] +2023-06-02 13:54:55 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:54:55 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:54:55 Démarrage d'un module CAN... +2023-06-02 13:54:55 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:54:55 Module PCAN USB initialisé avec succès +2023-06-02 13:54:55 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:54:59 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:54:59 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:55:02 +******************************************************************** +2023-06-02 13:55:02 Démarrage du logiciel OtarcikCAN +2023-06-02 13:55:02 Chargement de la configuration système... +2023-06-02 13:55:02 Configuration système chargée avec succès! +2023-06-02 13:55:02 Initialisation du dispositif [Parker CAN] +2023-06-02 13:55:02 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:55:02 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:55:02 Démarrage d'un module CAN... +2023-06-02 13:55:02 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:55:02 Module PCAN USB initialisé avec succès +2023-06-02 13:55:02 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:55:16 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:55:16 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:56:15 +******************************************************************** +2023-06-02 13:56:15 Démarrage du logiciel OtarcikCAN +2023-06-02 13:56:15 Chargement de la configuration système... +2023-06-02 13:56:15 Configuration système chargée avec succès! +2023-06-02 13:56:15 Initialisation du dispositif [Parker CAN] +2023-06-02 13:56:15 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:56:15 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:56:15 Démarrage d'un module CAN... +2023-06-02 13:56:15 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:56:15 Module PCAN USB initialisé avec succès +2023-06-02 13:56:15 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 13:57:11 Déinitialisation du module PCAN USB ID 81 +2023-06-02 13:57:11 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:58:24 +******************************************************************** +2023-06-02 13:58:24 Démarrage du logiciel OtarcikCAN +2023-06-02 13:58:24 Chargement de la configuration système... +2023-06-02 13:58:24 Configuration système chargée avec succès! +2023-06-02 13:58:24 Initialisation du dispositif [Parker CAN] +2023-06-02 13:58:24 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:58:24 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:58:24 Démarrage d'un module CAN... +2023-06-02 13:58:33 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:58:33 Module PCAN USB initialisé avec succès +2023-06-02 13:58:33 Dispositif [Parker CAN] initialisé avec succès! + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 13:59:59 +******************************************************************** +2023-06-02 13:59:59 Démarrage du logiciel OtarcikCAN +2023-06-02 13:59:59 Chargement de la configuration système... +2023-06-02 13:59:59 Configuration système chargée avec succès! +2023-06-02 13:59:59 Initialisation du dispositif [Parker CAN] +2023-06-02 13:59:59 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 13:59:59 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 13:59:59 Démarrage d'un module CAN... +2023-06-02 13:59:59 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 13:59:59 Module PCAN USB initialisé avec succès +2023-06-02 13:59:59 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:00:14 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:00:14 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:00:25 +******************************************************************** +2023-06-02 14:00:25 Démarrage du logiciel OtarcikCAN +2023-06-02 14:00:25 Chargement de la configuration système... +2023-06-02 14:00:25 Configuration système chargée avec succès! +2023-06-02 14:00:25 Initialisation du dispositif [Parker CAN] +2023-06-02 14:00:25 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:00:25 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:00:25 Démarrage d'un module CAN... +2023-06-02 14:00:25 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 14:00:25 Module PCAN USB initialisé avec succès +2023-06-02 14:00:25 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:00:56 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:00:56 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:01:03 +******************************************************************** +2023-06-02 14:01:03 Démarrage du logiciel OtarcikCAN +2023-06-02 14:01:03 Chargement de la configuration système... +2023-06-02 14:01:03 Configuration système chargée avec succès! +2023-06-02 14:01:03 Initialisation du dispositif [Parker CAN] +2023-06-02 14:01:03 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:01:03 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:01:03 Démarrage d'un module CAN... +2023-06-02 14:01:03 Initialisation d'un module PCAN. Handle:81, Baudrate:28 +2023-06-02 14:01:03 Module PCAN USB initialisé avec succès +2023-06-02 14:01:03 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:01:14 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:01:14 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:02:18 +******************************************************************** +2023-06-02 14:02:18 Démarrage du logiciel OtarcikCAN +2023-06-02 14:02:18 Chargement de la configuration système... +2023-06-02 14:02:18 Configuration système chargée avec succès! +2023-06-02 14:02:18 Initialisation du dispositif [Parker CAN] +2023-06-02 14:02:18 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:02:18 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:02:18 Démarrage d'un module CAN... +2023-06-02 14:02:19 Initialisation d'un module PCAN. Handle:51, Baudrate:28 +2023-06-02 14:02:19 Module PCAN USB initialisé avec succès +2023-06-02 14:02:19 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:02:20 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:02:20 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:02:29 +******************************************************************** +2023-06-02 14:02:29 Démarrage du logiciel OtarcikCAN +2023-06-02 14:02:29 Chargement de la configuration système... +2023-06-02 14:02:29 Configuration système chargée avec succès! +2023-06-02 14:02:29 Initialisation du dispositif [Parker CAN] +2023-06-02 14:02:29 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:02:29 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:02:29 Démarrage d'un module CAN... +2023-06-02 14:02:29 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:02:29 Module PCAN USB initialisé avec succès +2023-06-02 14:02:29 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:02:35 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:02:35 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:05:03 +******************************************************************** +2023-06-02 14:05:03 Démarrage du logiciel OtarcikCAN +2023-06-02 14:05:03 Chargement de la configuration système... +2023-06-02 14:05:03 Configuration système chargée avec succès! +2023-06-02 14:05:03 Initialisation du dispositif [Parker CAN] +2023-06-02 14:05:03 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:05:03 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:05:03 Démarrage d'un module CAN... +2023-06-02 14:05:03 Module PCAN à l'adresse 1 utilise le handle 0x51 +2023-06-02 14:05:03 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:05:03 Module PCAN USB initialisé avec succès +2023-06-02 14:05:03 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:05:16 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:05:16 Module PCAN USB déinitialisé avec succès... + + +******************************************************************** +Démarrage du logiciel Otarcik CAN le 2023-06-02 à 14:05:36 +******************************************************************** +2023-06-02 14:05:36 Démarrage du logiciel OtarcikCAN +2023-06-02 14:05:36 Chargement de la configuration système... +2023-06-02 14:05:36 Configuration système chargée avec succès! +2023-06-02 14:05:36 Initialisation du dispositif [Parker CAN] +2023-06-02 14:05:36 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:05:36 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:05:36 Démarrage d'un module CAN... +2023-06-02 14:05:36 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2023-06-02 14:05:36 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:05:36 Module PCAN USB initialisé avec succès +2023-06-02 14:05:36 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:06:00 Sauvegarde de la configuration système... +2023-06-02 14:06:00 Configuration système sauvegardée avec succès. +2023-06-02 14:06:00 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:06:00 Module PCAN USB déinitialisé avec succès... +2023-06-02 14:06:00 Initialisation du dispositif [Parker CAN] +2023-06-02 14:06:00 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:06:00 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:06:00 Démarrage d'un module CAN... +2023-06-02 14:06:00 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2023-06-02 14:06:00 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:06:00 Module PCAN USB initialisé avec succès +2023-06-02 14:06:00 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:06:00 Initialisation du dispositif [test] +2023-06-02 14:06:00 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/mazda_3_2019.dbc +2023-06-02 14:06:00 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:06:00 Démarrage d'un module CAN... +2023-06-02 14:06:00 Module PCAN trouvé à l'adresse 2 avec le handle 0x52 +2023-06-02 14:06:00 Initialisation d'un module PCAN. Handle:0x52, Baudrate:28 +2023-06-02 14:06:00 Module PCAN USB initialisé avec succès +2023-06-02 14:06:00 Dispositif [test] initialisé avec succès! +2023-06-02 14:07:38 Sauvegarde de la configuration système... +2023-06-02 14:07:38 Configuration système sauvegardée avec succès. +2023-06-02 14:07:38 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:07:38 Module PCAN USB déinitialisé avec succès... +2023-06-02 14:07:38 Déinitialisation du module PCAN USB ID 82 +2023-06-02 14:07:38 Module PCAN USB déinitialisé avec succès... +2023-06-02 14:07:38 Initialisation du dispositif [Parker CAN] +2023-06-02 14:07:38 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:07:38 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:07:38 Démarrage d'un module CAN... +2023-06-02 14:07:38 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2023-06-02 14:07:39 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:07:39 Module PCAN USB initialisé avec succès +2023-06-02 14:07:39 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:07:48 Sauvegarde de la configuration système... +2023-06-02 14:07:48 Configuration système sauvegardée avec succès. +2023-06-02 14:07:48 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:07:48 Module PCAN USB déinitialisé avec succès... +2023-06-02 14:07:48 Initialisation du dispositif [Parker CAN] +2023-06-02 14:07:48 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/IVT-S_all-variations_12082020.dbc +2023-06-02 14:07:48 Base de données chargée avec succès. Flags: 0x0 +2023-06-02 14:07:48 Démarrage d'un module CAN... +2023-06-02 14:07:48 Module PCAN trouvé à l'adresse 1 avec le handle 0x51 +2023-06-02 14:07:48 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28 +2023-06-02 14:07:48 Module PCAN USB initialisé avec succès +2023-06-02 14:07:48 Dispositif [Parker CAN] initialisé avec succès! +2023-06-02 14:07:48 Initialisation du dispositif [test] +2023-06-02 14:07:48 Chargement de la base de données ./ +2023-06-02 14:07:48 Erreur de base de données: impossible de charger le fichier ./ +2023-06-02 14:07:48 Démarrage d'un module CAN... +2023-06-02 14:07:48 Module PCAN trouvé à l'adresse 3 avec le handle 0x0 +2023-06-02 14:07:48 Initialisation d'un module PCAN. Handle:0x0, Baudrate:28 +2023-06-02 14:07:48 Impossible d'initialiser un module USB PCAN. Erreur:The value of a handle (PCAN-Channel, PCAN-Hardware, PCAN-Net, PCAN-Client) is invalid +2023-06-02 14:07:48 Impossible d'initialiser le matériel CAN +2023-06-02 14:07:48 Le dispositif [test] n'a pas pu s'initialiser +2023-06-02 14:08:16 Déinitialisation du module PCAN USB ID 81 +2023-06-02 14:08:16 Module PCAN USB déinitialisé avec succès... +2023-06-02 14:08:16 Déinitialisation du module PCAN USB ID 0 +2023-06-02 14:08:16 Module PCAN USB déinitialisé avec succès... diff --git a/Otarcik_CAN/Makefile b/Otarcik_CAN/Makefile index ae50cd7..abeb0d9 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+=qtquickcompiler" +# 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" ############################################################################# MAKEFILE = Makefile EQ = = -first: release -install: release-install -uninstall: release-uninstall +first: debug +install: debug-install +uninstall: debug-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 = \ - release \ - debug + debug \ + release -release: FORCE - $(MAKE) -f $(MAKEFILE).Release -release-make_first: FORCE - $(MAKE) -f $(MAKEFILE).Release -release-all: FORCE - $(MAKE) -f $(MAKEFILE).Release all -release-clean: FORCE - $(MAKE) -f $(MAKEFILE).Release clean -release-distclean: FORCE - $(MAKE) -f $(MAKEFILE).Release distclean -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 @@ -69,6 +55,20 @@ 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 + $(MAKE) -f $(MAKEFILE).Release +release-all: FORCE + $(MAKE) -f $(MAKEFILE).Release all +release-clean: FORCE + $(MAKE) -f $(MAKEFILE).Release clean +release-distclean: FORCE + $(MAKE) -f $(MAKEFILE).Release distclean +release-install: FORCE + $(MAKE) -f $(MAKEFILE).Release install +release-uninstall: FORCE + $(MAKE) -f $(MAKEFILE).Release 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 \ @@ -237,11 +237,11 @@ 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/resources_functions.prf \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qtquickcompiler.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 \ @@ -262,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+=qtquickcompiler" + $(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" 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: @@ -430,11 +430,11 @@ 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/resources_functions.prf: -C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qtquickcompiler.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: @@ -456,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+=qtquickcompiler" + @$(QMAKE) -o Makefile Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" qmake_all: 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 +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 -$(DEL_FILE) Makefile -release-mocclean: - $(MAKE) -f $(MAKEFILE).Release mocclean debug-mocclean: $(MAKE) -f $(MAKEFILE).Debug mocclean -mocclean: release-mocclean debug-mocclean +release-mocclean: + $(MAKE) -f $(MAKEFILE).Release mocclean +mocclean: debug-mocclean release-mocclean -release-mocables: - $(MAKE) -f $(MAKEFILE).Release mocables debug-mocables: $(MAKE) -f $(MAKEFILE).Debug mocables -mocables: release-mocables debug-mocables +release-mocables: + $(MAKE) -f $(MAKEFILE).Release mocables +mocables: debug-mocables release-mocables check: first benchmark: first FORCE: -$(MAKEFILE).Release: Makefile $(MAKEFILE).Debug: Makefile +$(MAKEFILE).Release: Makefile diff --git a/Otarcik_CAN/Makefile.Debug b/Otarcik_CAN/Makefile.Debug index eba2bfd..d3352e5 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_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN +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_SERIALPORT_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 -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\QtSerialPort -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++ @@ -167,12 +167,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+=qtquickcompiler" + @$(QMAKE) -o Makefile.Debug Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" 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_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\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qtquickcompiler.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.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\Qt5SerialPort.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\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\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.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_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\Qt5SerialPort.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\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\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.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\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 @@ -189,11 +189,6 @@ check: first benchmark: first -compiler_qmlcache_make_all: -compiler_qmlcache_clean: -compiler_qmlcache_loader_make_all: debug/qmlcache_loader.cpp -compiler_qmlcache_loader_clean: - -$(DEL_FILE) debug\qmlcache_loader.cpp compiler_no_pch_compiler_make_all: compiler_no_pch_compiler_clean: compiler_rcc_make_all: @@ -3077,6 +3072,9 @@ debug/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/General C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qdesktopwidget.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qguiapplication.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qinputmethod.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QLabel \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qlabel.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QPushButton \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qpushbutton.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractbutton.h \ @@ -3084,7 +3082,6 @@ debug/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/General C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTextEdit \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtextedit.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractscrollarea.h \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextdocument.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextoption.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextcursor.h \ @@ -3093,7 +3090,9 @@ debug/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/General C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QStringList \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QScrollBar \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qscrollbar.h \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractslider.h + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractslider.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QLibrary \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/qlibrary.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\GeneralStatusPage.o Sources\Gui\GeneralStatusPage.cpp debug/GeneralMessagesLogDispatcher.o: Sources/GeneralMessagesLogDispatcher.cpp Sources/GeneralMessagesLogDispatcher.h \ @@ -6126,7 +6125,74 @@ debug/MQTTClientWrapper.o: Sources/CloudLogging/MQTTClientWrapper.cpp Sources/Cl C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtMqtt/qtmqttversion.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtMqtt/QMqttClient \ Sources/CloudLogging/CloudParams.h \ - Sources/CloudLogging/MQTTMessage.h + Sources/CloudLogging/MQTTMessage.h \ + Sources/OtarcikCan.h \ + Sources/MainWindow.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QMainWindow \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qmainwindow.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtwidgetsglobal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtguiglobal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtgui-config.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtwidgets-config.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qwidget.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qwindowdefs.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qwindowdefs_win.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpaintdevice.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpalette.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qcolor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qrgb.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qrgba64.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qbrush.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qmatrix.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpolygon.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qregion.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtransform.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpainterpath.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qimage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpixelformat.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpixmap.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfont.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfontmetrics.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfontinfo.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qsizepolicy.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qcursor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qkeysequence.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qevent.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qvector2d.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtouchdevice.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtabwidget.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qicon.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTabWidget \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTextEdit \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtextedit.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractscrollarea.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextdocument.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextoption.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextcursor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextformat.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpen.h \ + Sources/Gui/GeneralStatusPage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QWidget \ + Sources/Gui/CANbusSettingsPage.h \ + Sources/Gui/CANViewerPage.h \ + Sources/CANBus/CANMessage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QDataStream \ + Sources/PCAN/PCANBasic.h \ + Sources/CANBus/CANSignal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QtGlobal \ + Sources/Gui/LoggingSettingsPage.h \ + Sources/PCANInterface.h \ + Sources/GeneralMessagesLogDispatcher.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QFile \ + Sources/CANBus/CANDevice.h \ + Sources/CANBus/CANAnalyzer.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QTimer \ + Sources/CANDatabase/CANDatabase.h \ + Sources/KVASER/kvaDbLib.h \ + Sources/CANBus/CANDeviceConfig.h \ + Sources/CANBus/CANDataLogger.h \ + Sources/SystemConfig.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\MQTTClientWrapper.o Sources\CloudLogging\MQTTClientWrapper.cpp debug/moc_MainWindow.o: debug/moc_MainWindow.cpp diff --git a/Otarcik_CAN/Makefile.Release b/Otarcik_CAN/Makefile.Release index 9cc22c5..ad52c02 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_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_MQTT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN +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_SERIALPORT_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 -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\QtSerialPort -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++ @@ -167,12 +167,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+=qtquickcompiler" + @$(QMAKE) -o Makefile.Release Otarcik_CAN.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" 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_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\resources_functions.prf C:\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\qtquickcompiler.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.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\Qt5SerialPort.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\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\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.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_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\Qt5SerialPort.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\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\MainWindow.ui Sources\Gui\GeneralStatusPage.ui Sources\Gui\CANViewerPage.ui Sources\Gui\CANbusSettingsPage.ui Sources\Gui\LoggingSettingsPage.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\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 @@ -189,11 +189,6 @@ check: first benchmark: first -compiler_qmlcache_make_all: -compiler_qmlcache_clean: -compiler_qmlcache_loader_make_all: release/qmlcache_loader.cpp -compiler_qmlcache_loader_clean: - -$(DEL_FILE) release\qmlcache_loader.cpp compiler_no_pch_compiler_make_all: compiler_no_pch_compiler_clean: compiler_rcc_make_all: @@ -3077,6 +3072,9 @@ release/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/Gener C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qdesktopwidget.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qguiapplication.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qinputmethod.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QLabel \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qlabel.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QPushButton \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qpushbutton.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractbutton.h \ @@ -3084,7 +3082,6 @@ release/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/Gener C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTextEdit \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtextedit.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractscrollarea.h \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextdocument.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextoption.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextcursor.h \ @@ -3093,7 +3090,9 @@ release/GeneralStatusPage.o: Sources/Gui/GeneralStatusPage.cpp Sources/Gui/Gener C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QStringList \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QScrollBar \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qscrollbar.h \ - C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractslider.h + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractslider.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QLibrary \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/qlibrary.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\GeneralStatusPage.o Sources\Gui\GeneralStatusPage.cpp release/GeneralMessagesLogDispatcher.o: Sources/GeneralMessagesLogDispatcher.cpp Sources/GeneralMessagesLogDispatcher.h \ @@ -6126,7 +6125,74 @@ release/MQTTClientWrapper.o: Sources/CloudLogging/MQTTClientWrapper.cpp Sources/ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtMqtt/qtmqttversion.h \ C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtMqtt/QMqttClient \ Sources/CloudLogging/CloudParams.h \ - Sources/CloudLogging/MQTTMessage.h + Sources/CloudLogging/MQTTMessage.h \ + Sources/OtarcikCan.h \ + Sources/MainWindow.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QMainWindow \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qmainwindow.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtwidgetsglobal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtguiglobal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtgui-config.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtwidgets-config.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qwidget.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qwindowdefs.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qwindowdefs_win.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpaintdevice.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpalette.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qcolor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qrgb.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qrgba64.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qbrush.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qmatrix.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpolygon.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qregion.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtransform.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpainterpath.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qimage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpixelformat.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpixmap.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfont.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfontmetrics.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qfontinfo.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qsizepolicy.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qcursor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qkeysequence.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qevent.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qvector2d.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtouchdevice.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtabwidget.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qicon.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTabWidget \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QTextEdit \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qtextedit.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qabstractscrollarea.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/qframe.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextdocument.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextoption.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextcursor.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qtextformat.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui/qpen.h \ + Sources/Gui/GeneralStatusPage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets/QWidget \ + Sources/Gui/CANbusSettingsPage.h \ + Sources/Gui/CANViewerPage.h \ + Sources/CANBus/CANMessage.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QDataStream \ + Sources/PCAN/PCANBasic.h \ + Sources/CANBus/CANSignal.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QtGlobal \ + Sources/Gui/LoggingSettingsPage.h \ + Sources/PCANInterface.h \ + Sources/GeneralMessagesLogDispatcher.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QFile \ + Sources/CANBus/CANDevice.h \ + Sources/CANBus/CANAnalyzer.h \ + C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore/QTimer \ + Sources/CANDatabase/CANDatabase.h \ + Sources/KVASER/kvaDbLib.h \ + Sources/CANBus/CANDeviceConfig.h \ + Sources/CANBus/CANDataLogger.h \ + Sources/SystemConfig.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\MQTTClientWrapper.o Sources\CloudLogging\MQTTClientWrapper.cpp release/moc_MainWindow.o: release/moc_MainWindow.cpp diff --git a/Otarcik_CAN/Sources/CANBus/CANAnalyzer.cpp b/Otarcik_CAN/Sources/CANBus/CANAnalyzer.cpp index ddcf77b..64d07da 100644 --- a/Otarcik_CAN/Sources/CANBus/CANAnalyzer.cpp +++ b/Otarcik_CAN/Sources/CANBus/CANAnalyzer.cpp @@ -26,7 +26,7 @@ CCANAnalyzer::~CCANAnalyzer() delete mCANReadTimer; } -int CCANAnalyzer::Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList *MsgList, unsigned int PollPeriod) +int CCANAnalyzer::Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList *MsgList, unsigned int PollPeriod) { if(MsgList == 0) { @@ -39,13 +39,22 @@ int CCANAnalyzer::Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaud } + mCANDeviceChannel = CANDeviceChannel; mCANPollPeriod = PollPeriod; CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN..."); mDeviceMessagesList = MsgList; - if(mCANDriverIF->Init(mCANDeviceChannel,CANDeviceBaudrate) != RET_OK) + if(mCANDriverIF->GetDeviceHandle(mCANDeviceChannel,mCANDeviceHandle) != RET_OK) + { + QString Log = QString("Impossible de trouver le module CAN avec le channel %1").arg(mCANDeviceChannel); + CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS); + mIsCANInitialized = false; + return RET_GENERAL_ERROR; + } + + if(mCANDriverIF->Init(mCANDeviceHandle,CANDeviceBaudrate) != RET_OK) { CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN",true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS); mIsCANInitialized = false; @@ -80,9 +89,9 @@ int CCANAnalyzer::ReadCAN() void CCANAnalyzer::CANTimerExpired() { - QList NewMessagesList = mCANDriverIF->ReadCANFullBuffer(mCANDeviceChannel); + QList NewMessagesList = mCANDriverIF->ReadCANFullBuffer(mCANDeviceHandle); -// qDebug("CAN Buffer size: %d",NewMessagesList.size()); + qDebug("CAN Buffer size: %d",NewMessagesList.size()); for(int i = 0 ; i < NewMessagesList.size(); i++) diff --git a/Otarcik_CAN/Sources/CANBus/CANAnalyzer.h b/Otarcik_CAN/Sources/CANBus/CANAnalyzer.h index e331223..31298a2 100644 --- a/Otarcik_CAN/Sources/CANBus/CANAnalyzer.h +++ b/Otarcik_CAN/Sources/CANBus/CANAnalyzer.h @@ -23,14 +23,15 @@ public: QTimer *mCANReadTimer; unsigned int mCANPollPeriod; - int Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList *MsgList, unsigned int PollPeriod); + int Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList *MsgList, unsigned int PollPeriod); int ReadCAN(); QList *mDeviceMessagesList; private: bool mIsCANInitialized; - TPCANHandle mCANDeviceChannel; + TPCANHandle mCANDeviceHandle; + quint8 mCANDeviceChannel; signals: diff --git a/Otarcik_CAN/Sources/CANBus/CANDevice.cpp b/Otarcik_CAN/Sources/CANBus/CANDevice.cpp index 1d9f9b0..2646075 100644 --- a/Otarcik_CAN/Sources/CANBus/CANDevice.cpp +++ b/Otarcik_CAN/Sources/CANBus/CANDevice.cpp @@ -67,14 +67,17 @@ int CCANDevice::Init() mMessagesListLoaded = false; } } + if(mCANAnalyzer.Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK) { CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Le dispositif [%1] n'a pas pu s'initialiser").arg(mDeviceConfigInfo.mDeviceName),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS); + mProgramPtr->SetCANConnectionStatusRequest(false); return RET_GENERAL_ERROR; } mCANDataLogger.SetMQTTTopicDevice(QString("CANBus/%1/").arg(mDeviceConfigInfo.mDeviceName)); mCANDataLogger.SetMQTTClient(mCANMQTTClient); + mProgramPtr->SetCANConnectionStatusRequest(true); CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Dispositif [%1] initialisé avec succès!").arg(mDeviceConfigInfo.mDeviceName),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS); return RET_OK; diff --git a/Otarcik_CAN/Sources/CANBus/CANDeviceConfig.h b/Otarcik_CAN/Sources/CANBus/CANDeviceConfig.h index d066c74..2fd0b51 100644 --- a/Otarcik_CAN/Sources/CANBus/CANDeviceConfig.h +++ b/Otarcik_CAN/Sources/CANBus/CANDeviceConfig.h @@ -11,7 +11,8 @@ public: CCANDeviceConfig(); CCANDeviceConfig(CCANDeviceConfig &Other); - TPCANHandle mCANDeviceID; + //TPCANHandle mCANDeviceID; + quint8 mCANDeviceID; TPCANBaudrate mCANDeviceBaudrate; QString mCANDeviceDatabaseFilename; QString mDeviceDescription; diff --git a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp index 6f51877..477d138 100644 --- a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp +++ b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.cpp @@ -1,11 +1,12 @@ #include "MQTTClientWrapper.h" - +#include "OtarcikCan.h" CMQTTClientWrapper::CMQTTClientWrapper() { connect(&mMQTTClient,&QMqttClient::stateChanged,this,&CMQTTClientWrapper::StateChanged); mMQTTRefreshTimer = new QTimer; mMQTTRefreshTimer->setSingleShot(true); + mProgramPtr = 0; } CMQTTClientWrapper::~CMQTTClientWrapper() @@ -79,10 +80,12 @@ void CMQTTClientWrapper::StateChanged() case QMqttClient::Disconnected: { qDebug("MQTT client Disconnected"); + mProgramPtr->SetMQTTConnectionSatusRequest(false); break; } case QMqttClient::Connected: { + mProgramPtr->SetMQTTConnectionSatusRequest(true); qDebug("MQTT client Connected"); break; } diff --git a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h index ba7e75a..3996876 100644 --- a/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h +++ b/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h @@ -8,6 +8,8 @@ #include "MQTTMessage.h" #include +class COtarcikCan; + class CMQTTClientWrapper : public QObject { Q_OBJECT @@ -20,9 +22,11 @@ public: int DisconnectFromBroker(); int SendMQTTTestMessage(); + COtarcikCan *mProgramPtr; QString mMQTTClientID; QTimer *mMQTTRefreshTimer; + private: QMqttClient mMQTTClient; CCloudParams mMQTTParams; diff --git a/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.cpp b/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.cpp index 4476286..e82754c 100644 --- a/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.cpp +++ b/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.cpp @@ -42,7 +42,7 @@ CCANbusSettingsPage::CCANbusSettingsPage(QWidget *parent) : ui->mCANBaudrateComboBx->addItem("PCAN_BAUD_5K",QVariant(PCAN_BAUD_5K)); - ui->mCANIDComboBx->addItem("PCAN_USBBUS1",QVariant(PCAN_USBBUS1)); + /* ui->mCANIDComboBx->addItem("PCAN_USBBUS1",QVariant(PCAN_USBBUS1)); ui->mCANIDComboBx->addItem("PCAN_USBBUS2",QVariant(PCAN_USBBUS2)); ui->mCANIDComboBx->addItem("PCAN_USBBUS3",QVariant(PCAN_USBBUS3)); ui->mCANIDComboBx->addItem("PCAN_USBBUS4",QVariant(PCAN_USBBUS4)); @@ -57,13 +57,14 @@ CCANbusSettingsPage::CCANbusSettingsPage(QWidget *parent) : ui->mCANIDComboBx->addItem("PCAN_USBBUS13",QVariant(PCAN_USBBUS13)); ui->mCANIDComboBx->addItem("PCAN_USBBUS14",QVariant(PCAN_USBBUS14)); ui->mCANIDComboBx->addItem("PCAN_USBBUS15",QVariant(PCAN_USBBUS15)); - ui->mCANIDComboBx->addItem("PCAN_USBBUS16",QVariant(PCAN_USBBUS16)); + ui->mCANIDComboBx->addItem("PCAN_USBBUS16",QVariant(PCAN_USBBUS16));*/ ui->mDeviceDescriptionTxtEdit->setEnabled(false); ui->mDatabaseFileSelectBtn->hide(); ui->mCANBaudrateComboBx->setEnabled(false); - ui->mCANIDComboBx->setEnabled(false); + //ui->mCANIDComboBx->setEnabled(false); + ui->mCANDeviceIDSpinBx->setEnabled(false); //JFM 2023-06-02 ui->mDevicePollPeriodSpinBx->setEnabled(false); ui->mCancelModifyParamsBtn->hide(); ui->mDeviceNameEditBx->setEnabled(false); @@ -147,7 +148,10 @@ int CCANbusSettingsPage::UpdatePage() //update device information ui->mDeviceNameEditBx->setPlainText(DevConfigInfo->mDeviceName); ui->mCANBaudrateComboBx->setCurrentIndex(ui->mCANBaudrateComboBx->findData(DevConfigInfo->mCANDeviceBaudrate)); - ui->mCANIDComboBx->setCurrentIndex(ui->mCANIDComboBx->findData(DevConfigInfo->mCANDeviceID)); + + //ui->mCANIDComboBx->setCurrentIndex(ui->mCANIDComboBx->findData(DevConfigInfo->mCANDeviceID)); //JFM 2023-06-02 + ui->mCANDeviceIDSpinBx->setValue(DevConfigInfo->mCANDeviceID); + ui->mDeviceDescriptionTxtEdit->setPlainText(DevConfigInfo->mDeviceDescription); QFileInfo FileInfo(DevConfigInfo->mCANDeviceDatabaseFilename); @@ -359,7 +363,10 @@ int CCANbusSettingsPage::ModifyDeviceConfig() CCANDeviceConfig *ModifiedDevice = mCurModifiedDevConfig; //mDeviceConfigList.at(index); ModifiedDevice->mCANDeviceBaudrate = ui->mCANBaudrateComboBx->currentData().toInt(); + ModifiedDevice->mCANDeviceID = ui->mCANIDComboBx->currentData().toInt(); + ModifiedDevice->mCANDeviceID = ui->mCANDeviceIDSpinBx->value(); //JFM 2023-06-02 + ModifiedDevice->mCANDeviceDatabaseFilename = ui->mDatabaseFileNameLbl->toolTip(); //The full path is stored in the tooltip! ModifiedDevice->mDeviceDescription = ui->mDeviceDescriptionTxtEdit->toPlainText(); ModifiedDevice->mDeviceName = ui->mDeviceNameEditBx->toPlainText(); @@ -373,7 +380,8 @@ int CCANbusSettingsPage::ModifyDeviceConfig() ui->mDeviceDescriptionTxtEdit->setEnabled(false); ui->mDatabaseFileSelectBtn->hide(); ui->mCANBaudrateComboBx->setEnabled(false); - ui->mCANIDComboBx->setEnabled(false); + // ui->mCANIDComboBx->setEnabled(false); //JFM 2023-06-02 + ui->mCANDeviceIDSpinBx->setEnabled(false); ui->mDevicesList->setEnabled(true); ui->mDevicePollPeriodSpinBx->setEnabled(false); ui->mModifyDevParamsBtn->setText("Modifier"); @@ -392,7 +400,9 @@ int CCANbusSettingsPage::ModifyDeviceConfig() ui->mDeviceDescriptionTxtEdit->setEnabled(true); ui->mDatabaseFileSelectBtn->show(); ui->mCANBaudrateComboBx->setEnabled(true); - ui->mCANIDComboBx->setEnabled(true); + // ui->mCANIDComboBx->setEnabled(true); //JFM 2023-06-02 + ui->mCANDeviceIDSpinBx->setEnabled(true); + ui->mDevicesList->setEnabled(false); ui->mDevicePollPeriodSpinBx->setEnabled(true); ui->mModifyDevParamsBtn->setText("Sauvegarder"); @@ -411,7 +421,9 @@ void CCANbusSettingsPage::CancelModifyDevBtnPressed() ui->mDeviceDescriptionTxtEdit->setEnabled(false); ui->mDatabaseFileSelectBtn->hide(); ui->mCANBaudrateComboBx->setEnabled(false); - ui->mCANIDComboBx->setEnabled(false); + //ui->mCANIDComboBx->setEnabled(false); + ui->mCANDeviceIDSpinBx->setEnabled(false); + ui->mDevicesList->setEnabled(true); ui->mDevicePollPeriodSpinBx->setEnabled(false); ui->mModifyDevParamsBtn->setText("Modifier"); @@ -449,7 +461,10 @@ void CCANbusSettingsPage::AddDeviceBtnPressed() //update device information ui->mDeviceNameEditBx->setPlainText(NewDevConfig->mDeviceName); ui->mCANBaudrateComboBx->setCurrentIndex(ui->mCANBaudrateComboBx->findData(NewDevConfig->mCANDeviceBaudrate)); - ui->mCANIDComboBx->setCurrentIndex(ui->mCANIDComboBx->findData(NewDevConfig->mCANDeviceID)); + + ui->mCANIDComboBx->setCurrentIndex(ui->mCANIDComboBx->findData(NewDevConfig->mCANDeviceID)); //JFM 2023-06-02 + ui->mCANDeviceIDSpinBx->setValue(NewDevConfig->mCANDeviceID); + ui->mDeviceDescriptionTxtEdit->setPlainText(NewDevConfig->mDeviceDescription); ui->mDatabaseFileNameLbl->setText(NewDevConfig->mCANDeviceDatabaseFilename); ui->mDatabaseFileNameLbl->setToolTip(NewDevConfig->mCANDeviceDatabaseFilename); diff --git a/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.ui b/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.ui index f1acb22..88f34dd 100644 --- a/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.ui +++ b/Otarcik_CAN/Sources/Gui/CANbusSettingsPage.ui @@ -18,7 +18,7 @@ 370 20 - 231 + 321 21 @@ -28,7 +28,7 @@ - Paramètres de la station Otarcik + Paramètres CAN de la station Otarcik @@ -70,9 +70,9 @@ 10 - 60 + 66 91 - 16 + 10 @@ -81,20 +81,7 @@ - Driver CAN ID: - - - - - true - - - - 100 - 59 - 131 - 20 - + CAN Device ID: @@ -253,6 +240,22 @@ + + + + 110 + 60 + 71 + 22 + + + + 1 + + + 255 + + @@ -403,6 +406,19 @@ Supprimer + + + true + + + + 790 + 20 + 131 + 20 + + + diff --git a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.cpp b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.cpp index 1b7d0d0..4effe9f 100644 --- a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.cpp +++ b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.cpp @@ -2,6 +2,7 @@ #include "ui_GeneralStatusPage.h" #include "QStringList" #include +#include CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) : QWidget(parent), @@ -10,6 +11,8 @@ CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) : ui->setupUi(this); connect(ui->mClearGenMsgTxtBtn,&QPushButton::clicked,this,&CGeneralStatusPage::ClearGenMsgAreaBtnPressed); + SetMQTTConnectionStatus(false); + SetCANConnectionStatus(false); } CGeneralStatusPage::~CGeneralStatusPage() @@ -95,3 +98,43 @@ void CGeneralStatusPage::ClearGenMsgAreaBtnPressed() mGenMsgListBoxTextLines.clear(); ui->mGenMsgTextEdit->clear(); } + +int CGeneralStatusPage::SetMQTTConnectionStatus(bool Connected) +{ + if(Connected) + { + ui->mClientMQTTConnStatLbl->setText("CONNECTÉ"); + QPalette pal = QPalette(ui->mClientMQTTConnStatLbl->palette()); + pal.setColor(QPalette::WindowText,QColor(Qt::darkGreen)); + ui->mClientMQTTConnStatLbl->setPalette(pal); + } + else + { + ui->mClientMQTTConnStatLbl->setText("DÉCONNECTÉ"); + QPalette pal = QPalette(ui->mClientMQTTConnStatLbl->palette()); + pal.setColor(QPalette::WindowText,QColor(Qt::red)); + ui->mClientMQTTConnStatLbl->setPalette(pal); + } + + return RET_OK; +} + +int CGeneralStatusPage::SetCANConnectionStatus(bool Connected) +{ + if(Connected) + { + ui->mPuckCANConStatLbl->setText("CONNECTÉE"); + QPalette pal = QPalette(ui->mPuckCANConStatLbl->palette()); + pal.setColor(QPalette::WindowText,QColor(Qt::darkGreen)); + ui->mPuckCANConStatLbl->setPalette(pal); + } + else + { + ui->mPuckCANConStatLbl->setText("DÉCONNECTÉE"); + QPalette pal = QPalette(ui->mPuckCANConStatLbl->palette()); + pal.setColor(QPalette::WindowText,QColor(Qt::red)); + ui->mPuckCANConStatLbl->setPalette(pal); + } + + return RET_OK; +} diff --git a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.h b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.h index 56f8fbd..2951190 100644 --- a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.h +++ b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.h @@ -30,6 +30,9 @@ public: int SetGeneralMsgText(QStringList Txt); int AddGeneralMsgBoxLineEntry(QString LineTxt); + int SetMQTTConnectionStatus(bool Connected); + int SetCANConnectionStatus(bool Connected); + private: Ui::CGeneralStatusPage *ui; diff --git a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.ui b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.ui index 11bc464..e353e40 100644 --- a/Otarcik_CAN/Sources/Gui/GeneralStatusPage.ui +++ b/Otarcik_CAN/Sources/Gui/GeneralStatusPage.ui @@ -7,7 +7,7 @@ 0 0 1725 - 527 + 628 @@ -47,6 +47,82 @@ Nettoyer + + + + 390 + 520 + 81 + 16 + + + + + 12 + + + + Puck CAN: + + + + + + 370 + 550 + 101 + 16 + + + + + 12 + + + + Client MQTT: + + + + + + 470 + 520 + 121 + 16 + + + + + 12 + 75 + true + + + + Déconnectée + + + + + + 470 + 550 + 121 + 16 + + + + + 12 + 75 + true + + + + Déconnecté + + diff --git a/Otarcik_CAN/Sources/OtarcikCan.cpp b/Otarcik_CAN/Sources/OtarcikCan.cpp index 9280ace..cab0b92 100644 --- a/Otarcik_CAN/Sources/OtarcikCan.cpp +++ b/Otarcik_CAN/Sources/OtarcikCan.cpp @@ -21,6 +21,7 @@ COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent) { mGPTimer = new QTimer; connect(mGPTimer,SIGNAL(timeout()),this,SLOT(GPTimerExpired())); + mCANBusMQTTClient.mProgramPtr = this; } COtarcikCan::~COtarcikCan() @@ -190,3 +191,13 @@ void COtarcikCan::GPTimerExpired() { // mCANBusMQTTClient.SendMQTTTestMessage(); } + +int COtarcikCan::SetCANConnectionStatusRequest(bool Connected) +{ + mMainWindow.mGeneralStatusPage->SetCANConnectionStatus(Connected); +} + +int COtarcikCan::SetMQTTConnectionSatusRequest(bool Connected) +{ + mMainWindow.mGeneralStatusPage->SetMQTTConnectionStatus(Connected); +} diff --git a/Otarcik_CAN/Sources/OtarcikCan.h b/Otarcik_CAN/Sources/OtarcikCan.h index ba9ef44..b7798c3 100644 --- a/Otarcik_CAN/Sources/OtarcikCan.h +++ b/Otarcik_CAN/Sources/OtarcikCan.h @@ -32,6 +32,9 @@ public: int SaveCANDevicesConfigRequest(QList *DevicesConfigList); int SaveCloudLoggingConfigRequest(CCloudParams *CloudParams); + int SetCANConnectionStatusRequest(bool Connected); + int SetMQTTConnectionSatusRequest(bool Connected); + private: QList mCANDevicesList; CCloudParams mCloudLoggingParams; diff --git a/Otarcik_CAN/Sources/PCANInterface.cpp b/Otarcik_CAN/Sources/PCANInterface.cpp index 143e8bb..09b675e 100644 --- a/Otarcik_CAN/Sources/PCANInterface.cpp +++ b/Otarcik_CAN/Sources/PCANInterface.cpp @@ -28,14 +28,30 @@ CPCANInterface::CPCANInterface(QObject *parent) : QObject(parent) CANInterfaceOpened = false; } -int CPCANInterface::Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANBaudRate) +int CPCANInterface::GetDeviceHandle(quint8 DeviceID, TPCANHandle &Handle) +{ + TPCANHandle TempHandle; + QString Parameters = QString("devicetype=pcan_usb, deviceid=%1").arg(DeviceID); + if(CAN_LookUpChannel(Parameters.toLocal8Bit().data(),&TempHandle) != PCAN_ERROR_OK) + { + Handle = 0; + return RET_GENERAL_ERROR; + } + Handle = TempHandle; + + CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Module PCAN trouvé à l'adresse %1 avec le handle 0x%2").arg(DeviceID).arg(Handle,0,16)); + + return RET_OK; +} + +int CPCANInterface::Init(TPCANHandle CANDeviceHandle, TPCANBaudrate CANBaudRate) { mInterfaceBaudrate = CANBaudRate; - mInterfaceCANHandle = CANDeviceChannel; + mInterfaceCANHandle = CANDeviceHandle; TPCANStatus Result; - Result = CAN_Initialize(CANDeviceChannel, CANBaudRate); - CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation d'un module PCAN. Channel:%1, Baudrate:%2").arg(CANDeviceChannel).arg(CANBaudRate)); + Result = CAN_Initialize(CANDeviceHandle, CANBaudRate); + CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation d'un module PCAN. Handle:0x%1, Baudrate:%2").arg(CANDeviceHandle,0,16).arg(CANBaudRate)); if(Result != PCAN_ERROR_OK) { diff --git a/Otarcik_CAN/Sources/PCANInterface.h b/Otarcik_CAN/Sources/PCANInterface.h index 178f8aa..e534713 100644 --- a/Otarcik_CAN/Sources/PCANInterface.h +++ b/Otarcik_CAN/Sources/PCANInterface.h @@ -15,9 +15,10 @@ class CPCANInterface : public QObject Q_OBJECT public: explicit CPCANInterface(QObject *parent = 0); - int Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANBaudRate); + int Init(TPCANHandle CANDeviceHandle, TPCANBaudrate CANBaudRate); int DeInit(); bool IsInterfaceOpened(){return CANInterfaceOpened;} + int GetDeviceHandle(quint8 DeviceID, TPCANHandle &Handle); bool CANInterfaceOpened; QList ReadCANFullBuffer(unsigned short Channel); diff --git a/Otarcik_CAN/debug/Otarcik_CAN.exe b/Otarcik_CAN/debug/Otarcik_CAN.exe index 2137e7335368ad24b032f002a48ad6a745fc91ba..7c013dc53e8b784dac9c17280452ae1ab97a63e9 100644 GIT binary patch delta 3186189 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Πz}P{;8!gl$2HTkxtzX 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