Files
HaloKeymind/variants/thinknode_m3/variant.cpp
T
mikecarper 9bec10b41a Merge IoTThinks PowerSaving v16 updates
# Conflicts:
#	examples/companion_radio/MyMesh.cpp
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_repeater/UITask.cpp
#	examples/simple_repeater/UITask.h
#	examples/simple_room_server/MyMesh.cpp
#	examples/simple_room_server/MyMesh.h
#	examples/simple_sensor/SensorMesh.cpp
#	examples/simple_sensor/SensorMesh.h
#	src/Dispatcher.cpp
#	src/Dispatcher.h
#	src/helpers/CommonCLI.cpp
#	src/helpers/CommonCLI.h
#	src/helpers/radiolib/CustomLR1110.h
#	src/helpers/radiolib/CustomLR1110Wrapper.h
#	src/helpers/radiolib/CustomSX1262.h
#	src/helpers/radiolib/CustomSX1262Wrapper.h
#	src/helpers/radiolib/RadioLibWrappers.cpp
#	src/helpers/radiolib/RadioLibWrappers.h
#	variants/rak4631/platformio.ini
#	variants/thinknode_m3/variant.cpp
#	variants/thinknode_m3/variant.h
#	variants/thinknode_m6/variant.cpp
#	variants/thinknode_m6/variant.h
2026-08-03 15:09:52 -07:00

102 lines
2.0 KiB
C++

/*
* variant.cpp
* Copyright (C) 2023 Seeed K.K.
* MIT License
*/
#include "variant.h"
#include "wiring_constants.h"
#include "wiring_digital.h"
const uint32_t g_ADigitalPinMap[] =
{
0, // P0.00
1, // P0.01
2, // P0.02
3, // P0.03
4, // P0.04
5, // P0.05
6, // P0.06
7, // P0.07
8, // P0.08
9, // P0.09
10, // P0.10
11, // P0.11
12, // P0.12
13, // P0.13
14, // P0.14
15, // P0.15
16, // P0.16
17, // P0.17
18, // P0.18
19, // P0.19
20, // P0.20
21, // P0.21
22, // P0.22
23, // P0.23
24, // P0.24
25, // P0.25
26, // P0.26
27, // P0.27
28, // P0.28
29, // P0.29
30, // P0.30
31, // P0.31
32, // P1.00
33, // P1.01
34, // P1.02
35, // P1.03
36, // P1.04
37, // P1.05
38, // P1.06
39, // P1.07
40, // P1.08
41, // P1.09
42, // P1.10
43, // P1.11
44, // P1.12
45, // P1.13
46, // P1.14
47, // P1.15
};
void initVariant()
{
/* TODO */
pinMode(PIN_PWR_EN, OUTPUT);
digitalWrite(PIN_PWR_EN, HIGH);
pinMode(BAT_POWER, OUTPUT);
digitalWrite(BAT_POWER, HIGH);
pinMode(EEPROM_POWER, OUTPUT);
digitalWrite(EEPROM_POWER, HIGH);
pinMode(36, OUTPUT);
digitalWrite(36, HIGH);
pinMode(34, OUTPUT);
digitalWrite(34, HIGH);
pinMode(LED_POWER, OUTPUT);
digitalWrite(LED_POWER, HIGH);
pinMode(PIN_LED_BLUE, OUTPUT);
digitalWrite(PIN_LED_BLUE, !LED_STATE_ON);
pinMode(PIN_LED_GREEN, OUTPUT);
digitalWrite(PIN_LED_GREEN, !LED_STATE_ON);
pinMode(PIN_LED_RED, OUTPUT);
digitalWrite(PIN_LED_RED, !LED_STATE_ON);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(PIN_GPS_POWER, OUTPUT);
pinMode(PIN_GPS_EN, OUTPUT);
// PIN_GPS_RESET (pin 25 / REINIT) is intentionally left floating (input).
// Driving it HIGH holds the L76K silent, so it never streams NMEA and the
// firmware reports "no GPS". Letting it float lets the module run.
// See GPS_RESET (-1) in variant.h.
// Power on gps but in standby
digitalWrite(PIN_GPS_EN, !GPS_EN_ACTIVE);
digitalWrite(PIN_GPS_POWER, GPS_POWER_ACTIVE);
}