diff src/cs/drivers/drv_app/pwr/pwr_messages_i.c @ 145:246f4a7dd92b

src/cs/drivers/drv_app/pwr: import from MV100 source
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 09 Oct 2016 05:59:14 +0000
parents
children c93a236e0d50
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/drivers/drv_app/pwr/pwr_messages_i.c	Sun Oct 09 05:59:14 2016 +0000
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ *
+ *  pwr_messages_i.c
+ *
+ * Purpose: Contains functions used by PWR SWE to send events to the SPI task.
+ *
+ *
+ * Author   Candice Bazanegue (c-brille@ti.com)
+ *
+ * (C) Texas Instruments 2001
+ *
+ ******************************************************************************/
+
+#include "rv_defined_swe.h"	   // for RVM_PWR_SWE
+
+#ifdef RVM_PWR_SWE
+
+#include "rvm_use_id_list.h"
+#include "rvf_api.h"
+#include "pwr_messages_i.h"
+#include "pwr_env.h"
+#include "spi_env.h"
+
+
+/********************************************************************************/
+/*                                                                              */
+/*    Function Name: pwr_spi_battery_info                                       */
+/*                                                                              */
+/*    Purpose:    This function is used to send a PWR_SPI_INFO_BATTERY_EVT      */
+/*                message to the SPI task.                                      */
+/*                                                                              */
+/********************************************************************************/
+T_RV_RET pwr_spi_battery_info(CALLBACK_FUNC CallBack)
+{
+   T_RV_HDR *msgPtr;
+
+   /* check if the driver has been started */
+   if (pwr_env_ctrl_blk == NULL)
+      return (RVM_NOT_READY);
+   
+   if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE)
+      return(RVM_NOT_READY);
+
+   if (rvf_get_buf (pwr_env_ctrl_blk->prim_id, sizeof (T_RV_HDR),(void **) &msgPtr) == RVF_RED)
+   {
+      rvf_send_trace ("PWR ERROR: Not enough memory",
+                      28,
+                      NULL_PARAM,
+                      RV_TRACE_LEVEL_ERROR,
+                      PWR_USE_ID);
+
+      return (RV_MEMORY_ERR);
+   }
+
+   msgPtr->msg_id          = PWR_SPI_INFO_BATTERY_EVT;
+   msgPtr->dest_addr_id    = pwr_env_ctrl_blk->addr_id;
+   msgPtr->callback_func   = (CALLBACK_FUNC) CallBack;
+
+   rvf_send_msg (pwr_env_ctrl_blk->addr_id, msgPtr);
+
+   return (RV_OK);
+}
+
+#endif /* #ifdef RVM_PWR_SWE */
+