test CheckVoltage
This commit is contained in:
@@ -9,4 +9,5 @@ void CalcTotals();
|
|||||||
void DisableAll();
|
void DisableAll();
|
||||||
void EvseRead();
|
void EvseRead();
|
||||||
bool CheckStartCondition();
|
bool CheckStartCondition();
|
||||||
|
bool CheckVoltage();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Binary file not shown.
@@ -54,6 +54,23 @@ bool CheckStartCondition()
|
|||||||
(!IsEvseInput() && Param::GetBool(Param::enable));
|
(!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()
|
bool CheckTimeout()
|
||||||
{
|
{
|
||||||
uint32_t now = rtc_get_counter_val();
|
uint32_t now = rtc_get_counter_val();
|
||||||
|
|||||||
@@ -48,23 +48,6 @@ static Can* can;
|
|||||||
static PiController dcCurController;
|
static PiController dcCurController;
|
||||||
uint32_t startTime;
|
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()
|
static bool CheckChargerFaults()
|
||||||
{
|
{
|
||||||
const int acPresentThresh = 70;
|
const int acPresentThresh = 70;
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ int main() {
|
|||||||
(TestCase){"test_check_timeout", test_check_timeout},
|
(TestCase){"test_check_timeout", test_check_timeout},
|
||||||
(TestCase){"test_evse_read", test_evse_read},
|
(TestCase){"test_evse_read", test_evse_read},
|
||||||
(TestCase){"test_check_start_condition", test_check_start_condition},
|
(TestCase){"test_check_start_condition", test_check_start_condition},
|
||||||
|
(TestCase){"test_check_voltage", test_check_voltage},
|
||||||
// Example:
|
// Example:
|
||||||
//(TestCase){"Your tests name", function_name_without_brackets}
|
//(TestCase){"Your tests name", function_name_without_brackets}
|
||||||
//...
|
//...
|
||||||
|
|||||||
Binary file not shown.
@@ -129,3 +129,19 @@ void test_check_start_condition()
|
|||||||
res = CheckStartCondition();
|
res = CheckStartCondition();
|
||||||
assert(!res);
|
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