Compare commits

...

27 Commits

Author SHA1 Message Date
Ben Meadors
0adc5ce3de Bump version for release 2022-05-29 18:55:34 -05:00
Thomas Göttgens
1d5e079fa2 Merge pull request #1476 from meshtastic/1.2-ubxreset
Forgot a part of the 1.3 fix
2022-05-30 00:19:29 +02:00
Thomas Göttgens
33fac6d0f5 Forgot a part of the 1.3 fix 2022-05-30 00:05:40 +02:00
Thomas Göttgens
8e8158ebbc Merge pull request #1458 from meshtastic/1.2-ubxreset
ask for factory reset if GPS does not talk to us.
2022-05-18 17:37:27 +01:00
Thomas Göttgens
a9fcc775d9 Merge branch '1.2-ubxreset' of github.com:meshtastic/Meshtastic-device into 1.2-legacy 2022-05-18 18:25:57 +02:00
Thomas Göttgens
cf465a3d34 fixed return for NRF52 2022-05-18 18:25:12 +02:00
Thomas Göttgens
6520c51b66 Merge branch '1.2-legacy' of github.com:meshtastic/Meshtastic-device into 1.2-legacy 2022-05-18 18:08:04 +02:00
Thomas Göttgens
98552b6d9d Merge branch '1.2-legacy' into 1.2-ubxreset 2022-05-18 17:07:53 +01:00
Thomas Göttgens
7f9c07ae37 ask for factory reset if GPS does not talk to us. 2022-05-18 18:06:53 +02:00
Thomas Göttgens
bfd97558d4 Merge pull request #1456 from meshtastic/1.2-buildfix
1.2 buildfix
2022-05-18 15:22:32 +01:00
Thomas Göttgens
44159f75f1 Always send the first command 2022-05-18 15:58:06 +02:00
Thomas Göttgens
dfa9c32665 faster bootup without GPS 2022-05-18 13:05:11 +02:00
Thomas Göttgens
c600135b70 Merge pull request #1455 from meshtastic/1.2-t-echo
fix GPS and Buttons on T-Echo and log UBX (1.2)
2022-05-17 20:11:32 +01:00
Thomas Göttgens
179a2624a1 Merge branch '1.2-t-echo' of github.com:meshtastic/Meshtastic-device into 1.2-legacy 2022-05-17 21:02:35 +02:00
Thomas Göttgens
3fded9aaa9 don't be too smart 2022-05-17 21:02:00 +02:00
Thomas Göttgens
f423d943a8 Merge branch '1.2-legacy' into 1.2-t-echo 2022-05-17 18:56:27 +01:00
Thomas Göttgens
f251727524 wrong header file 2022-05-17 19:47:59 +02:00
Thomas Göttgens
f3cc732e7d Print error codes and returns during UBX config 2022-05-17 19:44:41 +02:00
Thomas Göttgens
8d74c41802 switch GPS back to 9600 baud, seems to work better now we only use the 2 sentences 2022-05-17 18:57:42 +02:00
Thomas Göttgens
89f7968ca2 don't wake t-echo through the touch button 2022-05-17 13:03:14 +02:00
Thomas Göttgens
3b2375a27b Merge pull request #1452 from meshtastic/1.2-buildfix
Fix building with PIO6
2022-05-17 10:24:13 +01:00
Thomas Göttgens
959962530b missed one ... 2022-05-17 11:11:47 +02:00
Thomas Göttgens
77816f8f68 Fix building with PIO6 2022-05-17 10:58:44 +02:00
Ben Meadors
ee8e544ce2 Added dr-dev 2022-05-07 21:04:39 -05:00
Ben Meadors
887e6fd761 Added meshtastic-dr-dev to release 2022-05-07 20:04:09 -05:00
Ben Meadors
d06aa73947 Added meshtastic-dr-dev to ci action 2022-05-07 20:02:58 -05:00
code8buster
72bfee34ee Disaster Radio dev board initial support (#1443)
* Initial pin redefs for Disasterradio's prototype pcb

* Initializes E22-900M30S correctly, seems to be ready to work

* Add new macros for upstream merge

* Cleaning up stray experiment

That was silly, what was I even thinking? Late evening coding mistakes.
2022-05-07 20:00:01 -05:00
22 changed files with 227 additions and 44 deletions

View File

@@ -39,6 +39,7 @@ jobs:
- board: rak4631_19003
- board: t-echo
- board: nano-g1
- board: meshtastic-dr-dev
runs-on: ubuntu-latest
steps:
@@ -105,6 +106,7 @@ jobs:
- board: tbeam0.7
- board: meshtastic-diy-v1
- board: nano-g1
- board: meshtastic-dr-dev
runs-on: ubuntu-latest
steps:

View File

@@ -5,7 +5,7 @@ set -e
VERSION=`bin/buildinfo.py long`
SHORT_VERSION=`bin/buildinfo.py short`
BOARDS_ESP32="rak11200 tlora-v2 tlora-v1 tlora_v1_3 tlora-v2-1-1.6 tbeam heltec-v1 heltec-v2.0 heltec-v2.1 tbeam0.7 meshtastic-diy-v1 nano-g1"
BOARDS_ESP32="rak11200 tlora-v2 tlora-v1 tlora_v1_3 tlora-v2-1-1.6 tbeam heltec-v1 heltec-v2.0 heltec-v2.1 tbeam0.7 meshtastic-diy-v1 nano-g1 meshtastic-dr-dev"
#BOARDS_ESP32=tbeam
# FIXME note nrf52840dk build is for some reason only generating a BIN file but not a HEX file nrf52840dk-geeksville is fine

View File

@@ -29,6 +29,7 @@ default_envs = tbeam
;default_envs = nano-g1
;default_envs = meshtastic-diy-v1
;default_envs = meshtastic-diy-v1.1
;default_envs = meshtastic-dr-dev
; board specific config can be moved to the respective 'variants' file.
; See https://docs.platformio.org/en/latest/projectconf/section_platformio.html#extra-configs
@@ -106,7 +107,7 @@ lib_deps =
build_flags = ${env.build_flags} -Os
# -DRADIOLIB_GODMODE
src_filter = ${env.src_filter} -<portduino/>
build_src_filter = ${env.build_src_filter} -<portduino/>
; Common libs for environmental measurements (not included in native / portduino)
[environmental]
@@ -123,8 +124,8 @@ lib_deps =
[esp32_base]
extends = arduino_base
platform = espressif32@3.5.0
src_filter =
${arduino_base.src_filter} -<nrf52/>
build_src_filter =
${arduino_base.build_src_filter} -<nrf52/>
upload_speed = 921600
debug_init_break = tbreak setup
@@ -178,8 +179,8 @@ board_build.partitions = partition-table.csv
;board = cubecell_board_plus
; FIXME, bug in cubecell arduino - they are supposed to set ARDUINO
;build_flags = ${arduino_base.build_flags} -DARDUINO=100 -Isrc/cubecell
;src_filter =
; ${arduino_base.src_filter} -<esp32/> -<nrf52/>
;build_src_filter =
; ${arduino_base.build_src_filter} -<esp32/> -<nrf52/>
; Common settings for NRF52 based targets
[nrf52_base]
@@ -194,8 +195,8 @@ build_flags =
-Isrc/nrf52
-Isdk-nrfxlib/crypto/nrf_oberon/include -Lsdk-nrfxlib/crypto/nrf_oberon/lib/cortex-m4/hard-float/ -lliboberon_3.0.7
;-DCFG_DEBUG=3
src_filter =
${arduino_base.src_filter} -<esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<plugins/esp32> -<mqtt/>
build_src_filter =
${arduino_base.build_src_filter} -<esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<plugins/esp32> -<mqtt/>
lib_ignore =
BluetoothOTA
; monitor_port = /dev/ttyACM1

2
proto

Submodule proto updated: c851209e0b...f1476bf2f6

View File

@@ -100,10 +100,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define GPS_TX_PIN 12
#endif
#ifndef TTGO_T_ECHO
#define GPS_UBLOX
#endif
// -----------------------------------------------------------------------------
// LoRa SPI
// -----------------------------------------------------------------------------
@@ -118,6 +114,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#ifndef TTGO_T_ECHO
#define GPS_UBLOX
#endif
//
// Standard definitions for !ESP32 targets
//
@@ -169,6 +169,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// This string must exactly match the case used in release file names or the android updater won't work
#define HW_VENDOR HardwareModel_DIY_V1
#elif defined(DR_DEV)
// This string must exactly match the case used in release file names or the android updater won't work
#define HW_VENDOR HardwareModel_DR_DEV
#elif defined(RAK_11200)
// This string must exactly match the case used in release file names or the android updater won't work
#define HW_VENDOR HardwareModel_RAK11200
@@ -254,4 +258,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "variant.h"
#include "RF95Configuration.h"
#include "DebugConfiguration.h"
#include "DebugConfiguration.h"

View File

@@ -22,6 +22,43 @@ GPS *gps;
/// only init that port once.
static bool didSerialInit;
bool GPS::getACK(uint8_t c, uint8_t i) {
uint8_t b;
uint8_t ack = 0;
const uint8_t ackP[2] = {c, i};
uint8_t buf[10] = {0xB5, 0x62, 0x05, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00};
unsigned long startTime = millis();
for (int j = 2; j < 6; j++) {
buf[8] += buf[j];
buf[9] += buf[8];
}
for (int j = 0; j < 2; j++) {
buf[6 + j] = ackP[j];
buf[8] += buf[6 + j];
buf[9] += buf[8];
}
while (1) {
if (ack > 9) {
return true;
}
if (millis() - startTime > 1000) {
return false;
}
if (_serial_gps->available()) {
b = _serial_gps->read();
if (b == buf[ack]) {
ack++;
}
else {
ack = 0;
}
}
}
}
bool GPS::setupGPS()
{
if (_serial_gps && !didSerialInit) {
@@ -37,13 +74,17 @@ bool GPS::setupGPS()
_serial_gps->setRxBufferSize(2048); // the default is 256
#endif
#ifdef TTGO_T_ECHO
// Switch to 4800 baud, then close and reopen port
_serial_gps->write("$PCAS01,0*1C\r\n");
delay(250);
// Switch to 9600 baud, then close and reopen port
_serial_gps->end();
delay(250);
_serial_gps->begin(4800);
delay(250);
_serial_gps->write("$PCAS01,1*1D\r\n");
delay(250);
_serial_gps->end();
delay(250);
_serial_gps->begin(9600);
delay(250);
// Initialize the L76K Chip, use GPS + GLONASS
_serial_gps->write("$PCAS04,5*1C\r\n");
delay(250);
@@ -53,57 +94,74 @@ bool GPS::setupGPS()
// Switch to Vehicle Mode, since SoftRF enables Aviation < 2g
_serial_gps->write("$PCAS11,3*1E\r\n");
delay(250);
#endif
#ifdef GPS_UBLOX
delay(250);
// Set the UART port to output NMEA only
byte _message_nmea[] = {0xB5, 0x62, 0x06, 0x00, 0x14, 0x00,
0x01, 0x00, 0x00, 0x00, 0xC0, 0x08, 0x00, 0x00, 0x80, 0x25, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x91, 0xAF};
_serial_gps->write(_message_nmea,sizeof(_message_nmea));
delay(250);
if (!getACK(0x06, 0x00)) {
DEBUG_MSG("WARNING: Unable to enable NMEA Mode.\n");
return true;
}
// disable GGL
byte _message_GGL[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01,
0x05,0x3A};
_serial_gps->write(_message_GGL,sizeof(_message_GGL));
delay(250);
if (!getACK(0x06, 0x01)) {
DEBUG_MSG("WARNING: Unable to disable NMEA GGL.\n");
return true;
}
// disable GSA
byte _message_GSA[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01,
0x06,0x41};
_serial_gps->write(_message_GSA,sizeof(_message_GSA));
delay(250);
if (!getACK(0x06, 0x01)) {
DEBUG_MSG("WARNING: Unable to disable NMEA GSA.\n");
return true;
}
// disable GSV
byte _message_GSV[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01,
0x07,0x48};
_serial_gps->write(_message_GSV,sizeof(_message_GSV));
delay(250);
if (!getACK(0x06, 0x01)) {
DEBUG_MSG("WARNING: Unable to disable NMEA GSV.\n");
return true;
}
// disable VTG
byte _message_VTG[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01,
0x09,0x56};
_serial_gps->write(_message_VTG,sizeof(_message_VTG));
delay(250);
if (!getACK(0x06, 0x01)) {
DEBUG_MSG("WARNING: Unable to disable NMEA VTG.\n");
return true;
}
// enable RMC
byte _message_RMC[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x09,0x54};
_serial_gps->write(_message_RMC,sizeof(_message_RMC));
delay(250);
if (!getACK(0x06, 0x01)) {
DEBUG_MSG("WARNING: Unable to enable NMEA RMC.\n");
return true;
}
// enable GGA
byte _message_GGA[] = {0xB5, 0x62, 0x06, 0x01, 0x08, 0x00,
0xF0, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x05, 0x38};
_serial_gps->write(_message_GGA,sizeof(_message_GGA));
delay(250);
if (!getACK(0x06, 0x01)) DEBUG_MSG("WARNING: Unable to enable NMEA GGA.\n");
#endif
}
@@ -145,6 +203,11 @@ GPS::~GPS()
bool GPS::hasLock() { return hasValidLocation; }
bool GPS::hasFlow()
{
return hasGPS;
}
// Allow defining the polarity of the WAKE output. default is active high
#ifndef GPS_WAKE_ACTIVE
#define GPS_WAKE_ACTIVE 1
@@ -281,6 +344,15 @@ int32_t GPS::runOnce()
if (whileIdle()) {
// if we have received valid NMEA claim we are connected
setConnected();
} else {
#ifdef GPS_UBLOX
// reset the GPS on next bootup
if(devicestate.did_gps_reset && (millis() > 60000) && !hasFlow()) {
DEBUG_MSG("GPS is not communicating, trying factory reset on next bootup.\n");
devicestate.did_gps_reset = false;
nodeDB.saveToDisk();
}
#endif
}
// If we are overdue for an update, turn on the GPS and at least publish the current status

View File

@@ -57,6 +57,9 @@ class GPS : private concurrency::OSThread
/// Returns true if we have acquired GPS lock.
virtual bool hasLock();
/// Returns true if there's valid data flow with the chip.
virtual bool hasFlow();
/// Return true if we are connected to a GPS
bool isConnected() const { return hasGPS; }
@@ -137,6 +140,8 @@ class GPS : private concurrency::OSThread
GpsOperation getGpsOp() const;
bool getACK(uint8_t c, uint8_t i);
/**
* Tell users we have new GPS readings
*/

View File

@@ -17,6 +17,19 @@ static int32_t toDegInt(RawDegrees d)
return r;
}
bool NMEAGPS::factoryReset()
{
#ifdef GPS_UBLOX
// Factory Reset
byte _message_reset[] = {0xB5, 0x62, 0x06, 0x09, 0x0D, 0x00, 0xFF,
0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x00, 0x00, 0x17, 0x2B, 0x7E};
_serial_gps->write(_message_reset,sizeof(_message_reset));
delay(1000);
#endif
return true;
}
bool NMEAGPS::setupGPS()
{
GPS::setupGPS();
@@ -222,6 +235,10 @@ bool NMEAGPS::hasLock()
return false;
}
bool NMEAGPS::hasFlow()
{
return reader.passedChecksum() > 0;
}
bool NMEAGPS::whileIdle()
{

View File

@@ -25,6 +25,8 @@ class NMEAGPS : public GPS
public:
virtual bool setupGPS() override;
virtual bool factoryReset() override;
protected:
/** Subclasses should look for serial rx characters here and feed it to their GPS parser
*
@@ -49,4 +51,6 @@ class NMEAGPS : public GPS
virtual bool lookForLocation() override;
virtual bool hasLock() override;
virtual bool hasFlow() override;
};

View File

@@ -226,10 +226,6 @@ class ButtonThread : public OSThread
#ifdef BUTTON_PIN_TOUCH
userButtonTouch = OneButton(BUTTON_PIN_TOUCH, true, true);
#ifdef INPUT_PULLUP_SENSE
// Some platforms (nrf52) have a SENSE variant which allows wake from sleep - override what OneButton did
pinMode(BUTTON_PIN_TOUCH, INPUT_PULLUP_SENSE);
#endif
userButtonTouch.attachClick(touchPressed);
userButtonTouch.attachDuringLongPress(touchPressedLong);
userButtonTouch.attachDoubleClick(touchDoublePressed);
@@ -571,6 +567,7 @@ void setup()
// ONCE we will factory reset the GPS for bug #327
if (gps && !devicestate.did_gps_reset) {
DEBUG_MSG("GPS FactoryReset requested\n");
if (gps->factoryReset()) { // If we don't succeed try again next time
devicestate.did_gps_reset = true;
nodeDB.saveToDisk();

View File

@@ -34,6 +34,7 @@ typedef enum _HardwareModel {
HardwareModel_DIY_V1 = 39,
HardwareModel_RAK11200 = 40,
HardwareModel_NANO_G1 = 41,
HardwareModel_DR_DEV = 43,
HardwareModel_PRIVATE_HW = 255
} HardwareModel;

View File

@@ -5,7 +5,7 @@ board = wiscore_rak4631
# add our variants files to the include and src paths
# define build flags for the TFT_eSPI library
build_flags = ${nrf52840_base.build_flags} -Ivariants/WisCore_RAK4631_Board -D RAK_BASE_5005
src_filter = ${nrf52_base.src_filter} +<../variants/WisCore_RAK4631_Board>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/WisCore_RAK4631_Board>
debug_tool = jlink
[env:rak4631_19003]
@@ -14,7 +14,7 @@ board = wiscore_rak4631
# add our variants files to the include and src paths
# define build flags for the TFT_eSPI library
build_flags = ${nrf52840_base.build_flags} -Ivariants/WisCore_RAK4631_Board -D RAK_BASE_19003
src_filter = ${nrf52_base.src_filter} +<../variants/WisCore_RAK4631_Board>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/WisCore_RAK4631_Board>
debug_tool = jlink
; If not set we will default to uploading over serial (first it forces bootloader entry by talking 1200bps to cdcacm)
;upload_protocol = jlink

View File

@@ -0,0 +1,68 @@
// For OLED LCD
#define I2C_SDA 21
#define I2C_SCL 22
// GPS
#undef GPS_RX_PIN
#define GPS_RX_PIN NOT_A_PIN
#define BUTTON_PIN 2 // The middle button GPIO on the T-Beam
#define BUTTON_NEED_PULLUP
#define EXT_NOTIFY_OUT 12 // Overridden default pin to use for Ext Notify Module (#975).
#define LORA_DIO0 -1 // a No connect on the SX1262/SX1268 module
#define LORA_RESET -1 // RST for SX1276, and for SX1262/SX1268
#define LORA_DIO1 27 // IRQ for SX1262/SX1268 (IO26 FOR 22S)
#define LORA_DIO2 NOT_A_PIN // BUSY for SX1262/SX1268
#define LORA_DIO3 // Not connected on PCB, but internally on the TTGO SX1262/SX1268, if DIO3 is high the TXCO is enabled
// In transmitting, set TXEN as high communication levelRXEN pin is low level;
// In receiving, set RXEN as high communication level, TXEN is lowlevel;
// Before powering off, set TXEN、RXEN as low level.
#define LORA_RXEN 17 // Input - RF switch RX control, connecting external MCU IO, valid in high level
#define LORA_TXEN -1 // Input - RF switch TX control, connecting external MCU IO or DIO2, valid in high level
/* --PINS FOR THE 900M22S
#undef RF95_SCK
#define RF95_SCK 18
#undef RF95_MISO
#define RF95_MISO 19
#undef RF95_MOSI
#define RF95_MOSI 23
#undef RF95_NSS
#define RF95_NSS 16
*/
// PINS FOR THE 900M30S
#undef RF95_SCK
#define RF95_SCK 18
#undef RF95_MISO
#define RF95_MISO 19
#undef RF95_MOSI
#define RF95_MOSI 23
#undef RF95_NSS
#define RF95_NSS 33
// RX/TX for RFM95/SX127x
#define RF95_RXEN LORA_RXEN
#define RF95_TXEN LORA_TXEN
// #define RF95_TCXO <GPIO#>
// common pinouts for SX126X modules
#define SX126X_CS 33
#define SX126X_DIO1 LORA_DIO1
#define SX126X_BUSY 35
#define SX126X_RESET LORA_RESET
#define SX126X_RXEN LORA_RXEN
#define SX126X_TXEN LORA_TXEN
// supported modules list
#define USE_RF95 // RFM95/SX127x
#define USE_SX1262
#define USE_SX1268
#define USE_LLCC68
#ifdef EBYTE_E22
// Internally the TTGO module hooks the SX126x-DIO2 in to control the TX/RX switch
// (which is the default for the sx1262interface code)
#define SX126X_E22
#endif

View File

@@ -16,4 +16,16 @@ build_flags =
${esp32_base.build_flags}
-D DIY_V1
-D EBYTE_E22
-I variants/diy/v1_1
-I variants/diy/v1_1
; Port to Disaster Radio's ESP32-v3 Dev Board
[env:meshtastic-dr-dev]
extends = esp32_base
board = esp32doit-devkit-v1
board_upload.maximum_size = 4194304
board_upload.maximum_ram_size = 532480
build_flags =
${esp32_base.build_flags}
-D DR_DEV
-D EBYTE_E22
-I variants/diy/dr-dev

View File

@@ -6,7 +6,7 @@ board = lora_isp4520
build_flags = ${nrf52_base.build_flags} -Ivariants/lora_isp4520
# No screen and GPS on the board. We still need RTC.cpp for the RTC clock.
src_filter = ${nrf52_base.src_filter} +<../variants/lora_isp4520> -<graphics> -<gps> +<gps/GPS.cpp> +<gps/RTC.cpp>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/lora_isp4520> -<graphics> -<gps> +<gps/GPS.cpp> +<gps/RTC.cpp>
lib_ignore = ${nrf52_base.lib_ignore}
ESP8266_SSD1306
SparkFun Ublox Arduino Library

View File

@@ -14,7 +14,7 @@ build_flags = ${nrf52840_base.build_flags} -Ivariants/lora_relay_v1
-DTFT_DC=ST7735_RS
-DTFT_RST=ST7735_RESET
-DSPI_FREQUENCY=27000000
src_filter = ${nrf52_base.src_filter} +<../variants/lora_relay_v1>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/lora_relay_v1>
lib_deps =
${nrf52840_base.lib_deps}
SparkFun BQ27441 LiPo Fuel Gauge Arduino Library

View File

@@ -16,7 +16,7 @@ build_flags = ${nrf52840_base.build_flags} -Ivariants/lora_relay_v2
-DSPI_FREQUENCY=27000000
-DTFT_WR=ST7735_SDA
-DTFT_SCLK=ST7735_SCK
src_filter = ${nrf52_base.src_filter} +<../variants/lora_relay_v2>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/lora_relay_v2>
lib_deps =
${nrf52840_base.lib_deps}
SparkFun BQ27441 LiPo Fuel Gauge Arduino Library

View File

@@ -4,4 +4,4 @@ extends = nrf52840_base
board = nrf52840_dk_modified
# add our variants files to the include and src paths
build_flags = ${nrf52_base.build_flags} -Ivariants/pca10056-rc-clock
src_filter = ${nrf52_base.src_filter} +<../variants/pca10056-rc-clock>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/pca10056-rc-clock>

View File

@@ -1,8 +1,8 @@
; The Portduino based sim environment on top of any host OS, all hardware will be simulated
[env:native]
platform = https://github.com/geeksville/platform-native.git
src_filter =
${env.src_filter}
build_src_filter =
${env.build_src_filter}
-<esp32/>
-<nimble/>
-<nrf52/>
@@ -20,8 +20,8 @@ lib_deps =
; The Portduino based sim environment on top of a linux OS and touching linux hardware devices
[env:linux]
platform = https://github.com/geeksville/platform-native.git
src_filter =
${env.src_filter}
build_src_filter =
${env.build_src_filter}
-<esp32/>
-<nimble/>
-<nrf52/>

View File

@@ -3,6 +3,6 @@
extends = nrf52_base
board = ppr1
build_flags = ${nrf52_base.build_flags} -Ivariants/ppr1
src_filter = ${nrf52_base.src_filter} +<../variants/ppr1>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/ppr1>
lib_deps =
${arduino_base.lib_deps}

View File

@@ -9,7 +9,7 @@ upload_protocol = jlink
# -DBUSY_PIN=3 -DRST_PIN=2 -DDC_PIN=28 -DCS_PIN=30
# add -DCFG_SYSVIEW if you want to use the Segger systemview tool for OS profiling.
build_flags = ${nrf52840_base.build_flags} -Ivariants/t-echo
src_filter = ${nrf52_base.src_filter} +<../variants/t-echo>
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/t-echo>
lib_deps =
${nrf52840_base.lib_deps}
https://github.com/geeksville/GxEPD2.git

View File

@@ -1,4 +1,4 @@
[VERSION]
major = 1
minor = 2
build = 64
build = 65