diff --git a/Heltec_v2_GPS_ILI9341.cfg b/Heltec_v2_GPS_ILI9341.cfg new file mode 100644 index 0000000..f2070c1 --- /dev/null +++ b/Heltec_v2_GPS_ILI9341.cfg @@ -0,0 +1,73 @@ +#define DEFAULT_AcftType 1 // [0..15] default aircraft-type: glider +#define DEFAULT_GeoidSepar 40 // [m] +#define DEFAULT_CONbaud 115200 +#define DEFAULT_PPSdelay 100 +#define DEFAULT_FreqPlan 0 + +#define WITH_HELTEC_V2 // HELTEC module: PCB LED on GPI025 +// #define WITH_HELTEC // HELTEC module: PCB LED on GPI025 +// #define WITH_TTGO // TTGO module: PCB LED on GPIO2, GPIO25 free to use as DAC2 output +// #define WITH_TBEAM // T-Beam module +// #define WITH_TBEAM_V10 // T-Beam module +// #define WITH_M5_JACEK // JACEK M5 ESP32 OGN-Tracker +// #define WITH_FollowMe // by Avionix + +#define WITH_ILI9341 // 320x240 M5stack +// #define WITH_ST7789 // IPS 240x240 ST7789 +// #define WITH_TFT_LCD // TFT LCD +// #define WITH_OLED // OLED display on the I2C: some TTGO modules are without OLED display +// #define WITH_OLED2 // 2nd OLED display, I2C address next higher +// #define WITH_U8G2_OLED // I2C OLED through the U8g2 library +// #define WITH_U8G2_SH1106 +// #define WITH_U8G2_LISTS // displays various lists, like Relay, Lookout, + +#define WITH_RFM95 // RF chip selection: both HELTEC and TTGO use sx1276 which is same as RFM95 + +// #define WITH_SLEEP // with software sleep mode controlled by the long-press on the button +// #define WITH_LONGPRESS_SLEEP + +// #define WITH_AXP // with AXP192 power controller (T-BEAM V1.0) +// #define WITH_BQ // with BQ24295 power controller (FollowMe) + +// #define WITH_LED_RX +// #define WITH_LED_TX + +// #define WITH_GPS_ENABLE // use GPS_ENABLE control line to turn the GPS ON/OFF +#define WITH_GPS_PPS // use the PPS signal from GPS for precise time-sync. +#define WITH_GPS_CONFIG // attempt to configure higher GPS baud rate and airborne mode + +#define WITH_GPS_UBX // GPS understands UBX +// #define WITH_GPS_MTK // GPS understands MTK +// #define WITH_GPS_SRF +// #define WITH_MAVLINK + +// #define WITH_GPS_UBX_PASS // to pass directly UBX packets to/from GPS +// #define WITH_GPS_NMEA_PASS // to pass directly NMEA to/from GPS + +// #define WITH_BMP180 // BMP180 pressure sensor +// #define WITH_BMP280 // BMP280 pressure sensor +#define WITH_BME280 // BMP280 with humidity (but still works with BMP280) +// #define WITH_MS5607 // MS5607 pressure sensor + +#define WITH_PFLAA // PFLAU and PFLAA for compatibility with XCsoar and LK8000 +// #define WITH_POGNT +#define WITH_LOOKOUT + +#define WITH_CONFIG // interpret the console input: $POGNS to change parameters + +// #define WITH_BEEPER // with digital buzzer +// #define WITH_SOUND // with analog sound produced by DAC on pin 25 + +// #define WITH_KNOB +// #define WITH_VARIO + +// #define WITH_SD // use the SD card in SPI mode and FAT file system +#define WITH_SPIFFS // use SPIFFS file system in Flash +#define WITH_LOG // log own positions and other received to SPIFFS and possibly to uSD + +#define WITH_BT_SPP // Bluetooth serial port for smartphone/tablet link +// #define WITH_WIFI // attempt to connect to the wifi router for uploading the log files +// #define WITH_SPIFFS_LOG // log transmitted and received packets to SPIFFS + +// #define WITH_ENCRYPT // Encrypt (optionally) the position + diff --git a/main/hal.cpp b/main/hal.cpp index 0727791..5a8e96a 100644 --- a/main/hal.cpp +++ b/main/hal.cpp @@ -1840,15 +1840,23 @@ void IO_Configuration(void) LCD_Start(); #endif -#ifdef WITH_ILI9341 // M5stack configuration -#define LCD_SPI_SPEED 26000000 // [Hz] -#define LCD_SPI_MODE 0 // +#ifdef WITH_ILI9341 // M5stack or HELTEC configuration +#define LCD_SPI_SPEED 26000000 // [Hz] +#define LCD_SPI_MODE 0 // +#ifdef WITH_HELTEC_V2 + LCD_PIN_CS = GPIO_NUM_23; + LCD_PIN_DC = GPIO_NUM_17; + LCD_PIN_RST = GPIO_NUM_NC; + LCD_PIN_BCKL = GPIO_NUM_12; +#endif +#ifdef WITH_M5_JACEK LCD_PIN_CS = GPIO_NUM_14; // LCD_PIN_DC = GPIO_NUM_27; // D/C: Command = 0, Data = 1 LCD_PIN_RST = GPIO_NUM_33; // LCD_PIN_BCKL = GPIO_NUM_32; // back-light: HIGH active +#endif LCD_WIDTH=320; LCD_HEIGHT=240; - LCD_TYPE = 1; + LCD_TYPE = 1; // 1 = ILI9341 LCD_Init(RFM_SPI_HOST, LCD_SPI_MODE, LCD_SPI_SPEED); LCD_Start(); #endif