testing some simple math examples
This commit is contained in:
@@ -58,7 +58,7 @@ Q := @
|
|||||||
NULL := 2>/dev/null
|
NULL := 2>/dev/null
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: directories images
|
all: directories images Test
|
||||||
Debug:images
|
Debug:images
|
||||||
Release: images
|
Release: images
|
||||||
cleanDebug:clean
|
cleanDebug:clean
|
||||||
|
|||||||
@@ -29,3 +29,17 @@ static void DisableAll()
|
|||||||
DigIo::ch2ena_out.Clear();
|
DigIo::ch2ena_out.Clear();
|
||||||
DigIo::ch3ena_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);
|
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()
|
static void ResetValuesInOffMode()
|
||||||
{
|
{
|
||||||
if (Param::GetInt(Param::state) == OFF)
|
if (Param::GetInt(Param::state) == OFF)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "test_can.h"
|
#include "test_can.h"
|
||||||
#include "test_io.h"
|
#include "test_io.h"
|
||||||
#include "test_state.h"
|
#include "test_state.h"
|
||||||
|
#include "test_logic.h"
|
||||||
|
|
||||||
extern void Param::Change(Param::PARAM_NUM ParamNum){ };
|
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_is_evse_input", test_is_evse_input},
|
||||||
(TestCase){"test_check_unplugged", test_check_unplugged},
|
(TestCase){"test_check_unplugged", test_check_unplugged},
|
||||||
(TestCase){"test_disable_all", test_disable_all},
|
(TestCase){"test_disable_all", test_disable_all},
|
||||||
|
(TestCase){"test_calc_totals", test_calc_totals},
|
||||||
// Example:
|
// Example:
|
||||||
//(TestCase){"Your tests name", function_name_without_brackets}
|
//(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