test:T3S3_V1.0

This commit is contained in:
Pedestrian 2022-10-10 18:13:28 +08:00
commit e1794ed385
23 changed files with 385 additions and 38 deletions

View file

@ -1,5 +1,5 @@
## SX1262 SX1276 SX1278 examples need install the following dependency library files:
## SX1262 SX1276 SX1278 SX1280 examples need install the following dependency library files:
- [RadioLib](https://github.com/jgromes/RadioLib)
- [U8g2_Arduino](https://github.com/olikraus/U8g2_Arduino)

View file

@ -131,6 +131,22 @@ void loop()
Serial.print(radio.getSNR());
Serial.println(F(" dB"));
#ifdef HAS_DISPLAY
if (u8g2) {
u8g2->clearBuffer();
char buf[256];
u8g2->drawStr(0, 12, "Received OK!");
snprintf(buf, sizeof(buf), "RX:%s", str);
u8g2->drawStr(0, 26, buf);
snprintf(buf, sizeof(buf), "RSSI:%.2f", radio.getRSSI());
u8g2->drawStr(0, 40, buf);
snprintf(buf, sizeof(buf), "SNR:%.2f", radio.getSNR());
u8g2->drawStr(0, 54, buf);
u8g2->sendBuffer();
}
#endif
} else if (state == ERR_CRC_MISMATCH) {
// packet was received, but is malformed
Serial.println(F("CRC error!"));

View file

@ -100,6 +100,11 @@ void initBoard()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
Wire.begin(I2C_SDA, I2C_SCL);
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TCXO_EN_PIN, OUTPUT);
digitalWrite(RADIO_TCXO_EN_PIN, HIGH);
#endif
#ifdef HAS_GPS
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif

View file

@ -8,7 +8,7 @@
// #define LILYGO_T3_V1_3
// #define LILYGO_T3_V1_6
// #define LILYGO_T3_V2_0
#define LILYGO_T3_S3_V1_0
/*
* The default program uses 868MHz,
* if you need to change it,
@ -158,6 +158,44 @@
#define HAS_DISPLAY
#define HAS_SDCARD
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
// #define RADIO_DIO0_PIN 9
#define RADIO_TCXO_EN_PIN 33
#define RADIO_DIO1_PIN 33
#define RADIO_BUSY_PIN 36
#define RADIO_RST_PIN 8
#define RADIO_DIO2_PIN 34
#define RADIO_DIO5_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif

View file

@ -1,17 +1,13 @@
/*
RadioLib SX1276 Transmit Example
This example transmits packets using SX1276 LoRa radio module.
Each packet contains up to 256 bytes of data, in the form of:
- Arduino String
- null-terminated char array (C-string)
- arbitrary binary data (byte array)
Other modules from SX127x/RFM9x family can also be used.
For default module settings, see the wiki page
https://github.com/jgromes/RadioLib/wiki/Default-configuration#sx127xrfm9x---lora-modem
For full API reference, see the GitHub Pages
https://jgromes.github.io/RadioLib/
*/
@ -22,6 +18,7 @@
SX1262 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
// or using RadioShield
// https://github.com/jgromes/RadioShield
//SX1262 radio = RadioShield.ModuleA;
@ -123,8 +120,6 @@ void loop()
char buf[256];
u8g2->clearBuffer();
u8g2->drawStr(0, 12, "Transmitting: OK!");
snprintf(buf, sizeof(buf), "millis()=%u", millis());
u8g2->drawStr(0, 30, buf);
u8g2->sendBuffer();
}
#endif
@ -143,7 +138,6 @@ void loop()
// you can transmit C-string or Arduino string up to
// 256 characters long
transmissionState = radio.startTransmit("Hello World!");
// you can also transmit byte array up to 256 bytes long
/*
byte byteArr[] = {0x01, 0x23, 0x45, 0x67,
@ -156,5 +150,3 @@ void loop()
enableInterrupt = true;
}
}

View file

@ -104,6 +104,12 @@ void initBoard()
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TCXO_EN_PIN, OUTPUT);
digitalWrite(RADIO_TCXO_EN_PIN, HIGH);
#endif
#if OLED_RST
pinMode(OLED_RST, OUTPUT);
digitalWrite(OLED_RST, HIGH); delay(20);

View file

@ -8,7 +8,7 @@
// #define LILYGO_T3_V1_3
// #define LILYGO_T3_V1_6
// #define LILYGO_T3_V2_0
#define LILYGO_T3_S3_V1_0
/*
* The default program uses 868MHz,
* if you need to change it,
@ -158,6 +158,44 @@
#define HAS_DISPLAY
#define HAS_SDCARD
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
// #define RADIO_DIO0_PIN 9
#define RADIO_TCXO_EN_PIN 33
#define RADIO_DIO1_PIN 33
#define RADIO_BUSY_PIN 36
#define RADIO_RST_PIN 8
#define RADIO_DIO2_PIN 34
#define RADIO_DIO5_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif

View file

@ -24,7 +24,7 @@
#include "utilities.h"
#include "boards.h"
SX1276 radio = new Module(RADIO_CS_PIN, RADIO_DI0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
SX1276 radio = new Module(RADIO_CS_PIN, RADIO_DIO0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
// flag to indicate that a packet was received
volatile bool receivedFlag = false;

View file

@ -11,7 +11,7 @@
// #define LILYGO_T3_V1_3
// #define LILYGO_T3_V1_6
// #define LILYGO_T3_V2_0
#define LILYGO_T3_S3_V1_0
/*
* The default program uses 868MHz,
* if you need to change it,
@ -162,6 +162,40 @@
#define HAS_DISPLAY
#define HAS_SDCARD
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO0_PIN 9
#define RADIO_TCXO_EN_PIN 33
#define RADIO_DIO1_PIN 33
#define RADIO_BUSY_PIN 33
#define RADIO_RST_PIN 8
#define RADIO_DIO2_PIN 34
#define RADIO_DIO5_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"

View file

@ -20,7 +20,7 @@
#include <RadioLib.h>
#include "boards.h"
SX1276 radio = new Module(RADIO_CS_PIN, RADIO_DI0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
SX1276 radio = new Module(RADIO_CS_PIN, RADIO_DIO0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
void setup()
{

View file

@ -11,9 +11,9 @@
// #define LILYGO_T3_V1_3
// #define LILYGO_T3_V1_6
// #define LILYGO_T3_V2_0
#define LILYGO_T3_S3_V1_0
/*
* * The default program uses 868MHz,
* The default program uses 868MHz,
* if you need to change it,
* please open this note and change to the frequency you need to test
* */
@ -162,6 +162,40 @@
#define HAS_DISPLAY
#define HAS_SDCARD
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO0_PIN 9
#define RADIO_TCXO_EN_PIN 33
#define RADIO_DIO1_PIN 33
#define RADIO_BUSY_PIN 33
#define RADIO_RST_PIN 8
#define RADIO_DIO2_PIN 34
#define RADIO_DIO5_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"

View file

@ -53,7 +53,7 @@ void setup()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
if (LT.begin(RADIO_CS_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, RADIO_DI0_PIN, LORA_DEVICE)) {
if (LT.begin(RADIO_CS_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, RADIO_DIO1_PIN, LORA_DEVICE)) {
Serial.println(F("Device found"));
led_Flash(2, 125);
delay(1000);

View file

@ -102,6 +102,13 @@ void initBoard()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
Wire.begin(I2C_SDA, I2C_SCL);
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TX_PIN, OUTPUT);
pinMode(RADIO_RX_PIN, OUTPUT);
digitalWrite(RADIO_TX_PIN, LOW);
digitalWrite(RADIO_RX_PIN, HIGH);
#endif
#ifdef HAS_GPS
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif

View file

@ -9,8 +9,8 @@
// #define LILYGO_T3_V1_3 //NO SUPPOTR
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
#define LILYGO_T3_V1_8
// #define LILYGO_T3_V1_8
// #define LILYGO_T3_S3_V1_0
#define UNUSE_PIN (0)
@ -155,9 +155,9 @@
#define RADIO_MISO_PIN 19
#define RADIO_MOSI_PIN 27
#define RADIO_CS_PIN 18
#define RADIO_DI0_PIN 26
#define RADIO_DIO1_PIN 26
#define RADIO_RST_PIN 23
#define RADIO_DIO1_PIN 33
#define RADIO_DIO2_PIN 33
#define RADIO_BUSY_PIN 32
#define SDCARD_MOSI 15
@ -173,6 +173,39 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif

View file

@ -41,7 +41,7 @@ void setup()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
if (LT.begin(RADIO_CS_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, RADIO_DI0_PIN, LORA_DEVICE)) {
if (LT.begin(RADIO_CS_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, RADIO_DIO1_PIN, LORA_DEVICE)) {
Serial.println(F("Device found"));
led_Flash(2, 125);
delay(1000);
@ -74,7 +74,7 @@ void loop()
endwaitmS = millis() + rangingRXTimeoutmS;
while (!digitalRead(RADIO_DI0_PIN) && (millis() <= endwaitmS)); //wait for Ranging valid or timeout
while (!digitalRead(RADIO_DIO1_PIN) && (millis() <= endwaitmS)); //wait for Ranging valid or timeout
if (millis() >= endwaitmS) {
Serial.println("Error - Ranging Receive Timeout!!");

View file

@ -102,6 +102,13 @@ void initBoard()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
Wire.begin(I2C_SDA, I2C_SCL);
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TX_PIN, OUTPUT);
pinMode(RADIO_RX_PIN, OUTPUT);
digitalWrite(RADIO_TX_PIN, LOW);
digitalWrite(RADIO_RX_PIN, HIGH);
#endif
#ifdef HAS_GPS
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif

View file

@ -9,8 +9,8 @@
// #define LILYGO_T3_V1_3 //NO SUPPOTR
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
#define LILYGO_T3_V1_8
// #define LILYGO_T3_V1_8
// #define LILYGO_T3_S3_V1_0
#define UNUSE_PIN (0)
@ -155,9 +155,9 @@
#define RADIO_MISO_PIN 19
#define RADIO_MOSI_PIN 27
#define RADIO_CS_PIN 18
#define RADIO_DI0_PIN 26
#define RADIO_DIO1_PIN 26
#define RADIO_RST_PIN 23
#define RADIO_DIO1_PIN 33
#define RADIO_DIO2_PIN 33
#define RADIO_BUSY_PIN 32
#define SDCARD_MOSI 15
@ -173,6 +173,39 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif

View file

@ -27,7 +27,7 @@
#include <RadioLib.h>
#include "boards.h"
SX1280 radio = new Module(RADIO_CS_PIN, RADIO_DI0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
SX1280 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
// flag to indicate that a packet was received
volatile bool receivedFlag = false;
@ -75,6 +75,17 @@ void setup()
while (true);
}
// set output power to 13 dBm
if (radio.setOutputPower(13) == ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}
// set spreading factor to 10
if (radio.setSpreadingFactor(10) == ERR_INVALID_SPREADING_FACTOR) {
Serial.println(F("Selected spreading factor is invalid for this module!"));
while (true);
}
// set the function that will be called
// when packet transmission is finished
radio.setDio1Action(setFlag);

View file

@ -102,6 +102,14 @@ void initBoard()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
Wire.begin(I2C_SDA, I2C_SCL);
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TX_PIN, OUTPUT);
pinMode(RADIO_RX_PIN, OUTPUT);
digitalWrite(RADIO_TX_PIN, LOW);
digitalWrite(RADIO_RX_PIN, HIGH);
#endif
#ifdef HAS_GPS
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif

View file

@ -9,8 +9,8 @@
// #define LILYGO_T3_V1_3 //NO SUPPOTR
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
#define LILYGO_T3_V1_8
// #define LILYGO_T3_V1_8
// #define LILYGO_T3_S3_V1_0
#define UNUSE_PIN (0)
@ -155,9 +155,9 @@
#define RADIO_MISO_PIN 19
#define RADIO_MOSI_PIN 27
#define RADIO_CS_PIN 18
#define RADIO_DI0_PIN 26
#define RADIO_DIO1_PIN 26
#define RADIO_RST_PIN 23
#define RADIO_DIO1_PIN 33
#define RADIO_DIO2_PIN 33
#define RADIO_BUSY_PIN 32
#define SDCARD_MOSI 15
@ -173,6 +173,39 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif

View file

@ -21,7 +21,7 @@
#include <RadioLib.h>
#include "boards.h"
SX1280 radio = new Module(RADIO_CS_PIN, RADIO_DI0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
SX1280 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
// save transmission state between loops
int transmissionState = ERR_NONE;
@ -75,6 +75,18 @@ void setup()
while (true);
}
// set output power to 13 dBm
if (radio.setOutputPower(13) == ERR_INVALID_OUTPUT_POWER) {
Serial.println(F("Selected output power is invalid for this module!"));
while (true);
}
// set spreading factor to 10
if (radio.setSpreadingFactor(10) == ERR_INVALID_SPREADING_FACTOR) {
Serial.println(F("Selected spreading factor is invalid for this module!"));
while (true);
}
// set the function that will be called
// when packet transmission is finished
radio.setDio1Action(setFlag);

View file

@ -102,6 +102,13 @@ void initBoard()
SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);
Wire.begin(I2C_SDA, I2C_SCL);
#ifdef LILYGO_T3_S3_V1_0
pinMode(RADIO_TX_PIN, OUTPUT);
pinMode(RADIO_RX_PIN, OUTPUT);
digitalWrite(RADIO_TX_PIN, HIGH);
digitalWrite(RADIO_RX_PIN, LOW);
#endif
#ifdef HAS_GPS
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
#endif

View file

@ -9,8 +9,8 @@
// #define LILYGO_T3_V1_3 //NO SUPPOTR
// #define LILYGO_T3_V1_6 //NO SUPPOTR
// #define LILYGO_T3_V2_0 //NO SUPPOTR
#define LILYGO_T3_V1_8
// #define LILYGO_T3_V1_8
// #define LILYGO_T3_S3_V1_0
#define UNUSE_PIN (0)
@ -155,9 +155,9 @@
#define RADIO_MISO_PIN 19
#define RADIO_MOSI_PIN 27
#define RADIO_CS_PIN 18
#define RADIO_DI0_PIN 26
#define RADIO_DIO1_PIN 26
#define RADIO_RST_PIN 23
#define RADIO_DIO1_PIN 33
#define RADIO_DIO2_PIN 33
#define RADIO_BUSY_PIN 32
#define SDCARD_MOSI 15
@ -173,6 +173,39 @@
#define HAS_SDCARD
#define HAS_DISPLAY
#elif defined(LILYGO_T3_S3_V1_0)
#define I2C_SDA 18
#define I2C_SCL 17
#define OLED_RST UNUSE_PIN
#define RADIO_SCLK_PIN 5
#define RADIO_MISO_PIN 3
#define RADIO_MOSI_PIN 6
#define RADIO_CS_PIN 7
#define RADIO_DIO1_PIN 9
#define RADIO_DIO2_PIN 33
#define RADIO_DIO3_PIN 34
#define RADIO_RST_PIN 8
#define RADIO_BUSY_PIN 36
#define RADIO_RX_PIN 21
#define RADIO_TX_PIN 10
#define SDCARD_MOSI 11
#define SDCARD_MISO 2
#define SDCARD_SCLK 14
#define SDCARD_CS 13
#define BOARD_LED 37
#define LED_ON HIGH
#define BAT_ADC_PIN 1
#define BUTTON_PIN 0
#define HAS_SDCARD
#define HAS_DISPLAY
#else
#error "Please select the version you purchased in utilities.h"
#endif