Hi, this is a follow-up to commit #77 (AT command timeouts for HL7802).
I have tried the new timeouts and while they seem to be correct and according to the AT command guide, there is a problem with boot time. According to AirPrime HL78xx Product Technical Specification 41113770 Rev. 4, the delay between cold start or software reboot and AT-ready state is up to 10 seconds.
However, in Cellular_ModuleEnableUE, there is no provisioning for the boot time before sending the first ATE0. This could be accounted for in user part of software but the Cellular_ModuleEnableUE function also resets the module (with AT+CFUN=1,1) and then only waits for 3 seconds (CELLULAR_HL7802_RESET_DELAY_MS) before sending ATE0. This would be OK, start sending after 3 seconds but then the software would have to allow for full 10 second boot time before failing. And this does not happen because ATE0 is sent 3 times (ENBABLE_MODULE_UE_RETRY_COUNT [sic]) with 2-second timeout (CELLULAR_HL7802_AT_TIMEOUT_2_SECONDS_MS). That is, in second 3, 5 and 7 after sending reboot command. My HL7802 module does not respond in this time for the ATE0 command causing the function Cellular_ModuleEnableUE to fail every time.
I think that sending ATE0 3 seconds after reboot is a great approach since the module may boot quicker but the sending step should allow for at least 10 seconds after reboot. So maybe send up to 6 times with 2-second timeout specifically for ATE0?
I don’t know how much time it takes from receiving AT+CFUN=1,1 to actually performing the reboot. Because this time may (or may not, who knows…) add to the 10-second boot time. The bad thing is that +CFUN has 30-second timeout in AT Commands Interface Guide, which is quite a lot and from my experience, AT+CFUN=1,1 never takes that much. I will also ask Sierra Wireless for clarification.