Files
firmware/src/platform/esp32/architecture.h

142 lines
3.7 KiB
C
Raw Normal View History

#pragma once
#define ARCH_ESP32
//
// defaults for ESP32 architecture
//
#ifndef HAS_BLUETOOTH
2023-01-21 14:34:29 +01:00
#define HAS_BLUETOOTH 1
#endif
#ifndef HAS_WIFI
2023-01-21 14:34:29 +01:00
#define HAS_WIFI 1
#endif
#ifndef HAS_SCREEN
2023-01-21 14:34:29 +01:00
#define HAS_SCREEN 1
#endif
#ifndef HAS_WIRE
2023-01-21 14:34:29 +01:00
#define HAS_WIRE 1
#endif
#ifndef HAS_GPS
2023-01-21 14:34:29 +01:00
#define HAS_GPS 1
#endif
#ifndef HAS_BUTTON
2023-01-21 14:34:29 +01:00
#define HAS_BUTTON 1
#endif
#ifndef HAS_TELEMETRY
2023-01-21 14:34:29 +01:00
#define HAS_TELEMETRY 1
#endif
#ifndef HAS_SENSOR
#define HAS_SENSOR 1
#endif
#ifndef HAS_RADIO
2023-01-21 14:34:29 +01:00
#define HAS_RADIO 1
#endif
#ifndef HAS_RTC
2023-01-21 14:34:29 +01:00
#define HAS_RTC 1
#endif
2023-03-12 19:19:01 +01:00
#ifndef HAS_CPU_SHUTDOWN
#define HAS_CPU_SHUTDOWN 1
#endif
#ifndef DEFAULT_VREF
#define DEFAULT_VREF 1100
#endif
2022-09-08 10:36:53 +08:00
#if defined(HAS_AXP192) || defined(HAS_AXP2101)
#define HAS_PMU
#endif
//
// set HW_VENDOR
//
// This string must exactly match the case used in release file names or the android updater won't work
#if defined(TBEAM_V10)
#define HW_VENDOR meshtastic_HardwareModel_TBEAM
#elif defined(TBEAM_V07)
#define HW_VENDOR meshtastic_HardwareModel_TBEAM_V0P7
#elif defined(LILYGO_TBEAM_S3_CORE)
#define HW_VENDOR meshtastic_HardwareModel_LILYGO_TBEAM_S3_CORE
#elif defined(DIY_V1)
#define HW_VENDOR meshtastic_HardwareModel_DIY_V1
#elif defined(RAK_11200)
#define HW_VENDOR meshtastic_HardwareModel_RAK11200
#elif defined(ARDUINO_HELTEC_WIFI_LORA_32_V2)
2023-01-21 14:34:29 +01:00
#ifdef HELTEC_V2_0
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_V2_0
2023-01-21 14:34:29 +01:00
#endif
#ifdef HELTEC_V2_1
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_V2_1
2023-01-21 14:34:29 +01:00
#endif
#elif defined(ARDUINO_HELTEC_WIFI_LORA_32)
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_V1
#elif defined(TLORA_V1)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_V1
#elif defined(TLORA_V2)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_V2
#elif defined(TLORA_V1_3)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_V1_1P3
#elif defined(TLORA_V2_1_16)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_V2_1_1P6
2022-11-02 13:12:15 +01:00
#elif defined(TLORA_V2_1_18)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_V2_1_1P8
#elif defined(GENIEBLOCKS)
#define HW_VENDOR meshtastic_HardwareModel_GENIEBLOCKS
#elif defined(PRIVATE_HW)
#define HW_VENDOR meshtastic_HardwareModel_PRIVATE_HW
#elif defined(NANO_G1)
#define HW_VENDOR meshtastic_HardwareModel_NANO_G1
#elif defined(M5STACK)
#define HW_VENDOR meshtastic_HardwareModel_M5STACK
2022-08-03 04:23:32 +08:00
#elif defined(STATION_G1)
#define HW_VENDOR meshtastic_HardwareModel_STATION_G1
#elif defined(DR_DEV)
#define HW_VENDOR meshtastic_HardwareModel_DR_DEV
2022-11-13 09:45:16 -06:00
#elif defined(HELTEC_V3)
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_V3
#elif defined(HELTEC_WSL_V3)
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_WSL_V3
#elif defined(HELTEC_WIRELESS_TRACKER)
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_WIRELESS_TRACKER
#elif defined(HELTEC_WIRELESS_PAPER)
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_WIRELESS_PAPER
2022-12-28 15:31:04 +01:00
#elif defined(TLORA_T3S3_V1)
#define HW_VENDOR meshtastic_HardwareModel_TLORA_T3_S3
2023-02-01 10:52:49 +01:00
#elif defined(BETAFPV_2400_TX)
2023-02-01 10:53:48 +01:00
#define HW_VENDOR meshtastic_HardwareModel_BETAFPV_2400_TX
2023-02-18 04:49:37 +08:00
#elif defined(NANO_G1_EXPLORER)
#define HW_VENDOR meshtastic_HardwareModel_NANO_G1_EXPLORER
#elif defined(BETAFPV_900_TX_NANO)
#define HW_VENDOR meshtastic_HardwareModel_BETAFPV_900_NANO_TX
#endif
//
// Standard definitions for ESP32 targets
//
#define GPS_SERIAL_NUM 1
2022-07-31 19:06:48 -07:00
#ifndef GPS_RX_PIN
#define GPS_RX_PIN 34
2022-07-31 19:06:48 -07:00
#endif
#ifndef GPS_TX_PIN
#ifdef USE_JTAG
#define GPS_TX_PIN -1
#else
#define GPS_TX_PIN 12
#endif
2022-07-31 19:06:48 -07:00
#endif
// -----------------------------------------------------------------------------
// LoRa SPI
// -----------------------------------------------------------------------------
// NRF52 boards will define this in variant.h
#ifndef RF95_SCK
#define RF95_SCK 5
#define RF95_MISO 19
#define RF95_MOSI 27
#define RF95_NSS 18
#endif
#define SERIAL0_RX_GPIO 3 // Always GPIO3 on ESP32