I'm building a LoRaWAN GPS Logger using the Arduino LMIC Library. I've got a running solution which reads GPS coordinates and transmits them via LoRaWAN to TTN. For activation, I'm using OTAA. On TTN, I included the TTN Mapper integration where I can see the coverage of the TTN availability. However, there is one major issue regarding timing.
When I read a GPS coordinate, I want to transfer it via LoRaWAN immediately. If there is no coverage, then the device shouldn't do anything (or just send it without arriving anywhere). However, I'm experiencing that old transmissions are stuck in the queue, especially on device start. If the device starts in an area without TTN coverage, it still tries to send its first measured GPS coordinates until it gets to an area where it can join the network (OTAA). After joining, it sends the coordinates. Those coordinates are now displayed in TTN Mapper as a point with TTN coverage, even though there was no TTN coverage at the given location.
What's the best way to overcome this problem?