The first satellite transmission was successful (and lesson full). The message “toto” was sent from the modem to the web site using the satellite gateway.
As usual, some lessons have been learned in the process.
In short the 9602 Iridium unit is sometimes slow to respond, it seems useless to poll it, say, every 10 seconds to get the CSQ (radio signal strength) for example, because sometimes it takes more than that to get a reply from the modem. Furthermore, I’ve realized the modem doesn’t implement a logic of retrying a failed transmission (if no satellite was visible when the transmission was attempted, typically), in that case, the modem just return a “transmission failed” status, and it’s up to you to retry. Until now, the logic in the application was: try to send a log (telemetry) message through the modem every k seconds. I must now do something a bit more subtle along the line:
- Listen to the unsollicited status from the modem, and track the availability of the service.
- There are now 2 events when a transmission must be attempted: if more than x seconds have passed since last transmission, and if service become available (and more than x seconds have passed since last transmission).
- thus, the message transmitted must be built at the time of transmission, since many seconds may pass between the log timer expiration and the service availability.
On a more mundane level, the GPS time has been connected to the logger module, allowing timestamped logs.