FreeCalypso > hg > fc-selenite
view src/cs/drivers/drv_app/pwr/pwr_process.c @ 107:b882091ebb68
gprscomp.c: DMEM_PARTITION_1_SIZE bumped from 1600 to 1700 for gcc
These large DMEM partitions are used for T_CCD_Globs structure allocations
by the GRLC and GRR entities, and this structure contains a jmp_buf
for setjmp/longjmp. Our gcc/newlib version of jmp_buf is bigger than
TI's TMS470, and the whole structure is now 1636 bytes instead of 1584.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 23 Jul 2018 19:45:50 +0000 |
| parents | b6a5e36de839 |
| 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 */
