-
Notifications
You must be signed in to change notification settings - Fork 967
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[BOARD] Add new variant: TWC_Mesh (#3705)
* add new variant: TWC_mesh_v4 * fix trunk format * fix format under wsl * change board to TWC_mesh_v4 * change platformio & variant.h properly --------- Co-authored-by: Ben Meadors <[email protected]>
- Loading branch information
1 parent
27f0e42
commit 9c9d126
Showing
4 changed files
with
184 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
[env:TWC_mesh_v4] | ||
extends = nrf52840_base | ||
board = TWC_mesh_v4 | ||
board_level = extra | ||
build_flags = ${nrf52840_base.build_flags} -I variants/TWC_mesh_v4 -D TWC_mesh_v4 -L".pio\libdeps\TWC_mesh_v4\BSEC2 Software Library\src\cortex-m4\fpv4-sp-d16-hard" | ||
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/TWC_mesh_v4> | ||
lib_deps = | ||
${nrf52840_base.lib_deps} | ||
zinggjm/GxEPD2@^1.4.9 | ||
debug_tool = jlink |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/* | ||
Copyright (c) 2014-2015 Arduino LLC. All right reserved. | ||
Copyright (c) 2016 Sandeep Mistry All right reserved. | ||
Copyright (c) 2018, Adafruit Industries (adafruit.com) | ||
This library is free software; you can redistribute it and/or | ||
modify it under the terms of the GNU Lesser General Public | ||
License as published by the Free Software Foundation; either | ||
version 2.1 of the License, or (at your option) any later version. | ||
This library is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
See the GNU Lesser General Public License for more details. | ||
You should have received a copy of the GNU Lesser General Public | ||
License along with this library; if not, write to the Free Software | ||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
*/ | ||
|
||
#include "variant.h" | ||
#include "nrf.h" | ||
#include "wiring_constants.h" | ||
#include "wiring_digital.h" | ||
|
||
const uint32_t g_ADigitalPinMap[] = { | ||
// P0 | ||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, | ||
|
||
// P1 | ||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47}; | ||
|
||
void initVariant() | ||
{ | ||
// LED1 & LED2 | ||
pinMode(PIN_LED1, OUTPUT); | ||
ledOff(PIN_LED1); | ||
|
||
pinMode(PIN_LED2, OUTPUT); | ||
ledOff(PIN_LED2); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
#ifndef _VARIANT_TWC_MESH_V4_ | ||
#define _VARIANT_TWC_MESH_V4_ | ||
|
||
#define PCA10059 | ||
|
||
/** Master clock frequency */ | ||
#define VARIANT_MCK (64000000ul) | ||
|
||
#define USE_LFXO // Board uses 32khz crystal for LF | ||
// define USE_LFRC // Board uses RC for LF | ||
|
||
/*---------------------------------------------------------------------------- | ||
* Headers | ||
*----------------------------------------------------------------------------*/ | ||
|
||
#include "WVariant.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif // __cplusplus | ||
|
||
// Number of pins defined in PinDescription array | ||
#define PINS_COUNT (48) | ||
#define NUM_DIGITAL_PINS (48) | ||
#define NUM_ANALOG_INPUTS (6) | ||
#define NUM_ANALOG_OUTPUTS (0) | ||
|
||
// LEDs | ||
#define PIN_LED1 (32 + 10) // Blue LED P1.10 | ||
#define PIN_LED2 (32 + 15) // Built in Green P1.15 | ||
|
||
// RGB NeoPixel LED2 | ||
// #define PIN_LED1 (0 + 8) Red | ||
// #define PIN_LED1 (32 + 9) Green | ||
// #define PIN_LED1 (0 + 12) Blue | ||
|
||
#define LED_BUILTIN PIN_LED1 | ||
#define LED_CONN PIN_LED2 | ||
|
||
#define LED_GREEN PIN_LED1 | ||
#define LED_BLUE PIN_LED2 | ||
|
||
#define LED_STATE_ON 0 // State when LED is litted | ||
|
||
/* | ||
* Buttons | ||
*/ | ||
#define PIN_BUTTON1 (32 + 2) // BTN_DN P1.02 Built in button | ||
|
||
/* | ||
* Analog pins | ||
*/ | ||
#define PIN_A0 (0 + 29) // using VDIV (A6 / P0.29) | ||
|
||
static const uint8_t A0 = PIN_A0; | ||
#define ADC_RESOLUTION 14 | ||
|
||
// Other pins | ||
#define PIN_AREF (-1) // AREF Not yet used | ||
|
||
static const uint8_t AREF = PIN_AREF; | ||
|
||
/* | ||
* Serial interfaces | ||
*/ | ||
#define PIN_SERIAL1_RX (0 + 24) | ||
#define PIN_SERIAL1_TX (0 + 25) | ||
|
||
// Connected to Jlink CDC | ||
#define PIN_SERIAL2_RX (-1) | ||
#define PIN_SERIAL2_TX (-1) | ||
|
||
/* | ||
* SPI Interfaces | ||
*/ | ||
#define SPI_INTERFACES_COUNT 1 | ||
|
||
#define PIN_SPI_MISO (0 + 15) // MISO P0.15 | ||
#define PIN_SPI_MOSI (0 + 13) // MOSI P0.13 | ||
#define PIN_SPI_SCK (0 + 14) // SCK P0.14 | ||
|
||
static const uint8_t SS = (0 + 6); // LORA_CS P0.6 | ||
static const uint8_t MOSI = PIN_SPI_MOSI; | ||
static const uint8_t MISO = PIN_SPI_MISO; | ||
static const uint8_t SCK = PIN_SPI_SCK; | ||
|
||
////#define USE_EINK | ||
#define USE_SSD1306 | ||
|
||
/* | ||
* Wire Interfaces | ||
*/ | ||
#define WIRE_INTERFACES_COUNT 1 | ||
|
||
#define PIN_WIRE_SDA (0 + 12) // SDA P0.12 | ||
#define PIN_WIRE_SCL (0 + 11) // SCL P0.11 | ||
|
||
// NiceRF 868 LoRa module | ||
#define USE_SX1262 | ||
#define USE_LLCC68 | ||
|
||
#define SX126X_CS (0 + 6) // LORA_CS P0.06 | ||
#define SX126X_DIO1 (0 + 7) // DIO1 P0.07 | ||
#define SX126X_BUSY (0 + 26) // LORA_BUSY P0.26 | ||
#define SX126X_RESET (0 + 27) // LORA_RESET P0.27 | ||
#define SX126X_DIO3_TCXO_VOLTAGE 1.8 | ||
|
||
#define PIN_GPS_EN (-1) | ||
#define PIN_GPS_PPS (-1) // Pulse per second input from the GPS | ||
|
||
#define GPS_RX_PIN PIN_SERIAL1_RX | ||
#define GPS_TX_PIN PIN_SERIAL1_TX | ||
|
||
// Battery | ||
// The battery sense is hooked to pin A6 (0.29) | ||
#define BATTERY_PIN PIN_A0 | ||
// and has 12 bit resolution | ||
#define BATTERY_SENSE_RESOLUTION_BITS 12 | ||
#define BATTERY_SENSE_RESOLUTION 4096.0 | ||
#undef AREF_VOLTAGE | ||
#define AREF_VOLTAGE 3.0 | ||
#define VBAT_AR_INTERNAL AR_INTERNAL_3_0 | ||
#define ADC_MULTIPLIER (2.0F) | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
/*---------------------------------------------------------------------------- | ||
* Arduino objects - C++ only | ||
*----------------------------------------------------------------------------*/ | ||
|
||
#endif |