void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT resetCC3000StateMachine(); // Start CC3000 State Machine initDriver(); // Initialize Board and CC3000 unsolicicted_events_timer_init(); // Initialize CC3000 Unsolicited Events Timer __enable_interrupt(); // Enable interrupts for UART DefaultWifiConnection(); // Do a default connection while (1) { hci_unsolicited_event_handler(); // Handle any un-solicited event if required - the function shall be triggered few times in a second unsolicicted_events_timer_init(); if(currentCC3000State() & CC3000_IP_ALLOC) { turnLedOn(CC3000_IP_ALLOC_IND); unsolicicted_events_timer_disable(); // Attempt to start data server initServer(); if(currentCC3000State() & CC3000_SERVER_INIT) { waitForConnection(); } else//Wait for a bit, and try again. { __delay_cycles(100000); } unsolicicted_events_timer_init(); } } }
//***************************************************************************** // //! board_init //! //! \param none //! //! \return none //! //! \brief Initialize the board's interfaces // //***************************************************************************** void board_init() { // Stop WDT WDTCTL = WDTPW + WDTHOLD; // Init GPIO's pio_init(); // Setup sensors hooked up to the board (if any) setupSensors(); // Start CC3000 State Machine resetCC3000StateMachine(); // Initialize Board and CC3000 initDriver(); // Initialize CC3000 Unsolicited Events Timer unsolicicted_events_timer_init(); // Enable interrupts __enable_interrupt(); }