Ajout Syslog et début de logging du buffering
This commit is contained in:
parent
454935965f
commit
40093d5acf
Binary file not shown.
@ -5422,3 +5422,398 @@ Démarrage du logiciel Otarcik CAN le 2023-10-29 à 15:20:29
|
||||
2023-10-29 15:20:29 Initialisation du dispositif [MasterCAN]
|
||||
2023-10-29 15:20:29 Démarrage d'un module CAN...
|
||||
2023-10-29 15:20:29 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-10-30 à 15:00:20
|
||||
********************************************************************
|
||||
2023-10-30 15:00:21 Librairie Axiomtek chargée avec succès
|
||||
2023-10-30 15:00:21 Watchdog CPU arrêté
|
||||
2023-10-30 15:00:21 Chargement de la configuration système...
|
||||
2023-10-30 15:00:21 Configuration système chargée avec succès!
|
||||
2023-10-30 15:00:21 Initialisation du dispositif [MasterCAN]
|
||||
2023-10-30 15:00:21 Démarrage d'un module CAN...
|
||||
2023-10-30 15:00:21 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-02 à 14:07:38
|
||||
********************************************************************
|
||||
2023-11-02 14:07:39 Librairie Axiomtek chargée avec succès
|
||||
2023-11-02 14:07:39 Watchdog CPU arrêté
|
||||
2023-11-02 14:07:39 Chargement de la configuration système...
|
||||
2023-11-02 14:07:39 Configuration système chargée avec succès!
|
||||
2023-11-02 14:07:39 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-02 14:07:39 Démarrage d'un module CAN...
|
||||
2023-11-02 14:07:39 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-02 à 14:08:18
|
||||
********************************************************************
|
||||
2023-11-02 14:08:18 Librairie Axiomtek chargée avec succès
|
||||
2023-11-02 14:08:18 Watchdog CPU arrêté
|
||||
2023-11-02 14:08:18 Chargement de la configuration système...
|
||||
2023-11-02 14:08:18 Configuration système chargée avec succès!
|
||||
2023-11-02 14:08:18 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-02 14:08:18 Démarrage d'un module CAN...
|
||||
2023-11-02 14:08:18 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-02 à 14:10:11
|
||||
********************************************************************
|
||||
2023-11-02 14:10:11 Librairie Axiomtek chargée avec succès
|
||||
2023-11-02 14:10:11 Watchdog CPU arrêté
|
||||
2023-11-02 14:10:11 Chargement de la configuration système...
|
||||
2023-11-02 14:10:11 Configuration système chargée avec succès!
|
||||
2023-11-02 14:10:11 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-02 14:10:11 Démarrage d'un module CAN...
|
||||
2023-11-02 14:10:11 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-02 à 14:11:54
|
||||
********************************************************************
|
||||
2023-11-02 14:11:54 Librairie Axiomtek chargée avec succès
|
||||
2023-11-02 14:11:54 Watchdog CPU arrêté
|
||||
2023-11-02 14:11:54 Chargement de la configuration système...
|
||||
2023-11-02 14:11:54 Configuration système chargée avec succès!
|
||||
2023-11-02 14:11:54 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-02 14:11:54 Démarrage d'un module CAN...
|
||||
2023-11-02 14:11:54 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-04 à 14:44:28
|
||||
********************************************************************
|
||||
2023-11-04 14:44:28 Librairie Axiomtek chargée avec succès
|
||||
2023-11-04 14:44:28 Watchdog CPU arrêté
|
||||
2023-11-04 14:44:28 Chargement de la configuration système...
|
||||
2023-11-04 14:44:28 Configuration système chargée avec succès!
|
||||
2023-11-04 14:44:28 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-04 14:44:28 Démarrage d'un module CAN...
|
||||
2023-11-04 14:44:28 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-04 14:44:28 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-04 14:44:28 Module PCAN USB initialisé avec succès
|
||||
2023-11-04 14:44:28 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-04 14:44:28 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-04 14:44:28 Démarrage du Watchdog CAN...
|
||||
2023-11-04 14:44:28 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-04 14:44:28 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-05 à 05:32:14
|
||||
********************************************************************
|
||||
2023-11-05 05:32:14 Librairie Axiomtek chargée avec succès
|
||||
2023-11-05 05:32:14 Watchdog CPU arrêté
|
||||
2023-11-05 05:32:14 Chargement de la configuration système...
|
||||
2023-11-05 05:32:14 Configuration système chargée avec succès!
|
||||
2023-11-05 05:32:14 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-05 05:32:14 Démarrage d'un module CAN...
|
||||
2023-11-05 05:32:14 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-05 05:32:14 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-05 05:32:14 Module PCAN USB initialisé avec succès
|
||||
2023-11-05 05:32:14 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-05 05:32:14 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-05 05:32:14 Démarrage du Watchdog CAN...
|
||||
2023-11-05 05:32:14 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-05 05:32:14 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-05 à 06:21:01
|
||||
********************************************************************
|
||||
2023-11-05 06:21:01 Librairie Axiomtek chargée avec succès
|
||||
2023-11-05 06:21:01 Watchdog CPU arrêté
|
||||
2023-11-05 06:21:01 Chargement de la configuration système...
|
||||
2023-11-05 06:21:01 Configuration système chargée avec succès!
|
||||
2023-11-05 06:21:01 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-05 06:21:01 Démarrage d'un module CAN...
|
||||
2023-11-05 06:21:01 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-05 06:21:01 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-05 06:21:01 Module PCAN USB initialisé avec succès
|
||||
2023-11-05 06:21:01 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-05 06:21:01 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-05 06:21:01 Démarrage du Watchdog CAN...
|
||||
2023-11-05 06:21:01 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-05 06:21:01 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-06 à 14:40:40
|
||||
********************************************************************
|
||||
2023-11-06 14:40:40 Librairie Axiomtek chargée avec succès
|
||||
2023-11-06 14:40:40 Watchdog CPU arrêté
|
||||
2023-11-06 14:40:40 Chargement de la configuration système...
|
||||
2023-11-06 14:40:40 Configuration système chargée avec succès!
|
||||
2023-11-06 14:40:40 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-06 14:40:40 Démarrage d'un module CAN...
|
||||
2023-11-06 14:40:40 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-06 14:40:40 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-06 14:40:40 Module PCAN USB initialisé avec succès
|
||||
2023-11-06 14:40:40 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-06 14:40:40 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-06 14:40:40 Démarrage du Watchdog CAN...
|
||||
2023-11-06 14:40:40 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-06 14:40:40 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-08 à 05:03:51
|
||||
********************************************************************
|
||||
2023-11-08 05:03:51 Librairie Axiomtek chargée avec succès
|
||||
2023-11-08 05:03:51 Watchdog CPU arrêté
|
||||
2023-11-08 05:03:51 Chargement de la configuration système...
|
||||
2023-11-08 05:03:51 Configuration système chargée avec succès!
|
||||
2023-11-08 05:03:51 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-08 05:03:51 Démarrage d'un module CAN...
|
||||
2023-11-08 05:03:51 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-08 05:03:51 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-08 05:03:51 Module PCAN USB initialisé avec succès
|
||||
2023-11-08 05:03:51 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-08 05:03:51 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-08 05:03:51 Démarrage du Watchdog CAN...
|
||||
2023-11-08 05:03:51 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-08 05:03:51 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-08 à 05:27:42
|
||||
********************************************************************
|
||||
2023-11-08 05:27:42 Librairie Axiomtek chargée avec succès
|
||||
2023-11-08 05:27:42 Watchdog CPU arrêté
|
||||
2023-11-08 05:27:42 Chargement de la configuration système...
|
||||
2023-11-08 05:27:42 Configuration système chargée avec succès!
|
||||
2023-11-08 05:27:42 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-08 05:27:42 Démarrage d'un module CAN...
|
||||
2023-11-08 05:27:42 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-08 05:27:42 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-08 05:27:42 Module PCAN USB initialisé avec succès
|
||||
2023-11-08 05:27:42 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-08 05:27:42 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-08 05:27:42 Démarrage du Watchdog CAN...
|
||||
2023-11-08 05:27:42 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-08 05:27:42 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-08 à 15:03:33
|
||||
********************************************************************
|
||||
2023-11-08 15:03:33 Librairie Axiomtek chargée avec succès
|
||||
2023-11-08 15:03:33 Watchdog CPU arrêté
|
||||
2023-11-08 15:03:33 Chargement de la configuration système...
|
||||
2023-11-08 15:03:33 Configuration système chargée avec succès!
|
||||
2023-11-08 15:03:33 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-08 15:03:33 Démarrage d'un module CAN...
|
||||
2023-11-08 15:03:33 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-08 15:03:33 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-08 15:03:33 Module PCAN USB initialisé avec succès
|
||||
2023-11-08 15:03:33 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-08 15:03:33 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-08 15:03:33 Démarrage du Watchdog CAN...
|
||||
2023-11-08 15:03:33 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-08 15:03:33 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-08 à 15:04:31
|
||||
********************************************************************
|
||||
2023-11-08 15:04:31 Librairie Axiomtek chargée avec succès
|
||||
2023-11-08 15:04:31 Watchdog CPU arrêté
|
||||
2023-11-08 15:04:31 Chargement de la configuration système...
|
||||
2023-11-08 15:04:31 Configuration système chargée avec succès!
|
||||
2023-11-08 15:04:31 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-08 15:04:31 Démarrage d'un module CAN...
|
||||
2023-11-08 15:04:31 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||
2023-11-08 15:04:31 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||
2023-11-08 15:04:31 Module PCAN USB initialisé avec succès
|
||||
2023-11-08 15:04:31 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20230822.dbc
|
||||
2023-11-08 15:04:31 Base de données chargée avec succès. Flags: 0x0
|
||||
2023-11-08 15:04:31 Démarrage du Watchdog CAN...
|
||||
2023-11-08 15:04:31 Watchdog CAN initialisé pour le module sur le channel 1
|
||||
2023-11-08 15:04:31 Dispositif [MasterCAN] initialisé avec succès!
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:53:22
|
||||
********************************************************************
|
||||
2023-11-30 18:53:22 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 18:53:22 Watchdog CPU arrêté
|
||||
2023-11-30 18:53:22 Chargement de la configuration système...
|
||||
2023-11-30 18:53:22 Configuration système chargée avec succès!
|
||||
2023-11-30 18:53:22 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 18:53:22 Démarrage d'un module CAN...
|
||||
2023-11-30 18:53:22 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:54:05
|
||||
********************************************************************
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:54:24
|
||||
********************************************************************
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:56:23
|
||||
********************************************************************
|
||||
2023-11-30 18:56:44 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 18:56:46 Watchdog CPU arrêté
|
||||
2023-11-30 18:56:46 Chargement de la configuration système...
|
||||
2023-11-30 18:56:47 Configuration système chargée avec succès!
|
||||
2023-11-30 18:56:47 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 18:56:47 Démarrage d'un module CAN...
|
||||
2023-11-30 18:56:47 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:57:56
|
||||
********************************************************************
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:58:11
|
||||
********************************************************************
|
||||
2023-11-30 18:58:11 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 18:58:11 Watchdog CPU arrêté
|
||||
2023-11-30 18:58:11 Chargement de la configuration système...
|
||||
2023-11-30 18:58:11 Configuration système chargée avec succès!
|
||||
2023-11-30 18:58:11 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 18:58:11 Démarrage d'un module CAN...
|
||||
2023-11-30 18:58:11 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 18:59:17
|
||||
********************************************************************
|
||||
2023-11-30 18:59:23 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 18:59:23 Watchdog CPU arrêté
|
||||
2023-11-30 18:59:23 Chargement de la configuration système...
|
||||
2023-11-30 18:59:23 Configuration système chargée avec succès!
|
||||
2023-11-30 18:59:23 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 18:59:23 Démarrage d'un module CAN...
|
||||
2023-11-30 18:59:23 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:00:20
|
||||
********************************************************************
|
||||
2023-11-30 19:00:20 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:00:20 Watchdog CPU arrêté
|
||||
2023-11-30 19:00:20 Chargement de la configuration système...
|
||||
2023-11-30 19:00:20 Configuration système chargée avec succès!
|
||||
2023-11-30 19:00:20 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:00:20 Démarrage d'un module CAN...
|
||||
2023-11-30 19:00:20 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:00:42
|
||||
********************************************************************
|
||||
2023-11-30 19:00:43 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:00:43 Watchdog CPU arrêté
|
||||
2023-11-30 19:00:43 Chargement de la configuration système...
|
||||
2023-11-30 19:00:43 Configuration système chargée avec succès!
|
||||
2023-11-30 19:00:43 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:00:43 Démarrage d'un module CAN...
|
||||
2023-11-30 19:00:43 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:01:43
|
||||
********************************************************************
|
||||
2023-11-30 19:01:43 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:01:43 Watchdog CPU arrêté
|
||||
2023-11-30 19:01:43 Chargement de la configuration système...
|
||||
2023-11-30 19:01:43 Configuration système chargée avec succès!
|
||||
2023-11-30 19:01:43 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:01:43 Démarrage d'un module CAN...
|
||||
2023-11-30 19:01:43 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:04:46
|
||||
********************************************************************
|
||||
2023-11-30 19:04:46 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:04:46 Watchdog CPU arrêté
|
||||
2023-11-30 19:04:46 Chargement de la configuration système...
|
||||
2023-11-30 19:04:46 Configuration système chargée avec succès!
|
||||
2023-11-30 19:04:46 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:04:46 Démarrage d'un module CAN...
|
||||
2023-11-30 19:04:46 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:06:09
|
||||
********************************************************************
|
||||
2023-11-30 19:06:09 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:06:09 Watchdog CPU arrêté
|
||||
2023-11-30 19:06:09 Chargement de la configuration système...
|
||||
2023-11-30 19:06:09 Configuration système chargée avec succès!
|
||||
2023-11-30 19:06:09 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:06:09 Démarrage d'un module CAN...
|
||||
2023-11-30 19:06:09 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:08:39
|
||||
********************************************************************
|
||||
2023-11-30 19:08:39 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:08:39 Watchdog CPU arrêté
|
||||
2023-11-30 19:08:39 Chargement de la configuration système...
|
||||
2023-11-30 19:08:39 Configuration système chargée avec succès!
|
||||
2023-11-30 19:08:39 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:08:39 Démarrage d'un module CAN...
|
||||
2023-11-30 19:08:39 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 19:28:36
|
||||
********************************************************************
|
||||
2023-11-30 19:28:36 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 19:28:36 Watchdog CPU arrêté
|
||||
2023-11-30 19:28:36 Chargement de la configuration système...
|
||||
2023-11-30 19:28:36 Configuration système chargée avec succès!
|
||||
2023-11-30 19:28:36 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 19:28:36 Démarrage d'un module CAN...
|
||||
2023-11-30 19:28:36 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 20:03:41
|
||||
********************************************************************
|
||||
2023-11-30 20:03:41 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 20:03:41 Watchdog CPU arrêté
|
||||
2023-11-30 20:03:41 Chargement de la configuration système...
|
||||
2023-11-30 20:03:41 Configuration système chargée avec succès!
|
||||
2023-11-30 20:03:41 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 20:03:41 Démarrage d'un module CAN...
|
||||
2023-11-30 20:03:41 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-11-30 à 20:16:25
|
||||
********************************************************************
|
||||
2023-11-30 20:16:25 Librairie Axiomtek chargée avec succès
|
||||
2023-11-30 20:16:25 Watchdog CPU arrêté
|
||||
2023-11-30 20:16:25 Chargement de la configuration système...
|
||||
2023-11-30 20:16:25 Configuration système chargée avec succès!
|
||||
2023-11-30 20:16:25 Initialisation du dispositif [MasterCAN]
|
||||
2023-11-30 20:16:25 Démarrage d'un module CAN...
|
||||
2023-11-30 20:16:25 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
|
||||
********************************************************************
|
||||
Démarrage du logiciel Otarcik CAN le 2023-12-01 à 06:33:00
|
||||
********************************************************************
|
||||
2023-12-01 06:33:00 Librairie Axiomtek chargée avec succès
|
||||
2023-12-01 06:33:00 Watchdog CPU arrêté
|
||||
2023-12-01 06:33:00 Chargement de la configuration système...
|
||||
2023-12-01 06:33:00 Configuration système chargée avec succès!
|
||||
2023-12-01 06:33:00 Initialisation du dispositif [MasterCAN]
|
||||
2023-12-01 06:33:00 Démarrage d'un module CAN...
|
||||
2023-12-01 06:33:00 Impossible de trouver le module CAN sur le channel 1
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -59,7 +59,8 @@ SOURCES += Sources/main.cpp \
|
||||
Sources/GeneralSystemParams.cpp \
|
||||
Sources/CANBus/CANWatchdog.cpp \
|
||||
Sources/ComputerBoardInterface.cpp \
|
||||
Sources/CPUWatchdogConfig.cpp
|
||||
Sources/CPUWatchdogConfig.cpp \
|
||||
Sources/SysLogger.cpp
|
||||
|
||||
HEADERS += Sources/MainWindow.h \
|
||||
Sources/PCANInterface.h \
|
||||
@ -89,7 +90,8 @@ HEADERS += Sources/MainWindow.h \
|
||||
Sources/CANBus/CANWatchdog.h \
|
||||
Sources/Axiomtek/AxUfiAPI.h \
|
||||
Sources/ComputerBoardInterface.h \
|
||||
Sources/CPUWatchdogConfig.h
|
||||
Sources/CPUWatchdogConfig.h \
|
||||
Sources/SysLogger.h
|
||||
|
||||
FORMS += Sources/Gui/MainWindow.ui \
|
||||
Sources/Gui/GeneralStatusPage.ui \
|
||||
|
||||
@ -47,22 +47,22 @@ int CCANDevice::Init()
|
||||
}
|
||||
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation du dispositif [%1]").arg(mDeviceConfigInfo.mDeviceName));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation du dispositif [%1]").arg(mDeviceConfigInfo.mDeviceName),"CCANDevice");
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...");
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...","CCANDevice");
|
||||
|
||||
mCANDriverIF = new CPCANInterface;
|
||||
if(mCANDriverIF->GetDeviceHandle(mDeviceConfigInfo.mCANDeviceID,mDeviceHandle) != RET_OK)
|
||||
{
|
||||
QString Log = QString("Impossible de trouver le module CAN sur le channel %1").arg(mDeviceConfigInfo.mCANDeviceID);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
mIsCANInitialized = false;
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
if(mCANDriverIF->Init(mDeviceHandle,mDeviceConfigInfo.mCANDeviceBaudrate) != RET_OK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN","CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
mIsCANInitialized = false;
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
@ -87,7 +87,7 @@ int CCANDevice::Init()
|
||||
// if(mCANAnalyzer.Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
|
||||
if(mCANAnalyzer.Init(mCANDriverIF,mDeviceHandle,mDeviceConfigInfo.mCANDeviceID,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Le dispositif [%1] n'a pas pu s'initialiser").arg(mDeviceConfigInfo.mDeviceName),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Le dispositif [%1] n'a pas pu s'initialiser").arg(mDeviceConfigInfo.mDeviceName),"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
mProgramPtr->SetCANConnectionStatusRequest(false);
|
||||
mProgramPtr->UpdateCANModuleStatusRequest(mDeviceConfigInfo.mDeviceName,"Déconnecté","NOUPDATE");
|
||||
return RET_GENERAL_ERROR;
|
||||
@ -97,12 +97,12 @@ int CCANDevice::Init()
|
||||
{
|
||||
if(mCANWatchdog.Init(mCANDriverIF,mDeviceHandle,mDeviceConfigInfo.mWatchdogPeriod,mDeviceConfigInfo.mWatchdogCANMsgID) != RET_OK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser un watchdog CAN",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser un watchdog CAN","CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
}
|
||||
mCANWatchdog.StartWDT();
|
||||
|
||||
QString Log = QString("Watchdog CAN initialisé pour le module sur le channel %1").arg(mDeviceConfigInfo.mCANDeviceID);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
}
|
||||
|
||||
mIsCANInitialized = true;
|
||||
@ -116,7 +116,7 @@ int CCANDevice::Init()
|
||||
mProgramPtr->SetCANConnectionStatusRequest(true);
|
||||
mProgramPtr->UpdateCANModuleStatusRequest(mDeviceConfigInfo.mDeviceName,"Connecté","NOUPDATE");
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Dispositif [%1] initialisé avec succès!").arg(mDeviceConfigInfo.mDeviceName),1,true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Dispositif [%1] initialisé avec succès!").arg(mDeviceConfigInfo.mDeviceName),"CCANDevice",1,true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ int CCANWatchdog::Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle,
|
||||
mCANDeviceHandle = CANDeviceHandle;
|
||||
mWDTPeriod = WDTPeriod;
|
||||
mCANDriverIF = CANDriverIF;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage du Watchdog CAN...");
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage du Watchdog CAN...","CCANWatchdog");
|
||||
|
||||
mWatchdogTimer->setInterval(mWDTPeriod);
|
||||
mWatchdogTimer->setSingleShot(false);
|
||||
@ -52,7 +52,7 @@ void CCANWatchdog::WatchdogTimeoutTimerExpired()
|
||||
qDebug("Sending 0x%X to CAN",data);
|
||||
//QString LogMsg = QString("Écriture du watchdog. CAN ID %1 Payload: 0x%2 0x%3 0x%4 0x%5 0x%6 0x%7 0x%8 0x%9").arg(mWDTCANMsg.mCANMsgID,0,16).arg(mWDTCANMsg.mCANMsgData.at(7),0,16).arg(mWDTCANMsg.mCANMsgData.at(6),0,16).arg(mWDTCANMsg.mCANMsgData.at(5),0,16).arg(mWDTCANMsg.mCANMsgData.at(4),0,16).arg(mWDTCANMsg.mCANMsgData.at(3),0,16).arg(mWDTCANMsg.mCANMsgData.at(2),0,16).arg(mWDTCANMsg.mCANMsgData.at(1),0,16).arg(mWDTCANMsg.mCANMsgData[0],0,16);
|
||||
QString LogMsg = QString("Écriture du watchdog. CAN ID 0x%1").arg(mWDTCANMsg.mCANMsgID,0,16);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,true,3);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CCANWatchdog",true,3);
|
||||
}
|
||||
|
||||
int CCANWatchdog::StartWDT()
|
||||
|
||||
@ -33,18 +33,18 @@ int CCANDatabase::LoadDatabaseFile(QString Filename)
|
||||
status = kvaDbOpen(&mDatabaseDriverHandle);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible d'initialiser la base de données (création du handle impossble"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible d'initialiser la base de données (création du handle impossble"),"CCANDatabase",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("Could not create a database handle: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
// Load the database file
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Chargement de la base de données %1").arg(Filename),true);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Chargement de la base de données %1").arg(Filename),"CCANDatabase",true);
|
||||
status = kvaDbReadFile(mDatabaseDriverHandle, Filename.toLocal8Bit().data());
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le fichier %1").arg(Filename),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le fichier %1").arg(Filename),"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("Could not load '%s': %d\n", Filename.toLocal8Bit().data(), status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
@ -52,11 +52,11 @@ int CCANDatabase::LoadDatabaseFile(QString Filename)
|
||||
status = kvaDbGetFlags(mDatabaseDriverHandle, &flags);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger les flags"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger les flags"),"CCANDatabase",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("kvaDbGetFlags failed: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Base de données chargée avec succès. Flags: 0x%1").arg(flags),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Base de données chargée avec succès. Flags: 0x%1").arg(flags),"CCANDatabase",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
qDebug(" Database: flags=0x%x\n", flags);
|
||||
|
||||
mDatabaseFileLoaded = true;
|
||||
@ -85,7 +85,7 @@ int CCANDatabase::BuildMessageList(QList<CCANMessage *> *MsgListPtr, QString Own
|
||||
status = kvaDbGetFirstMsg (mDatabaseDriverHandle, &mh);
|
||||
if (status != kvaDbOK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le premier message"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur de base de données: impossible de charger le premier message"),"CCANDatabase",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug ("kvaDbGetFirstMsg failed: %d\n", status);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
@ -23,6 +23,8 @@ CMQTTClientWrapper::CMQTTClientWrapper()
|
||||
mMessagesQueueMode = MQTT_DROP_MSG_MODE;
|
||||
mDisconnectionIsVoluntary = false;
|
||||
mIsClientConnecting = false;
|
||||
|
||||
mCircularBufferStatusText = mBufferingModeText = mUploadTimeText = "";
|
||||
}
|
||||
|
||||
CMQTTClientWrapper::~CMQTTClientWrapper()
|
||||
@ -43,6 +45,10 @@ int CMQTTClientWrapper::StartMQTTClient()
|
||||
mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout);
|
||||
mMessagesQueueMode = MQTT_QUEUE_MSG_MODE;
|
||||
ConnectToBroker();
|
||||
mCircularBufferStatusText = QString("0/%1 messages (0\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE);
|
||||
mBufferingModeText = "Buffering";
|
||||
UpdateGUIBufferingStatus();
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
@ -114,14 +120,16 @@ void CMQTTClientWrapper::StateChanged()
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT déconnecté.",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT déconnecté.","CMQTTClientWrapper",true,1);
|
||||
mProgramPtr->SetMQTTConnectionSatusRequest(false);
|
||||
mMQTTReconnectTimer->start(MQTT_CLIENT_RECONNECT_TIMEOUT);
|
||||
mMQTTQueueFlushTimer->stop();
|
||||
if(mDisconnectionIsVoluntary == false)
|
||||
{
|
||||
mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; //We're disconnected, queue all the messages.
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Passage en mode buffering des messages MQTT",true,2);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Passage en mode buffering des messages MQTT","CMQTTClientWrapper",true,2);
|
||||
mBufferingModeText = "Buffering";
|
||||
UpdateGUIBufferingStatus();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -131,16 +139,22 @@ void CMQTTClientWrapper::StateChanged()
|
||||
mProgramPtr->SetMQTTConnectionSatusRequest(true);
|
||||
mMQTTReconnectTimer->stop();
|
||||
mIsClientConnecting = false;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT connecté.",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT connecté.","CMQTTClientWrapper",true,1);
|
||||
if(mMQTTMessagesQueue.isEmpty() == false)
|
||||
{
|
||||
mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; //Stay in (or enter) queue mode until we empty the buffer
|
||||
mMQTTQueueFlushTimer->start();
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("FIFO non vide, passage au mode de vidage de la FIFO",true,2);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("FIFO non vide, passage au mode de vidage de la FIFO","CMQTTClientWrapper",true,2);
|
||||
|
||||
mBufferingModeText = "Buffering";
|
||||
mCircularBufferStatusText = QString("%2/%1 messages (0%3\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE).arg(mMQTTMessagesQueue.size()).arg((mMQTTMessagesQueue.size()/MQTT_CLIENT_MSG_QUEUE_SIZE)*100);
|
||||
UpdateGUIBufferingStatus();
|
||||
}
|
||||
else
|
||||
{
|
||||
mMessagesQueueMode = MQTT_TRANSMIT_MSG_MODE;
|
||||
mBufferingModeText = "Non-buffering";
|
||||
UpdateGUIBufferingStatus();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -192,7 +206,7 @@ void CMQTTClientWrapper::MQTTSendTimerExpired()
|
||||
{
|
||||
qint32 res = mMQTTClient.publish(MessagesList->at(i).mMessageTopic,MessagesList->at(i).mMessagePayload.toLocal8Bit(),0,true);
|
||||
QString LogMsg = QString("Envoi d'un message MQTT. Topic: %1 Payload: %2").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,true,3);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3);
|
||||
|
||||
}
|
||||
qDebug("Sent %d MQTT messages",MessagesList->size());
|
||||
@ -214,7 +228,11 @@ void CMQTTClientWrapper::MQTTSendTimerExpired()
|
||||
}
|
||||
mMQTTMessagesQueue.append(NewMsg);
|
||||
QString LogMsg = QString("Ajout d'un message MQTT à la FIFO. Topic: %1 Payload: %2 FIFO size: %3").arg(MessagesList->at(i).mMessageTopic).arg(MessagesList->at(i).mMessagePayload).arg(mMQTTMessagesQueue.size());
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,true,3);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3);
|
||||
|
||||
mCircularBufferStatusText = QString("%2/%1 messages (0%3\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE).arg(mMQTTMessagesQueue.size()).arg((mMQTTMessagesQueue.size()/MQTT_CLIENT_MSG_QUEUE_SIZE)*100);
|
||||
UpdateGUIBufferingStatus();
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -243,7 +261,7 @@ void CMQTTClientWrapper::MQTTQueueFlushTimerExipred()
|
||||
CMQTTMessage *Msg = mMQTTMessagesQueue.takeFirst();
|
||||
qint32 res = mMQTTClient.publish(Msg->mMessageTopic,Msg->mMessagePayload.toLocal8Bit(),0,true);
|
||||
QString LogMsg = QString("Envoi d'un message MQTT provenant du buffer. Topic: %1 Payload: %2 Buffer Size: %3").arg(Msg->mMessageTopic).arg(Msg->mMessagePayload).arg(mMQTTMessagesQueue.size());
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,true,3);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3);
|
||||
|
||||
delete Msg; //free memory
|
||||
|
||||
@ -251,7 +269,13 @@ void CMQTTClientWrapper::MQTTQueueFlushTimerExipred()
|
||||
{
|
||||
mMQTTQueueFlushTimer->stop();
|
||||
mMessagesQueueMode = MQTT_TRANSMIT_MSG_MODE;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Tous les messages MQTT de la FIFO ont été envoyés au serveur",true,2);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Tous les messages MQTT de la FIFO ont été envoyés au serveur","CMQTTClientWrapper",true,2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int CMQTTClientWrapper::UpdateGUIBufferingStatus()
|
||||
{
|
||||
//mProgramPtr->UpdateMQTTBufferingStatusRequest(mBufferingModeText,mCircularBufferStatusText,mRemainingBufferingTimeText);
|
||||
}
|
||||
|
||||
@ -48,6 +48,10 @@ private:
|
||||
QList<CCANDevice*> *mCANDevicesList;
|
||||
QList<CMQTTMessage*> mMQTTMessagesQueue;
|
||||
bool mIsClientConnecting;
|
||||
QString mCircularBufferStatusText, mBufferingModeText, mUploadTimeText;
|
||||
|
||||
|
||||
int UpdateGUIBufferingStatus();
|
||||
|
||||
public slots:
|
||||
void StateChanged();
|
||||
|
||||
@ -14,13 +14,13 @@ int CComputerBoardInterface::Init()
|
||||
{
|
||||
if(LoadLibrary() == RET_OK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Librairie Axiomtek chargée avec succès"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Librairie Axiomtek chargée avec succès"),"CComputerBoardInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
StopCPUWatchdog();
|
||||
return RET_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible de charger la librairie Axiomtek"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible de charger la librairie Axiomtek"),"CComputerBoardInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
@ -81,7 +81,7 @@ int CComputerBoardInterface::StartCPUWatchdog()
|
||||
{
|
||||
if(AxWDTexec(bWDT_ENABLE) == true)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Watchdog CPU démarré. Timeout: %1 secondes").arg(mWatchdogTimeout));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Watchdog CPU démarré. Timeout: %1 secondes").arg(mWatchdogTimeout),"CComputerBoardInterface");
|
||||
Ret = RET_OK;
|
||||
}
|
||||
else
|
||||
@ -103,7 +103,7 @@ int CComputerBoardInterface::StopCPUWatchdog()
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Watchdog CPU arrêté"));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Watchdog CPU arrêté"),"CComputerBoardInterface");
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
#include "GeneralMessagesLogDispatcher.h"
|
||||
#include <QDateTime>
|
||||
|
||||
#include <SysLogger.h>
|
||||
|
||||
//singleton instantiation
|
||||
CGeneralMessagesLogDispatcher CGeneralMessagesLogDispatcher::mSingleton;
|
||||
@ -43,8 +43,10 @@ CGeneralMessagesLogDispatcher::~CGeneralMessagesLogDispatcher()
|
||||
}
|
||||
}
|
||||
|
||||
int CGeneralMessagesLogDispatcher::Init()
|
||||
int CGeneralMessagesLogDispatcher::Init(CSysLogger *SysLoggerPtr)
|
||||
{
|
||||
mSysLoggerHandle = SysLoggerPtr;
|
||||
|
||||
QString FileName;
|
||||
FileName = "./Logs/SystemLog.txt";
|
||||
|
||||
@ -63,31 +65,34 @@ int CGeneralMessagesLogDispatcher::Init()
|
||||
mLogFileVerbosity = 3;
|
||||
mGuiLogVerbosity = 3;
|
||||
|
||||
mSysLoggerHandle->SysLog("Dispatcher de message démarré","CGeneralMessageLogDispatcher");
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CGeneralMessagesLogDispatcher::AddLogMessage(QString LogLine, bool AddToGUILogPanel, int MsgVerbosity, eGenMsgTextErrorStatus TxtErrStatus)
|
||||
int CGeneralMessagesLogDispatcher::AddLogMessage(QString LogLine, QString Module, bool AddToGUILogPanel, int MsgVerbosity, eGenMsgTextErrorStatus TxtErrStatus)
|
||||
{
|
||||
//TODO: Add text to log file...
|
||||
|
||||
LogLine.remove('\n');
|
||||
LogLine.remove('\r');
|
||||
LogLine.append('\n');
|
||||
mSysLoggerHandle->SysLog(LogLine,Module);
|
||||
LogLine.remove('\n');
|
||||
LogLine.remove('\r');
|
||||
LogLine.append('\n');
|
||||
|
||||
LogLine.prepend(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss "));
|
||||
LogLine.prepend(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss "));
|
||||
|
||||
|
||||
if(mSystemLogFile == NULL)
|
||||
{
|
||||
qDebug("GeneralMessagesLogDispatcher : Trying to add log to invalid system log file pointer ");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
if(mSystemLogFile == NULL)
|
||||
{
|
||||
qDebug("GeneralMessagesLogDispatcher : Trying to add log to invalid system log file pointer ");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
if(mSystemLogFile->isOpen() == false)
|
||||
{
|
||||
qDebug("GeneralMessagesLogDispatcher : Trying to add log to unopened system log file");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
if(mSystemLogFile->isOpen() == false)
|
||||
{
|
||||
qDebug("GeneralMessagesLogDispatcher : Trying to add log to unopened system log file");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
#ifdef GENERAL_MESSAGES_SEND_TO_STDOUT
|
||||
qDebug("%s",qPrintable(LogLine));
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
#include <QFile>
|
||||
#include <QStringList>
|
||||
|
||||
class CSysLogger;
|
||||
|
||||
class CGeneralMessagesLogDispatcher
|
||||
{
|
||||
@ -30,10 +31,10 @@ public:
|
||||
CGeneralMessagesLogDispatcher();
|
||||
~CGeneralMessagesLogDispatcher();
|
||||
|
||||
int AddLogMessage(QString LogLine, bool AddToGUILogPanel = true, int MsgVerbosity = 1, eGenMsgTextErrorStatus TxtErrStatus = GEN_MSG_TXT_NO_ERROR_STATUS);
|
||||
int AddLogMessage(QString LogLine, QString Module, bool AddToGUILogPanel = true, int MsgVerbosity = 1, eGenMsgTextErrorStatus TxtErrStatus = GEN_MSG_TXT_NO_ERROR_STATUS);
|
||||
CGeneralStatusPage *mGeneralStatusPageHandle;
|
||||
int BindGuiPageHandle(CGeneralStatusPage *Handle);
|
||||
int Init();
|
||||
int Init(CSysLogger *SysLoggerPtr);
|
||||
int SetLogVerbosities(int LogFileVerbosity, int GuiLogVerbosity);
|
||||
|
||||
private:
|
||||
@ -41,6 +42,7 @@ private:
|
||||
QFile *mSystemLogFile;
|
||||
int mLogFileVerbosity;
|
||||
int mGuiLogVerbosity;
|
||||
CSysLogger *mSysLoggerHandle;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -154,6 +154,15 @@ int CGeneralStatusPage::ClearCANModuleStatusTable()
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CGeneralStatusPage::UpdateMQTTBufferingStatus(QString Mode, QString FIFOSize, QString RemainingTime)
|
||||
{
|
||||
ui->mBufferingMode->setText(Mode);
|
||||
ui->mBufferSizeValue->setText(FIFOSize);
|
||||
ui->mBufferTimeRemaining->setText(RemainingTime);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CGeneralStatusPage::UpdateCANModuleStatus(QString ModuleName, QString ModuleStatus, QString Buffer)
|
||||
{
|
||||
QList<QTableWidgetItem *> Items = ui->mCANModuleStatusTableWdgt->findItems(ModuleName,Qt::MatchFixedString);
|
||||
|
||||
@ -38,6 +38,7 @@ public:
|
||||
int SetCANConnectionStatus(bool Connected);
|
||||
int UpdateCANModuleStatus(QString ModuleName, QString ModuleStatus, QString Buffer);
|
||||
int ClearCANModuleStatusTable();
|
||||
int UpdateMQTTBufferingStatus(QString Mode, QString FIFOSize, QString RemainingTime);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@ -150,14 +150,14 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Statut des module CAN </string>
|
||||
<string>Statut des modules CAN </string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="mQuitAppBtn">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>1230</x>
|
||||
<y>310</y>
|
||||
<x>1470</x>
|
||||
<y>550</y>
|
||||
<width>131</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -166,6 +166,165 @@
|
||||
<string>Quitter l'application</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mInternetConnectedLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>1230</x>
|
||||
<y>270</y>
|
||||
<width>61</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Internet:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mInternetPresentStatLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>1300</x>
|
||||
<y>270</y>
|
||||
<width>121</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Détecté</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="MQTTBufferingGrpBx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>1210</x>
|
||||
<y>320</y>
|
||||
<width>391</width>
|
||||
<height>141</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Buffering MQTT</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="mBufferingModeLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>30</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mode buffering:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mBufferSizeLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>60</y>
|
||||
<width>131</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Taille buffer circulaire:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mBufferTimeRemainingLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>90</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Durée restante:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mBufferingMode">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>150</x>
|
||||
<y>30</y>
|
||||
<width>111</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Inactif</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mBufferSizeValue">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>150</x>
|
||||
<y>60</y>
|
||||
<width>131</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0/5000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mBufferTimeRemaining">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>150</x>
|
||||
<y>90</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>xxx minutes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@ -57,17 +57,16 @@ int COtarcikCan::Start()
|
||||
|
||||
mMainWindow.show();
|
||||
|
||||
|
||||
mSysLogger.Start("logs4.papertrailapp.com",27817);
|
||||
CGeneralMessagesLogDispatcher::instance()->BindGuiPageHandle(mMainWindow.mGeneralStatusPage);
|
||||
CGeneralMessagesLogDispatcher::instance()->Init();
|
||||
// CGeneralMessagesLogDispatcher::instance()->Init();
|
||||
|
||||
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"));
|
||||
CGeneralMessagesLogDispatcher::instance()->Init(&mSysLogger);
|
||||
|
||||
mCPUInterface.Init();
|
||||
|
||||
if(mSystemConfig.LoadConfig() == RET_OK)
|
||||
{
|
||||
|
||||
|
||||
QList<CCANDeviceConfig*> *CANDeviceConfigList;
|
||||
CANDeviceConfigList = mSystemConfig.GetCANDevicesConfigList();
|
||||
if(CANDeviceConfigList != 0)
|
||||
@ -106,7 +105,7 @@ int COtarcikCan::Start()
|
||||
}
|
||||
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"),"CPCANInterface");
|
||||
|
||||
// mCANBusMQTTClient.ConnectToBroker();
|
||||
mCANBusMQTTClient.StartMQTTClient();
|
||||
@ -261,6 +260,11 @@ int COtarcikCan::UpdateCANModuleStatusRequest(QString ModuleName, QString Module
|
||||
return mMainWindow.mGeneralStatusPage->UpdateCANModuleStatus(ModuleName,ModuleStatus,Buffer);
|
||||
}
|
||||
|
||||
int COtarcikCan::UpdateMQTTBufferingStatusRequest(QString BufferingMode, QString FIFOSize, QString RemainingTime)
|
||||
{
|
||||
mMainWindow.mGeneralStatusPage->UpdateMQTTBufferingStatus(BufferingMode,FIFOSize,RemainingTime);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int COtarcikCan::SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig)
|
||||
{
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "SystemConfig.h"
|
||||
#include "MQTTClientWrapper.h"
|
||||
#include "ComputerBoardInterface.h"
|
||||
#include "SysLogger.h"
|
||||
|
||||
|
||||
class COtarcikCan : public QObject
|
||||
@ -24,6 +25,7 @@ public:
|
||||
QTimer *mGPTimer;
|
||||
CComputerBoardInterface mCPUInterface;
|
||||
QTimer *mWatchdogTimer;
|
||||
CSysLogger mSysLogger;
|
||||
|
||||
int Start();
|
||||
|
||||
@ -40,6 +42,8 @@ public:
|
||||
int SetMQTTConnectionSatusRequest(bool Connected);
|
||||
int UpdateCANModuleStatusRequest(QString ModuleName, QString ModuleStatus, QString Buffer);
|
||||
|
||||
int UpdateMQTTBufferingStatusRequest(QString BufferingMode, QString FIFOSize,QString RemainingTime);
|
||||
|
||||
int SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig);
|
||||
|
||||
void QuitApplicationRequest();
|
||||
|
||||
@ -39,7 +39,7 @@ int CPCANInterface::GetDeviceHandle(quint8 DeviceID, TPCANHandle &Handle)
|
||||
}
|
||||
Handle = TempHandle;
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Module PCAN trouvé à l'adresse %1 avec le handle 0x%2").arg(DeviceID).arg(Handle,0,16));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Module PCAN trouvé à l'adresse %1 avec le handle 0x%2").arg(DeviceID).arg(Handle,0,16),"CPCANInterface");
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
@ -51,7 +51,7 @@ int CPCANInterface::Init(TPCANHandle CANDeviceHandle, TPCANBaudrate CANBaudRate)
|
||||
|
||||
TPCANStatus Result;
|
||||
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));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation d'un module PCAN. Handle:0x%1, Baudrate:%2").arg(CANDeviceHandle,0,16).arg(CANBaudRate),"CPCANInterface");
|
||||
|
||||
if(Result != PCAN_ERROR_OK)
|
||||
{
|
||||
@ -60,14 +60,14 @@ int CPCANInterface::Init(TPCANHandle CANDeviceHandle, TPCANBaudrate CANBaudRate)
|
||||
char strMsg[256];
|
||||
CAN_GetErrorText(Result, 0, strMsg);
|
||||
qDebug("%s",strMsg);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible d'initialiser un module USB PCAN. Erreur:%1").arg(strMsg),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible d'initialiser un module USB PCAN. Erreur:%1").arg(strMsg),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CANInterfaceOpened = false;
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
CANInterfaceOpened = true;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Module PCAN USB initialisé avec succès",true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Module PCAN USB initialisé avec succès","CPCANInterface",true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
}
|
||||
return RET_OK;
|
||||
}
|
||||
@ -75,17 +75,17 @@ int CPCANInterface::Init(TPCANHandle CANDeviceHandle, TPCANBaudrate CANBaudRate)
|
||||
int CPCANInterface::DeInit()
|
||||
{
|
||||
TPCANStatus Result;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Déinitialisation du module PCAN USB ID %1").arg(mInterfaceCANHandle));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Déinitialisation du module PCAN USB ID %1").arg(mInterfaceCANHandle),"CPCANInterface");
|
||||
Result = CAN_Uninitialize(mInterfaceCANHandle) != PCAN_ERROR_OK;
|
||||
if(Result)
|
||||
{
|
||||
char strMsg[256];
|
||||
CAN_GetErrorText(Result, 0, strMsg);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible de déinitialiser un module USB PCAN.. Error:%1").arg(strMsg),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible de déinitialiser un module USB PCAN.. Error:%1").arg(strMsg),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Module PCAN USB déinitialisé avec succès...",true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Module PCAN USB déinitialisé avec succès...","CPCANInterface",true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
|
||||
75
Otarcik_CAN/Sources/SysLogger.cpp
Normal file
75
Otarcik_CAN/Sources/SysLogger.cpp
Normal file
@ -0,0 +1,75 @@
|
||||
#include "SysLogger.h"
|
||||
#include "defines.h"
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
CSysLogger::CSysLogger(QObject *parent) : QObject(parent)
|
||||
{
|
||||
connect(&mSyslogSocket,&QAbstractSocket::stateChanged,this,&CSysLogger::SocketStateChanged);
|
||||
}
|
||||
|
||||
int CSysLogger::Start(QString SyslogServerAddress, int SyslogServerPort)
|
||||
{
|
||||
mSyslogServerAddress = SyslogServerAddress;
|
||||
mSyslogServerPort = SyslogServerPort;
|
||||
|
||||
mSyslogSocket.connectToHost(SyslogServerAddress,SyslogServerPort);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CSysLogger::SocketStateChanged(QAbstractSocket::SocketState socketState)
|
||||
{
|
||||
qDebug("Syslog socked state : %d",socketState);
|
||||
switch (socketState)
|
||||
{
|
||||
case QAbstractSocket::ConnectedState:
|
||||
{
|
||||
qDebug("Syslogger connected...");
|
||||
SysLog("Syslogger connected","CSysLogger");
|
||||
break;
|
||||
}
|
||||
case QAbstractSocket::UnconnectedState:
|
||||
{
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
qDebug("Syslogger Disconnected...");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bool CSysLogger::IsSyslogServerConnected()
|
||||
{
|
||||
int strate = mSyslogSocket.state();
|
||||
if(mSyslogSocket.state() == QAbstractSocket::ConnectedState || mSyslogSocket.state() == QAbstractSocket::BoundState)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int CSysLogger::SysLog(QString Message, QString Module)
|
||||
{
|
||||
if(IsSyslogServerConnected() == false)
|
||||
return RET_GENERAL_ERROR;
|
||||
|
||||
QString MsgString;
|
||||
|
||||
//ISO date timestamp format
|
||||
QDateTime datetime(QDateTime::currentDateTime());
|
||||
datetime.setOffsetFromUtc(datetime.offsetFromUtc()); //this makes no sense but it's to circumvent a bug in QT
|
||||
MsgString = datetime.toString(Qt::ISODate);
|
||||
|
||||
MsgString.append(" Station_OT2301 OtarcikCAN");
|
||||
if(Module.isEmpty() == false)
|
||||
{
|
||||
MsgString.append(QString("[%1]").arg(Module));
|
||||
}
|
||||
MsgString.append(QString(":%1").arg(Message));
|
||||
MsgString.append("\n\r");
|
||||
|
||||
mSyslogSocket.write(MsgString.toUtf8());
|
||||
|
||||
return RET_OK;
|
||||
|
||||
}
|
||||
31
Otarcik_CAN/Sources/SysLogger.h
Normal file
31
Otarcik_CAN/Sources/SysLogger.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef SYSLOGGER_H
|
||||
#define SYSLOGGER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QTcpSocket>
|
||||
#include <QUdpSocket>
|
||||
|
||||
class CSysLogger : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CSysLogger(QObject *parent = 0);
|
||||
int Start(QString SyslogServerAddress,int SyslogServerPort);
|
||||
bool IsSyslogServerConnected();
|
||||
int SysLog(QString Message, QString Module = "");
|
||||
|
||||
QTcpSocket mSyslogSocket;
|
||||
|
||||
private:
|
||||
QString mSyslogServerAddress;
|
||||
int mSyslogServerPort;
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
public slots:
|
||||
|
||||
void SocketStateChanged(QAbstractSocket::SocketState socketState);
|
||||
};
|
||||
|
||||
#endif // SYSLOGGER_H
|
||||
@ -16,7 +16,7 @@ CSystemConfig::~CSystemConfig()
|
||||
int CSystemConfig::LoadConfig()
|
||||
{
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Chargement de la configuration système..."));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Chargement de la configuration système..."),"CPCANInterface");
|
||||
// if(DevicesList == 0)
|
||||
// {
|
||||
// qDebug("CSystemConfig: Trying to load a config into an invalid devices list");
|
||||
@ -30,13 +30,13 @@ int CSystemConfig::LoadConfig()
|
||||
if(ConfigFile->open(QIODevice::ReadOnly | QIODevice::Unbuffered) == false)
|
||||
{
|
||||
qDebug("CSystemConfig: Failed to open config file in config loading");
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Impossible d'ouvrir le fichier /Config/Station.cfg"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Impossible d'ouvrir le fichier /Config/Station.cfg"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Pointeur vers QFile invalide !!!"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Pointeur vers QFile invalide !!!"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
qDebug("CSystemConfig: Invalid QFile pointer in config loading...");
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
@ -50,7 +50,7 @@ int CSystemConfig::LoadConfig()
|
||||
*InputStream >> MagicNbr;
|
||||
if(MagicNbr != OTARCIK_CONFIG_FILE_MAGIC_NBR)
|
||||
{
|
||||
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Fichier /Config/Station.cfg corrompu. Création d'une config vide"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_WARNING_STATUS);
|
||||
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Fichier /Config/Station.cfg corrompu. Création d'une config vide"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_WARNING_STATUS);
|
||||
ConfigFile->close();
|
||||
// CreateEmptyConfig();
|
||||
return RET_GENERAL_ERROR;
|
||||
@ -90,26 +90,26 @@ int CSystemConfig::LoadConfig()
|
||||
delete ConfigFile;
|
||||
delete InputStream;
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Configuration système chargée avec succès!"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Configuration système chargée avec succès!"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CSystemConfig::SaveConfig()
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Sauvegarde de la configuration système..."));
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Sauvegarde de la configuration système..."),"CPCANInterface");
|
||||
|
||||
QFile *ConfigFile = new QFile("./Config/Station.cfg");
|
||||
if(ConfigFile)
|
||||
{
|
||||
if(ConfigFile->open(QIODevice::WriteOnly | QIODevice::Unbuffered) == false)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Impossible d'ouvrir le fichier /Config/Station.cfg"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Impossible d'ouvrir le fichier /Config/Station.cfg"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Pointeur vers QFile invalide !!!"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Échec de sauvegarde de la config système. Pointeur vers QFile invalide !!!"),"CPCANInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ int CSystemConfig::SaveConfig()
|
||||
delete ConfigFile;
|
||||
delete OutputStream;
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Configuration système sauvegardée avec succès."),true,3,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Configuration système sauvegardée avec succès."),"CPCANInterface",true,3,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -24,6 +24,7 @@ debug/GeneralSystemParams.o
|
||||
debug/CANWatchdog.o
|
||||
debug/ComputerBoardInterface.o
|
||||
debug/CPUWatchdogConfig.o
|
||||
debug/SysLogger.o
|
||||
debug/moc_MainWindow.o
|
||||
debug/moc_PCANInterface.o
|
||||
debug/moc_OtarcikCan.o
|
||||
@ -37,3 +38,4 @@ debug/moc_CANDevice.o
|
||||
debug/moc_MQTTClientWrapper.o
|
||||
debug/moc_CCANWatchdogSettingsPage.o
|
||||
debug/moc_CANWatchdog.o
|
||||
debug/moc_SysLogger.o
|
||||
|
||||
@ -24,6 +24,7 @@ release/GeneralSystemParams.o
|
||||
release/CANWatchdog.o
|
||||
release/ComputerBoardInterface.o
|
||||
release/CPUWatchdogConfig.o
|
||||
release/SysLogger.o
|
||||
release/moc_MainWindow.o
|
||||
release/moc_PCANInterface.o
|
||||
release/moc_OtarcikCan.o
|
||||
@ -37,3 +38,4 @@ release/moc_CANDevice.o
|
||||
release/moc_MQTTClientWrapper.o
|
||||
release/moc_CCANWatchdogSettingsPage.o
|
||||
release/moc_CANWatchdog.o
|
||||
release/moc_SysLogger.o
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QPushButton>
|
||||
@ -32,6 +33,15 @@ public:
|
||||
QTableWidget *mCANModuleStatusTableWdgt;
|
||||
QLabel *label;
|
||||
QPushButton *mQuitAppBtn;
|
||||
QLabel *mInternetConnectedLbl;
|
||||
QLabel *mInternetPresentStatLbl;
|
||||
QGroupBox *MQTTBufferingGrpBx;
|
||||
QLabel *mBufferingModeLbl;
|
||||
QLabel *mBufferSizeLbl;
|
||||
QLabel *mBufferTimeRemainingLbl;
|
||||
QLabel *mBufferingMode;
|
||||
QLabel *mBufferSizeValue;
|
||||
QLabel *mBufferTimeRemaining;
|
||||
|
||||
void setupUi(QWidget *CGeneralStatusPage)
|
||||
{
|
||||
@ -86,7 +96,44 @@ public:
|
||||
label->setFont(font3);
|
||||
mQuitAppBtn = new QPushButton(CGeneralStatusPage);
|
||||
mQuitAppBtn->setObjectName(QString::fromUtf8("mQuitAppBtn"));
|
||||
mQuitAppBtn->setGeometry(QRect(1230, 310, 131, 22));
|
||||
mQuitAppBtn->setGeometry(QRect(1470, 550, 131, 22));
|
||||
mInternetConnectedLbl = new QLabel(CGeneralStatusPage);
|
||||
mInternetConnectedLbl->setObjectName(QString::fromUtf8("mInternetConnectedLbl"));
|
||||
mInternetConnectedLbl->setGeometry(QRect(1230, 270, 61, 16));
|
||||
mInternetConnectedLbl->setFont(font1);
|
||||
mInternetPresentStatLbl = new QLabel(CGeneralStatusPage);
|
||||
mInternetPresentStatLbl->setObjectName(QString::fromUtf8("mInternetPresentStatLbl"));
|
||||
mInternetPresentStatLbl->setGeometry(QRect(1300, 270, 121, 16));
|
||||
mInternetPresentStatLbl->setFont(font2);
|
||||
MQTTBufferingGrpBx = new QGroupBox(CGeneralStatusPage);
|
||||
MQTTBufferingGrpBx->setObjectName(QString::fromUtf8("MQTTBufferingGrpBx"));
|
||||
MQTTBufferingGrpBx->setGeometry(QRect(1210, 320, 391, 141));
|
||||
mBufferingModeLbl = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferingModeLbl->setObjectName(QString::fromUtf8("mBufferingModeLbl"));
|
||||
mBufferingModeLbl->setGeometry(QRect(50, 30, 91, 21));
|
||||
QFont font4;
|
||||
font4.setPointSize(10);
|
||||
mBufferingModeLbl->setFont(font4);
|
||||
mBufferSizeLbl = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferSizeLbl->setObjectName(QString::fromUtf8("mBufferSizeLbl"));
|
||||
mBufferSizeLbl->setGeometry(QRect(10, 60, 131, 21));
|
||||
mBufferSizeLbl->setFont(font4);
|
||||
mBufferTimeRemainingLbl = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferTimeRemainingLbl->setObjectName(QString::fromUtf8("mBufferTimeRemainingLbl"));
|
||||
mBufferTimeRemainingLbl->setGeometry(QRect(50, 90, 91, 21));
|
||||
mBufferTimeRemainingLbl->setFont(font4);
|
||||
mBufferingMode = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferingMode->setObjectName(QString::fromUtf8("mBufferingMode"));
|
||||
mBufferingMode->setGeometry(QRect(150, 30, 111, 21));
|
||||
mBufferingMode->setFont(font4);
|
||||
mBufferSizeValue = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferSizeValue->setObjectName(QString::fromUtf8("mBufferSizeValue"));
|
||||
mBufferSizeValue->setGeometry(QRect(150, 60, 131, 21));
|
||||
mBufferSizeValue->setFont(font4);
|
||||
mBufferTimeRemaining = new QLabel(MQTTBufferingGrpBx);
|
||||
mBufferTimeRemaining->setObjectName(QString::fromUtf8("mBufferTimeRemaining"));
|
||||
mBufferTimeRemaining->setGeometry(QRect(150, 90, 91, 21));
|
||||
mBufferTimeRemaining->setFont(font4);
|
||||
|
||||
retranslateUi(CGeneralStatusPage);
|
||||
|
||||
@ -101,8 +148,17 @@ public:
|
||||
mClientMQTTLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "Client MQTT:", nullptr));
|
||||
mPuckCANConStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251connect\303\251e", nullptr));
|
||||
mClientMQTTConnStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251connect\303\251", nullptr));
|
||||
label->setText(QCoreApplication::translate("CGeneralStatusPage", "Statut des module CAN ", nullptr));
|
||||
label->setText(QCoreApplication::translate("CGeneralStatusPage", "Statut des modules CAN ", nullptr));
|
||||
mQuitAppBtn->setText(QCoreApplication::translate("CGeneralStatusPage", "Quitter l'application", nullptr));
|
||||
mInternetConnectedLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "Internet:", nullptr));
|
||||
mInternetPresentStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251tect\303\251", nullptr));
|
||||
MQTTBufferingGrpBx->setTitle(QCoreApplication::translate("CGeneralStatusPage", "Buffering MQTT", nullptr));
|
||||
mBufferingModeLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "Mode buffering:", nullptr));
|
||||
mBufferSizeLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "Taille buffer circulaire:", nullptr));
|
||||
mBufferTimeRemainingLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "Dur\303\251e restante:", nullptr));
|
||||
mBufferingMode->setText(QCoreApplication::translate("CGeneralStatusPage", "Inactif", nullptr));
|
||||
mBufferSizeValue->setText(QCoreApplication::translate("CGeneralStatusPage", "0/5000", nullptr));
|
||||
mBufferTimeRemaining->setText(QCoreApplication::translate("CGeneralStatusPage", "xxx minutes", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
5
TODO.txt
5
TODO.txt
@ -18,4 +18,9 @@ x Assurer de ne pas avoir à redémarrer le soft quand on change un paramètre C
|
||||
x Ajouter le buffering lors d'un blackout internet
|
||||
- Implémenter un moyen de créer un fichier de config vide
|
||||
- Contrôler le process Zigbee dans l'application
|
||||
- Ajouter la détection internet et le bit de présence CAN
|
||||
- Modifier l'assignation du registre watchdog CAN pour utiliser la DB CAN
|
||||
- Syslog server???
|
||||
- Vérifier pourquoi EMQX ne voulait pas se reconnecter le 2023-11-28
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user