97 lines
2.3 KiB
C
97 lines
2.3 KiB
C
#include "ut_ain.h"
|
|
|
|
#include "..\mock_mcu\mock_mcu_hal_r8.h"
|
|
#include "..\..\src\hw\board\ain.h"
|
|
|
|
static const uint8_t NOT_ACCESED_ADC_CH = 255;
|
|
|
|
static int ut_bsp_ain_read(uint8_t ain_ch, uint16_t adc_raw, uint16_t exp_out, uint8_t exp_adc_ch)
|
|
{
|
|
printf(" Input: Ain-Ch:%d Adc-Raw:%d \n", ain_ch, adc_raw);
|
|
|
|
mock_mcu_adc_set_ch(NOT_ACCESED_ADC_CH);
|
|
mock_mcu_adc_set_raw(adc_raw, exp_adc_ch);
|
|
|
|
uint16_t out = bsp_ain_read(ain_ch);
|
|
|
|
uint8_t adc_ch = mock_mcu_adc_read_ch();
|
|
|
|
printf(" Output: AIN:%d Adc-Ch:%d \n", out, adc_ch);
|
|
printf("Expected: AIN:%d Adc-Ch:%d \n", exp_out, exp_adc_ch);
|
|
|
|
if((out==exp_out)&&(adc_ch==exp_adc_ch))
|
|
{
|
|
printf("PASS\n\n");
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
printf("FAIL\n\n");
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
int ut_bsp_ain_read_test(void)
|
|
{
|
|
printf("******************************************************\n");
|
|
printf("uint16_t bsp_ain_read(uint8_t ch)\n");
|
|
|
|
int test_res;
|
|
int pass = 1;
|
|
|
|
uint8_t ain_ch;
|
|
uint16_t adc_raw;
|
|
uint16_t exp_out;
|
|
uint8_t exp_adc_ch;
|
|
|
|
// Normal 1
|
|
ain_ch = BSP_AIN1;
|
|
adc_raw = 88;
|
|
exp_out = 430;
|
|
exp_adc_ch = MCU_ADC5;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
// Normal 2
|
|
ain_ch = BSP_AIN2;
|
|
adc_raw = 88;
|
|
exp_out = 430;
|
|
exp_adc_ch = MCU_ADC4;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
// Normal 3
|
|
ain_ch = BSP_AIN3;
|
|
adc_raw = 500;
|
|
exp_out = 2443;
|
|
exp_adc_ch = MCU_ADC8;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
// Norma 4
|
|
ain_ch = BSP_AIN4;
|
|
adc_raw = 1023;
|
|
exp_out = 4998;
|
|
exp_adc_ch = MCU_ADC14;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
// Normal 5
|
|
ain_ch = BSP_AIN5;
|
|
adc_raw = 1;
|
|
exp_out = 4;
|
|
exp_adc_ch = MCU_ADC15;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
// Not existing ADC channel
|
|
ain_ch = 0;
|
|
adc_raw = 500;
|
|
exp_out = 0;
|
|
exp_adc_ch = NOT_ACCESED_ADC_CH;
|
|
test_res = ut_bsp_ain_read(ain_ch, adc_raw, exp_out, exp_adc_ch);
|
|
if(!test_res) pass = 0;
|
|
|
|
return pass;
|
|
}
|