view src/cs/drivers/drv_app/pwr/pwr_process.c @ 581:a0a45c5eb3ef

gsmcomp.c: bumping trace partition size to 220 like in gprscomp.c This change is safe in terms of RAM usage because all of these partition pools have already been moved from XRAM to IRAM earlier, and our IRAM usage in VO configs is currently quite low - the one near the limit is XRAM on C11x.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 29 Jan 2019 03:52:49 +0000
parents c93a236e0d50
children
line wrap: on
line source

/*****************************************************************************/
/*                                                                           */
/*  Name       pwr_process.c                                                 */
/*                                                                           */
/*  Function   this file contains the pwr_process function, used to          */
/*			   handle messages received in the SPI task mailbox.             */
/*                                                                           */
/*  Version    0.1                                                           */
/*                                                                           */
/*  Date       Modification                                                  */
/*  ------------------------------------                                     */
/*                                                                           */
/* Author      Candice Bazanegue                                             */
/*                                                                           */
/* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved */
/*****************************************************************************/

#include "rv/rv_defined_swe.h"	   // for RVM_PWR_SWE

#ifdef RVM_PWR_SWE

#include "abb/abb.h"
#include "rvm/rvm_use_id_list.h"
#include "rvf/rvf_api.h"
#include "pwr/pwr_messages_i.h"
#include "spi/spi_env.h"


/*******************************************************************************
** Function         pwr_process
**
** Description     It is called by the spi task core.                                        
**                 Messages can be related to ABB interrupt handling, or        
**                 battery charge management. 
**
*******************************************************************************/
void pwr_process(T_RV_HDR * msg_ptr)
{
   void *ptr = NULL;

   if (msg_ptr != NULL)
   {
      switch (msg_ptr->msg_id)
      {
         case PWR_SPI_INFO_BATTERY_EVT:
		 {
            /* Battery voltage and charger current */
            if (SPI_GBL_INFO_PTR->is_adc_on == FALSE)
            {
               /* start the channels conversion */
               ABB_Write_Register_on_page(PAGE0, VBATREG, 0x0000);
            }

            /* Callback function */
            if(((T_RV_HDR *)msg_ptr)->callback_func != NULL)
            {
               ((T_RV_HDR *)msg_ptr)->callback_func(ptr);
            }

            rvf_free_buf ((void *) msg_ptr);

            break;
		 }

         default:
	     {
            /* Unknow message has been received */
            rvf_send_trace("PWR_task : Received an unknown message",38, NULL_PARAM ,
                           RV_TRACE_LEVEL_DEBUG_HIGH, PWR_USE_ID);

            rvf_free_buf ((void *) msg_ptr);

            break;
         } 
      }   // end of switch
   }   // end of if
   return;
}

#endif /* #ifdef RVM_PWR_SWE */