Skip to content

Commit

Permalink
Wait for I2C power to stabilize on Heltec VME213; tidy variant folder (
Browse files Browse the repository at this point in the history
…#4308)

* Tidy variant.h and pins_arduino.h (VME213)

* Wait for peripherals to stabilize after enabling I2C power
The 3.3V power for the I2C "quick link" connector is from Ve_3V3
  • Loading branch information
todd-herbert authored Jul 20, 2024
1 parent f25644e commit 54df153
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 24 deletions.
7 changes: 7 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,13 @@ void setup()
digitalWrite(RESET_OLED, 1);
#endif

#ifdef PERIPHERAL_WARMUP_MS
// Some peripherals may require additional time to stabilize after power is connected
// e.g. I2C on Heltec Vision Master
LOG_INFO("Waiting for peripherals to stabilize\n");
delay(PERIPHERAL_WARMUP_MS);
#endif

#ifdef BUTTON_PIN
#ifdef ARCH_ESP32

Expand Down
6 changes: 3 additions & 3 deletions variants/heltec_vision_master_e213/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <stdint.h>

static const uint8_t LED_BUILTIN = 35;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
static const uint8_t LED_BUILTIN = -1; // Board has no built-in LED, despite what schematic shows
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN

static const uint8_t TX = 43;
Expand Down Expand Up @@ -56,6 +56,6 @@ static const uint8_t T14 = 14;

static const uint8_t RST_LoRa = 12;
static const uint8_t BUSY_LoRa = 13;
static const uint8_t DIO0 = 14;
static const uint8_t DIO1 = 14;

#endif /* Pins_Arduino_h */
36 changes: 15 additions & 21 deletions variants/heltec_vision_master_e213/variant.h
Original file line number Diff line number Diff line change
@@ -1,48 +1,42 @@
// #define LED_PIN 18
#define BUTTON_PIN 0

// Enable bus for external periherals
// I2C
#define I2C_SDA SDA
#define I2C_SCL SCL

// Display (E-Ink)
#define USE_EINK

/*
* eink display pins
*/
#define PIN_EINK_CS 5
#define PIN_EINK_BUSY 1
#define PIN_EINK_DC 2
#define PIN_EINK_RES 3
#define PIN_EINK_SCLK 4
#define PIN_EINK_MOSI 6

/*
* SPI interfaces
*/
// SPI
#define SPI_INTERFACES_COUNT 2

#define PIN_SPI_MISO 10 // MISO P0.17
#define PIN_SPI_MOSI 11 // MOSI P0.15
#define PIN_SPI_SCK 9 // SCK P0.13

#define VEXT_ENABLE 18 // powers the oled display and the lora antenna boost
#define VEXT_ON_VALUE 1
#define BUTTON_PIN 0

#define PIN_SPI_MISO 10 // MISO
#define PIN_SPI_MOSI 11 // MOSI
#define PIN_SPI_SCK 9 // SCK

// Power
#define VEXT_ENABLE 18 // Powers the E-Ink display, and the 3.3V supply to the I2C QuickLink connector
#define PERIPHERAL_WARMUP_MS 1000 // Make sure I2C QuickLink has stable power before continuing
#define VEXT_ON_VALUE HIGH
#define ADC_CTRL 46
#define ADC_CTRL_ENABLED HIGH
#define BATTERY_PIN 7
#define ADC_CHANNEL ADC1_GPIO7_CHANNEL
#define ADC_MULTIPLIER 4.9 * 1.03 // Voltage divider is roughly 1:1
#define ADC_ATTENUATION ADC_ATTEN_DB_2_5 // Voltage divider output is quite high
#define ADC_MULTIPLIER 4.9 * 1.03
#define ADC_ATTENUATION ADC_ATTEN_DB_2_5

// LoRa
#define USE_SX1262

#define LORA_DIO0 -1 // a No connect on the SX1262 module
#define LORA_RESET 12
#define LORA_DIO1 14 // SX1262 IRQ
#define LORA_DIO2 13 // SX1262 BUSY
#define LORA_DIO3 // Not connected on PCB, but internally on the TTGO SX1262, if DIO3 is high the TXCO is enabled

#define LORA_SCK 9
#define LORA_MISO 11
Expand Down

0 comments on commit 54df153

Please sign in to comment.