static void wlan_cb (long event_type, char * data, unsigned char length) { int rv = BSP430_HAL_ISR_CALLBACK_EXIT_LPM; switch (event_type) { case HCI_EVNT_WLAN_UNSOL_CONNECT: event_flags_v |= EVENT_FLAG_WLANCONN; break; case HCI_EVNT_WLAN_UNSOL_DHCP: event_flags_v |= EVENT_FLAG_IPCONN; break; case HCI_EVNT_WLAN_UNSOL_DISCONNECT: event_flags_v |= EVENT_FLAG_DISCONN; break; case HCI_EVENT_CC3000_CAN_SHUT_DOWN: event_flags_v |= EVENT_FLAG_SHUTDOWN; ++can_shutdown; break; default: cprintf("%s wlan_cb evnt %#lx len %u at %p\n", xBSP430uptimeAsText_ni(ulBSP430uptime_ni()), event_type, length, data); /*FALLTHRU*/ case HCI_EVNT_WLAN_KEEPALIVE: /* No wakeup for uninteresting events */ rv = 0; } /* Wake up the main program to respond to whatever just happened. */ iBSP430cc3000IRQrv = rv; }
static int cmd_uptime (const char * argstr) { BSP430_CORE_INTERRUPT_STATE_T istate; BSP430_CORE_SAVE_INTERRUPT_STATE(istate); BSP430_CORE_DISABLE_INTERRUPT(); cprintf("Up %s\n", xBSP430uptimeAsText_ni(ulBSP430uptime_ni())); BSP430_CORE_RESTORE_INTERRUPT_STATE(istate); return 0; }