diff options
Diffstat (limited to 'test/sbs_charging_v2.c')
-rw-r--r-- | test/sbs_charging_v2.c | 123 |
1 files changed, 58 insertions, 65 deletions
diff --git a/test/sbs_charging_v2.c b/test/sbs_charging_v2.c index 2f9ddee57c..b30f377c67 100644 --- a/test/sbs_charging_v2.c +++ b/test/sbs_charging_v2.c @@ -1,4 +1,4 @@ -/* Copyright 2014 The Chromium OS Authors. All rights reserved. +/* Copyright 2014 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * @@ -279,7 +279,7 @@ static int test_charge_state(void) TEST_ASSERT(!(flags & CHARGE_FLAG_FORCE_IDLE)); charge_control(CHARGE_CONTROL_IDLE); state = wait_charging_state(); - TEST_ASSERT(state == PWR_STATE_IDLE); + TEST_ASSERT(state == PWR_STATE_FORCED_IDLE); flags = charge_get_flags(); TEST_ASSERT(flags & CHARGE_FLAG_EXTERNAL_POWER); TEST_ASSERT(flags & CHARGE_FLAG_FORCE_IDLE); @@ -293,7 +293,7 @@ static int test_charge_state(void) sb_write(SB_CURRENT, 1000); charge_control(CHARGE_CONTROL_DISCHARGE); state = wait_charging_state(); - TEST_ASSERT(state == PWR_STATE_IDLE); + TEST_ASSERT(state == PWR_STATE_FORCED_IDLE); TEST_ASSERT(is_force_discharge); charge_control(CHARGE_CONTROL_NORMAL); state = wait_charging_state(); @@ -386,7 +386,7 @@ static int test_deep_charge_battery(void) state_v2 = charge_get_state_v2(); TEST_ASSERT(state_v2 == ST_IDLE); - /* recovery from a low voltage. */ + /* recovery from a low voltage. */ sb_write(SB_VOLTAGE, (bat_info->voltage_normal)); wait_charging_state(); state_v2 = charge_get_state_v2(); @@ -490,7 +490,7 @@ static int test_external_funcs(void) /* Now let's force idle on and off */ UART_INJECT("chg idle on\n"); state = wait_charging_state(); - TEST_ASSERT(state == PWR_STATE_IDLE); + TEST_ASSERT(state == PWR_STATE_FORCED_IDLE); flags = charge_get_flags(); TEST_ASSERT(flags & CHARGE_FLAG_EXTERNAL_POWER); TEST_ASSERT(flags & CHARGE_FLAG_FORCE_IDLE); @@ -533,9 +533,8 @@ static int test_hc_charge_state(void) /* Get the state */ memset(&resp, 0, sizeof(resp)); params.cmd = CHARGE_STATE_CMD_GET_STATE; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(resp.get_state.ac); TEST_ASSERT(resp.get_state.chg_voltage); @@ -545,14 +544,13 @@ static int test_hc_charge_state(void) /* Check all the params */ for (i = 0; i < CS_NUM_BASE_PARAMS; i++) { - /* Read it */ memset(&resp, 0, sizeof(resp)); params.cmd = CHARGE_STATE_CMD_GET_PARAM; params.get_param.param = i; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, + sizeof(resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); if (i != CS_PARAM_LIMIT_POWER) TEST_ASSERT(resp.get_param.value); @@ -565,7 +563,7 @@ static int test_hc_charge_state(void) case CS_PARAM_CHG_VOLTAGE: case CS_PARAM_CHG_CURRENT: case CS_PARAM_CHG_INPUT_CURRENT: - tmp -= 128; /* Should be valid delta */ + tmp -= 128; /* Should be valid delta */ break; case CS_PARAM_CHG_STATUS: case CS_PARAM_LIMIT_POWER: @@ -578,9 +576,9 @@ static int test_hc_charge_state(void) params.cmd = CHARGE_STATE_CMD_SET_PARAM; params.set_param.param = i; params.set_param.value = tmp; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, + sizeof(resp)); if (i == CS_PARAM_CHG_STATUS || i == CS_PARAM_LIMIT_POWER) TEST_ASSERT(rv == EC_RES_ACCESS_DENIED); else @@ -593,9 +591,9 @@ static int test_hc_charge_state(void) memset(&resp, 0, sizeof(resp)); params.cmd = CHARGE_STATE_CMD_GET_PARAM; params.get_param.param = i; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, + sizeof(resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(resp.get_param.value == tmp); } @@ -605,17 +603,15 @@ static int test_hc_charge_state(void) memset(&resp, 0, sizeof(resp)); params.cmd = CHARGE_STATE_CMD_GET_PARAM; params.get_param.param = CS_PARAM_CUSTOM_PROFILE_MIN; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(resp.get_param.value == meh); params.cmd = CHARGE_STATE_CMD_SET_PARAM; params.set_param.param = CS_PARAM_CUSTOM_PROFILE_MIN; params.set_param.value = 0xc0def00d; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); /* Allow the change to take effect */ state = wait_charging_state(); @@ -624,23 +620,20 @@ static int test_hc_charge_state(void) /* param out of range */ params.cmd = CHARGE_STATE_CMD_GET_PARAM; params.get_param.param = CS_NUM_BASE_PARAMS; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_INVALID_PARAM); params.cmd = CHARGE_STATE_CMD_SET_PARAM; params.set_param.param = CS_NUM_BASE_PARAMS; - params.set_param.value = 0x1000; /* random value */ - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + params.set_param.value = 0x1000; /* random value */ + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_INVALID_PARAM); /* command out of range */ params.cmd = CHARGE_STATE_NUM_CMDS; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - ¶ms, sizeof(params), - &resp, sizeof(resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, ¶ms, + sizeof(params), &resp, sizeof(resp)); TEST_ASSERT(rv == EC_RES_INVALID_PARAM); /* @@ -665,40 +658,38 @@ static int test_hc_current_limit(void) /* See what current the charger is delivering */ cs_params.cmd = CHARGE_STATE_CMD_GET_STATE; - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - &cs_params, sizeof(cs_params), - &cs_resp, sizeof(cs_resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, &cs_params, + sizeof(cs_params), &cs_resp, + sizeof(cs_resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); norm_current = cs_resp.get_state.chg_current; /* Lower it a bit */ lower_current = norm_current - 256; cl_params.limit = lower_current; - rv = test_send_host_command(EC_CMD_CHARGE_CURRENT_LIMIT, 0, - &cl_params, sizeof(cl_params), - 0, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CURRENT_LIMIT, 0, &cl_params, + sizeof(cl_params), 0, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); wait_charging_state(); /* See that it's changed */ - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - &cs_params, sizeof(cs_params), - &cs_resp, sizeof(cs_resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, &cs_params, + sizeof(cs_params), &cs_resp, + sizeof(cs_resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(lower_current == cs_resp.get_state.chg_current); /* Remove the limit */ cl_params.limit = -1U; - rv = test_send_host_command(EC_CMD_CHARGE_CURRENT_LIMIT, 0, - &cl_params, sizeof(cl_params), - 0, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CURRENT_LIMIT, 0, &cl_params, + sizeof(cl_params), 0, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); wait_charging_state(); /* See that it's back */ - rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, - &cs_params, sizeof(cs_params), - &cs_resp, sizeof(cs_resp)); + rv = test_send_host_command(EC_CMD_CHARGE_STATE, 0, &cs_params, + sizeof(cs_params), &cs_resp, + sizeof(cs_resp)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(norm_current == cs_resp.get_state.chg_current); @@ -734,7 +725,8 @@ static int test_low_battery_hostevents(void) TEST_ASSERT(!is_shutdown); /* (Shout) a little bit louder now */ - sb_write(SB_RELATIVE_STATE_OF_CHARGE, BATTERY_LEVEL_CRITICAL + 1); + sb_write(SB_RELATIVE_STATE_OF_CHARGE, + CONFIG_BATT_HOST_SHUTDOWN_PERCENTAGE + 1); state = wait_charging_state(); TEST_ASSERT(state == PWR_STATE_DISCHARGE); TEST_ASSERT(ev_is_set(EC_HOST_EVENT_BATTERY_LOW)); @@ -743,7 +735,8 @@ static int test_low_battery_hostevents(void) TEST_ASSERT(!is_shutdown); /* (Shout) a little bit louder now */ - sb_write(SB_RELATIVE_STATE_OF_CHARGE, BATTERY_LEVEL_CRITICAL - 1); + sb_write(SB_RELATIVE_STATE_OF_CHARGE, + CONFIG_BATT_HOST_SHUTDOWN_PERCENTAGE - 1); state = wait_charging_state(); TEST_ASSERT(state == PWR_STATE_DISCHARGE); TEST_ASSERT(ev_is_set(EC_HOST_EVENT_BATTERY_LOW)); @@ -789,13 +782,13 @@ static int test_battery_sustainer(void) p.mode = CHARGE_CONTROL_NORMAL; p.sustain_soc.lower = 79; p.sustain_soc.upper = 80; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), NULL, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), + NULL, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); p.cmd = EC_CHARGE_CONTROL_CMD_GET; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), &r, sizeof(r)); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), &r, + sizeof(r)); TEST_ASSERT(rv == EC_RES_SUCCESS); TEST_ASSERT(r.sustain_soc.lower == 79); TEST_ASSERT(r.sustain_soc.upper == 80); @@ -854,8 +847,8 @@ static int test_battery_sustainer(void) p.mode = CHARGE_CONTROL_NORMAL; p.sustain_soc.lower = 79; p.sustain_soc.upper = 80; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), NULL, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), + NULL, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); wait_charging_state(); TEST_ASSERT(get_chg_ctrl_mode() == CHARGE_CONTROL_DISCHARGE); @@ -876,8 +869,8 @@ static int test_battery_sustainer(void) p.mode = CHARGE_CONTROL_NORMAL; p.sustain_soc.lower = 79; p.sustain_soc.upper = 80; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), NULL, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), + NULL, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); wait_charging_state(); TEST_ASSERT(get_chg_ctrl_mode() == CHARGE_CONTROL_DISCHARGE); @@ -898,8 +891,8 @@ static int test_battery_sustainer_discharge_idle(void) p.mode = CHARGE_CONTROL_NORMAL; p.sustain_soc.lower = 80; p.sustain_soc.upper = 80; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), NULL, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), + NULL, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); /* Check mode transition as the SoC changes. */ @@ -939,8 +932,8 @@ static int test_battery_sustainer_discharge_idle(void) p.mode = CHARGE_CONTROL_NORMAL; p.sustain_soc.lower = -1; p.sustain_soc.upper = -1; - rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, - &p, sizeof(p), NULL, 0); + rv = test_send_host_command(EC_CMD_CHARGE_CONTROL, 2, &p, sizeof(p), + NULL, 0); TEST_ASSERT(rv == EC_RES_SUCCESS); /* This time, mode will stay in NORMAL even when upper < SoC. */ @@ -951,7 +944,7 @@ static int test_battery_sustainer_discharge_idle(void) return EC_SUCCESS; } -void run_test(int argc, char **argv) +void run_test(int argc, const char **argv) { RUN_TEST(test_charge_state); RUN_TEST(test_low_battery); |