int main() { mbed_interface_disconnect(); //disable debug interface. and acces to MAC and local FS. ADC will work better! timer.start(); serial_buffered.baud(BAUDRATE); setup(); while (1) { loop(); } }
int mdm_init(void) { // Hard reset the modem (doesn't go through // the signal level translator) mdm_reset = 0; // disable signal level translator (necessary // for the modem to boot properly). All signals // except mdm_reset go through the level translator // and have internal pull-up/down in the module. While // the level translator is disabled, these pins will // be in the correct state. shield_3v3_1v8_sig_trans_ena = 0; // While the level translator is disabled and ouptut pins // are tristated, make sure the inputs are in the same state // as the WNC Module pins so that when the level translator is // enabled, there are no differences. mdm_uart2_rx_boot_mode_sel = 1; // UART2_RX should be high mdm_power_on = 0; // powr_on should be low mdm_wakeup_in = 1; // wake-up should be high mdm_uart1_cts = 0; // indicate that it is ok to send // Now, wait for the WNC Module to perform its initial boot correctly wait(1.0); // The WNC module initializes comms at 115200 8N1 so set it up mdm.baud(115200); //Now, enable the level translator, the input pins should now be the //same as how the M14A module is driving them with internal pull ups/downs. //When enabled, there will be no changes in these 4 pins... shield_3v3_1v8_sig_trans_ena = 1; // Now, give the modem 60 secons to start responding by // sending simple 'AT' commands to modem once per second. Timer timer; timer.start(); while (timer.read() < 60) { const char * rsp_lst[] = { ok_str, error_str, NULL }; int rc = mdm_sendAtCmd("AT", rsp_lst, 500); if (rc == 0) return true; //timer.read(); wait_ms(1000 - (timer.read_ms() % 1000)); pc.printf("\r%d",timer.read_ms()/1000); } return false; }