/*---------------------------------------------------------------------------*/ PROCESS_THREAD(batmon_process, ev, data) { PROCESS_BEGIN(); PRINTF("BatMon\n", sizeof(r)); s = sensors_find(ADC_SENSOR); if (!s) { PRINTF("BatMon: ADC not found\n"); PROCESS_EXIT(); } n740_analog_deactivate(); m25p16_res(); n740_analog_activate(); /* Find last written location */ if(find_gap() == -1) { PRINTF("BatMon: Flash storage full\n"); PROCESS_EXIT(); } etimer_set(&et, BATMON_LOG_PERIOD * CLOCK_SECOND); while(1) { PROCESS_YIELD(); if(ev == PROCESS_EVENT_TIMER && etimer_expired(&et)) { batmon_log(LOG_TRIGGER_PERIODIC); } } PROCESS_END(); }
/*---------------------------------------------------------------------------*/ static void abort() { PRINTF("Disco: Abort @ %lu\n", clock_seconds()); n740_analog_deactivate(); m25p16_dp(); n740_analog_activate(); state = DISCO_STATE_LISTENING; memset(&seed, 0, sizeof(seed)); ctimer_stop(&disco_timer); batmon_log(LOG_TRIGGER_OAP_DISCO_ABORT); }