Ajouté délai au LVD pour filtrer les glitchs
This commit is contained in:
parent
bbfc4e10e2
commit
24d8155ca2
@ -16,6 +16,7 @@ void InitChaletPowerRelay()
|
|||||||
POWER_RELAY_OFF_PIN = PIN_INACTIVE;
|
POWER_RELAY_OFF_PIN = PIN_INACTIVE;
|
||||||
PowerRelayState = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
PowerRelayState = CHALET_POWER_RELAY_UNKNOWN_STATE;
|
||||||
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChaletPowerRelayTick()
|
void ChaletPowerRelayTick()
|
||||||
@ -37,7 +38,7 @@ void ChaletPowerRelayTick()
|
|||||||
PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IsTimerRunning(CHALET_POWER_RELAY_COIL_TIMER) == true)
|
if((CHALET_POWER_RELAY_COIL_TIMER) == true)
|
||||||
{
|
{
|
||||||
if(IsTimerExpired(CHALET_POWER_RELAY_COIL_TIMER))
|
if(IsTimerExpired(CHALET_POWER_RELAY_COIL_TIMER))
|
||||||
{
|
{
|
||||||
@ -46,11 +47,35 @@ void ChaletPowerRelayTick()
|
|||||||
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
TimerStop(CHALET_POWER_RELAY_COIL_TIMER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(IsTimerRunning(CHALET_POWER_RELAY_LVD_TIMER) == true)
|
||||||
//LVD: if battery voltage is too low, turn off the power relay
|
|
||||||
if(PowerRelayState == CHALET_POWER_RELAY_ON_STATE && GetBatteryVoltage(0) < POWER_RELAY_LVD_VOLTAGE_TRESHOLD)
|
|
||||||
{
|
{
|
||||||
ChaletPowerRelayTurnOff();
|
if(PowerRelayState != CHALET_POWER_RELAY_ON_STATE)
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
}
|
||||||
|
else if(IsTimerExpired(CHALET_POWER_RELAY_LVD_TIMER))
|
||||||
|
{
|
||||||
|
//Check if it was just a glitch
|
||||||
|
if(GetBatteryVoltage(0) >= POWER_RELAY_LVD_VOLTAGE_TRESHOLD)
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
|
ChaletPowerRelayTurnOff();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//LVD: if battery voltage is too low, turn off the power relay
|
||||||
|
if(PowerRelayState == CHALET_POWER_RELAY_ON_STATE && GetBatteryVoltage(0) < POWER_RELAY_LVD_VOLTAGE_TRESHOLD && GetBatteryVoltage(0) != 0.0)
|
||||||
|
{
|
||||||
|
//ChaletPowerRelayTurnOff();
|
||||||
|
TimerStart(CHALET_POWER_RELAY_LVD_TIMER,CHALET_POWER_RELAY_LVD_DEBOUNCE_TIMEOUT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IsTimerExpired(CHALET_POWER_RELAY_AUTOTURNOFF_TIMER))
|
if(IsTimerExpired(CHALET_POWER_RELAY_AUTOTURNOFF_TIMER))
|
||||||
@ -81,6 +106,7 @@ bool ChaletPowerRelayTurnOff()
|
|||||||
{
|
{
|
||||||
POWER_RELAY_OFF_PIN = PIN_ACTIVE;
|
POWER_RELAY_OFF_PIN = PIN_ACTIVE;
|
||||||
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
TimerStart(CHALET_POWER_RELAY_COIL_TIMER,CHALET_POWER_RELAY_COIL_TIMEOUT);
|
||||||
|
TimerStop(CHALET_POWER_RELAY_LVD_TIMER);
|
||||||
// PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
// PowerRelayState = CHALET_POWER_RELAY_OFF_STATE;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#define CHALET_OFFLINE_POWER_RELAY_RESET_TIMEOUT 43200 //43,200 = 12 hours in seconds
|
#define CHALET_OFFLINE_POWER_RELAY_RESET_TIMEOUT 43200 //43,200 = 12 hours in seconds
|
||||||
#define POWER_RELAY_LVD_VOLTAGE_TRESHOLD (float)12.00
|
#define POWER_RELAY_LVD_VOLTAGE_TRESHOLD (float)12.00
|
||||||
|
#define CHALET_POWER_RELAY_LVD_DEBOUNCE_TIMEOUT 1000 //ms
|
||||||
|
|
||||||
enum eChaletPowerRelayState
|
enum eChaletPowerRelayState
|
||||||
{
|
{
|
||||||
|
|||||||
@ -54,6 +54,7 @@ typedef enum
|
|||||||
LTE_MODULE_TIMER,
|
LTE_MODULE_TIMER,
|
||||||
LTE_COMM_TIMER,
|
LTE_COMM_TIMER,
|
||||||
LTE_NWI_TIMER,
|
LTE_NWI_TIMER,
|
||||||
|
CHALET_POWER_RELAY_LVD_TIMER,
|
||||||
TIMER_MAX_ID
|
TIMER_MAX_ID
|
||||||
}eTimerID;
|
}eTimerID;
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
#define VERSIONNUMBER "CHALET_V01.02.5" //shall be 15 chars...
|
#define VERSIONNUMBER "CHALET_V01.02.6" //shall be 15 chars...
|
||||||
//Force DHCP instead of static IP.
|
//Force DHCP instead of static IP.
|
||||||
|
|
||||||
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
//#define VERSIONNUMBER "CHALET_V01.00.1" //shall be 15 chars...
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
#Sun Jan 04 10:46:07 EST 2026
|
#Sat Jul 04 11:51:56 EDT 2026
|
||||||
ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
ChaletDuinoV2_795F512H_.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc32\\v1.33\\bin
|
||||||
proj.dir=D\:\\Main\\PicDev\\Projets\\ChaletLora\\ChaletLora.X
|
proj.dir=D\:\\Main\\PicDev\\Projets\\ChaletLora\\ChaletLora.X
|
||||||
|
|||||||
@ -1,19 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="12">
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="12">
|
||||||
<file>
|
|
||||||
<url>Source/BootloaderInterface.c</url>
|
|
||||||
<bookmark id="5">
|
|
||||||
<name/>
|
|
||||||
<line>387</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark id="4">
|
|
||||||
<name/>
|
|
||||||
<line>437</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
</file>
|
|
||||||
<file>
|
<file>
|
||||||
<url>Source/hd44780.c</url>
|
<url>Source/hd44780.c</url>
|
||||||
<bookmark id="7">
|
<bookmark id="7">
|
||||||
@ -22,14 +9,6 @@
|
|||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</file>
|
||||||
<file>
|
|
||||||
<url>Source/WiFiCtrl.c</url>
|
|
||||||
<bookmark id="12">
|
|
||||||
<name/>
|
|
||||||
<line>407</line>
|
|
||||||
<key/>
|
|
||||||
</bookmark>
|
|
||||||
</file>
|
|
||||||
<file>
|
<file>
|
||||||
<url>Source/SIM7080GInterface.c</url>
|
<url>Source/SIM7080GInterface.c</url>
|
||||||
<bookmark id="11">
|
<bookmark id="11">
|
||||||
@ -53,12 +32,31 @@
|
|||||||
<key/>
|
<key/>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/BootloaderInterface.c</url>
|
||||||
|
<bookmark id="5">
|
||||||
|
<name/>
|
||||||
|
<line>387</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark id="4">
|
||||||
|
<name/>
|
||||||
|
<line>437</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<url>Source/WiFiCtrl.c</url>
|
||||||
|
<bookmark id="12">
|
||||||
|
<name/>
|
||||||
|
<line>407</line>
|
||||||
|
<key/>
|
||||||
|
</bookmark>
|
||||||
|
</file>
|
||||||
</editor-bookmarks>
|
</editor-bookmarks>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group>
|
<group>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ChaletPowerRelay.c</file>
|
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/WiFiCtrl.c</file>
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/ChaletPowerRelay.h</file>
|
|
||||||
<file>file:/D:/Main/PicDev/Projets/ChaletLora/ChaletLora.X/Source/versionbuild.h</file>
|
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user