From f1191b189c3f19d82c302f1e48767403b5df755c Mon Sep 17 00:00:00 2001 From: lewishe Date: Fri, 12 May 2023 16:19:46 +0800 Subject: [PATCH] Removing invalid examples for SX1280 --- .../Ranging/Ranging_Master/Ranging_Master.ino | 200 ---------------- .../SX1280/Ranging/Ranging_Master/boards.h | 216 ----------------- .../SX1280/Ranging/Ranging_Master/utilities.h | 221 ------------------ .../Ranging/Ranging_Slave/Ranging_Slave.ino | 112 --------- .../SX1280/Ranging/Ranging_Slave/boards.h | 216 ----------------- .../SX1280/Ranging/Ranging_Slave/utilities.h | 221 ------------------ .../RadioLibExamples/SX1280/Ranging/readme.md | 8 - 7 files changed, 1194 deletions(-) delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/Ranging_Master.ino delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/boards.h delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/utilities.h delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/Ranging_Slave.ino delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/boards.h delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/utilities.h delete mode 100644 examples/RadioLibExamples/SX1280/Ranging/readme.md diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/Ranging_Master.ino b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/Ranging_Master.ino deleted file mode 100644 index b54a591..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/Ranging_Master.ino +++ /dev/null @@ -1,200 +0,0 @@ - -#include "Arduino.h" -#include -#include -#include "boards.h" - -#define LORA_DEVICE DEVICE_SX1280 //we need to define the device we are using - - -//******* Setup LoRa Parameters Here ! *************** -const uint32_t Frequency = 2445000000; //frequency of transmissions in hz -const int32_t Offset = 0; //offset frequency in hz for calibration purposes -const uint8_t Bandwidth = LORA_BW_0800; //LoRa bandwidth -const uint8_t SpreadingFactor = LORA_SF8; //LoRa spreading factor -const uint8_t CodeRate = LORA_CR_4_5; //LoRa coding rate -const uint16_t Calibration = 11350; //Manual Ranging calibrarion value - -const int8_t RangingTXPower = 3; //Transmit power used !!Cannot be greater than 3dbm!! -const uint32_t RangingAddress = 16; //must match address in recever - -const uint16_t waittimemS = 10000; //wait this long in mS for packet before assuming timeout -const uint16_t TXtimeoutmS = 5000; //ranging TX timeout in mS -const uint16_t packet_delaymS = 0; //forced extra delay in mS between ranging requests -const uint16_t rangeingcount = 10; //number of times ranging is cqarried out for each distance measurment -float distance_adjustment = 1.0000; //adjustment factor to calculated distance - - -#define ENABLEOLED //enable this define to use display -#define ENABLEDISPLAY //enable this define to use display - -SX128XLT LT; - -uint16_t rangeing_errors, rangeings_valid, rangeing_results; -uint16_t IrqStatus; -uint32_t endwaitmS, range_result_sum, range_result_average; -float distance, distance_sum, distance_average; -bool ranging_error; -int32_t range_result; -int16_t RangingRSSI; - -void led_Flash(uint16_t flashes, uint16_t delaymS); - -void setup() -{ - pinMode(BOARD_LED, OUTPUT); //setup pin as output for indicator LED - led_Flash(4, 125); //two quick LED flashes to indicate program start - - initBoard(); - delay(100); - - Serial.println(F("Ranging Master Starting")); - - - SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN); - - 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); - } else { - Serial.println(F("No device responding")); - u8g2->clearBuffer(); - u8g2->drawStr(0, 12, "No device responding"); - u8g2->sendBuffer(); - while (1) { - led_Flash(50, 50); //long fast speed flash indicates device error - } - } - - LT.setupRanging(Frequency, Offset, SpreadingFactor, Bandwidth, CodeRate, RangingAddress, RANGING_MASTER); - LT.setRangingCalibration(Calibration); //override automatic lookup of calibration value from library table - - Serial.println(); - LT.printModemSettings(); //reads and prints the configured LoRa settings, useful check - Serial.println(); - LT.printOperatingSettings(); //reads and prints the configured operating settings, useful check - Serial.println(); - Serial.println(); - LT.printRegisters(0x900, 0x9FF); //print contents of device registers, normally 0x900 to 0x9FF - Serial.println(); - Serial.println(); - -#ifdef ENABLEDISPLAY - Serial.println("Display Enabled"); - u8g2->setFont(u8g2_font_unifont_t_chinese2); // use chinese2 for all the glyphs of "你好世界" - u8g2->setFontDirection(0); - char buf[256]; - u8g2->clearBuffer(); - u8g2->drawStr(0, 12, "Ranging RAW Ready"); - snprintf(buf, sizeof(buf), "Power:%.d dBm", RangingTXPower); - u8g2->drawStr(0, 12 * 2, buf); - snprintf(buf, sizeof(buf), "Cal: %d ", Calibration); - u8g2->drawStr(0, 12 * 3, buf); - snprintf(buf, sizeof(buf), "Adjust: %d ", distance_adjustment); - u8g2->sendBuffer(); -#endif - - Serial.print(F("Address ")); - Serial.println(RangingAddress); - Serial.print(F("CalibrationValue ")); - Serial.println(LT.getSetCalibrationValue()); - Serial.println(F("Ranging master RAW ready")); - delay(2000); -} - -void loop() -{ - uint8_t index; - distance_sum = 0; - range_result_sum = 0; - rangeing_results = 0; //count of valid results in each loop - - for (index = 1; index <= rangeingcount; index++) { - Serial.println(F("Start Ranging")); - - LT.transmitRanging(RangingAddress, TXtimeoutmS, RangingTXPower, WAIT_TX); - IrqStatus = LT.readIrqStatus(); - - if (IrqStatus & IRQ_RANGING_MASTER_RESULT_VALID) { - rangeing_results++; - rangeings_valid++; - digitalWrite(BOARD_LED, HIGH); - Serial.print(F("Valid")); - range_result = LT.getRangingResultRegValue(RANGING_RESULT_RAW); - Serial.print(F(",Register,")); - Serial.print(range_result); - - if (range_result > 800000) { - range_result = 0; - } - range_result_sum = range_result_sum + range_result; - - distance = LT.getRangingDistance(RANGING_RESULT_RAW, range_result, distance_adjustment); - distance_sum = distance_sum + distance; - - Serial.print(F(",Distance,")); - Serial.print(distance, 1); - RangingRSSI = LT.getRangingRSSI(); - digitalWrite(BOARD_LED, LOW); - } else { - rangeing_errors++; - distance = 0; - range_result = 0; - Serial.print(F("NotValid")); - Serial.print(F(",Irq,")); - Serial.print(IrqStatus, HEX); - } - delay(packet_delaymS); - - if (index == rangeingcount) { - range_result_average = (range_result_sum / rangeing_results); - if (rangeing_results == 0) { - distance_average = 0; - } else { - distance_average = (distance_sum / rangeing_results); - } - - Serial.print(F(",TotalValid,")); - Serial.print(rangeings_valid); - Serial.print(F(",TotalErrors,")); - Serial.print(rangeing_errors); - Serial.print(F(",AverageRAWResult,")); - Serial.print(range_result_average); - Serial.print(F(",AverageDistance,")); - Serial.print(distance_average, 1); - -#ifdef ENABLEDISPLAY - u8g2->clearBuffer(); - char buf[256]; - u8g2->drawStr(0, 12, "Rang_Master"); - snprintf(buf, sizeof(buf), "Distance:%.2f m", distance_average); - u8g2->drawStr(0, 12 * 2, buf); - snprintf(buf, sizeof(buf), "RSSI: %d dBm", RangingRSSI); - u8g2->drawStr(0, 12 * 3, buf); - // snprintf(buf, sizeof(buf), "OK: %d ", rangeings_valid); - // u8g2->drawStr(0, 12 * 4, buf); - // snprintf(buf, sizeof(buf), "Err: %d ", rangeing_errors); - // u8g2->drawStr(0, 12 * 5, buf); - u8g2->sendBuffer(); - -#endif - delay(2000); - - } - Serial.println(); - } - -} - -void led_Flash(uint16_t flashes, uint16_t delaymS) -{ - uint16_t index; - - for (index = 1; index <= flashes; index++) { - digitalWrite(BOARD_LED, HIGH); - delay(delaymS); - digitalWrite(BOARD_LED, LOW); - delay(delaymS); - } -} diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/boards.h b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/boards.h deleted file mode 100644 index 671bda0..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/boards.h +++ /dev/null @@ -1,216 +0,0 @@ -#include -#include -#include -#include -#include "utilities.h" - -#ifdef HAS_SDCARD -#include -#include -#endif - -#ifdef HAS_DISPLAY -#include -U8G2_SSD1306_128X64_NONAME_F_HW_I2C *u8g2 = nullptr; -#endif - -Ticker ledTicker; -#if defined(LILYGO_TBeam_V1_X) -#include -AXP20X_Class PMU; - -bool initPMU() -{ - if (PMU.begin(Wire, AXP192_SLAVE_ADDRESS) == AXP_FAIL) { - return false; - } - /* - * The charging indicator can be turned on or off - * * * */ - // PMU.setChgLEDMode(LED_BLINK_4HZ); - - /* - * The default ESP32 power supply has been turned on, - * no need to set, please do not set it, if it is turned off, - * it will not be able to program - * - * PMU.setDCDC3Voltage(3300); - * PMU.setPowerOutPut(AXP192_DCDC3, AXP202_ON); - * - * * * */ - - /* - * Turn off unused power sources to save power - * **/ - - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_OFF); - PMU.setPowerOutPut(AXP192_DCDC2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_OFF); - PMU.setPowerOutPut(AXP192_EXTEN, AXP202_OFF); - - /* - * Set the power of LoRa and GPS module to 3.3V - **/ - PMU.setLDO2Voltage(3300); //LoRa VDD - PMU.setLDO3Voltage(3300); //GPS VDD - PMU.setDCDC1Voltage(3300); //3.3V Pin next to 21 and 22 is controlled by DCDC1 - - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_ON); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_ON); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_ON); - - pinMode(PMU_IRQ, INPUT_PULLUP); - attachInterrupt(PMU_IRQ, [] { - // pmu_irq = true; - }, FALLING); - - PMU.adc1Enable(AXP202_VBUS_VOL_ADC1 | - AXP202_VBUS_CUR_ADC1 | - AXP202_BATT_CUR_ADC1 | - AXP202_BATT_VOL_ADC1, - AXP202_ON); - - PMU.enableIRQ(AXP202_VBUS_REMOVED_IRQ | - AXP202_VBUS_CONNECT_IRQ | - AXP202_BATT_REMOVED_IRQ | - AXP202_BATT_CONNECT_IRQ, - AXP202_ON); - PMU.clearIRQ(); - - return true; -} - -void disablePeripherals() -{ - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_OFF); -} -#else -#define initPMU() -#define disablePeripherals() -#endif - -SPIClass SDSPI(HSPI); - - -void initBoard() -{ - Serial.begin(115200); - Serial.println("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 - -#if OLED_RST - pinMode(OLED_RST, OUTPUT); - digitalWrite(OLED_RST, HIGH); delay(20); - digitalWrite(OLED_RST, LOW); delay(20); - digitalWrite(OLED_RST, HIGH); delay(20); -#endif - - initPMU(); - - -#ifdef BOARD_LED - /* - * T-BeamV1.0, V1.1 LED defaults to low level as trun on, - * so it needs to be forced to pull up - * * * * */ -#if LED_ON == LOW - gpio_hold_dis(GPIO_NUM_4); -#endif - pinMode(BOARD_LED, OUTPUT); - ledTicker.attach_ms(500, []() { - static bool level; - digitalWrite(BOARD_LED, level); - level = !level; - }); -#endif - - -#ifdef HAS_DISPLAY - Wire.beginTransmission(0x3C); - if (Wire.endTransmission() == 0) { - Serial.println("Started OLED"); - u8g2 = new U8G2_SSD1306_128X64_NONAME_F_HW_I2C(U8G2_R0, U8X8_PIN_NONE); - u8g2->begin(); - u8g2->clearBuffer(); - u8g2->setFlipMode(0); - u8g2->setFontMode(1); // Transparent - u8g2->setDrawColor(1); - u8g2->setFontDirection(0); - u8g2->firstPage(); - do { - u8g2->setFont(u8g2_font_inb19_mr); - u8g2->drawStr(0, 30, "LilyGo"); - u8g2->drawHLine(2, 35, 47); - u8g2->drawHLine(3, 36, 47); - u8g2->drawVLine(45, 32, 12); - u8g2->drawVLine(46, 33, 12); - u8g2->setFont(u8g2_font_inb19_mf); - u8g2->drawStr(58, 60, "LoRa"); - } while ( u8g2->nextPage() ); - u8g2->sendBuffer(); - u8g2->setFont(u8g2_font_fur11_tf); - delay(3000); - } -#endif - - -#ifdef HAS_SDCARD - if (u8g2) { - u8g2->setFont(u8g2_font_ncenB08_tr); - } - pinMode(SDCARD_MISO, INPUT_PULLUP); - SDSPI.begin(SDCARD_SCLK, SDCARD_MISO, SDCARD_MOSI, SDCARD_CS); - if (u8g2) { - u8g2->clearBuffer(); - } - - if (!SD.begin(SDCARD_CS, SDSPI)) { - - Serial.println("setupSDCard FAIL"); - if (u8g2) { - do { - u8g2->setCursor(0, 16); - u8g2->println( "SDCard FAILED");; - } while ( u8g2->nextPage() ); - } - - } else { - uint32_t cardSize = SD.cardSize() / (1024 * 1024); - if (u8g2) { - do { - u8g2->setCursor(0, 16); - u8g2->print( "SDCard:");; - u8g2->print(cardSize / 1024.0);; - u8g2->println(" GB");; - } while ( u8g2->nextPage() ); - } - - Serial.print("setupSDCard PASS . SIZE = "); - Serial.print(cardSize / 1024.0); - Serial.println(" GB"); - } - if (u8g2) { - u8g2->sendBuffer(); - } - delay(3000); -#endif - - -} - - diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/utilities.h b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/utilities.h deleted file mode 100644 index ee32bb6..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Master/utilities.h +++ /dev/null @@ -1,221 +0,0 @@ - -#pragma once - -/* -* This sample program only supports SX1280 -* */ -// #define LILYGO_TBeam_V0_7 //NO SUPPOTR -// #define LILYGO_TBeam_V1_X //NO SUPPOTR -// #define LILYGO_T3_V1_0 //NO SUPPOTR -// #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_S3_V1_0 - - -#define UNUSE_PIN (0) - -#if defined(LILYGO_TBeam_V0_7) -#define GPS_RX_PIN 12 -#define GPS_TX_PIN 15 -#define BUTTON_PIN 39 -#define BUTTON_PIN_MASK GPIO_SEL_39 -#define I2C_SDA 21 -#define I2C_SCL 22 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define GPS_BAUD_RATE 9600 -#define HAS_GPS -#define HAS_DISPLAY //Optional, bring your own board, no OLED !! - -#elif defined(LILYGO_TBeam_V1_X) - -#define GPS_RX_PIN 34 -#define GPS_TX_PIN 12 -#define BUTTON_PIN 38 -#define BUTTON_PIN_MASK GPIO_SEL_38 -#define I2C_SDA 21 -#define I2C_SCL 22 -#define PMU_IRQ 35 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define GPS_BAUD_RATE 9600 -#define HAS_GPS -#define HAS_DISPLAY //Optional, bring your own board, no OLED !! - -#elif defined(LILYGO_T3_V1_0) -#define I2C_SDA 4 -#define I2C_SCL 15 -#define OLED_RST 16 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define HAS_DISPLAY - -#elif defined(LILYGO_T3_V1_3) - -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define ADC_PIN 35 - -#define HAS_DISPLAY -#elif defined(LILYGO_T3_V1_6) -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 25 -#define LED_ON HIGH - -#define ADC_PIN 35 - -#define HAS_SDCARD -#define HAS_DISPLAY - -#elif defined(LILYGO_T3_V2_0) -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN UNUSE_PIN -#define RADIO_BUSY_PIN UNUSE_PIN - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 0 -#define LED_ON LOW - -#define HAS_DISPLAY -#define HAS_SDCARD - -#elif defined(LILYGO_T3_V1_8) - -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO1_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO2_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 25 -#define LED_ON HIGH - -#define ADC_PIN 35 - -#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 "For the first use, please define the board version and model in " -#endif - - - - - - - - - diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/Ranging_Slave.ino b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/Ranging_Slave.ino deleted file mode 100644 index 2e824b0..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/Ranging_Slave.ino +++ /dev/null @@ -1,112 +0,0 @@ -#include -#include -#include "boards.h" - - -#define LORA_DEVICE DEVICE_SX1280 //we need to define the device we are using -//******* Setup LoRa Parameters Here ! *************** -//LoRa Modem Parameters -const uint32_t Frequency = 2445000000; //frequency of transmissions in hz -const int32_t Offset = 0; //offset frequency in hz for calibration purposes -const uint8_t Bandwidth = LORA_BW_0800; //LoRa bandwidth -const uint8_t SpreadingFactor = LORA_SF8; //LoRa spreading factor -const uint8_t CodeRate = LORA_CR_4_5; //LoRa coding rate -const uint16_t Calibration = 11350; //Manual Ranging calibration value - -const int8_t TXpower = 3; //Transmit power used !!Cannot be greater than 3dbm!! -const uint32_t RangingAddress = 16; //must match address in master - -const uint16_t rangingRXTimeoutmS = 0xFFFF; //ranging RX timeout in mS - - -SX128XLT LT; - -uint32_t endwaitmS; -uint16_t IrqStatus; -uint32_t response_sent; - -void led_Flash(unsigned int flashes, unsigned int delaymS); - -void setup() -{ - Serial.begin(115200); //setup Serial console ouput - - Serial.println("Ranging Slave Starting"); - - pinMode(BOARD_LED, OUTPUT); - led_Flash(2, 125); - - initBoard(); - delay(100); - - SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN); - - 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); - } else { - Serial.println(F("No device responding")); - while (1) { - led_Flash(50, 50); //long fast speed flash indicates device error - } - } - - //The function call list below shows the complete setup for the LoRa device for ranging using the information - LT.setupRanging(Frequency, Offset, SpreadingFactor, Bandwidth, CodeRate, RangingAddress, RANGING_SLAVE); - - LT.setRangingCalibration(11350); //override automatic lookup of calibration value from library table - - Serial.print(F("Calibration,")); - Serial.println(LT.getSetCalibrationValue()); //reads the calibratuion value currently set - delay(2000); - - u8g2->clearBuffer(); - - u8g2->drawStr(0, 12, "Rang_Slave"); - u8g2->sendBuffer(); -} - -char buf[256]; -void loop() -{ - LT.receiveRanging(RangingAddress, 0, TXpower, NO_WAIT); - - endwaitmS = millis() + rangingRXTimeoutmS; - - while (!digitalRead(RADIO_DIO1_PIN) && (millis() <= endwaitmS)); //wait for Ranging valid or timeout - - if (millis() >= endwaitmS) { - Serial.println("Error - Ranging Receive Timeout!!"); - led_Flash(2, 100); //single flash to indicate timeout - } else { - IrqStatus = LT.readIrqStatus(); - digitalWrite(BOARD_LED, HIGH); - - if (IrqStatus & IRQ_RANGING_SLAVE_RESPONSE_DONE) { - response_sent++; - Serial.print(response_sent); - Serial.print(" Response sent"); - } else { - Serial.print("Slave error,"); - Serial.print(",Irq,"); - Serial.print(IrqStatus, HEX); - LT.printIrqStatus(); - } - digitalWrite(BOARD_LED, LOW); - Serial.println(); - } - -} - -void led_Flash(unsigned int flashes, unsigned int delaymS) -{ - //flash LED to show board is alive - unsigned int index; - for (index = 1; index <= flashes; index++) { - digitalWrite(BOARD_LED, HIGH); - delay(delaymS); - digitalWrite(BOARD_LED, LOW); - delay(delaymS); - } -} diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/boards.h b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/boards.h deleted file mode 100644 index 671bda0..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/boards.h +++ /dev/null @@ -1,216 +0,0 @@ -#include -#include -#include -#include -#include "utilities.h" - -#ifdef HAS_SDCARD -#include -#include -#endif - -#ifdef HAS_DISPLAY -#include -U8G2_SSD1306_128X64_NONAME_F_HW_I2C *u8g2 = nullptr; -#endif - -Ticker ledTicker; -#if defined(LILYGO_TBeam_V1_X) -#include -AXP20X_Class PMU; - -bool initPMU() -{ - if (PMU.begin(Wire, AXP192_SLAVE_ADDRESS) == AXP_FAIL) { - return false; - } - /* - * The charging indicator can be turned on or off - * * * */ - // PMU.setChgLEDMode(LED_BLINK_4HZ); - - /* - * The default ESP32 power supply has been turned on, - * no need to set, please do not set it, if it is turned off, - * it will not be able to program - * - * PMU.setDCDC3Voltage(3300); - * PMU.setPowerOutPut(AXP192_DCDC3, AXP202_ON); - * - * * * */ - - /* - * Turn off unused power sources to save power - * **/ - - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_OFF); - PMU.setPowerOutPut(AXP192_DCDC2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_OFF); - PMU.setPowerOutPut(AXP192_EXTEN, AXP202_OFF); - - /* - * Set the power of LoRa and GPS module to 3.3V - **/ - PMU.setLDO2Voltage(3300); //LoRa VDD - PMU.setLDO3Voltage(3300); //GPS VDD - PMU.setDCDC1Voltage(3300); //3.3V Pin next to 21 and 22 is controlled by DCDC1 - - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_ON); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_ON); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_ON); - - pinMode(PMU_IRQ, INPUT_PULLUP); - attachInterrupt(PMU_IRQ, [] { - // pmu_irq = true; - }, FALLING); - - PMU.adc1Enable(AXP202_VBUS_VOL_ADC1 | - AXP202_VBUS_CUR_ADC1 | - AXP202_BATT_CUR_ADC1 | - AXP202_BATT_VOL_ADC1, - AXP202_ON); - - PMU.enableIRQ(AXP202_VBUS_REMOVED_IRQ | - AXP202_VBUS_CONNECT_IRQ | - AXP202_BATT_REMOVED_IRQ | - AXP202_BATT_CONNECT_IRQ, - AXP202_ON); - PMU.clearIRQ(); - - return true; -} - -void disablePeripherals() -{ - PMU.setPowerOutPut(AXP192_DCDC1, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO2, AXP202_OFF); - PMU.setPowerOutPut(AXP192_LDO3, AXP202_OFF); -} -#else -#define initPMU() -#define disablePeripherals() -#endif - -SPIClass SDSPI(HSPI); - - -void initBoard() -{ - Serial.begin(115200); - Serial.println("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 - -#if OLED_RST - pinMode(OLED_RST, OUTPUT); - digitalWrite(OLED_RST, HIGH); delay(20); - digitalWrite(OLED_RST, LOW); delay(20); - digitalWrite(OLED_RST, HIGH); delay(20); -#endif - - initPMU(); - - -#ifdef BOARD_LED - /* - * T-BeamV1.0, V1.1 LED defaults to low level as trun on, - * so it needs to be forced to pull up - * * * * */ -#if LED_ON == LOW - gpio_hold_dis(GPIO_NUM_4); -#endif - pinMode(BOARD_LED, OUTPUT); - ledTicker.attach_ms(500, []() { - static bool level; - digitalWrite(BOARD_LED, level); - level = !level; - }); -#endif - - -#ifdef HAS_DISPLAY - Wire.beginTransmission(0x3C); - if (Wire.endTransmission() == 0) { - Serial.println("Started OLED"); - u8g2 = new U8G2_SSD1306_128X64_NONAME_F_HW_I2C(U8G2_R0, U8X8_PIN_NONE); - u8g2->begin(); - u8g2->clearBuffer(); - u8g2->setFlipMode(0); - u8g2->setFontMode(1); // Transparent - u8g2->setDrawColor(1); - u8g2->setFontDirection(0); - u8g2->firstPage(); - do { - u8g2->setFont(u8g2_font_inb19_mr); - u8g2->drawStr(0, 30, "LilyGo"); - u8g2->drawHLine(2, 35, 47); - u8g2->drawHLine(3, 36, 47); - u8g2->drawVLine(45, 32, 12); - u8g2->drawVLine(46, 33, 12); - u8g2->setFont(u8g2_font_inb19_mf); - u8g2->drawStr(58, 60, "LoRa"); - } while ( u8g2->nextPage() ); - u8g2->sendBuffer(); - u8g2->setFont(u8g2_font_fur11_tf); - delay(3000); - } -#endif - - -#ifdef HAS_SDCARD - if (u8g2) { - u8g2->setFont(u8g2_font_ncenB08_tr); - } - pinMode(SDCARD_MISO, INPUT_PULLUP); - SDSPI.begin(SDCARD_SCLK, SDCARD_MISO, SDCARD_MOSI, SDCARD_CS); - if (u8g2) { - u8g2->clearBuffer(); - } - - if (!SD.begin(SDCARD_CS, SDSPI)) { - - Serial.println("setupSDCard FAIL"); - if (u8g2) { - do { - u8g2->setCursor(0, 16); - u8g2->println( "SDCard FAILED");; - } while ( u8g2->nextPage() ); - } - - } else { - uint32_t cardSize = SD.cardSize() / (1024 * 1024); - if (u8g2) { - do { - u8g2->setCursor(0, 16); - u8g2->print( "SDCard:");; - u8g2->print(cardSize / 1024.0);; - u8g2->println(" GB");; - } while ( u8g2->nextPage() ); - } - - Serial.print("setupSDCard PASS . SIZE = "); - Serial.print(cardSize / 1024.0); - Serial.println(" GB"); - } - if (u8g2) { - u8g2->sendBuffer(); - } - delay(3000); -#endif - - -} - - diff --git a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/utilities.h b/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/utilities.h deleted file mode 100644 index ee32bb6..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/Ranging_Slave/utilities.h +++ /dev/null @@ -1,221 +0,0 @@ - -#pragma once - -/* -* This sample program only supports SX1280 -* */ -// #define LILYGO_TBeam_V0_7 //NO SUPPOTR -// #define LILYGO_TBeam_V1_X //NO SUPPOTR -// #define LILYGO_T3_V1_0 //NO SUPPOTR -// #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_S3_V1_0 - - -#define UNUSE_PIN (0) - -#if defined(LILYGO_TBeam_V0_7) -#define GPS_RX_PIN 12 -#define GPS_TX_PIN 15 -#define BUTTON_PIN 39 -#define BUTTON_PIN_MASK GPIO_SEL_39 -#define I2C_SDA 21 -#define I2C_SCL 22 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define GPS_BAUD_RATE 9600 -#define HAS_GPS -#define HAS_DISPLAY //Optional, bring your own board, no OLED !! - -#elif defined(LILYGO_TBeam_V1_X) - -#define GPS_RX_PIN 34 -#define GPS_TX_PIN 12 -#define BUTTON_PIN 38 -#define BUTTON_PIN_MASK GPIO_SEL_38 -#define I2C_SDA 21 -#define I2C_SCL 22 -#define PMU_IRQ 35 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define GPS_BAUD_RATE 9600 -#define HAS_GPS -#define HAS_DISPLAY //Optional, bring your own board, no OLED !! - -#elif defined(LILYGO_T3_V1_0) -#define I2C_SDA 4 -#define I2C_SCL 15 -#define OLED_RST 16 - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define HAS_DISPLAY - -#elif defined(LILYGO_T3_V1_3) - -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define ADC_PIN 35 - -#define HAS_DISPLAY -#elif defined(LILYGO_T3_V1_6) -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO1_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 25 -#define LED_ON HIGH - -#define ADC_PIN 35 - -#define HAS_SDCARD -#define HAS_DISPLAY - -#elif defined(LILYGO_T3_V2_0) -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO0_PIN 26 -#define RADIO_RST_PIN 14 -#define RADIO_DIO1_PIN UNUSE_PIN -#define RADIO_BUSY_PIN UNUSE_PIN - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 0 -#define LED_ON LOW - -#define HAS_DISPLAY -#define HAS_SDCARD - -#elif defined(LILYGO_T3_V1_8) - -#define I2C_SDA 21 -#define I2C_SCL 22 -#define OLED_RST UNUSE_PIN - -#define RADIO_SCLK_PIN 5 -#define RADIO_MISO_PIN 19 -#define RADIO_MOSI_PIN 27 -#define RADIO_CS_PIN 18 -#define RADIO_DIO1_PIN 26 -#define RADIO_RST_PIN 23 -#define RADIO_DIO2_PIN 33 -#define RADIO_BUSY_PIN 32 - -#define SDCARD_MOSI 15 -#define SDCARD_MISO 2 -#define SDCARD_SCLK 14 -#define SDCARD_CS 13 - -#define BOARD_LED 25 -#define LED_ON HIGH - -#define ADC_PIN 35 - -#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 "For the first use, please define the board version and model in " -#endif - - - - - - - - - diff --git a/examples/RadioLibExamples/SX1280/Ranging/readme.md b/examples/RadioLibExamples/SX1280/Ranging/readme.md deleted file mode 100644 index 332fc3e..0000000 --- a/examples/RadioLibExamples/SX1280/Ranging/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -

🌟LilyGo LoRa Series🌟

- -1. Only LILYGO_T3_V1_8 -2. Need to install the following dependencies(Add it to the '~/Arduino/libraries' directory) - [SX12XX-LoRa](https://github.com/StuartsProjects/SX12XX-LoRa) - - -