Fix undervoltage detection
This commit is contained in:
parent
175f525bcd
commit
9909bfdb4c
|
@ -493,22 +493,26 @@ void sensorTask(void *param){
|
||||||
float deltaV = sensors.batteryVoltage - sensors.batteryVoltage10;
|
float deltaV = sensors.batteryVoltage - sensors.batteryVoltage10;
|
||||||
// Higher limits for lower voltages
|
// Higher limits for lower voltages
|
||||||
if(sensors.batteryVoltage10 < 4.0){
|
if(sensors.batteryVoltage10 < 4.0){
|
||||||
if(deltaV > 0.045 && deltaV < 4.15){
|
if(deltaV > 0.045){
|
||||||
sensors.BatteryChargeStatus = 1; // Charging active
|
sensors.BatteryChargeStatus = 1; // Charging active
|
||||||
}
|
}
|
||||||
if(deltaV < -0.04 || deltaV >= 4.15){ // Charging stops by grater than 4,15V
|
if(deltaV < -0.04){
|
||||||
sensors.BatteryChargeStatus = 0; // Discharging
|
sensors.BatteryChargeStatus = 0; // Discharging
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Lower limits for higher voltages
|
// Lower limits for higher voltages
|
||||||
else{
|
else{
|
||||||
if(deltaV > 0.03 && deltaV < 4.15){
|
if(deltaV > 0.03){
|
||||||
sensors.BatteryChargeStatus = 1; // Charging active
|
sensors.BatteryChargeStatus = 1; // Charging active
|
||||||
}
|
}
|
||||||
if(deltaV < -0.03 || deltaV >= 4.15){ // Charging stops by grater than 4,15V
|
if(deltaV < -0.03){
|
||||||
sensors.BatteryChargeStatus = 0; // Discharging
|
sensors.BatteryChargeStatus = 0; // Discharging
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Charging stops by grater than 4,15V
|
||||||
|
if(sensors.batteryVoltage10 > 4.15){
|
||||||
|
sensors.BatteryChargeStatus = 0; // Discharging
|
||||||
|
}
|
||||||
// Send to NMEA200 bus as instance 10
|
// Send to NMEA200 bus as instance 10
|
||||||
if(!isnan(sensors.batteryVoltage)){
|
if(!isnan(sensors.batteryVoltage)){
|
||||||
SetN2kDCBatStatus(N2kMsg, 10, sensors.batteryVoltage, N2kDoubleNA, N2kDoubleNA, 0);
|
SetN2kDCBatStatus(N2kMsg, 10, sensors.batteryVoltage, N2kDoubleNA, N2kDoubleNA, 0);
|
||||||
|
|
|
@ -78,8 +78,7 @@ void OBP60Init(GwApi *api){
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BOARD_OBP40S3
|
#ifdef BOARD_OBP40S3
|
||||||
// String sdcard = config->getConfigItem(config->useSDCard, true)->asString();
|
String sdcard = config->getConfigItem(config->useSDCard, true)->asString();
|
||||||
String sdcard = "on";
|
|
||||||
if (sdcard == "on") {
|
if (sdcard == "on") {
|
||||||
SPIClass SD_SPI = SPIClass(HSPI);
|
SPIClass SD_SPI = SPIClass(HSPI);
|
||||||
SD_SPI.begin(SD_SPI_CLK, SD_SPI_MISO, SD_SPI_MOSI);
|
SD_SPI.begin(SD_SPI_CLK, SD_SPI_MISO, SD_SPI_MOSI);
|
||||||
|
@ -413,8 +412,7 @@ void OBP60Task(GwApi *api){
|
||||||
String fastrefresh = api->getConfig()->getConfigItem(api->getConfig()->fastRefresh,true)->asString();
|
String fastrefresh = api->getConfig()->getConfigItem(api->getConfig()->fastRefresh,true)->asString();
|
||||||
uint fullrefreshtime = uint(api->getConfig()->getConfigItem(api->getConfig()->fullRefreshTime,true)->asInt());
|
uint fullrefreshtime = uint(api->getConfig()->getConfigItem(api->getConfig()->fullRefreshTime,true)->asInt());
|
||||||
#ifdef BOARD_OBP40S3
|
#ifdef BOARD_OBP40S3
|
||||||
// bool syspage_enabled = config->getBool(config->systemPage);
|
bool syspage_enabled = config->getBool(config->systemPage);
|
||||||
bool syspage_enabled = true;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DISPLAY_GDEY042T81
|
#ifdef DISPLAY_GDEY042T81
|
||||||
|
|
Loading…
Reference in New Issue