mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-04 18:25:49 +00:00
93 lines
2.6 KiB
C++
93 lines
2.6 KiB
C++
/*
|
|
* variant.cpp - Seeed Wio WM1110 Dev Board
|
|
* Pin mapping for nRF52840
|
|
*/
|
|
|
|
#include "variant.h"
|
|
#include "wiring_constants.h"
|
|
#include "wiring_digital.h"
|
|
|
|
const uint32_t g_ADigitalPinMap[PINS_COUNT + 1] =
|
|
{
|
|
0, // P0.00
|
|
1, // P0.01
|
|
2, // P0.02, AIN0, SENSOR_AIN_0
|
|
3, // P0.03, AIN1, SENSOR_AIN_1
|
|
4, // P0.04, AIN2, SENSOR_AIN_2
|
|
5, // P0.05, AIN3, SENSOR_AIN_3
|
|
6, // P0.06, PIN_SERIAL2_RX, SENSOR_RXD
|
|
7, // P0.07, SENSOR_POWER_PIN
|
|
8, // P0.08, PIN_SERIAL2_TX, SENSOR_TXD
|
|
9, // P0.09
|
|
10, // P0.10
|
|
11, // P0.11, LIS3DH_INT_PIN_1, SENSOR_INT_1
|
|
12, // P0.12, LIS3DH_INT_PIN_2, SENSOR_INT_2
|
|
13, // P0.13, LED_GREEN, USER_LED_G
|
|
14, // P0.14, LED_RED, USER_LED_R
|
|
15, // P0.15
|
|
16, // P0.16
|
|
17, // P0.17
|
|
18, // P0.18
|
|
19, // P0.19
|
|
20, // P0.20
|
|
21, // P0.21
|
|
22, // P0.22, PIN_SERIAL1_RX, DEBUG_RX_PIN
|
|
23, // P0.23
|
|
24, // P0.24, PIN_SERIAL1_TX, DEBUG_TX_PIN
|
|
25, // P0.25
|
|
26, // P0.26, PIN_WIRE_SCL, SENSOR_SCL
|
|
27, // P0.27, PIN_WIRE_SDA, SENSOR_SDA
|
|
28, // P0.28, AIN4, SENSOR_AIN_4
|
|
29, // P0.29, AIN5, SENSOR_AIN_5
|
|
30, // P0.30, AIN6, SENSOR_AIN_6
|
|
31, // P0.31, AIN7, SENSOR_AIN_7, BATTERY_PIN
|
|
32, // P1.00
|
|
33, // P1.01
|
|
34, // P1.02
|
|
35, // P1.03
|
|
36, // P1.04
|
|
37, // P1.05, LR1110_GNSS_ANT_PIN
|
|
38, // P1.06
|
|
39, // P1.07
|
|
40, // P1.08, LORA_DIO_1, LR1110_IRQ_PIN
|
|
41, // P1.09
|
|
42, // P1.10, LORA_RESET, LR1110_NRESET_PIN
|
|
43, // P1.11, LORA_BUSY, LR1110_BUSY_PIN
|
|
44, // P1.12, PIN_SPI_NSS, LR1110_SPI_NSS_PIN
|
|
45, // P1.13, PIN_SPI_SCK, LR1110_SPI_SCK_PIN
|
|
46, // P1.14, PIN_SPI_MOSI, LR1110_SPI_MOSI_PIN
|
|
47, // P1.15, PIN_SPI_MISO, LR1110_SPI_MISO_PIN
|
|
255, // NRFX_SPIM_PIN_NOT_USED
|
|
};
|
|
|
|
void initVariant()
|
|
{
|
|
// All pins output HIGH by default.
|
|
// https://github.com/Seeed-Studio/Adafruit_nRF52_Arduino/blob/fab7d30a997a1dfeef9d1d59bfb549adda73815a/cores/nRF5/wiring.c#L65-L69
|
|
|
|
// Set analog input pins
|
|
pinMode(BATTERY_PIN, INPUT);
|
|
pinMode(SENSOR_AIN_0, INPUT);
|
|
pinMode(SENSOR_AIN_1, INPUT);
|
|
pinMode(SENSOR_AIN_2, INPUT);
|
|
pinMode(SENSOR_AIN_3, INPUT);
|
|
pinMode(SENSOR_AIN_4, INPUT);
|
|
pinMode(SENSOR_AIN_5, INPUT);
|
|
pinMode(SENSOR_AIN_6, INPUT);
|
|
|
|
// Sensor interrupts as inputs
|
|
pinMode(LIS3DH_INT_PIN_1, INPUT);
|
|
pinMode(LIS3DH_INT_PIN_2, INPUT);
|
|
|
|
// Set output pins
|
|
pinMode(LED_GREEN, OUTPUT);
|
|
pinMode(LED_RED, OUTPUT);
|
|
pinMode(SENSOR_POWER_PIN, OUTPUT);
|
|
|
|
// Initialize outputs to safe states
|
|
digitalWrite(LED_GREEN, HIGH); // Power indicator LED on
|
|
digitalWrite(LED_RED, LOW);
|
|
digitalWrite(SENSOR_POWER_PIN, LOW); // Sensors powered off initially
|
|
}
|
|
|