summaryrefslogtreecommitdiff
path: root/zephyr/program/corsola/src/krabby/temp_tentacruel.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/program/corsola/src/krabby/temp_tentacruel.c')
-rw-r--r--zephyr/program/corsola/src/krabby/temp_tentacruel.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/zephyr/program/corsola/src/krabby/temp_tentacruel.c b/zephyr/program/corsola/src/krabby/temp_tentacruel.c
deleted file mode 100644
index 08d5204e28..0000000000
--- a/zephyr/program/corsola/src/krabby/temp_tentacruel.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Copyright 2022 The ChromiumOS Authors
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "charge_state.h"
-#include "charger.h"
-#include "common.h"
-#include "config.h"
-#include "console.h"
-#include "driver/charger/rt9490.h"
-#include "hooks.h"
-#include "temp_sensor/temp_sensor.h"
-#include "thermal.h"
-#include "util.h"
-
-#define NUM_CURRENT_LEVELS ARRAY_SIZE(current_table)
-#define TEMP_THRESHOLD 50
-#define TEMP_BUFF_SIZE 60
-#define KEEP_TIME 5
-
-BUILD_ASSERT(IS_ENABLED(CONFIG_BOARD_TENTACRUEL) || IS_ENABLED(CONFIG_TEST));
-/* calculate current average temperature */
-static int average_tempature(void)
-{
- static int temp_history_buffer[TEMP_BUFF_SIZE];
- static int buff_ptr;
- static int temp_sum;
- static int past_temp;
- static int avg_temp;
- int cur_temp, t;
-
- temp_sensor_read(TEMP_SENSOR_ID(DT_NODELABEL(temp_charger)), &t);
- cur_temp = K_TO_C(t);
- past_temp = temp_history_buffer[buff_ptr];
- temp_history_buffer[buff_ptr] = cur_temp;
- temp_sum = temp_sum + temp_history_buffer[buff_ptr] - past_temp;
- buff_ptr++;
- if (buff_ptr >= TEMP_BUFF_SIZE) {
- buff_ptr = 0;
- }
- /* Calculate per minute temperature.
- * It's expected low temperature when the first 60 seconds.
- */
- avg_temp = temp_sum / TEMP_BUFF_SIZE;
- return avg_temp;
-}
-
-static int current_level;
-
-/* Limit charging current table : 3600/3000/2400/1800
- * note this should be in descending order.
- */
-static uint16_t current_table[] = {
- 3600,
- 3000,
- 2400,
- 1600,
-};
-
-/* Called by hook task every hook second (1 sec) */
-static void current_update(void)
-{
- int temp;
- static uint8_t uptime;
- static uint8_t dntime;
-
- temp = average_tempature();
-#ifndef CONFIG_TEST
- if (charge_get_state() == PWR_STATE_DISCHARGE) {
- current_level = 0;
- uptime = 0;
- dntime = 0;
- return;
- }
-#endif
- if (temp >= TEMP_THRESHOLD) {
- dntime = 0;
- if (uptime < KEEP_TIME) {
- uptime++;
- } else {
- uptime = 0;
- current_level++;
- }
- } else if (current_level != 0 && temp < TEMP_THRESHOLD) {
- uptime = 0;
- if (dntime < KEEP_TIME) {
- dntime++;
- } else {
- dntime = 0;
- current_level--;
- }
- } else {
- uptime = 0;
- dntime = 0;
- }
- if (current_level > NUM_CURRENT_LEVELS) {
- current_level = NUM_CURRENT_LEVELS;
- }
-}
-DECLARE_HOOK(HOOK_SECOND, current_update, HOOK_PRIO_DEFAULT);
-
-int charger_profile_override(struct charge_state_data *curr)
-{
- /*
- * Precharge must be executed when communication is failed on
- * dead battery.
- */
- if (!(curr->batt.flags & BATT_FLAG_RESPONSIVE))
- return 0;
- if (current_level != 0) {
- if (curr->requested_current > current_table[current_level - 1])
- curr->requested_current =
- current_table[current_level - 1];
- }
- return 0;
-}
-
-enum ec_status charger_profile_override_get_param(uint32_t param,
- uint32_t *value)
-{
- return EC_RES_INVALID_PARAM;
-}
-
-enum ec_status charger_profile_override_set_param(uint32_t param,
- uint32_t value)
-{
- return EC_RES_INVALID_PARAM;
-}