mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-09-16 14:02:36 +00:00
thinknode_m8: initial support
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#include <Arduino.h>
|
||||
#include <Wire.h>
|
||||
|
||||
#include "ThinkNodeM8Board.h"
|
||||
|
||||
#ifdef THINKNODE_M8
|
||||
|
||||
void ThinkNodeM8Board::begin() {
|
||||
NRF52Board::begin();
|
||||
|
||||
Wire.begin();
|
||||
|
||||
#ifdef P_LORA_TX_LED
|
||||
pinMode(P_LORA_TX_LED, OUTPUT);
|
||||
digitalWrite(P_LORA_TX_LED, LOW);
|
||||
#endif
|
||||
|
||||
pinMode(SX126X_POWER_EN, OUTPUT);
|
||||
digitalWrite(SX126X_POWER_EN, HIGH);
|
||||
delay(10); // give sx1262 some time to power up
|
||||
}
|
||||
|
||||
uint16_t ThinkNodeM8Board::getBattMilliVolts() {
|
||||
int adcvalue = 0;
|
||||
|
||||
digitalWrite(ADC_EN, HIGH);
|
||||
analogReference(AR_INTERNAL_2_4);
|
||||
analogReadResolution(12);
|
||||
delay(10);
|
||||
|
||||
// ADC range is 0..3000mV and resolution is 12-bit (0..4095)
|
||||
adcvalue = analogRead(PIN_VBAT_READ);
|
||||
// Convert the raw value to compensated mv, taking the resistor-
|
||||
// divider into account (providing the actual LIPO voltage)
|
||||
digitalWrite(ADC_EN, LOW);
|
||||
return (uint16_t)((float)adcvalue * REAL_VBAT_MV_PER_LSB);
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user