Skip to content

Commit 73729f5

Browse files
authored
Merge branch 'mysensors:development' into Diagnostics
2 parents 13a0d69 + 43d4a14 commit 73729f5

File tree

30 files changed

+3252
-99
lines changed

30 files changed

+3252
-99
lines changed

.ci/pipeline.groovy

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,28 @@ def call(Closure body) {
3737
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (Arduino Mega - Tests)', 'Not run yet...', '')
3838
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (MySensorsMicro - Examples)', 'Not run yet...', '')
3939
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (MySensorsGW - Examples)', 'Not run yet...', '')
40-
/*
40+
41+
/*
4142
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (nRF52832 - Examples)', 'Not run yet...', '')
4243
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (nRF51822 - Examples)', 'Not run yet...', '')
43-
*/
44+
*/
45+
4446
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (nRF5 - Examples)', 'Not run yet...', '')
47+
48+
/*
4549
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (ESP8266 - Examples)', 'Not run yet...', '')
46-
/*
50+
*/
51+
52+
/*
4753
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (ESP32 - Examples)', 'Not run yet...', '')
4854
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (STM32F1 - Examples)', 'Not run yet...', '')
49-
*/
55+
*/
56+
5057
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (Arduino Uno - Examples)', 'Not run yet...', '')
58+
59+
/*
5160
config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (Arduino Mega - Examples)', 'Not run yet...', '')
61+
*/
5262
} else {
5363
config.is_pull_request = false
5464
echo "Building branch: "+env.BRANCH_NAME

MyASM.S

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
doNothing:
2525
nop
2626
.size doNothing, .-doNothing
27-
27+
2828
#elif defined(ARDUINO_ARCH_NRF5)
2929
/* workaround to prevent compiler error */
3030
.thumb_func
3131
doNothing:
3232
nop
3333
.size doNothing, .-doNothing
34-
35-
#elif defined(ARDUINO_ARCH_AVR)
34+
35+
#elif defined(ARDUINO_ARCH_AVR) || defined(ARDUINO_ARCH_MEGAAVR)
3636

3737
#include "hal/crypto/AVR/drivers/SHA256/SHA256.S"
3838

MyConfig.h

Lines changed: 257 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@
479479
*
480480
* In some countries there might be limitations, in Germany for example only the range
481481
* 2400,0 - 2483,5 Mhz is allowed.
482-
* @see http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2013_10_WLAN_2,4GHz_pdf.pdf
482+
* @see https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/MobilfunkDectWlanCBFunk/2013_10_WLAN_2,4GHz_pdf.pdf
483483
*/
484484
#ifndef MY_RF24_CHANNEL
485485
#define MY_RF24_CHANNEL (76)
@@ -608,7 +608,7 @@
608608
* - NRF5_BLE_1MBPS for 1Mbps BLE modulation
609609
*/
610610
#ifndef MY_NRF5_ESB_MODE
611-
#ifdef NRF5_250KBPS
611+
#ifdef RADIO_MODE_MODE_Nrf_250Kbit
612612
#define MY_NRF5_ESB_MODE (NRF5_250KBPS)
613613
#else
614614
#define MY_NRF5_ESB_MODE (NRF5_1MBPS)
@@ -1034,6 +1034,232 @@
10341034
//#define MY_RFM95_TCXO
10351035
/** @}*/ // End of RFM95SettingGrpPub group
10361036

1037+
/**
1038+
* @defgroup SX126xSettingGrpPub SX126x
1039+
* @ingroup TransportSettingGrpPub
1040+
* @brief These options are specific to the %SX126x family of wireless transport modules.
1041+
*
1042+
* The following chips are supported by this driver:
1043+
* - Semtech sx1261
1044+
* - Semtech sx1262
1045+
* @{
1046+
*/
1047+
1048+
/**
1049+
* @def MY_RADIO_SX126x
1050+
* @brief Define this to use SX126x based radios for sensor network communication.
1051+
*/
1052+
//#define MY_RADIO_SX126x
1053+
1054+
/**
1055+
* @def MY_SX126x_CS_PIN
1056+
* @brief sx126x SPI chip select pin.
1057+
*/
1058+
#ifndef MY_SX126x_CS_PIN
1059+
#define MY_SX126x_CS_PIN DEFAULT_SX126x_CS_PIN
1060+
#endif
1061+
1062+
/**
1063+
* @def MY_SX126x_IRQ_PIN
1064+
* @brief xs126x IRQ pin (DIO1)
1065+
*/
1066+
#ifndef MY_SX126x_IRQ_PIN
1067+
#define MY_SX126x_IRQ_PIN DEFAULT_SX126x_IRQ_PIN
1068+
#endif
1069+
1070+
/**
1071+
* @def MY_SX126x_FREQUENCY
1072+
* @brief The frequency to use.
1073+
*
1074+
* - SX126x_169MHZ
1075+
* - SX126x_315MHZ
1076+
* - SX126x_434MHZ
1077+
* - SX126x_868MHZ
1078+
* - SX126x_915MHZ
1079+
* - Custom frequency in Hz
1080+
*
1081+
* This must match the hardware version of the SX126x radio.
1082+
* Additional information: https://en.wikipedia.org/wiki/Short_Range_Devices
1083+
*/
1084+
#ifndef MY_SX126x_FREQUENCY
1085+
#define MY_SX126x_FREQUENCY (SX126x_868MHZ)
1086+
#endif
1087+
1088+
/**
1089+
* @def MY_SX126x_LORA_SF
1090+
* @brief The LoRa spreading factor to use
1091+
*
1092+
* can be LORA_SF5, LORA_SF6, LORA_SF7, LORA_SF8, LORA_SF9, LORA_SF10,
1093+
* LORA_SF11 or LORA_SF12
1094+
*
1095+
* default is LORA_SF7
1096+
*/
1097+
#ifndef MY_SX126x_LORA_SF
1098+
#define MY_SX126x_LORA_SF LORA_SF7
1099+
#endif
1100+
1101+
/**
1102+
* @def MY_SX126x_LORA_BW
1103+
* @brief The LoRa bandwidth to use
1104+
*
1105+
* possible values
1106+
* | value | Bandwith |
1107+
* |-------------|-----------|
1108+
* | LORA_BW_500 | 500 kHz |
1109+
* | LORA_BW_250 | 250 kHz |
1110+
* | LORA_BW_125 | 125 kHz |
1111+
* | LORA_BW_062 | 62.5 kHz |
1112+
* | LORA_BW_041 | 41.67 kHz |
1113+
* | LORA_BW_031 | 31.25 kHz |
1114+
* | LORA_BW_020 | 20.83 kHz |
1115+
* | LORA_BW_015 | 15.63 kHz |
1116+
* | LORA_BW_010 | 10.45 kHz |
1117+
* | LORA_BW_007 | 7.81 kHz |
1118+
*
1119+
* default is LORA_BW_125
1120+
*/
1121+
#ifndef MY_SX126x_LORA_BW
1122+
#define MY_SX126x_LORA_BW LORA_BW_125
1123+
#endif
1124+
1125+
/**
1126+
* @def MY_SX126x_LORA_CR
1127+
* @brief The LoRa coding rate to use
1128+
*
1129+
* Possible values are
1130+
* | value | Coding rate |
1131+
* |-------------|-------------|
1132+
* | LORA_CR_4_5 | 4/5 |
1133+
* | LORA_CR_4_6 | 4/6 |
1134+
* | LORA_CR_4_7 | 4/7 |
1135+
* | LORA_CR_4_8 | 4/8 |
1136+
*
1137+
* Default is LORA_CR_4_5
1138+
*/
1139+
#ifndef MY_SX126x_LORA_CR
1140+
#define MY_SX126x_LORA_CR LORA_CR_4_5
1141+
#endif
1142+
1143+
/**
1144+
* @def MY_SX126x_TCXO_VOLTAGE
1145+
* @brief TCXO output voltage for internal TCXO control
1146+
*
1147+
* If set, DIO3 will be used to provide power to the TCXO when needed
1148+
*
1149+
* SX126x_TCXO_1V6 1.6V TCXO voltage
1150+
* SX126x_TCXO_1V7 1.7V TCXO voltage
1151+
* SX126x_TCXO_1V8 1.8V TCXO voltage
1152+
* SX126x_TCXO_2V2 2.2V TCXO voltage
1153+
* SX126x_TCXO_2V4 2.4V TCXO voltage
1154+
* SX126x_TCXO_2V7 2.7V TCXO voltage
1155+
* SX126x_TCXO_3V0 3.0V TCXO voltage
1156+
* SX126x_TCXO_3V3 3.3V TCXO voltage
1157+
*
1158+
* However, the TCXO output voltage is at most 200mV below the supply voltage.
1159+
**/
1160+
//#define MY_SX126x_TCXO_VOLTAGE (SX126x_TCXO_3V3)
1161+
1162+
1163+
/**
1164+
* @def MY_SX126c_TCXO_STARTUP_DELAY
1165+
* @brief Time in ms it takes the TXCO to start up and stabilize
1166+
*
1167+
* Will be set to 10ms if @ref MY_SX126x_TCXO_VOLTAGE is set but @ref MY_SX126c_TCXO_STARTUP_DELAY
1168+
* is not set.
1169+
**/
1170+
#if !defined(MY_SX126c_TCXO_STARTUP_DELAY) && defined(MY_SX126x_TCXO_VOLTAGE)
1171+
#define MY_SX126c_TCXO_STARTUP_DELAY (10)
1172+
#endif
1173+
1174+
/**
1175+
* @def MY_SX126x_USE_TCXO
1176+
* @brief The board has a TCXO for SX126x frequency generation
1177+
*
1178+
* This will be forced if @ref MY_SX126x_TCXO_VOLTAGE or @ref MY_SX126c_TCXO_STARTUP_DELAY are set
1179+
**/
1180+
#if !defined(MY_SX126x_USE_TCXO) && defined(MY_SX126x_TCXO_VOLTAGE)
1181+
#define MY_SX126x_USE_TCXO
1182+
#endif
1183+
1184+
/**
1185+
* @def MY_SX126x_USE_DIO2_ANT_SWITCH
1186+
* @brief Use DIO2 as antenna switch output.
1187+
*/
1188+
//#define MY_SX126x_USE_DIO2_ANT_SWITCH
1189+
1190+
/**
1191+
* @def MY_SX126x_ANT_SWITCH_PIN
1192+
* @brief Pin to switch antenna circuit between RX and TX mode
1193+
*
1194+
* Not needed if DIO2 is connected to the antenna switch circuit. Then you have to set
1195+
* @ref MY_SX126x_USE_DIO2_ANT_SWITCH
1196+
*/
1197+
//#define MY_SX126x_ANT_SWITCH_PIN (GPIO3)
1198+
1199+
/**
1200+
* @def MY_SX126x_VARIANT
1201+
* @brief details if it's a sx1261 or sx1262
1202+
*
1203+
* - 1: sx1261
1204+
* - 2: sx1262
1205+
* If not set, sx1262 is selected
1206+
*/
1207+
#if !defined(MY_SX126x_VARIANT)
1208+
#define MY_SX126x_VARIANT (1)
1209+
#endif
1210+
1211+
/**
1212+
* @def MY_SX126x_POWER_PIN
1213+
* @brief Define this to use the SX126x power pin (optional).
1214+
*/
1215+
//#define MY_SX126x_POWER_PIN (3)
1216+
1217+
/**
1218+
* @def MY_SX126x_RESET_PIN
1219+
* @brief Define this to use the SX126x reset pin (optional).
1220+
*/
1221+
//#define MY_SX126x_RESET_PIN (47)
1222+
1223+
/**
1224+
* @def MY_SX126x_BUSY_PIN
1225+
* @brief Defines this to use the SX126x busy pin (optional).
1226+
*/
1227+
//#define MY_SX126x_BUSY_PIN (39)
1228+
1229+
/**
1230+
* @def MY_SX126x_DISABLE_ATC
1231+
* @brief If defined, ATC will be disabled
1232+
*/
1233+
//#define MY_SX126x_DISABLE_ATC
1234+
1235+
/**
1236+
* @def MY_SX126x_ATC_TARGET_DBM
1237+
* @brief Sets the target RSSI level for the ATC. Defaults to -70dBm
1238+
*/
1239+
#ifndef MY_SX126x_ATC_TARGET_DBM
1240+
#define MY_SX126x_ATC_TARGET_DBM (-70)
1241+
#endif
1242+
1243+
/**
1244+
* @def MY_SX126x_MAX_POWER_LEVEL_DBM
1245+
* @brief Sets the maximum allowable output power level. Default: 13dBm (20mW)
1246+
*
1247+
* Please check local regulations!
1248+
*/
1249+
#ifndef MY_SX126x_MAX_POWER_LEVEL_DBM
1250+
#define MY_SX126x_MAX_POWER_LEVEL_DBM (20)
1251+
#endif
1252+
1253+
/**
1254+
* @def MY_SX126x_MIN_POWER_LEVEL_DBM
1255+
* @brief Sets the minimum output power level. Used in ATC. Default: 0dBm (0.5mW)
1256+
*/
1257+
#ifndef MY_SX126x_MIN_POWER_LEVEL_DBM
1258+
#define MY_SX126x_MIN_POWER_LEVEL_DBM (-3)
1259+
#endif
1260+
1261+
/** @}*/ // End of SX126xSettingGrpPub group
1262+
10371263
/**
10381264
* @defgroup SoftSpiSettingGrpPub Soft SPI
10391265
* @ingroup TransportSettingGrpPub
@@ -2313,7 +2539,7 @@
23132539
#define MY_DEBUG_VERBOSE_OTA_UPDATE //!< MY_DEBUG_VERBOSE_OTA_UPDATE
23142540
#endif
23152541

2316-
#if defined(MY_DEBUG) || defined(MY_DEBUG_VERBOSE_CORE) || defined(MY_DEBUG_VERBOSE_TRANSPORT) || defined(MY_DEBUG_VERBOSE_GATEWAY) || defined(MY_DEBUG_VERBOSE_SIGNING) || defined(MY_DEBUG_VERBOSE_OTA_UPDATE) || defined(MY_DEBUG_VERBOSE_RF24) || defined(MY_DEBUG_VERBOSE_NRF5_ESB) || defined(MY_DEBUG_VERBOSE_RFM69) || defined(MY_DEBUG_VERBOSE_RFM95) || defined(MY_DEBUG_VERBOSE_TRANSPORT_HAL)
2542+
#if defined(MY_DEBUG) || defined(MY_DEBUG_VERBOSE_CORE) || defined(MY_DEBUG_VERBOSE_TRANSPORT) || defined(MY_DEBUG_VERBOSE_GATEWAY) || defined(MY_DEBUG_VERBOSE_SIGNING) || defined(MY_DEBUG_VERBOSE_OTA_UPDATE) || defined(MY_DEBUG_VERBOSE_RF24) || defined(MY_DEBUG_VERBOSE_NRF5_ESB) || defined(MY_DEBUG_VERBOSE_RFM69) || defined(MY_DEBUG_VERBOSE_RFM95) || defined(MY_DEBUG_VERBOSE_SX126x) || defined(MY_DEBUG_VERBOSE_TRANSPORT_HAL)
23172543
#define DEBUG_OUTPUT_ENABLED //!< DEBUG_OUTPUT_ENABLED
23182544
#ifndef MY_DEBUG_OTA
23192545
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
@@ -2332,6 +2558,7 @@
23322558
#undef MY_DEBUG_VERBOSE_RFM69
23332559
#undef MY_DEBUG_VERBOSE_RFM69_REGISTERS
23342560
#undef MY_DEBUG_VERBOSE_RFM95
2561+
#undef MY_DEBUG_VERBOSE_SX126x
23352562
#endif
23362563
#else
23372564
#define DEBUG_OUTPUT(x,...) //!< debug NULL
@@ -2344,7 +2571,7 @@
23442571
#endif
23452572

23462573
// Enable sensor network "feature" if one of the transport types was enabled
2347-
#if defined(MY_RADIO_RF24) || defined(MY_RADIO_NRF5_ESB) || defined(MY_RADIO_RFM69) || defined(MY_RADIO_RFM95) || defined(MY_RS485) || defined(MY_PJON)
2574+
#if defined(MY_RADIO_RF24) || defined(MY_RADIO_NRF5_ESB) || defined(MY_RADIO_RFM69) || defined(MY_RADIO_RFM95) || defined(MY_RADIO_SX126x) || defined(MY_RS485) || defined(MY_PJON)
23482575
#define MY_SENSOR_NETWORK
23492576
#endif
23502577

@@ -2396,6 +2623,12 @@
23962623
*/
23972624
#define ARDUINO_ARCH_AVR
23982625

2626+
/**
2627+
* @def ARDUINO_ARCH_MEGAAVR
2628+
* @brief Automatically set when building for megaAVR targets
2629+
*/
2630+
#define ARDUINO_ARCH_MEGAAVR
2631+
23992632
/**
24002633
* @def ARDUINO_ARCH_STM32F1
24012634
* @brief Automatically set when building for STM32F1 targets
@@ -2554,7 +2787,27 @@
25542787
#define MY_RFM95_POWER_PIN
25552788
#define MY_RFM95_TCXO
25562789
#define MY_RFM95_MAX_POWER_LEVEL_DBM
2790+
// SX126x
2791+
#define MY_RADIO_SX126x
2792+
#define MY_SX126x_TCXO_VOLTAGE
2793+
#define MY_SX126c_TCXO_STARTUP_DELAY
2794+
#define MY_SX126x_USE_TCXO
2795+
#define MY_SX126x_USE_DIO2_ANT_SWITCH
2796+
#define MY_SX126x_ANT_SWITCH_PIN
2797+
#define MY_SX126x_POWER_PIN
2798+
#define MY_SX126x_RESET_PIN
2799+
#define MY_SX126x_BUSY_PIN
2800+
#define MY_SX126x_DISABLE_ATC
2801+
#define MY_SX126x_MIN_POWER_LEVEL_DBM
2802+
#define MY_SX126x_MAX_POWER_LEVEL_DBM
25572803
// SOFT-SPI
25582804
#define MY_SOFTSPI
2805+
2806+
/**
2807+
* @def MY_ROUTES_SIZE
2808+
* @brief Specifies the size allocated for routing table
2809+
*/
2810+
#define MY_ROUTES_SIZE
2811+
25592812
#endif
25602813
/** @}*/ // End of MyConfig group

0 commit comments

Comments
 (0)