#include <SPI.h>
#include <LoRa.h>

// Pin definition
#define NSS     10 // 26 for drone | 10 for zero
#define RESET   9 // 27 for drone | 9 for zero
#define DIO0    2 // 10 for drone | 2 for zero

long counter = 0;

void setup() {
  SerialUSB.begin(115200);
  while (!SerialUSB);

  SerialUSB.println("LoRa TX - Counter Test");

  LoRa.setPins(NSS, RESET, DIO0);

  if (!LoRa.begin(433E6)) {
    SerialUSB.println("LoRa init failed!");
    while (1);
  }

  // ===== MAX RANGE SETTINGS =====
  LoRa.setTxPower(20);      // MAX power for RA-02
  LoRa.setSpreadingFactor(12);        // SF12 = longest range
  LoRa.setSignalBandwidth(125E3);     // Narrow bandwidth
  LoRa.setCodingRate4(8);             // 4/8 coding rate
  LoRa.enableCrc();

  SerialUSB.println("LoRa TX Ready");
}

void loop() {
  SerialUSB.print("Sending counter: ");
  SerialUSB.println(counter);

  LoRa.beginPacket();
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(1000); // 1 second interval
}
