After calling adl_adinstall the modem waits until all the buffered unsolicited responses are sent, if UART1 is in data mode it will wait forever. So its necesary to put UART1 in AT mode before calling adl_adInstall.
If you’re sure that it’s unsolicited responses that cause it, then I think your suggestion to ensure that the UART is in AT mode is the safest - otherwise you’re still at risk from some unexpected unsolicited response…
Good morning. I just noriced this and think a simpler solution is to add the following code as the very first code to execute whent he OBA starts up. Works very well and you do not have to worry about issuing and calls to make sure things are set up before the install.
And BTW, I have implemented, successfully, DOTA operation using HTTP GET over TCP/IP in my own custom IP stack.
/**
* First block any possibility of unsolicited events occurring on the serial port.
* This is to eliminate any possible cause for the adl_adInstall command from starting
* and completing the reset. This is an known cause of the install not completing
*/
adl_atCmdCreate(“AT+WIND=28667”,FALSE,NULL,NULL);
adl_atUnSoSubscribe("",Block_UnSo_Handler);
///////////////////////////////////////////////////////////////////////////////
/// FUNCTION: Block_UnSo_Handler
/// PURPOSE: Used to block any unsolicited event output to the serial port
/// at initialize time. Resolves the adl_adInstall issue
/// INPUT:
/// OUTPUT:
///
/// ORIGIN: 02/29/2008 DR Hendershot
/// MODIFICATIONS: DATE WHO MODIFICATION
///
/// FUNCTION NOTES:
///
///////////////////////////////////////////////////////////////////////////////
bool Block_UnSo_Handler( adl_atUnsolicited_t *Unsol_Event )
{
return FALSE;
}
Good morning. I just noriced this and think a simpler solution is to add the following code as the very first code to execute whent he OBA starts up. Works very well and you do not have to worry about issuing and calls to make sure things are set up before the install.
And BTW, I have implemented, successfully, DOTA operation using HTTP GET over TCP/IP in my own custom IP stack.
/**
* First block any possibility of unsolicited events occurring on the serial port.
* This is to eliminate any possible cause for the adl_adInstall command from starting
* and completing the reset. This is an known cause of the install not completing
*/
adl_atCmdCreate(“AT+WIND=28667”,FALSE,NULL,NULL);
adl_atUnSoSubscribe("",Block_UnSo_Handler);
///////////////////////////////////////////////////////////////////////////////
/// FUNCTION: Block_UnSo_Handler
/// PURPOSE: Used to block any unsolicited event output to the serial port
/// at initialize time. Resolves the adl_adInstall issue
/// INPUT:
/// OUTPUT:
///
/// ORIGIN: 02/29/2008 DR Hendershot
/// MODIFICATIONS: DATE WHO MODIFICATION
///
/// FUNCTION NOTES:
///
///////////////////////////////////////////////////////////////////////////////
bool Block_UnSo_Handler( adl_atUnsolicited_t *Unsol_Event )
{
return FALSE;
}