test CheckVoltage
This commit is contained in:
@@ -9,4 +9,5 @@ void CalcTotals();
|
||||
void DisableAll();
|
||||
void EvseRead();
|
||||
bool CheckStartCondition();
|
||||
bool CheckVoltage();
|
||||
#endif
|
||||
|
||||
Binary file not shown.
@@ -54,6 +54,23 @@ bool CheckStartCondition()
|
||||
(!IsEvseInput() && Param::GetBool(Param::enable));
|
||||
}
|
||||
|
||||
bool CheckVoltage()
|
||||
{
|
||||
static int timeout = 0;
|
||||
|
||||
if (Param::Get(Param::udc) > Param::Get(Param::udclim))
|
||||
{
|
||||
timeout++;
|
||||
}
|
||||
else
|
||||
{
|
||||
timeout = 0;
|
||||
}
|
||||
|
||||
return timeout > 10;
|
||||
}
|
||||
|
||||
|
||||
bool CheckTimeout()
|
||||
{
|
||||
uint32_t now = rtc_get_counter_val();
|
||||
|
||||
@@ -48,23 +48,6 @@ static Can* can;
|
||||
static PiController dcCurController;
|
||||
uint32_t startTime;
|
||||
|
||||
|
||||
static bool CheckVoltage()
|
||||
{
|
||||
static int timeout = 0;
|
||||
|
||||
if (Param::Get(Param::udc) > Param::Get(Param::udclim))
|
||||
{
|
||||
timeout++;
|
||||
}
|
||||
else
|
||||
{
|
||||
timeout = 0;
|
||||
}
|
||||
|
||||
return timeout > 10;
|
||||
}
|
||||
|
||||
static bool CheckChargerFaults()
|
||||
{
|
||||
const int acPresentThresh = 70;
|
||||
|
||||
@@ -23,6 +23,7 @@ int main() {
|
||||
(TestCase){"test_check_timeout", test_check_timeout},
|
||||
(TestCase){"test_evse_read", test_evse_read},
|
||||
(TestCase){"test_check_start_condition", test_check_start_condition},
|
||||
(TestCase){"test_check_voltage", test_check_voltage},
|
||||
// Example:
|
||||
//(TestCase){"Your tests name", function_name_without_brackets}
|
||||
//...
|
||||
|
||||
Binary file not shown.
@@ -129,3 +129,19 @@ void test_check_start_condition()
|
||||
res = CheckStartCondition();
|
||||
assert(!res);
|
||||
}
|
||||
|
||||
void test_check_voltage(){
|
||||
bool res;
|
||||
Param::SetInt(Param::udc, 400);
|
||||
Param::SetInt(Param::udclim, 390);
|
||||
|
||||
// tolerate up to ten one off spikes
|
||||
res = CheckVoltage();
|
||||
assert(!res);
|
||||
|
||||
// drop out if received more than ten
|
||||
for(int i =0; i < 15;i++){
|
||||
res = CheckVoltage();
|
||||
}
|
||||
assert(res);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user