What is the difefrence beyween EVLORAMACTXDONE and EVLORAMACTXCOMPLETE?

Answer

EVLORAMACTXDONE indicates that a packet has been successfully transmitted and the radio is now looking for downlink data from the gateway in the two downlink windows. EVLORAMACTXCOMPLETE indicates the complete transmission sequence is complete. This sequence  being an uplink packet followed by two downlink windows. If either of the two downlink windows contained data then an EVLORAMACRXDATA will be thrown and the data read using LORAMACRxData(). If a EVLORAMACTXCOMPLETE is seen but without a EVLORAMACRXDATA, then it ca be assumed there was no data for the device from the network.