/* TTGO T-BEAM Tracker for The Things Network Copyright (C) 2018 by Xose PĂ©rez This code requires LMIC library by Matthijs Kooijman https://github.com/matthijskooijman/arduino-lmic This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include // ----------------------------------------------------------------------------- // Version // ----------------------------------------------------------------------------- #define APP_NAME "meshtastic-esp32" #define APP_VERSION "0.0.1" // ----------------------------------------------------------------------------- // Configuration // ----------------------------------------------------------------------------- // Select which T-Beam board is being used. Only uncomment one. #define T_BEAM_V10 // AKA Rev1 (second board released) // #define HELTEC_LORA32 #define DEBUG_PORT Serial // Serial debug port #define SERIAL_BAUD 115200 // Serial debug baud rate #define SLEEP_MSECS (30 * 24 * 60 * 60 * 1000LL) // Sleep for these many millis (or a button press or a lora msg?) #define MESSAGE_TO_SLEEP_DELAY 5000 // Time after message before going to sleep #define LOGO_DELAY 5000 // Time to show logo on first boot #define REQUIRE_RADIO true // If true, we will fail to start if the radio is not found // If not defined, we will wait for lock forever #define MINWAKE_MSECS (30 * 1000) // Wait after every boot for GPS lock (may need longer than 5s because we turned the gps off during deep sleep) // ----------------------------------------------------------------------------- // DEBUG // ----------------------------------------------------------------------------- #ifdef DEBUG_PORT #define DEBUG_MSG(...) DEBUG_PORT.printf( __VA_ARGS__ ) #else #define DEBUG_MSG(...) #endif // ----------------------------------------------------------------------------- // Custom messages // ----------------------------------------------------------------------------- #define EV_QUEUED 100 #define EV_PENDING 101 #define EV_ACK 102 #define EV_RESPONSE 103 // ----------------------------------------------------------------------------- // General // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // OLED // ----------------------------------------------------------------------------- #define SSD1306_ADDRESS 0x3C // ----------------------------------------------------------------------------- // GPS // ----------------------------------------------------------------------------- #define GPS_SERIAL_NUM 1 #define GPS_BAUDRATE 9600 #define USE_GPS 1 #if defined(T_BEAM_V10) #define GPS_RX_PIN 34 #define GPS_TX_PIN 12 #endif // ----------------------------------------------------------------------------- // LoRa SPI // ----------------------------------------------------------------------------- #define SCK_GPIO 5 #define MISO_GPIO 19 #define MOSI_GPIO 27 #define NSS_GPIO 18 #if defined(T_BEAM_V10) #define I2C_SDA 21 #define I2C_SCL 22 #define BUTTON_PIN 38 #define RESET_GPIO 14 #define DIO0_GPIO 26 #define DIO1_GPIO 33 // Note: not really used on this board #define DIO2_GPIO 32 // Note: not really used on this board #define PMU_IRQ 35 #elif defined(HELTEC_LORA32) #define I2C_SDA 4 #define I2C_SCL 15 #define RESET_OLED 16 #define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost #define LED_PIN 25 #define BUTTON_PIN 0 #define RESET_GPIO 14 #define DIO0_GPIO 26 #define DIO1_GPIO 35 #define DIO2_GPIO 34 #endif // ----------------------------------------------------------------------------- // AXP192 (Rev1-specific options) // ----------------------------------------------------------------------------- // #define AXP192_SLAVE_ADDRESS 0x34 // Now defined in axp20x.h #define GPS_POWER_CTRL_CH 3 #define LORA_POWER_CTRL_CH 2