/* This function receives messages from the battery library */
aioTask* this_task = (aioTask*) task;
battery_reading_source source = this_task->state.source;
power_state state = ((headsetTaskData *)getAppTask())->headset_power_state;
printf(("BAT: state:%d\n",state));
state = state;
switch(id)
{
case BATTERY_READING_MESSAGE :
/* New reading, extract reading in mV and handle accordingly */
reading = (*((uint32*)message));
switch(source)
{
case AIO0:
case BATTERY_INTERNAL:
printf(("BAT: Reading in mV from AIO:%ld\n",reading));
if (IsBatteryDead(reading))
{
MessageSend(getAppTask(), APP_BATTERY_DEAD_IND, 0);
}
else if (IsBatteryLow(reading))
{
MessageSend(getAppTask(), APP_BATTERY_LOW_IND, 0);
}
else if (IsBatteryFull(reading))
{
MessageSend(getAppTask(), APP_BATTERY_FULL_IND, 0);
}