Ajout Watchdog hardware au programme + autres gossages

This commit is contained in:
jfmartel 2023-10-28 13:04:55 -04:00
parent 868d07b879
commit efc3b85456
48 changed files with 1876 additions and 126 deletions

17
LaunchZigbee.ps1 Normal file
View File

@ -0,0 +1,17 @@
$script:ckpid = $null
$script:ckpid = Start-Process -PassThru node index.js -WorkingDirectory "c:\main\zigbee2mqtt"
Write-Host "Started zigbee2mqtt"
While ($true){
if (-not (Get-Process -Id $ckpid.Id -ErrorAction SilentlyContinue)) {
Write-Host "restarting"
Get-Date
$script:ckpid = Start-Process -PassThru node index.js -WorkingDirectory "c:\main\zigbee2mqtt"
Write-Host "Started zigbee2mqtt"
sleep 5
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3614,3 +3614,23 @@ Démarrage du logiciel Otarcik CAN le 2023-09-28 à 15:52:54
2023-09-28 15:52:54 Démarrage du Watchdog CAN... 2023-09-28 15:52:54 Démarrage du Watchdog CAN...
2023-09-28 15:52:54 Watchdog CAN initialisé pour le module sur le channel 1 2023-09-28 15:52:54 Watchdog CAN initialisé pour le module sur le channel 1
2023-09-28 15:52:54 Dispositif [MasterCAN] initialisé avec succès! 2023-09-28 15:52:54 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:35:40
********************************************************************
2023-10-28 08:35:40 Chargement de la configuration système...
2023-10-28 08:35:40 Configuration système chargée avec succès!
2023-10-28 08:35:40 Initialisation du dispositif [MasterCAN]
2023-10-28 08:35:40 Démarrage d'un module CAN...
2023-10-28 08:35:40 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:36:11
********************************************************************
2023-10-28 08:36:11 Chargement de la configuration système...
2023-10-28 08:36:11 Configuration système chargée avec succès!
2023-10-28 08:36:11 Initialisation du dispositif [MasterCAN]
2023-10-28 08:36:11 Démarrage d'un module CAN...
2023-10-28 08:36:11 Impossible de trouver le module CAN sur le channel 1

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4940,3 +4940,289 @@ Démarrage du logiciel Otarcik CAN le 2023-09-28 à 15:56:40
2023-09-28 15:56:40 Démarrage du Watchdog CAN... 2023-09-28 15:56:40 Démarrage du Watchdog CAN...
2023-09-28 15:56:40 Watchdog CAN initialisé pour le module sur le channel 1 2023-09-28 15:56:40 Watchdog CAN initialisé pour le module sur le channel 1
2023-09-28 15:56:40 Dispositif [MasterCAN] initialisé avec succès! 2023-09-28 15:56:40 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-21 à 11:23:31
********************************************************************
2023-10-21 11:23:31 Chargement de la configuration système...
2023-10-21 11:23:31 Configuration système chargée avec succès!
2023-10-21 11:23:31 Initialisation du dispositif [MasterCAN]
2023-10-21 11:23:31 Démarrage d'un module CAN...
2023-10-21 11:23:31 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-21 à 11:23:46
********************************************************************
2023-10-21 11:23:46 Chargement de la configuration système...
2023-10-21 11:23:46 Configuration système chargée avec succès!
2023-10-21 11:23:46 Initialisation du dispositif [MasterCAN]
2023-10-21 11:23:46 Démarrage d'un module CAN...
2023-10-21 11:23:46 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-27 à 14:34:40
********************************************************************
2023-10-27 14:34:40 Chargement de la configuration système...
2023-10-27 14:34:40 Configuration système chargée avec succès!
2023-10-27 14:34:40 Initialisation du dispositif [MasterCAN]
2023-10-27 14:34:40 Démarrage d'un module CAN...
2023-10-27 14:34:40 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-27 à 14:36:58
********************************************************************
2023-10-27 14:36:58 Chargement de la configuration système...
2023-10-27 14:36:58 Configuration système chargée avec succès!
2023-10-27 14:36:58 Initialisation du dispositif [MasterCAN]
2023-10-27 14:36:58 Démarrage d'un module CAN...
2023-10-27 14:36:58 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:25:07
********************************************************************
2023-10-28 08:25:07 Chargement de la configuration système...
2023-10-28 08:25:07 Configuration système chargée avec succès!
2023-10-28 08:25:07 Initialisation du dispositif [MasterCAN]
2023-10-28 08:25:07 Démarrage d'un module CAN...
2023-10-28 08:25:07 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:29:46
********************************************************************
2023-10-28 08:29:46 Chargement de la configuration système...
2023-10-28 08:29:46 Configuration système chargée avec succès!
2023-10-28 08:29:46 Initialisation du dispositif [MasterCAN]
2023-10-28 08:29:46 Démarrage d'un module CAN...
2023-10-28 08:29:46 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:31:38
********************************************************************
2023-10-28 08:31:38 Chargement de la configuration système...
2023-10-28 08:31:38 Configuration système chargée avec succès!
2023-10-28 08:31:38 Initialisation du dispositif [MasterCAN]
2023-10-28 08:31:38 Démarrage d'un module CAN...
2023-10-28 08:31:38 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:34:52
********************************************************************
2023-10-28 08:34:52 Chargement de la configuration système...
2023-10-28 08:34:52 Configuration système chargée avec succès!
2023-10-28 08:34:52 Initialisation du dispositif [MasterCAN]
2023-10-28 08:34:52 Démarrage d'un module CAN...
2023-10-28 08:34:52 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:37:13
********************************************************************
2023-10-28 08:37:13 Chargement de la configuration système...
2023-10-28 08:37:13 Configuration système chargée avec succès!
2023-10-28 08:37:13 Initialisation du dispositif [MasterCAN]
2023-10-28 08:37:13 Démarrage d'un module CAN...
2023-10-28 08:37:13 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:43:55
********************************************************************
2023-10-28 08:43:55 Chargement de la configuration système...
2023-10-28 08:43:55 Configuration système chargée avec succès!
2023-10-28 08:43:55 Initialisation du dispositif [MasterCAN]
2023-10-28 08:43:55 Démarrage d'un module CAN...
2023-10-28 08:43:55 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 09:07:05
********************************************************************
2023-10-28 09:07:05 Chargement de la configuration système...
2023-10-28 09:07:05 Configuration système chargée avec succès!
2023-10-28 09:07:05 Initialisation du dispositif [MasterCAN]
2023-10-28 09:07:05 Démarrage d'un module CAN...
2023-10-28 09:07:05 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 10:49:23
********************************************************************
2023-10-28 10:49:23 Librairie Axiomtek chargée avec succès
2023-10-28 10:49:23 Chargement de la configuration système...
2023-10-28 10:49:23 Configuration système chargée avec succès!
2023-10-28 10:49:23 Initialisation du dispositif [MasterCAN]
2023-10-28 10:49:23 Démarrage d'un module CAN...
2023-10-28 10:49:23 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 10:49:57
********************************************************************
2023-10-28 10:49:57 Librairie Axiomtek chargée avec succès
2023-10-28 10:49:57 Chargement de la configuration système...
2023-10-28 10:49:57 Configuration système chargée avec succès!
2023-10-28 10:49:57 Initialisation du dispositif [MasterCAN]
2023-10-28 10:49:57 Démarrage d'un module CAN...
2023-10-28 10:49:57 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 11:08:57
********************************************************************
2023-10-28 11:08:57 Librairie Axiomtek chargée avec succès
2023-10-28 11:08:57 Chargement de la configuration système...
2023-10-28 11:08:57 Configuration système chargée avec succès!
2023-10-28 11:08:57 Initialisation du dispositif [MasterCAN]
2023-10-28 11:08:57 Démarrage d'un module CAN...
2023-10-28 11:08:57 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:19:46
********************************************************************
2023-10-28 12:19:46 Librairie Axiomtek chargée avec succès
2023-10-28 12:19:46 Chargement de la configuration système...
2023-10-28 12:19:46 Configuration système chargée avec succès!
2023-10-28 12:19:46 Initialisation du dispositif [MasterCAN]
2023-10-28 12:19:46 Démarrage d'un module CAN...
2023-10-28 12:19:46 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:24:27
********************************************************************
2023-10-28 12:24:27 Librairie Axiomtek chargée avec succès
2023-10-28 12:24:27 Chargement de la configuration système...
2023-10-28 12:24:27 Configuration système chargée avec succès!
2023-10-28 12:24:27 Initialisation du dispositif [MasterCAN]
2023-10-28 12:24:27 Démarrage d'un module CAN...
2023-10-28 12:24:27 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:24:35
********************************************************************
2023-10-28 12:24:35 Librairie Axiomtek chargée avec succès
2023-10-28 12:24:35 Chargement de la configuration système...
2023-10-28 12:24:35 Configuration système chargée avec succès!
2023-10-28 12:24:35 Initialisation du dispositif [MasterCAN]
2023-10-28 12:24:35 Démarrage d'un module CAN...
2023-10-28 12:24:35 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:27:58
********************************************************************
2023-10-28 12:27:58 Librairie Axiomtek chargée avec succès
2023-10-28 12:27:58 Chargement de la configuration système...
2023-10-28 12:27:58 Configuration système chargée avec succès!
2023-10-28 12:27:58 Initialisation du dispositif [MasterCAN]
2023-10-28 12:27:58 Démarrage d'un module CAN...
2023-10-28 12:27:58 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:28:35
********************************************************************
2023-10-28 12:28:35 Librairie Axiomtek chargée avec succès
2023-10-28 12:28:35 Chargement de la configuration système...
2023-10-28 12:28:35 Configuration système chargée avec succès!
2023-10-28 12:28:35 Initialisation du dispositif [MasterCAN]
2023-10-28 12:28:35 Démarrage d'un module CAN...
2023-10-28 12:28:35 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:30:40
********************************************************************
2023-10-28 12:30:40 Librairie Axiomtek chargée avec succès
2023-10-28 12:30:40 Chargement de la configuration système...
2023-10-28 12:30:40 Configuration système chargée avec succès!
2023-10-28 12:30:40 Initialisation du dispositif [MasterCAN]
2023-10-28 12:30:40 Démarrage d'un module CAN...
2023-10-28 12:30:40 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:31:08
********************************************************************
2023-10-28 12:31:08 Librairie Axiomtek chargée avec succès
2023-10-28 12:31:08 Chargement de la configuration système...
2023-10-28 12:31:08 Configuration système chargée avec succès!
2023-10-28 12:31:08 Initialisation du dispositif [MasterCAN]
2023-10-28 12:31:08 Démarrage d'un module CAN...
2023-10-28 12:31:08 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:31:50
********************************************************************
2023-10-28 12:31:50 Librairie Axiomtek chargée avec succès
2023-10-28 12:31:50 Chargement de la configuration système...
2023-10-28 12:31:50 Configuration système chargée avec succès!
2023-10-28 12:31:50 Initialisation du dispositif [MasterCAN]
2023-10-28 12:31:50 Démarrage d'un module CAN...
2023-10-28 12:31:50 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:33:05
********************************************************************
2023-10-28 12:33:05 Librairie Axiomtek chargée avec succès
2023-10-28 12:33:05 Chargement de la configuration système...
2023-10-28 12:33:05 Configuration système chargée avec succès!
2023-10-28 12:33:05 Initialisation du dispositif [MasterCAN]
2023-10-28 12:33:05 Démarrage d'un module CAN...
2023-10-28 12:33:05 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:46:18
********************************************************************
2023-10-28 12:46:18 Librairie Axiomtek chargée avec succès
2023-10-28 12:46:18 Chargement de la configuration système...
2023-10-28 12:46:18 Configuration système chargée avec succès!
2023-10-28 12:46:18 Initialisation du dispositif [MasterCAN]
2023-10-28 12:46:18 Démarrage d'un module CAN...
2023-10-28 12:46:18 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:47:11
********************************************************************
2023-10-28 12:47:11 Librairie Axiomtek chargée avec succès
2023-10-28 12:47:11 Chargement de la configuration système...
2023-10-28 12:47:11 Configuration système chargée avec succès!
2023-10-28 12:47:11 Initialisation du dispositif [MasterCAN]
2023-10-28 12:47:11 Démarrage d'un module CAN...
2023-10-28 12:47:11 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:47:20
********************************************************************
2023-10-28 12:47:20 Librairie Axiomtek chargée avec succès
2023-10-28 12:47:20 Chargement de la configuration système...
2023-10-28 12:47:20 Configuration système chargée avec succès!
2023-10-28 12:47:20 Initialisation du dispositif [MasterCAN]
2023-10-28 12:47:20 Démarrage d'un module CAN...
2023-10-28 12:47:20 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 12:47:39
********************************************************************
2023-10-28 12:47:39 Librairie Axiomtek chargée avec succès
2023-10-28 12:47:39 Chargement de la configuration système...
2023-10-28 12:47:39 Configuration système chargée avec succès!
2023-10-28 12:47:39 Initialisation du dispositif [MasterCAN]
2023-10-28 12:47:39 Démarrage d'un module CAN...
2023-10-28 12:47:39 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

View File

@ -31,6 +31,8 @@ INCLUDEPATH += $$PWD/ \
$$PWD/Sources/CANDatabase\ $$PWD/Sources/CANDatabase\
$$PWD/Sources/CANBus\ $$PWD/Sources/CANBus\
$$PWD/Sources/CloudLogging\ $$PWD/Sources/CloudLogging\
$$PWD/Sources/Axiomtek\
SOURCES += Sources/main.cpp \ SOURCES += Sources/main.cpp \
Sources/MainWindow.cpp \ Sources/MainWindow.cpp \
@ -55,7 +57,8 @@ SOURCES += Sources/main.cpp \
Sources/Gui/CCANWatchdogSettingsPage.cpp \ Sources/Gui/CCANWatchdogSettingsPage.cpp \
Sources/CANBus/CANWatchdogConfig.cpp \ Sources/CANBus/CANWatchdogConfig.cpp \
Sources/GeneralSystemParams.cpp \ Sources/GeneralSystemParams.cpp \
Sources/CANBus/CANWatchdog.cpp Sources/CANBus/CANWatchdog.cpp \
Sources/ComputerBoardInterface.cpp
HEADERS += Sources/MainWindow.h \ HEADERS += Sources/MainWindow.h \
Sources/PCANInterface.h \ Sources/PCANInterface.h \
@ -82,7 +85,9 @@ HEADERS += Sources/MainWindow.h \
Sources/Gui/CCANWatchdogSettingsPage.h \ Sources/Gui/CCANWatchdogSettingsPage.h \
Sources/CANBus/CANWatchdogConfig.h \ Sources/CANBus/CANWatchdogConfig.h \
Sources/GeneralSystemParams.h \ Sources/GeneralSystemParams.h \
Sources/CANBus/CANWatchdog.h Sources/CANBus/CANWatchdog.h \
Sources/Axiomtek/AxUfiAPI.h \
Sources/ComputerBoardInterface.h
FORMS += Sources/Gui/MainWindow.ui \ FORMS += Sources/Gui/MainWindow.ui \
Sources/Gui/GeneralStatusPage.ui \ Sources/Gui/GeneralStatusPage.ui \
@ -97,7 +102,9 @@ win32: LIBS += -L$$PWD/Sources/PCAN/ -lPCANBasic
#INCLUDEPATH += $$PWD/Sources/PCAN #INCLUDEPATH += $$PWD/Sources/PCAN
DEPENDPATH += $$PWD/Sources/PCAN \ DEPENDPATH += $$PWD/Sources/PCAN \
$$PWD/Sources/KVASER/ $$PWD/Sources/KVASER \
$$PWD/Sources/Axiomtek \
win32: LIBS += -L$$PWD/Sources/KVASER/ -lkvaDbLib win32: LIBS += -L$$PWD/Sources/KVASER/ -lkvaDbLib
win32: LIBS += -L$$PWD/Sources/Axiomtek/ -lAxUfiAPIx64

Binary file not shown.

View File

@ -0,0 +1,198 @@
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the ICO1000_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// ICO1000_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
//#ifdef ICO1000_EXPORTS
//#define ICO1000_API __declspec(dllexport)
//#else
//#define AxHWInfo_API __declspec(dllimport)
//#endif
#ifndef AxHWInfo_H
#define AxHWInfo_H
#define ID_SBC86831 1
#define ID_SBC84620 2
#define ID_SBC86837 3
// Windows OS Version define
//32bit OS
#define OS_WIN95 0x0001
#define OS_WIN98 0x0002
#define OS_WINME 0x0003
#define OS_WIN2000 0x0004
#define OS_WINNT 0x0005
#define OS_WINXP 0x0006
#define OS_VISTA 0x0007
#define OS_SERVER2003 0x0008
#define OS_WINDOWS7 0x0009
//64bit OS
#define OS64_WINXP 0x0101
#define OS64_VISTA 0x0102
#define OS64_WINDOWS7 0x0103
//Digital IO pin define
#define DIO_PIN0 0x01
#define DIO_PIN1 0x02
#define DIO_PIN2 0x04
#define DIO_PIN3 0x08
#define DIO_PIN4 0x10
#define DIO_PIN5 0x20
#define DIO_PIN6 0x40
#define DIO_PIN7 0x80
// DIO Direction Setting
#define DIO0_OUTPUT 0x00
#define DIO0_INPUT 0x01
#define DIO1_OUTPUT 0x00
#define DIO1_INPUT 0x02
#define DIO2_OUTPUT 0x00
#define DIO2_INPUT 0x04
#define DIO3_OUTPUT 0x00
#define DIO3_INPUT 0x08
#define DIO4_OUTPUT 0x00
#define DIO4_INPUT 0x10
#define DIO5_OUTPUT 0x00
#define DIO5_INPUT 0x20
#define DIO6_OUTPUT 0x00
#define DIO6_INPUT 0x40
#define DIO7_OUTPUT 0x00
#define DIO7_INPUT 0x80
//Watch Dog Timer define
#define bWDT_MINUTE 0x0100
#define bWDT_SECOND 0x0000
#define bWDT_ENABLE 0x0001
#define bWDT_DISABLE 0x0002
#define bWDT_RELOAD 0x0003
#define bWDT_EVENT 0x0004
#define bWDT_EVENT_CLR 0x0005
//*******************************
//**** Smart Battery Kit define
//*******************************
//AxGetBatteryKitStatus
#define fExist_BatteryCharger 0x00000001 //bit 0~7 BatteryKit Exist
#define fExist_BatteryData 0x00000002
#define fExist_BatterySelector 0x00000004
#define fChargerInhibit 0x00000100 //bit 8~15 charger status
#define fAC_Present 0x00000200
#define fBattery_Present 0x00000400
#define fBatteryFullCharged 0x00010000 //bit 16~23 battery status
#define fBatteryDischarging 0x00020000
#define fBatteryOverTempAlarm 0x00040000
// //bit 24~31 selector status
//AxSetChargerMode
#define bInhibitCharge 0x0001
#define bEnablePolling 0x0002
#define bPowerOnDefault 0x0004
#define bChargingToZero 0x0008
//AxSetBatteryMode
#define bEnableInternalCharger 0x0100 //bit8
#define bPrimaryBattery 0x0200 //bit9
#define bDisableAlarmBroadcasts 0x2000 //bit13
#define bDisableBroadcastsCharging 0x4000 //bit14,disable charging vlotage and current broadcasts
#define bReportWattMode 0x8000 //bit15, set mA to mW
typedef struct BATTERY_MANUFACTURER {
wchar_t sManufacturerName[33];
wchar_t sDeviceName[33];
wchar_t sDeviceChemistry[33];
}AxBatteryManufacturer;
typedef struct BATTERY_CAPACITY {
unsigned short PercentageOfFull;
unsigned short PercentageOfDesign;
unsigned short RemainingCapacity;
unsigned short FullChargeCapacity;
unsigned short DesignCapacity;
}AxBatteryCapacity;
typedef struct BATTERY_RUNTIME {
short PercentageOfFull;
short BatteryCurrent;
short BatteryVoltage;
unsigned short RunTimeToEmpty;
unsigned short Temperature;
}AxBatteryRuntime;
typedef struct SBC_DS2401 {
long double dlBoardID;
unsigned char bBoardID[6];
unsigned char sBoardID[13];
}sbc_ds2401;
#ifdef AXuAPI_DLL
#define AXuAPI _declspec(dllexport)
#else
//#define AXuAPI _declspec(dllimport)
#define AXuAPI
#endif
extern "C"
{
/** Hardware Library Control Function **/
AXuAPI BOOL __stdcall AxBoardLoadLibrary(char *dllname);
AXuAPI BOOL __stdcall AxBoardReleaseLibrary(void);
/*************** Needs Boadr Level Library -Start- ***************/
/** Hardware Monitor Function ***/
AXuAPI BOOL __stdcall AxGetCPUTemp(float * fValue);
AXuAPI BOOL __stdcall AxGetSYSTemp(float * fValue);
AXuAPI BOOL __stdcall AxGetGMCHTemp(float * fValue);
AXuAPI BOOL __stdcall AxGetCPUFAN(float * fValue);
AXuAPI BOOL __stdcall AxGetSYSFAN(float * fValue);
AXuAPI BOOL __stdcall AxGetGMCHFAN(float * fValue);
AXuAPI BOOL __stdcall AxGetCPUVcore(float * fValue);
AXuAPI BOOL __stdcall AxGetNBVTT(float * fValue);
AXuAPI BOOL __stdcall AxGet3V(float * fValue);
AXuAPI BOOL __stdcall AxGet5V(float * fValue);
AXuAPI BOOL __stdcall AxGet12V(float * fValue);
AXuAPI BOOL __stdcall AxGetNeg5V(float * fValue);
AXuAPI BOOL __stdcall AxGetNeg12V(float * fValue);
AXuAPI BOOL __stdcall AxGetVbat(float * fValue);
/** Digital IO Function **/
AXuAPI BOOL __stdcall AxGetDI(int pin, int *pinData);
AXuAPI BOOL __stdcall AxGetDO(int pin, int *pinData);
AXuAPI BOOL __stdcall AxSetDO(int pin, int *pinData);
AXuAPI BOOL __stdcall AxGetDIOValidPin(int pin, int *pinData);
AXuAPI BOOL __stdcall AxSetDIODirection(int pin, int *pinData);
/** Watch dog Timer Function **/
AXuAPI BOOL __stdcall AxWDTSetCounter(int timeCounter);
AXuAPI BOOL __stdcall AxWDTexec(int subFunction);
AXuAPI BOOL __stdcall AxWDTOutputPin(int sunFunction);
AXuAPI BOOL __stdcall AxWDTEvent(int sunFunction, int *repData);
/*************** Needs Boadr Level Library -End- ******************/
/** Unique Board ID Function **/
AXuAPI BOOL __stdcall AxGetBoardID(SBC_DS2401 *sbc_bid);
/* Utilities Function **/
AXuAPI int __stdcall AxOS_Version(void);
AXuAPI BOOL __stdcall AxSystemReboot(void);
AXuAPI BOOL __stdcall AxSystemShutdown(void);
AXuAPI BOOL __stdcall AxSBC_BIOSID(char *biosid);
/* SMBus I2C Function */
AXuAPI BOOL __stdcall AxQueryI2CDevice(UCHAR I2CAddress);
AXuAPI BOOL __stdcall AxReadI2CByte(UCHAR I2CAddress, UCHAR I2CRegister, LPBYTE pDataBuffer);
AXuAPI BOOL __stdcall AxReadI2CWord(UCHAR I2CAddress, UCHAR I2CRegister, LPBYTE pDataBuffer);
AXuAPI BOOL __stdcall AxWriteI2CByte(UCHAR I2CAddress, UCHAR I2CRegister, LPBYTE pDataBuffer);
AXuAPI BOOL __stdcall AxWriteI2CWord(UCHAR I2CAddress, UCHAR I2CRegister, LPBYTE pDataBuffer);
AXuAPI BOOL __stdcall AxGetSMBusAddress(USHORT * pSMBusAddress);
AXuAPI BOOL __stdcall AxReadI2CBlock(UCHAR I2CAddress, UCHAR I2CRegister, LPBYTE pDataBuffer);
/* Smart Battery Kit Function */
AXuAPI BOOL __stdcall AxGetBatteryKitStatus(ULONG * plBatteryKitStatus);
AXuAPI BOOL __stdcall AxGetBatteryManufacturer(AxBatteryManufacturer * pBatteryManufacturer);
AXuAPI BOOL __stdcall AxGetBatteryCapacity(AxBatteryCapacity * pBatteryCapacity);
AXuAPI BOOL __stdcall AxGetBatteryRuntime(AxBatteryRuntime * pBatteryRuntime);
AXuAPI BOOL __stdcall AxSetChargerMode(USHORT wChargerMode);
AXuAPI BOOL __stdcall AxSetBatteryMode(USHORT wBatteryMode);
AXuAPI BOOL __stdcall AxGetBatteryMode(USHORT * pwBatteryMode);
}
#endif

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,108 @@
#include "ComputerBoardInterface.h"
#include "defines.h"
#include "AxUfiAPI.h"
#include "GeneralMessagesLogDispatcher.h"
CComputerBoardInterface::CComputerBoardInterface()
{
}
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);
return RET_OK;
}
else
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Impossible de charger la librairie Axiomtek"),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
}
return RET_OK;
}
int CComputerBoardInterface::LoadLibrary()
{
int result;
char libname[] = CPU_LIBRARY_NAME;
result = AxBoardLoadLibrary(libname);
if(result)
return RET_OK;
return RET_GENERAL_ERROR;
}
int CComputerBoardInterface::UnloadLibrary()
{
if(AxBoardReleaseLibrary() != 0)
{
return RET_OK;
}
return RET_GENERAL_ERROR;
}
int CComputerBoardInterface::DeInit()
{
return RET_OK;
}
int CComputerBoardInterface::StartCPUWatchdog(int TimeoutInSeconds)
{
if(TimeoutInSeconds > (255*60) ) //Max of 255 minutes
{
return RET_GENERAL_ERROR;
}
int Ret;
quint16 RawTimeout = bWDT_SECOND;
if(TimeoutInSeconds <= 60)
{
RawTimeout = TimeoutInSeconds;
}
else
{
RawTimeout = TimeoutInSeconds/60;
RawTimeout |= bWDT_MINUTE; //set the counter time base in minutes (high byte = 1)
}
if(AxWDTSetCounter(RawTimeout) != true)
{
Ret = RET_GENERAL_ERROR;
}
else
{
if(AxWDTexec(bWDT_ENABLE) == true)
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Watchdog CPU démarré. Timeout: %1 secondes").arg(TimeoutInSeconds));
Ret = RET_OK;
}
else
{
Ret = RET_GENERAL_ERROR;
}
}
return Ret;
}
int CComputerBoardInterface::StopCPUWatchdog()
{
int Ret = RET_OK;
if(AxWDTexec(bWDT_DISABLE) == false)
{
Ret = RET_GENERAL_ERROR;
}
return Ret;
}
int CComputerBoardInterface::KickCPUWatchdog()
{
AxWDTexec(bWDT_RELOAD);
return RET_OK;
}

View File

@ -0,0 +1,23 @@
#ifndef COMPUTERBOARDINTERFACE_H
#define COMPUTERBOARDINTERFACE_H
#include "minwindef.h"
#define CPU_DEFAULT_WATCHDOG_TIMEOUT 600 //10 minutes.
#define CPU_LIBRARY_NAME "dtSBC87853x64"
class CComputerBoardInterface
{
public:
CComputerBoardInterface();
int Init();
int DeInit();
int StartCPUWatchdog(int TimeoutInSeconds = CPU_DEFAULT_WATCHDOG_TIMEOUT); //Timeout in seconds
int StopCPUWatchdog();
int KickCPUWatchdog();
private:
int LoadLibrary();
int UnloadLibrary();
};
#endif // COMPUTERBOARDINTERFACE_H

View File

@ -3,6 +3,7 @@
#include "QStringList" #include "QStringList"
#include <QScrollBar> #include <QScrollBar>
#include <QLibrary> #include <QLibrary>
#include "OtarcikCan.h"
CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) : CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) :
QWidget(parent), QWidget(parent),
@ -11,6 +12,7 @@ CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
connect(ui->mClearGenMsgTxtBtn,&QPushButton::clicked,this,&CGeneralStatusPage::ClearGenMsgAreaBtnPressed); connect(ui->mClearGenMsgTxtBtn,&QPushButton::clicked,this,&CGeneralStatusPage::ClearGenMsgAreaBtnPressed);
connect(ui->mQuitAppBtn,&QPushButton::clicked,this,&CGeneralStatusPage::QuitAppBtnPressed);
SetMQTTConnectionStatus(false); SetMQTTConnectionStatus(false);
SetCANConnectionStatus(false); SetCANConnectionStatus(false);
@ -194,3 +196,8 @@ int CGeneralStatusPage::UpdateCANModuleStatus(QString ModuleName, QString Module
return RET_OK; return RET_OK;
} }
void CGeneralStatusPage::QuitAppBtnPressed()
{
mProgramPtr->QuitApplicationRequest();
}

View File

@ -9,6 +9,8 @@ namespace Ui {
class CGeneralStatusPage; class CGeneralStatusPage;
} }
class COtarcikCan;
class CGeneralStatusPage : public QWidget class CGeneralStatusPage : public QWidget
{ {
Q_OBJECT Q_OBJECT
@ -24,6 +26,8 @@ public:
GEN_STATUS_PG_MAX_TEXT_VALUE GEN_STATUS_PG_MAX_TEXT_VALUE
}; };
COtarcikCan *mProgramPtr;
explicit CGeneralStatusPage(QWidget *parent = 0); explicit CGeneralStatusPage(QWidget *parent = 0);
~CGeneralStatusPage(); ~CGeneralStatusPage();
@ -45,6 +49,7 @@ private:
public slots: public slots:
void ClearGenMsgAreaBtnPressed(); void ClearGenMsgAreaBtnPressed();
void QuitAppBtnPressed();
}; };

View File

@ -153,6 +153,19 @@
<string>Statut des module CAN </string> <string>Statut des module CAN </string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="mQuitAppBtn">
<property name="geometry">
<rect>
<x>1529</x>
<y>560</y>
<width>131</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Quitter l'application</string>
</property>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -22,7 +22,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
ui(new Ui::CMainWindow) ui(new Ui::CMainWindow)
{ {
ui->setupUi(this); ui->setupUi(this);
QMainWindow::statusBar()->showMessage("V1.04"); QMainWindow::statusBar()->showMessage("V1.05");
mGeneralStatusPage = new CGeneralStatusPage(this); mGeneralStatusPage = new CGeneralStatusPage(this);
mMainWindowWidget = new QTabWidget(this); mMainWindowWidget = new QTabWidget(this);
@ -41,7 +41,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
// mProgramsSettingsTabWidget->addTab(mCANWatchdogSettingsPage,"Watchdog"); // mProgramsSettingsTabWidget->addTab(mCANWatchdogSettingsPage,"Watchdog");
mProgramsSettingsTabWidget->addTab(mDataLoggingSettingsPage,"Archivage"); mProgramsSettingsTabWidget->addTab(mDataLoggingSettingsPage,"Archivage");
setWindowFlags(Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint);
resize(1700,768); resize(1700,768);
} }

View File

@ -32,6 +32,7 @@ public:
CCANWatchdogSettingsPage *mCANWatchdogSettingsPage; CCANWatchdogSettingsPage *mCANWatchdogSettingsPage;
private: private:
Ui::CMainWindow *ui; Ui::CMainWindow *ui;
}; };

View File

@ -18,15 +18,22 @@
#include "PCANBasic.h" #include "PCANBasic.h"
#include "QtEndian" #include "QtEndian"
COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent) COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent)
{ {
mGPTimer = new QTimer; mGPTimer = new QTimer;
connect(mGPTimer,SIGNAL(timeout()),this,SLOT(GPTimerExpired())); connect(mGPTimer,SIGNAL(timeout()),this,SLOT(GPTimerExpired()));
mCANBusMQTTClient.mProgramPtr = this; mCANBusMQTTClient.mProgramPtr = this;
mWatchdogTimer = new QTimer;
connect(mWatchdogTimer,&QTimer::timeout,this,&COtarcikCan::WatchdogUpdateTimerExpired);
mWatchdogTimer->setSingleShot(false);
mWatchdogTimer->setInterval(1000);
} }
COtarcikCan::~COtarcikCan() COtarcikCan::~COtarcikCan()
{ {
qDebug("Destruction");
while (!mCANDevicesList.isEmpty()) while (!mCANDevicesList.isEmpty())
{ {
@ -38,15 +45,14 @@ COtarcikCan::~COtarcikCan()
delete mGPTimer; delete mGPTimer;
delete mWatchdogTimer;
} }
int COtarcikCan::Start() int COtarcikCan::Start()
{ {
mMainWindow.mCANbusSettingsPage->mProgramPtr = this; mMainWindow.mCANbusSettingsPage->mProgramPtr = this;
mMainWindow.mDataLoggingSettingsPage->mProgramHandle = this; mMainWindow.mDataLoggingSettingsPage->mProgramHandle = this;
mMainWindow.mGeneralStatusPage->mProgramPtr = this;
// mMainWindow.mCANWatchdogSettingsPage->mProgramHandle = this; // mMainWindow.mCANWatchdogSettingsPage->mProgramHandle = this;
mMainWindow.show(); mMainWindow.show();
@ -58,6 +64,8 @@ int COtarcikCan::Start()
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN")); // CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"));
mCPUInterface.Init();
if(mSystemConfig.LoadConfig() == RET_OK) if(mSystemConfig.LoadConfig() == RET_OK)
{ {
QList<CCANDeviceConfig*> *CANDeviceConfigList; QList<CCANDeviceConfig*> *CANDeviceConfigList;
@ -66,9 +74,6 @@ int COtarcikCan::Start()
{ {
PopulateCANDevicesList(CANDeviceConfigList); PopulateCANDevicesList(CANDeviceConfigList);
} }
mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList); mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList);
mMainWindow.mCANViewerPage->InitCANTable(&mCANDevicesList); mMainWindow.mCANViewerPage->InitCANTable(&mCANDevicesList);
@ -86,8 +91,15 @@ int COtarcikCan::Start()
// mGPTimer->setSingleShot(false); // mGPTimer->setSingleShot(false);
// mGPTimer->start(5000); // mGPTimer->start(5000);
mCPUInterface.StartCPUWatchdog(25);
mWatchdogTimer->start();
} }
else
{
mCPUInterface.StartCPUWatchdog();
mWatchdogTimer->start();
}
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN")); CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Démarrage du logiciel OtarcikCAN"));
@ -96,6 +108,8 @@ int COtarcikCan::Start()
mCANBusMQTTClient.StartMQTTClient(); mCANBusMQTTClient.StartMQTTClient();
mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList); mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList);
return 0; return 0;
} }
@ -234,3 +248,17 @@ int COtarcikCan::SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogC
return mSystemConfig.SaveConfig(); return mSystemConfig.SaveConfig();
} }
void COtarcikCan::WatchdogUpdateTimerExpired() //Time to kick the CPU watchdog
{
mCPUInterface.KickCPUWatchdog();
}
void COtarcikCan::QuitApplicationRequest()
{
qDebug("Quit app request");
mWatchdogTimer->stop();
mCPUInterface.StopCPUWatchdog();
mCPUInterface.DeInit();
QCoreApplication::quit();
}

View File

@ -9,6 +9,7 @@
#include <QList> #include <QList>
#include "SystemConfig.h" #include "SystemConfig.h"
#include "MQTTClientWrapper.h" #include "MQTTClientWrapper.h"
#include "ComputerBoardInterface.h"
class COtarcikCan : public QObject class COtarcikCan : public QObject
@ -21,6 +22,8 @@ public:
CSystemConfig mSystemConfig; CSystemConfig mSystemConfig;
CMQTTClientWrapper mCANBusMQTTClient; CMQTTClientWrapper mCANBusMQTTClient;
QTimer *mGPTimer; QTimer *mGPTimer;
CComputerBoardInterface mCPUInterface;
QTimer *mWatchdogTimer;
int Start(); int Start();
@ -38,6 +41,8 @@ public:
int SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig); int SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig);
void QuitApplicationRequest();
private: private:
QList<CCANDevice*> mCANDevicesList; QList<CCANDevice*> mCANDevicesList;
CCloudParams mCloudLoggingParams; CCloudParams mCloudLoggingParams;
@ -50,6 +55,7 @@ signals:
public slots: public slots:
void GPTimerExpired(); void GPTimerExpired();
void WatchdogUpdateTimerExpired();
}; };
#endif // OTARCIKCAN_H #endif // OTARCIKCAN_H

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,402 @@
#define __DBL_MIN_EXP__ (-1021)
#define __FLT32X_MAX_EXP__ 1024
#define __cpp_attributes 200809
#define __UINT_LEAST16_MAX__ 0xffff
#define __ATOMIC_ACQUIRE 2
#define __FLT128_MAX_10_EXP__ 4932
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
#define __GCC_IEC_559_COMPLEX 2
#define __cpp_aggregate_nsdmi 201304
#define __UINT_LEAST8_TYPE__ unsigned char
#define __SIZEOF_FLOAT80__ 16
#define _WIN32 1
#define __INTMAX_C(c) c ## LL
#define __CHAR_BIT__ 8
#define __UINT8_MAX__ 0xff
#define _WIN64 1
#define __WINT_MAX__ 0xffff
#define __FLT32_MIN_EXP__ (-125)
#define __cpp_static_assert 200410
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 0xffffffffffffffffULL
#define __WCHAR_MAX__ 0xffff
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
#define __GCC_IEC_559 2
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __cpp_binary_literals 201304
#define __FLT64_DECIMAL_DIG__ 17
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
#define __x86_64 1
#define __cpp_variadic_templates 200704
#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
#define __SIG_ATOMIC_TYPE__ int
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __cpp_variable_templates 201304
#define __GNUC_PATCHLEVEL__ 0
#define __FLT32_HAS_DENORM__ 1
#define __UINT_FAST8_MAX__ 0xff
#define __has_include(STR) __has_include__(STR)
#define _stdcall __attribute__((__stdcall__))
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __INT_LEAST8_WIDTH__ 8
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
#define __FLT64X_MAX_10_EXP__ 4932
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
#define __UINTMAX_TYPE__ long long unsigned int
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __UINT32_MAX__ 0xffffffffU
#define __GXX_EXPERIMENTAL_CXX0X__ 1
#define __LDBL_MAX_EXP__ 16384
#define __FLT128_MIN_EXP__ (-16381)
#define __WINT_MIN__ 0
#define __FLT128_MIN_10_EXP__ (-4931)
#define __INT_LEAST16_WIDTH__ 16
#define __SCHAR_MAX__ 0x7f
#define __FLT128_MANT_DIG__ 113
#define __WCHAR_MIN__ 0
#define __INT64_C(c) c ## LL
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
#define __FLT64X_MANT_DIG__ 64
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
#define __USER_LABEL_PREFIX__
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
#define __STDC_HOSTED__ 1
#define __WIN32 1
#define __LDBL_HAS_INFINITY__ 1
#define __WIN64 1
#define __FLT32_DIG__ 6
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
#define __GXX_WEAK__ 1
#define __SHRT_WIDTH__ 16
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
#define __DEC32_MAX__ 9.999999E96DF
#define __cpp_threadsafe_static_init 200806
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
#define __MINGW32__ 1
#define __FLT32X_HAS_INFINITY__ 1
#define __INT32_MAX__ 0x7fffffff
#define __INT_WIDTH__ 32
#define __SIZEOF_LONG__ 4
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 64
#define __DECIMAL_DIG__ 21
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
#define __INTMAX_WIDTH__ 64
#define __FLT64_MIN_EXP__ (-1021)
#define __has_include_next(STR) __has_include_next__(STR)
#define __FLT64X_MIN_10_EXP__ (-4931)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __FLT64_MANT_DIG__ 53
#define _REENTRANT 1
#define __GNUC__ 7
#define _cdecl __attribute__((__cdecl__))
#define __GXX_RTTI 1
#define __MMX__ 1
#define __cpp_delegating_constructors 200604
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __BIGGEST_ALIGNMENT__ 16
#define __STDC_UTF_16__ 1
#define __FLT64_MAX_10_EXP__ 308
#define __FLT32_HAS_INFINITY__ 1
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
#define _thiscall __attribute__((__thiscall__))
#define __cpp_raw_strings 200710
#define __INT_FAST32_MAX__ 0x7fffffff
#define __WINNT 1
#define __DBL_HAS_INFINITY__ 1
#define __INT64_MAX__ 0x7fffffffffffffffLL
#define __WINNT__ 1
#define __DEC32_MIN_EXP__ (-94)
#define __INTPTR_WIDTH__ 64
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ short int
#define _fastcall __attribute__((__fastcall__))
#define __LDBL_HAS_DENORM__ 1
#define __cplusplus 201402L
#define __cpp_ref_qualifiers 200710
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __DEC32_MIN__ 1E-95DF
#define __DEPRECATED 1
#define __cpp_rvalue_references 200610
#define __DBL_MAX_EXP__ 1024
#define __WCHAR_WIDTH__ 16
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __ATOMIC_HLE_RELEASE 131072
#define __WIN32__ 1
#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL
#define __amd64 1
#define __tune_core2__ 1
#define __ATOMIC_HLE_ACQUIRE 65536
#define __FLT32_HAS_QUIET_NAN__ 1
#define __GNUG__ 7
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 8
#define __cpp_rvalue_reference 200610
#define __cpp_nsdmi 200809
#define __FLT64X_MIN_EXP__ (-16381)
#define __SIZEOF_WINT_T__ 2
#define __LONG_LONG_WIDTH__ 64
#define __cpp_initializer_lists 200806
#define __FLT32_MAX_EXP__ 128
#define __cpp_hex_float 201603
#define __GCC_HAVE_DWARF2_CFI_ASM 1
#define __GXX_ABI_VERSION 1011
#define __FLT128_HAS_INFINITY__ 1
#define __FLT_MIN_EXP__ (-125)
#define __cpp_lambdas 200907
#define __FLT64X_HAS_QUIET_NAN__ 1
#define __INT_FAST64_TYPE__ long long int
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
#define __DECIMAL_BID_FORMAT__ 1
#define __GXX_TYPEINFO_EQUALITY_INLINE 0
#define __FLT64_MIN_10_EXP__ (-307)
#define __FLT64X_DECIMAL_DIG__ 21
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __DBL_HAS_DENORM__ 1
#define __cdecl __attribute__((__cdecl__))
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
#define __UINT8_TYPE__ unsigned char
#define __NO_INLINE__ 1
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 21
#define __VERSION__ "7.3.0"
#define __UINT64_C(c) c ## ULL
#define __cpp_unicode_characters 200704
#define __cpp_decltype_auto 201304
#define __GCC_ATOMIC_INT_LOCK_FREE 2
#define __FLT128_MAX_EXP__ 16384
#define __FLT32_MANT_DIG__ 24
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FLT128_HAS_DENORM__ 1
#define __FLT128_DIG__ 33
#define __SCHAR_WIDTH__ 8
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __FLT32_MAX_10_EXP__ 38
#define __INT_FAST32_TYPE__ int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __FLT64X_HAS_INFINITY__ 1
#define __INT16_MAX__ 0x7fff
#define __cpp_rtti 199711
#define __SIZE_TYPE__ long long unsigned int
#define __UINT64_MAX__ 0xffffffffffffffffULL
#define __FLT64X_DIG__ 18
#define __INT8_TYPE__ signed char
#define __cpp_digit_separators 201309
#define __GCC_ASM_FLAG_OUTPUTS__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
#define __UINTMAX_C(c) c ## ULL
#define __GLIBCXX_BITSIZE_INT_N_0 128
#define __SEH__ 1
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __cpp_sized_deallocation 201309
#define __SIZEOF_PTRDIFF_T__ 8
#define __FLT32X_MANT_DIG__ 53
#define __x86_64__ 1
#define __FLT32X_MIN_EXP__ (-1021)
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __MSVCRT__ 1
#define __INT_FAST16_MAX__ 0x7fff
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffU
#define __UINT_LEAST64_TYPE__ long long unsigned int
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 0x7fffffffL
#define __FLT64X_HAS_DENORM__ 1
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __cpp_unicode_literals 200710
#define __UINT_FAST16_TYPE__ short unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __INT_FAST32_WIDTH__ 32
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __SIZE_WIDTH__ 64
#define __SEG_FS 1
#define __INT_LEAST16_MAX__ 0x7fff
#define __DEC64_MANT_DIG__ 16
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __SEG_GS 1
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
#define __SIG_ATOMIC_WIDTH__ 32
#define __INT_LEAST64_TYPE__ long long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __DEC32_MAX_EXP__ 97
#define __INT_FAST8_MAX__ 0x7f
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __INTPTR_MAX__ 0x7fffffffffffffffLL
#define __GXX_MERGED_TYPEINFO_NAMES 0
#define __cpp_range_based_for 200907
#define __FLT64_HAS_QUIET_NAN__ 1
#define __stdcall __attribute__((__stdcall__))
#define __FLT32_MIN_10_EXP__ (-37)
#define __SSE2__ 1
#define __EXCEPTIONS 1
#define __LDBL_MANT_DIG__ 64
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT64_HAS_INFINITY__ 1
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __cpp_return_type_deduction 201304
#define __INTPTR_TYPE__ long long int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ short unsigned int
#define __SIZEOF_FLOAT__ 4
#define __pic__ 1
#define __UINTPTR_MAX__ 0xffffffffffffffffULL
#define __INT_FAST64_WIDTH__ 64
#define __DEC64_MIN_EXP__ (-382)
#define __cpp_decltype 200707
#define __FLT32_DECIMAL_DIG__ 9
#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG__ 6
#define __FLT64X_MAX_EXP__ 16384
#define __UINT_FAST64_TYPE__ long long unsigned int
#define __INT_MAX__ 0x7fffffff
#define __amd64__ 1
#define WIN32 1
#define __nocona 1
#define __code_model_medium__ 1
#define __INT64_TYPE__ long long int
#define __FLT_MAX_EXP__ 128
#define WIN64 1
#define __ORDER_BIG_ENDIAN__ 4321
#define __DBL_MANT_DIG__ 53
#define __cpp_inheriting_constructors 201511
#define __SIZEOF_FLOAT128__ 16
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ short unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
#define __WINT_WIDTH__ 16
#define __INT_LEAST8_MAX__ 0x7f
#define __FLT32X_MAX_10_EXP__ 308
#define __SIZEOF_INT128__ 16
#define __WCHAR_UNSIGNED__ 1
#define __LDBL_MAX_10_EXP__ 4932
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
#define __thiscall __attribute__((__thiscall__))
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __INT_LEAST32_TYPE__ int
#define __SIZEOF_WCHAR_T__ 2
#define __FLT128_HAS_QUIET_NAN__ 1
#define __INT_FAST8_TYPE__ signed char
#define __fastcall __attribute__((__fastcall__))
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
#define __GNUC_STDC_INLINE__ 1
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 8
#define __FXSR__ 1
#define __DEC_EVAL_METHOD__ 2
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
#define __MINGW64__ 1
#define __cpp_runtime_arrays 198712
#define __UINT64_TYPE__ long long unsigned int
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 0x7fffffffffffffffLL
#define __cpp_alias_templates 200704
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define WINNT 1
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 32
#define __PIC__ 1
#define __UINT_FAST32_TYPE__ unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
#define __cpp_constexpr 201304
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __cpp_exceptions 199711
#define __FLT_MIN_10_EXP__ (-37)
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long long int
#define _INTEGRAL_MAX_BITS 64
#define __DEC128_MAX_EXP__ 6145
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __nocona__ 1
#define __GNUC_MINOR__ 3
#define __GLIBCXX_TYPE_INT_N_0 __int128
#define __INT_FAST16_WIDTH__ 16
#define __UINTMAX_MAX__ 0xffffffffffffffffULL
#define __DEC32_MANT_DIG__ 7
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
#define __INT16_C(c) c
#define __cpp_generic_lambdas 201304
#define __STDC__ 1
#define __FLT32X_DIG__ 15
#define __PTRDIFF_TYPE__ long long int
#define __ATOMIC_SEQ_CST 5
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
#define __UINT32_TYPE__ unsigned int
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ long long unsigned int
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
#define __SSE_MATH__ 1
#define __SIZEOF_LONG_LONG__ 8
#define __cpp_user_defined_literals 200809
#define __FLT128_DECIMAL_DIG__ 36
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
#define __LDBL_DIG__ 18
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffff
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
#define __INT_LEAST64_WIDTH__ 64
#define __SSE3__ 1
#define __UINT_FAST8_TYPE__ unsigned char
#define __WIN64__ 1
#define __cpp_init_captures 201304
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3
#define __declspec(x) __attribute__((x))

View File

@ -22,6 +22,7 @@ debug/CCANWatchdogSettingsPage.o
debug/CANWatchdogConfig.o debug/CANWatchdogConfig.o
debug/GeneralSystemParams.o debug/GeneralSystemParams.o
debug/CANWatchdog.o debug/CANWatchdog.o
debug/ComputerBoardInterface.o
debug/moc_MainWindow.o debug/moc_MainWindow.o
debug/moc_PCANInterface.o debug/moc_PCANInterface.o
debug/moc_OtarcikCan.o debug/moc_OtarcikCan.o

View File

@ -22,6 +22,7 @@ release/CCANWatchdogSettingsPage.o
release/CANWatchdogConfig.o release/CANWatchdogConfig.o
release/GeneralSystemParams.o release/GeneralSystemParams.o
release/CANWatchdog.o release/CANWatchdog.o
release/ComputerBoardInterface.o
release/moc_MainWindow.o release/moc_MainWindow.o
release/moc_PCANInterface.o release/moc_PCANInterface.o
release/moc_OtarcikCan.o release/moc_OtarcikCan.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -5442,3 +5442,24 @@ Démarrage du logiciel Otarcik CAN le 2023-09-07 à 12:24:57
******************************************************************** ********************************************************************
2023-09-07 12:24:57 Chargement de la configuration système... 2023-09-07 12:24:57 Chargement de la configuration système...
2023-09-07 12:24:57 Configuration système chargée avec succès! 2023-09-07 12:24:57 Configuration système chargée avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:25:46
********************************************************************
2023-10-28 08:25:46 Chargement de la configuration système...
2023-10-28 08:25:46 Configuration système chargée avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:31:15
********************************************************************
2023-10-28 08:31:15 Chargement de la configuration système...
2023-10-28 08:31:15 Configuration système chargée avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2023-10-28 à 08:34:02
********************************************************************
2023-10-28 08:34:02 Chargement de la configuration système...
2023-10-28 08:34:02 Configuration système chargée avec succès!

Binary file not shown.

Binary file not shown.

View File

@ -31,6 +31,7 @@ public:
QLabel *mClientMQTTConnStatLbl; QLabel *mClientMQTTConnStatLbl;
QTableWidget *mCANModuleStatusTableWdgt; QTableWidget *mCANModuleStatusTableWdgt;
QLabel *label; QLabel *label;
QPushButton *mQuitAppBtn;
void setupUi(QWidget *CGeneralStatusPage) void setupUi(QWidget *CGeneralStatusPage)
{ {
@ -83,6 +84,9 @@ public:
font3.setBold(true); font3.setBold(true);
font3.setWeight(75); font3.setWeight(75);
label->setFont(font3); label->setFont(font3);
mQuitAppBtn = new QPushButton(CGeneralStatusPage);
mQuitAppBtn->setObjectName(QString::fromUtf8("mQuitAppBtn"));
mQuitAppBtn->setGeometry(QRect(1529, 560, 131, 22));
retranslateUi(CGeneralStatusPage); retranslateUi(CGeneralStatusPage);
@ -98,6 +102,7 @@ public:
mPuckCANConStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251connect\303\251e", nullptr)); mPuckCANConStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251connect\303\251e", nullptr));
mClientMQTTConnStatLbl->setText(QCoreApplication::translate("CGeneralStatusPage", "D\303\251connect\303\251", 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 module CAN ", nullptr));
mQuitAppBtn->setText(QCoreApplication::translate("CGeneralStatusPage", "Quitter l'application", nullptr));
} // retranslateUi } // retranslateUi
}; };

View File

@ -1,6 +1,8 @@
VM OpenVPN root: !Evinrude30HP VM OpenVPN root: !Evinrude30HP
PC remote de test: b2BiiIU8 PC remote de test: b2BiiIU8
Anydesk: Otarcik! Anydesk ID : 1949771789 Anydesk: Otarcik!
Anydesk ID : 1949771789
Anydesk ID PC #2: 1004609138
Router Ubiquiti: user:yultek pwd:Evinrude30 Router Ubiquiti: user:yultek pwd:Evinrude30
Windows PC Axiomtek: user yultek pwd:Otarcik! Windows PC Axiomtek: user yultek pwd:Otarcik!
Pet name: otarcik Pet name: otarcik

4
StartOtarcik.bat Normal file
View File

@ -0,0 +1,4 @@
cd C:\Main\Otarcik\Otarcik_CAN\Exec
:start
START /w Otarcik_CAN.exe
goto start

5
StartZigbee.OLD Normal file
View File

@ -0,0 +1,5 @@
cd C:\Main\zigbee2mqtt
:start
REM START /w npm start
START /w node index.js
goto start

2
StartZigbee.cmd Normal file
View File

@ -0,0 +1,2 @@
PowerShell -Command "Set-ExecutionPolicy Unrestricted"
PowerShell C:\Main\LaunchZigbee.ps1

2
StartZigbee.cmd.bak Normal file
View File

@ -0,0 +1,2 @@
PowerShell -Command "Set-ExecutionPolicy Unrestricted" >> "C:\Main\ZigbeeStartupLog.txt" 2>&1
PowerShell C:\Main\LaunchZigbee.ps1 >> "C:\Main\ZigbeeStartupLog.txt" 2>&1