mirror of https://github.com/meshcore-dev/MeshCore
23 changed files with 47 additions and 415 deletions
@ -0,0 +1,15 @@ |
|||
#include "StationG3Board.h" |
|||
|
|||
void StationG3Board::powerOff() { |
|||
#ifdef P_PA1_EN |
|||
setPAModeHigh(false); |
|||
rtc_gpio_hold_en((gpio_num_t)P_PA1_EN); |
|||
#endif |
|||
|
|||
#ifdef P_PRIMARY_LNA_EN |
|||
setPrimaryLNAControl(true); |
|||
rtc_gpio_hold_en((gpio_num_t)P_PRIMARY_LNA_EN); |
|||
#endif |
|||
|
|||
ESP32Board::powerOff(); |
|||
} |
|||
@ -1,40 +1,30 @@ |
|||
#include "ThinknodeM2Board.h" |
|||
|
|||
|
|||
|
|||
void ThinknodeM2Board::begin() { |
|||
pinMode(PIN_VEXT_EN, OUTPUT); |
|||
digitalWrite(PIN_VEXT_EN, !PIN_VEXT_EN_ACTIVE); // force power cycle
|
|||
delay(20); // allow power rail to discharge
|
|||
digitalWrite(PIN_VEXT_EN, PIN_VEXT_EN_ACTIVE); // turn backlight back on
|
|||
delay(120); // give display time to bias on cold boot
|
|||
ESP32Board::begin(); |
|||
pinMode(PIN_STATUS_LED, OUTPUT); // init power led
|
|||
} |
|||
pinMode(PIN_VEXT_EN, OUTPUT); |
|||
digitalWrite(PIN_VEXT_EN, !PIN_VEXT_EN_ACTIVE); // force power cycle
|
|||
delay(20); // allow power rail to discharge
|
|||
digitalWrite(PIN_VEXT_EN, PIN_VEXT_EN_ACTIVE); // turn backlight back on
|
|||
delay(120); // give display time to bias on cold boot
|
|||
ESP32Board::begin(); |
|||
pinMode(PIN_STATUS_LED, OUTPUT); // init power led
|
|||
} |
|||
|
|||
void ThinknodeM2Board::enterDeepSleep(uint32_t secs, int pin_wake_btn) { |
|||
esp_deep_sleep_start(); |
|||
} |
|||
uint16_t ThinknodeM2Board::getBattMilliVolts() { |
|||
analogReadResolution(12); |
|||
analogSetPinAttenuation(PIN_VBAT_READ, ADC_11db); |
|||
|
|||
void ThinknodeM2Board::powerOff() { |
|||
enterDeepSleep(0); |
|||
uint32_t mv = 0; |
|||
for (int i = 0; i < 8; ++i) { |
|||
mv += analogReadMilliVolts(PIN_VBAT_READ); |
|||
delayMicroseconds(200); |
|||
} |
|||
mv /= 8; |
|||
|
|||
uint16_t ThinknodeM2Board::getBattMilliVolts() { |
|||
analogReadResolution(12); |
|||
analogSetPinAttenuation(PIN_VBAT_READ, ADC_11db); |
|||
|
|||
uint32_t mv = 0; |
|||
for (int i = 0; i < 8; ++i) { |
|||
mv += analogReadMilliVolts(PIN_VBAT_READ); |
|||
delayMicroseconds(200); |
|||
} |
|||
mv /= 8; |
|||
|
|||
analogReadResolution(10); |
|||
return static_cast<uint16_t>(mv * ADC_MULTIPLIER ); |
|||
analogReadResolution(10); |
|||
return static_cast<uint16_t>(mv * ADC_MULTIPLIER); |
|||
} |
|||
|
|||
const char* ThinknodeM2Board::getManufacturerName() const { |
|||
return "Elecrow ThinkNode M2"; |
|||
} |
|||
const char *ThinknodeM2Board::getManufacturerName() const { |
|||
return "Elecrow ThinkNode M2"; |
|||
} |
|||
|
|||
Loading…
Reference in new issue