#include "ut_display.h" #include "..\..\src\logic\display.h" static const uint8_t BACKLIGHT_DIMM = DSP_BACKLIGHT_DIMM_PERCENT; static const uint8_t BACKLIGHT_BRIGTH = DSP_BACKLIGHT_BRIGTH_PERCENT; static int ut_dsp_init_ctrl(dsp_ctrl_t* ctrl, dsp_ctrl_t* exp_ctrl) { printf(" Input: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); dsp_init_ctrl(ctrl); printf(" Output: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); printf("Expected: lock:%d act-image:%x \n", exp_ctrl->img_lock, exp_ctrl->act_img); if((ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_init_ctrl_test(void) { printf("******************************************************\n"); printf("void dsp_init_ctrl(dsp_ctrl_t* ctrl) \n"); int test_res; int pass = 1; dsp_ctrl_t ctrl; dsp_ctrl_t exp_ctrl; ctrl.img_lock = 0; ctrl.act_img = 0; exp_ctrl.img_lock = 0; exp_ctrl.act_img = 0x00; test_res = ut_dsp_init_ctrl(&ctrl, &exp_ctrl); if(!test_res) pass = 0; ctrl.img_lock = 1; ctrl.act_img = 0xAA; exp_ctrl.img_lock = 0; exp_ctrl.act_img = 0x00; test_res = ut_dsp_init_ctrl(&ctrl, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_set_lock(dsp_ctrl_t* ctrl, dsp_ctrl_t* exp_ctrl) { printf(" Input: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); dsp_set_lock(ctrl); printf(" Output: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); printf("Expected: lock:%d act-image:%x \n", exp_ctrl->img_lock, exp_ctrl->act_img); if((ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_set_lock_test(void) { printf("******************************************************\n"); printf("void dsp_set_lock(dsp_ctrl_t* ctrl)\n"); int test_res; int pass = 1; dsp_ctrl_t ctrl; dsp_ctrl_t exp_ctrl; ctrl.img_lock = 0; ctrl.act_img = 0x18; exp_ctrl.img_lock = 1; exp_ctrl.act_img = 0x18; test_res = ut_dsp_set_lock(&ctrl, &exp_ctrl); if(!test_res) pass = 0; ctrl.img_lock = 1; ctrl.act_img = 0x3F; exp_ctrl.img_lock = 1; exp_ctrl.act_img = 0x3F; test_res = ut_dsp_set_lock(&ctrl, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_reset_lock(dsp_ctrl_t* ctrl, dsp_ctrl_t* exp_ctrl) { printf(" Input: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); dsp_reset_lock(ctrl); printf(" Output: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); printf("Expected: lock:%d act-image:%x \n", exp_ctrl->img_lock, exp_ctrl->act_img); if((ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_reset_lock_test(void) { printf("******************************************************\n"); printf("void dsp_reset_lock(dsp_ctrl_t* ctrl)\n"); int test_res; int pass = 1; dsp_ctrl_t ctrl; dsp_ctrl_t exp_ctrl; ctrl.img_lock = 0; ctrl.act_img = 0x18; exp_ctrl.img_lock = 0; exp_ctrl.act_img = 0x18; test_res = ut_dsp_reset_lock(&ctrl, &exp_ctrl); if(!test_res) pass = 0; ctrl.img_lock = 1; ctrl.act_img = 0x18; exp_ctrl.img_lock = 0; exp_ctrl.act_img = 0x18; test_res = ut_dsp_reset_lock(&ctrl, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_img_percent(uint8_t value, dsp_style_t style, dsp_ctrl_t* ctrl, uint8_t exp_out, dsp_ctrl_t* exp_ctrl) { printf(" Input: Percent:%d Style:%d lock:%d act-image:%x \n", value, style, ctrl->img_lock, ctrl->act_img); uint8_t out = dsp_img_percent(value, style, ctrl); printf(" Output: image:%x lock:%d act-image:%x \n", out, ctrl->img_lock, ctrl->act_img); printf("Expected: image:%x lock:%d act-image:%x \n", exp_out, exp_ctrl->img_lock, exp_ctrl->act_img); if((out==exp_out)&&(ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_img_percent_test(void) { printf("******************************************************\n"); printf("uint8_t dsp_img_percent(uint8_t value, dsp_style_t style, dsp_ctrl_t* ctrl)\n"); int test_res; int pass = 1; uint8_t value; dsp_style_t style; dsp_ctrl_t ctrl; uint8_t exp_out; dsp_ctrl_t exp_ctrl; // Test lock value = 50; style = LED_DSP_BAR; ctrl.img_lock = 1; ctrl.act_img = 0x2A; exp_out = 0x2A; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test styles value = 50; style = LED_DSP_BAR; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x07; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test styles value = 50; style = LED_DSP_DOT20; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x04; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test styles value = 50; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x0C; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 0; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x01; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 10; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x03; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 20; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x02; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 30; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x06; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 40; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x04; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 50; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x0C; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 60; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x08; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 80; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x10; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 90; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x30; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test values value = 110; style = LED_DSP_DOT10; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x20; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_percent(value, style, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_img_raw(uint8_t image, dsp_ctrl_t* ctrl, uint8_t exp_out, dsp_ctrl_t* exp_ctrl) { printf(" Input: Image:%x lock:%d act-image:%x \n", image, ctrl->img_lock, ctrl->act_img); uint8_t out = dsp_img_raw(image, ctrl); printf(" Output: image:%x lock:%d act-image:%x \n", out, ctrl->img_lock, ctrl->act_img); printf("Expected: image:%x lock:%d act-image:%x \n", exp_out, exp_ctrl->img_lock, exp_ctrl->act_img); if((out==exp_out)&&(ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_img_raw_test(void) { printf("******************************************************\n"); printf("uint8_t dsp_img_raw(int8_t image, dsp_ctrl_t* ctrl)\n"); int test_res; int pass = 1; uint8_t image; dsp_ctrl_t ctrl; uint8_t exp_out; dsp_ctrl_t exp_ctrl; // Test lock image = 0x17; ctrl.img_lock = 1; ctrl.act_img = 0x2A; exp_out = 0x2A; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_raw(image, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test normal image = 0x17; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x17; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_raw(image, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test limit image = 0xAA; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x2A; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_raw(image, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test limit image = 0xCC; ctrl.img_lock = 0; ctrl.act_img = 0x00; exp_out = 0x0C; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_img_raw(image, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_get_act_img(dsp_ctrl_t* ctrl, uint8_t exp_out, dsp_ctrl_t* exp_ctrl) { printf(" Input: lock:%d act-image:%x \n", ctrl->img_lock, ctrl->act_img); uint8_t out = dsp_get_act_img(ctrl); printf(" Output: image:%x lock:%d act-image:%x \n", out, ctrl->img_lock, ctrl->act_img); printf("Expected: image:%x lock:%d act-image:%x \n", exp_out, exp_ctrl->img_lock, exp_ctrl->act_img); if((out==exp_out)&&(ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_get_act_img_test(void) { printf("******************************************************\n"); printf("uint8_t dsp_get_act_img(void)\n"); int test_res; int pass = 1; dsp_ctrl_t ctrl; uint8_t exp_out; dsp_ctrl_t exp_ctrl; // Test ctrl.img_lock = 0; ctrl.act_img = 0x2A; exp_out = 0x2A; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_get_act_img(&ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test ctrl.img_lock = 1; ctrl.act_img = 0x3F; exp_out = 0x3F; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = exp_out; test_res = ut_dsp_get_act_img(&ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; return pass; } static int ut_dsp_backlight(uint8_t dimm_act, dsp_ctrl_t* ctrl, uint8_t exp_out, dsp_ctrl_t* exp_ctrl) { printf(" Input: dimm-act:%d lock:%d act-image:%x \n", dimm_act, ctrl->img_lock, ctrl->act_img); uint8_t out = dsp_backlight(dimm_act); printf(" Output: percent:%x lock:%d act-image:%x \n", out, ctrl->img_lock, ctrl->act_img); printf("Expected: percent:%x lock:%d act-image:%x \n", exp_out, exp_ctrl->img_lock, exp_ctrl->act_img); if((out==exp_out)&&(ctrl->img_lock==exp_ctrl->img_lock)&&(ctrl->act_img==exp_ctrl->act_img)) { printf("PASS\n\n"); return 1; } else { printf("FAIL\n\n"); return 0; } } int ut_dsp_backlight_test(void) { printf("******************************************************\n"); printf("uint8_t dsp_backlight(uint8_t dimm_act)\n"); int test_res; int pass = 1; uint8_t dimm_act; dsp_ctrl_t ctrl; uint8_t exp_out; dsp_ctrl_t exp_ctrl; // Test dimm_act = 0; ctrl.img_lock = 0; ctrl.act_img = 0x2A; exp_out = DSP_BACKLIGHT_BRIGTH_PERCENT; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = ctrl.act_img; test_res = ut_dsp_backlight(dimm_act, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test dimm_act = 1; ctrl.img_lock = 0; ctrl.act_img = 0x2A; exp_out = DSP_BACKLIGHT_DIMM_PERCENT; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = ctrl.act_img; test_res = ut_dsp_backlight(dimm_act, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test lock ignore dimm_act = 0; ctrl.img_lock = 1; ctrl.act_img = 0x2A; exp_out = DSP_BACKLIGHT_BRIGTH_PERCENT; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = ctrl.act_img; test_res = ut_dsp_backlight(dimm_act, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; // Test lock ignore dimm_act = 1; ctrl.img_lock = 1; ctrl.act_img = 0x2A; exp_out = DSP_BACKLIGHT_DIMM_PERCENT; exp_ctrl.img_lock = ctrl.img_lock; exp_ctrl.act_img = ctrl.act_img; test_res = ut_dsp_backlight(dimm_act, &ctrl, exp_out, &exp_ctrl); if(!test_res) pass = 0; return pass; }