diff src/cs/drivers/drv_app/pwr/pwr_messages.h @ 0:b6a5e36de839

src/cs: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:39:26 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/drivers/drv_app/pwr/pwr_messages.h	Sun Jul 15 04:39:26 2018 +0000
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ *
+ *  pwr_messages.h
+ *
+ * Purpose: Contains definitions used by PWR SWE to send events
+ *          to the upper layer (MMI)
+ *
+ * Author   Candice Bazanegue (c-brille@ti.com)
+ *
+ * (C) Texas Instruments 2001
+ *
+ ******************************************************************************/
+
+#ifndef __PWR_MESSAGES_H__
+#define __PWR_MESSAGES_H__
+
+#include "rv/rv_general.h"
+#include "pwr/pwr_api.h"
+#include "pwr/pwr_env.h"
+#include "spi/spi_api.h"
+
+typedef struct
+{
+   UINT16               battery_voltage;
+   INT16                battery_temperature;
+   UINT16               battery_charger_current;
+   BOOLEAN              charger_plugged;
+   T_PWR_CHARGING_STATE charge_started;
+   T_PWR_PERCENT        remaining_capacity;
+} T_PWR_BAT_INFO;
+
+
+#define PWR_SEND_MESSAGE(mmi_return_path, \
+                         message_p) \
+      { \
+         if ((mmi_return_path).callback_func != NULL) \
+         { \
+            ((mmi_return_path).callback_func) (message_p); \
+         } \
+         else \
+         { \
+            if ((mmi_return_path).addr_id != RVF_INVALID_ADDR_ID) \
+            { \
+               (void) rvf_send_msg ((mmi_return_path).addr_id, \
+                                    (message_p)); \
+            } \
+            else \
+            { \
+               rvf_free_buf((T_RVF_BUFFER *) message_p); \
+            } \
+         } \
+      }
+
+
+/* Events that can be sent by the power SWE API to the MMI */
+
+#define POWER_CHARGER_PLUG_IND            1
+#define POWER_CHARGER_UNPLUG_IND          2
+#define POWER_BAT_CI_CHARGE_START_IND     3
+#define POWER_BAT_CV_CHARGE_START_IND     4
+#define POWER_BAT_CHARGE_STOP_IND         5
+#define POWER_BAT_CHARGE_NOT_POSSIBLE_IND 6
+#define POWER_BAT_DISCHARGE_LEVEL_IND     7
+#define POWER_LOW_BAT_ALERT_IND           8
+#define POWER_BAT_INFO_STATUS             9
+
+
+
+/* Structures of messages */
+
+typedef struct
+{   T_RV_HDR   hdr;
+   INT8        status;
+} T_PWR_BAT_CHARGE_STOP;
+
+typedef struct
+{  T_RV_HDR       hdr;
+   T_BAT_PROBLEM  problem;
+} T_PWR_BAT_CHARGE_NOT_POSSIBLE;
+
+typedef struct
+{  T_RV_HDR       hdr;
+   T_PWR_PERCENT  remaining_capacity;
+} T_PWR_BAT_DISCHARGE_LEVEL;
+
+typedef struct
+{  T_RV_HDR       hdr;
+   T_PWR_PERCENT  remaining_capacity;
+} T_PWR_LOW_BAT_ALERT;
+
+
+typedef struct
+{  T_RV_HDR          hdr;
+   T_PWR_BAT_INFO    bat_info;
+} T_PWR_BAT_INFO_STATUS;
+
+
+typedef struct
+{  T_RV_HDR       hdr;
+   BOOLEAN        info_enable;
+   T_RV_RETURN    return_path;
+} T_PWR_SPI_INFO_REG;
+
+
+typedef struct
+{  T_RV_HDR       hdr;
+   T_PWR_PERCENT  remain_capa_threshold;
+   T_RV_RETURN    return_path;
+} T_PWR_SPI_ALERT_REG;
+
+
+typedef struct
+{  T_RV_HDR    hdr;
+   T_RV_RETURN return_path;
+} T_PWR_SPI_EMERGENCY_REG;
+
+
+
+
+
+/* Prototypes */
+
+/* Functions used to send messages to the upper layer */
+T_RV_RET pwr_send_charger_plug_event(void);
+T_RV_RET pwr_send_charger_unplug_event(void);
+T_RV_RET pwr_send_CI_charge_start_event(void);
+T_RV_RET pwr_send_CV_charge_start_event(void);
+T_RV_RET pwr_send_charge_stop_event(void);
+T_RV_RET pwr_send_charge_not_possible_event(T_BAT_PROBLEM charge_problem);
+T_RV_RET pwr_send_bat_discharge_event(T_PWR_PERCENT remaining_capacity);
+T_RV_RET pwr_send_low_bat_event(T_PWR_PERCENT remaining_capacity);
+T_RV_RET pwr_send_battery_info(UINT16 battery_voltage, UINT16 battery_temperature,
+                               UINT16 battery_charger_current,
+                               BOOLEAN is_charger_plugged,
+                               T_PWR_CHARGING_STATE is_charge_started,
+                               T_PWR_PERCENT remaining_capacity);
+
+#endif /* __PWR_MESSAGES_H__ */