testing some simple math examples
This commit is contained in:
@@ -58,7 +58,7 @@ Q := @
|
||||
NULL := 2>/dev/null
|
||||
endif
|
||||
|
||||
all: directories images
|
||||
all: directories images Test
|
||||
Debug:images
|
||||
Release: images
|
||||
cleanDebug:clean
|
||||
|
||||
@@ -29,3 +29,17 @@ static void DisableAll()
|
||||
DigIo::ch2ena_out.Clear();
|
||||
DigIo::ch3ena_out.Clear();
|
||||
}
|
||||
|
||||
static void CalcTotals()
|
||||
{
|
||||
s32fp totalCurrent = Param::Get(Param::c1idc) + Param::Get(Param::c2idc) + Param::Get(Param::c3idc);
|
||||
|
||||
Param::SetFixed(Param::idc, totalCurrent);
|
||||
s32fp u1 = Param::Get(Param::c1udc);
|
||||
s32fp u2 = Param::Get(Param::c2udc);
|
||||
s32fp u3 = Param::Get(Param::c3udc);
|
||||
|
||||
s32fp udcmax = MAX(u1, MAX(u2, u3));
|
||||
Param::SetFixed(Param::udc, udcmax);
|
||||
}
|
||||
|
||||
|
||||
@@ -355,18 +355,6 @@ static void CalcEnable()
|
||||
Param::SetInt(Param::enable, enable);
|
||||
}
|
||||
|
||||
static void CalcTotals()
|
||||
{
|
||||
s32fp totalCurrent = Param::Get(Param::c1idc) + Param::Get(Param::c2idc) + Param::Get(Param::c3idc);
|
||||
Param::SetFixed(Param::idc, totalCurrent);
|
||||
s32fp u1 = Param::Get(Param::c1udc);
|
||||
s32fp u2 = Param::Get(Param::c2udc);
|
||||
s32fp u3 = Param::Get(Param::c3udc);
|
||||
|
||||
s32fp udcmax = MAX(u1, MAX(u2, u3));
|
||||
Param::SetFixed(Param::udc, udcmax);
|
||||
}
|
||||
|
||||
static void ResetValuesInOffMode()
|
||||
{
|
||||
if (Param::GetInt(Param::state) == OFF)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "test_can.h"
|
||||
#include "test_io.h"
|
||||
#include "test_state.h"
|
||||
#include "test_logic.h"
|
||||
|
||||
extern void Param::Change(Param::PARAM_NUM ParamNum){ };
|
||||
|
||||
@@ -18,6 +19,7 @@ int main() {
|
||||
(TestCase){"test_is_evse_input", test_is_evse_input},
|
||||
(TestCase){"test_check_unplugged", test_check_unplugged},
|
||||
(TestCase){"test_disable_all", test_disable_all},
|
||||
(TestCase){"test_calc_totals", test_calc_totals},
|
||||
// Example:
|
||||
//(TestCase){"Your tests name", function_name_without_brackets}
|
||||
//...
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
#ifndef TEST_LOGIC_H
|
||||
#define TEST_LOGIC_H
|
||||
#endif
|
||||
#include <assert.h>
|
||||
#include "test_common.h"
|
||||
|
||||
void test_calc_totals()
|
||||
{
|
||||
|
||||
// simple idc addition test
|
||||
Param::SetInt(Param::c1idc, 12);
|
||||
Param::SetInt(Param::c2idc, 13);
|
||||
Param::SetInt(Param::c3idc, 11);
|
||||
|
||||
CalcTotals();
|
||||
|
||||
s32fp idc = Param::Get(Param::idc);
|
||||
assert(36 == FP_TOINT(idc));
|
||||
|
||||
// udcmax test
|
||||
Param::SetInt(Param::c1udc, 365);
|
||||
Param::SetInt(Param::c2udc, 364);
|
||||
Param::SetInt(Param::c3udc, 366);
|
||||
|
||||
CalcTotals();
|
||||
|
||||
s32fp udcmax = Param::Get(Param::udc);
|
||||
assert(366 == FP_TOINT(udcmax));
|
||||
}
|
||||
Reference in New Issue
Block a user