mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-13 08:01:24 +00:00
Merge pull request #4086 from HelTecAutomation/master
Add Heltec Capsule Sensor V3 to the Meshtastic source code
This commit is contained in:
commit
78fd17c12e
@ -33,6 +33,7 @@ default_envs = tbeam
|
|||||||
;default_envs = wio-e5
|
;default_envs = wio-e5
|
||||||
;default_envs = radiomaster_900_bandit_nano
|
;default_envs = radiomaster_900_bandit_nano
|
||||||
;default_envs = radiomaster_900_bandit_micro
|
;default_envs = radiomaster_900_bandit_micro
|
||||||
|
;default_envs = heltec_capsule_sensor_v3
|
||||||
|
|
||||||
extra_configs =
|
extra_configs =
|
||||||
arch/*/*.ini
|
arch/*/*.ini
|
||||||
|
@ -41,7 +41,11 @@ ButtonThread::ButtonThread() : OSThread("Button")
|
|||||||
}
|
}
|
||||||
#elif defined(BUTTON_PIN)
|
#elif defined(BUTTON_PIN)
|
||||||
int pin = config.device.button_gpio ? config.device.button_gpio : BUTTON_PIN; // Resolved button pin
|
int pin = config.device.button_gpio ? config.device.button_gpio : BUTTON_PIN; // Resolved button pin
|
||||||
|
#if defined(HELTEC_CAPSULE_SENSOR_V3)
|
||||||
|
this->userButton = OneButton(pin, false, false);
|
||||||
|
#else
|
||||||
this->userButton = OneButton(pin, true, true);
|
this->userButton = OneButton(pin, true, true);
|
||||||
|
#endif
|
||||||
LOG_DEBUG("Using GPIO%02d for button\n", pin);
|
LOG_DEBUG("Using GPIO%02d for button\n", pin);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -335,13 +335,20 @@ class AnalogBatteryLevel : public HasBatteryLevel
|
|||||||
virtual bool isVbusIn() override
|
virtual bool isVbusIn() override
|
||||||
{
|
{
|
||||||
#ifdef EXT_PWR_DETECT
|
#ifdef EXT_PWR_DETECT
|
||||||
// if external powered that pin will be pulled up
|
#ifdef HELTEC_CAPSULE_SENSOR_V3
|
||||||
if (digitalRead(EXT_PWR_DETECT) == HIGH) {
|
// if external powered that pin will be pulled down
|
||||||
return true;
|
if (digitalRead(EXT_PWR_DETECT) == LOW) {
|
||||||
}
|
return true;
|
||||||
// if it's not HIGH - check the battery
|
}
|
||||||
|
// if it's not LOW - check the battery
|
||||||
|
#else
|
||||||
|
// if external powered that pin will be pulled up
|
||||||
|
if (digitalRead(EXT_PWR_DETECT) == HIGH) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// if it's not HIGH - check the battery
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return getBattVoltage() > chargingVolt;
|
return getBattVoltage() > chargingVolt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -421,7 +428,11 @@ Power::Power() : OSThread("Power")
|
|||||||
bool Power::analogInit()
|
bool Power::analogInit()
|
||||||
{
|
{
|
||||||
#ifdef EXT_PWR_DETECT
|
#ifdef EXT_PWR_DETECT
|
||||||
pinMode(EXT_PWR_DETECT, INPUT);
|
#ifdef HELTEC_CAPSULE_SENSOR_V3
|
||||||
|
pinMode(EXT_PWR_DETECT, INPUT_PULLUP);
|
||||||
|
#else
|
||||||
|
pinMode(EXT_PWR_DETECT, INPUT);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef EXT_CHRG_DETECT
|
#ifdef EXT_CHRG_DETECT
|
||||||
pinMode(EXT_CHRG_DETECT, ext_chrg_detect_mode);
|
pinMode(EXT_CHRG_DETECT, ext_chrg_detect_mode);
|
||||||
|
@ -147,6 +147,8 @@
|
|||||||
#define HW_VENDOR meshtastic_HardwareModel_WIPHONE
|
#define HW_VENDOR meshtastic_HardwareModel_WIPHONE
|
||||||
#elif defined(RADIOMASTER_900_BANDIT_NANO)
|
#elif defined(RADIOMASTER_900_BANDIT_NANO)
|
||||||
#define HW_VENDOR meshtastic_HardwareModel_RADIOMASTER_900_BANDIT_NANO
|
#define HW_VENDOR meshtastic_HardwareModel_RADIOMASTER_900_BANDIT_NANO
|
||||||
|
#elif defined(HELTEC_CAPSULE_SENSOR_V3)
|
||||||
|
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_CAPSULE_SENSOR_V3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
11
variants/heltec_capsule_sensor_v3/platformio.ini
Normal file
11
variants/heltec_capsule_sensor_v3/platformio.ini
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[env:heltec_capsule_sensor_v3]
|
||||||
|
extends = esp32s3_base
|
||||||
|
board = heltec_wifi_lora_32_V3
|
||||||
|
board_check = true
|
||||||
|
|
||||||
|
build_flags =
|
||||||
|
${esp32s3_base.build_flags} -I variants/heltec_capsule_sensor_v3
|
||||||
|
-D HELTEC_CAPSULE_SENSOR_V3
|
||||||
|
-D GPS_POWER_TOGGLE ; comment this line to disable triple press function on the user button to turn off gps entirely.
|
||||||
|
;-D DEBUG_DISABLED ; uncomment this line to disable DEBUG output
|
||||||
|
|
42
variants/heltec_capsule_sensor_v3/variant.h
Normal file
42
variants/heltec_capsule_sensor_v3/variant.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#define LED_PIN 33
|
||||||
|
#define LED_PIN2 34
|
||||||
|
#define EXT_PWR_DETECT 35
|
||||||
|
|
||||||
|
#define BUTTON_PIN 18
|
||||||
|
|
||||||
|
#define BATTERY_PIN 7 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
|
||||||
|
#define ADC_CHANNEL ADC1_GPIO7_CHANNEL
|
||||||
|
#define ADC_ATTENUATION ADC_ATTEN_DB_2_5 // lower dB for high resistance voltage divider
|
||||||
|
#define ADC_MULTIPLIER (4.9 * 1.045)
|
||||||
|
#define ADC_CTRL 36 // active HIGH, powers the voltage divider. Only on 1.1
|
||||||
|
#define ADC_CTRL_ENABLED HIGH
|
||||||
|
|
||||||
|
#undef GPS_RX_PIN
|
||||||
|
#undef GPS_TX_PIN
|
||||||
|
#define GPS_RX_PIN 5
|
||||||
|
#define GPS_TX_PIN 4
|
||||||
|
#define PIN_GPS_RESET 3
|
||||||
|
#define GPS_RESET_MODE LOW
|
||||||
|
#define PIN_GPS_PPS 1
|
||||||
|
#define PIN_GPS_EN 21
|
||||||
|
#define GPS_EN_ACTIVE HIGH
|
||||||
|
|
||||||
|
#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
|
||||||
|
#define LORA_MOSI 10
|
||||||
|
#define LORA_CS 8
|
||||||
|
|
||||||
|
#define SX126X_CS LORA_CS
|
||||||
|
#define SX126X_DIO1 LORA_DIO1
|
||||||
|
#define SX126X_BUSY LORA_DIO2
|
||||||
|
#define SX126X_RESET LORA_RESET
|
||||||
|
|
||||||
|
#define SX126X_DIO2_AS_RF_SWITCH
|
||||||
|
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
|
Loading…
Reference in New Issue
Block a user