          * In case of TX module, hop right now
          */
 #ifdef DEVICE_MODE_TX
-        hopFrequency(&radioState, true, radioState.channel);
+        hopFrequency(&radioState, true, radioState.channel, millis());
 #endif
 
         LoRa.receive();


    //In the beginning just keep jumping forward and try to resync over lost single frames
    if (radioState.failedDwellsCount < 6 && radioState.channelEntryMillis + RX_CHANNEL_DWELL_TIME < currentMillis) {
        hopFrequency(&radioState, true, radioState.channel);
        LoRa.receive();
        radioState.failedDwellsCount++;
    }

    // If we are loosing more frames, start jumping in the opposite direction since probably we are completely out of sync now
    if (radioState.failedDwellsCount >= 6 && radioState.channelEntryMillis + (RX_CHANNEL_DWELL_TIME * 5) < currentMillis) {
        hopFrequency(&radioState, false, radioState.channel); //Start jumping in opposite direction to resync
        LoRa.receive();
    }

#endif

     * RX module hops to next channel after frame has been received
     */
#ifdef DEVICE_MODE_RX
    hopFrequency(radioState, true, radioState->lastReceivedChannel, millis());
    radioState->failedDwellsCount = 0; // We received a frame, so we can just reset this counter
    LoRa.receive(); //Put radio back into receive mode
#endif
