mirror of
https://github.com/0015/ThatProject.git
synced 2026-01-12 09:17:42 +03:00
LoRa, GPS Data showing on the Map
This commit is contained in:
140
ESP32-LoRa/LoRa_GPS_Data_Viewer/Demo_SX1262_Receiver/boards.h
Executable file
140
ESP32-LoRa/LoRa_GPS_Data_Viewer/Demo_SX1262_Receiver/boards.h
Executable file
@@ -0,0 +1,140 @@
|
||||
#include <Arduino.h>
|
||||
#include <SPI.h>
|
||||
#include <Wire.h>
|
||||
#include "utilities.h"
|
||||
|
||||
#ifdef HAS_SDCARD
|
||||
#include <SD.h>
|
||||
#include <FS.h>
|
||||
#endif
|
||||
|
||||
#if defined(LILYGO_TBeam_V1_0) || defined(LILYGO_TBeam_V1_1)
|
||||
#include <axp20x.h>
|
||||
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 HAS_GPS
|
||||
Serial1.begin(GPS_BAUD_RATE, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
|
||||
Serial.println("init GPS");
|
||||
#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 HAS_SDCARD
|
||||
SDSPI.begin(SDCARD_SCLK, SDCARD_MISO, SDCARD_MOSI, SDCARD_CS);
|
||||
if (!SD.begin(SDCARD_CS, SDSPI)) {
|
||||
Serial.println("setupSDCard FAIL");
|
||||
} else {
|
||||
uint32_t cardSize = SD.cardSize() / (1024 * 1024);
|
||||
Serial.print("setupSDCard PASS . SIZE = ");
|
||||
Serial.print(cardSize);
|
||||
Serial.println(" MB");
|
||||
}
|
||||
#endif
|
||||
|
||||
#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);
|
||||
digitalWrite(BOARD_LED, LED_ON);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user