Created
March 21, 2024 23:00
-
-
Save nosfaratu/6b9cf40bd2a2667aee947fadecb6ac58 to your computer and use it in GitHub Desktop.
WeatherSensorCfg.h
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
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
// WeatherSensorCfg.h.template | |
// | |
// Bresser 5-in-1/6-in-1/7-in-1 868 MHz Weather Sensor Radio Receiver | |
// based on CC1101 or SX1276/RFM95W and ESP32/ESP8266 | |
// | |
// https://github.com/matthias-bs/BresserWeatherSensorReceiver | |
// | |
// NOTE: Application/hardware specific configurations should be made in this file! | |
// | |
// created: 05/2022 | |
// | |
// | |
// MIT License | |
// | |
// Copyright (c) 2022 Matthias Prinke | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: | |
// | |
// The above copyright notice and this permission notice shall be included in all | |
// copies or substantial portions of the Software. | |
// | |
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
// SOFTWARE. | |
// | |
// History: | |
// 20230124 Added some default settings based on selected boards in Arduino IDE | |
// 20230207 Added pin definitions for ARDUINO_TTGO_LoRa32_v21new | |
// 20230208 Added pin definitions for ARDUINO_TTGO_LoRa32_V2 | |
// 20230301 Added pin definitions for Wireless_Stick (from Heltec) | |
// 20230316 Added pin definitions for Adafruit Feather ESP32 with RFM95W "FeatherWing" ADA3232 | |
// 20230330 Added pin definitions and changes for Adafruit Feather 32u4 (AVR) RFM95 LoRa Radio | |
// 20230412 Added workaround for Professional Wind Gauge / Anemometer, P/N 7002531 | |
// 20230420 Added pin definitions for DFRobot FireBeetle ESP32 with FireBeetle Cover LoRa | |
// 20230607 Added pin definitions for Heltec WiFi LoRa 32(V2) | |
// 20230624 Added Bresser Lightning Sensor decoder | |
// 20230804 Added Bresser Water Leakage Sensor decoder | |
// 20230926 Added pin definitions for Adafruit Feather RP2040 with RFM95W "FeatherWing" ADA3232 | |
// 20230927 Removed _DEBUG_MODE_ (log_d() is used instead) | |
// 20231004 Added function names and line numbers to ESP8266/RP2040 debug logging | |
// 20231101 Added USE_SX1262 for Heltec Wireless Stick V3 | |
// 20231121 Added Heltec WiFi LoRa32 V3 | |
// | |
// ToDo: | |
// - | |
// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
#if !defined(WEATHER_SENSOR_CFG_H) | |
#define WEATHER_SENSOR_CFG_H | |
#include <Arduino.h> | |
// ------------------------------------------------------------------------------------------------ | |
// --- Weather Sensors --- | |
// ------------------------------------------------------------------------------------------------ | |
#define NUM_SENSORS 1 // Number of sensors to be received | |
// List of sensor IDs to be excluded - can be empty | |
#define SENSOR_IDS_EXC { 0x792882A2 } | |
//#define SENSOR_IDS_EXC { 0x792882A2 } | |
// List of sensor IDs to be included - if empty, handle all available sensors | |
#define SENSOR_IDS_INC {} | |
//#define SENSOR_IDS_INC { 0x83750871 } | |
// Disable data type which will not be used to save RAM | |
#define WIND_DATA_FLOATINGPOINT | |
#define WIND_DATA_FIXEDPOINT | |
// Select appropriate sensor message format(s) | |
// Comment out unused decoders to save operation time/power | |
#define BRESSER_5_IN_1 | |
#define BRESSER_6_IN_1 | |
#define BRESSER_7_IN_1 | |
#define BRESSER_LIGHTNING | |
#define BRESSER_LEAKAGE | |
// ------------------------------------------------------------------------------------------------ | |
// --- Board --- | |
// ------------------------------------------------------------------------------------------------ | |
// Use pinning for LoRaWAN Node | |
// LILIGO TTGO LoRaP32 board with integrated RF tranceiver (SX1276) | |
// See pin definitions in | |
// https://github.com/espressif/arduino-esp32/tree/master/variants/ttgo-lora32-* | |
// and | |
// https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-2/11973 | |
// This define is set by selecting "Board: TTGO LoRa32-OLED" / "Board Revision: TTGO LoRa32 V1 (No TFCard)" | |
// in the Arduino IDE: | |
//#define ARDUINO_TTGO_LoRa32_V1 | |
// This define is set by selecting "Board: TTGO LoRa32-OLED" / "Board Revision: TTGO LoRa32 V2" | |
// in the Arduino IDE: | |
//#define ARDUINO_TTGO_LoRa32_V2 | |
// This define is set by selecting "Board: TTGO LoRa32-OLED" / "Board Revision: TTGO LoRa32 V2.1 (1.6.1)" | |
// in the Arduino IDE: | |
#define ARDUINO_TTGO_LoRa32_V21new | |
// Heltec Wireless Stick | |
// V2 -> SX1276 | |
// V3 -> SX1262 | |
// THERE IS NO WAY TO DISTINGUISH THE VERSION AUTOMATICALLY! | |
// | |
// This define is set by selecting "Board: Heltec Wireless Stick" | |
// in the Arduino IDE: | |
//#define ARDUINO_heltec_wireless_stick | |
// This define is set by selecting "Board: Heltec WiFi LoRa 32(V2)" | |
// in the Adruino IDE: | |
//#define ARDUINO_heltec_wifi_lora_32_V2 | |
// Adafruit Feather ESP32S2 with RFM95W "FeatherWing" ADA3232 | |
// https://github.com/espressif/arduino-esp32/blob/master/variants/adafruit_feather_esp32s2/pins_arduino.h | |
// | |
// This define is set by selecting "Adafruit Feather ESP32-S2" in the Arduino IDE: | |
//#define ARDUINO_ADAFRUIT_FEATHER_ESP32S2 | |
// Adafruit Feather ESP32 with RFM95W "FeatherWing" ADA3232 | |
// https://github.com/espressif/arduino-esp32/blob/master/variants/feather_esp32/pins_arduino.h | |
// | |
// This define is set by selecting "Adafruit ESP32 Feather" in the Arduino IDE: | |
//#define ARDUINO_FEATHER_ESP32 | |
// Adafruit Feather RP2040 with RFM95W "FeatherWing" ADA3232 | |
// https://github.com/espressif/arduino-esp32/blob/master/variants/feather_esp32/pins_arduino.h | |
// | |
// This define is set by selecting "Adafruit Feather RP2040" in the Arduino IDE: | |
//#define ARDUINO_ADAFRUIT_FEATHER_RP2040 | |
// DFRobot Firebeetle32 | |
// https://github.com/espressif/arduino-esp32/tree/master/variants/firebeetle32/pins_arduino.h | |
// | |
// This define (not very specific...) is set by selecting "FireBeetle-ESP32" in the Arduino IDE: | |
#define ARDUINO_ESP32_DEV | |
#if defined(ARDUINO_TTGO_LoRa32_V1) | |
//#pragma message("ARDUINO_TTGO_LoRa32_V1 defined; using on-board transceiver") | |
//#define USE_SX1276 | |
#elif defined(ARDUINO_TTGO_LoRa32_V2) | |
//#pragma message("ARDUINO_TTGO_LoRa32_V2 defined; using on-board transceiver") | |
//#pragma message("LoRa DIO1 must be wired to GPIO33 manually!") | |
//#define USE_SX1276 | |
#elif defined(ARDUINO_TTGO_LoRa32_v21new) | |
#pragma message("ARDUINO_TTGO_LoRa32_V21new defined; using on-board transceiver") | |
#define USE_SX1276 | |
#elif defined(ARDUINO_heltec_wireless_stick) | |
//#pragma message("ARDUINO_heltec_wireless_stick defined; using on-board transceiver") | |
//#pragma message("Radio transceiver chip has to be configured manually: V2 -> USE_SX1276 / V3 -> USE_SX1262") | |
//#define USE_SX1276 // Heltec Wireless Stick V2 | |
//#define USE_SX1262 // Heltec Wireless Stick V3 | |
#elif defined(ARDUINO_heltec_wifi_lora_32_V2) | |
//#pragma message("ARDUINO_heltec_wifi_lora_32_V2 defined; using on-board transceiver") | |
//#define USE_SX1276 | |
#elif defined(ARDUINO_heltec_wifi_32_lora_V3) | |
//#pragma message("ARDUINO_heltec_wifi_32_lora_V3 defined; using on-board transceiver") | |
//#define USE_SX1262 | |
#elif defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) | |
//#pragma message("ARDUINO_ADAFRUIT_FEATHER_ESP32S2 defined; assuming RFM95W FeatherWing will be used") | |
//#define USE_SX1276 | |
#elif defined(ARDUINO_FEATHER_ESP32) | |
//#pragma message("ARDUINO_FEATHER_ESP32 defined; assuming RFM95W FeatherWing will be used") | |
//#define USE_SX1276 | |
//#pragma message("Required wiring: A to RST, B to DIO1, D to DIO0, E to CS") | |
#elif defined(ARDUINO_AVR_FEATHER32U4) | |
//#pragma message("ARDUINO_AVR_FEATHER32U4 defined; assuming this is the Adafruit Feather 32u4 RFM95 LoRa Radio") | |
//#define USE_SX1276 | |
#elif defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) | |
//#pragma message("ARDUINO_ADAFRUIT_FEATHER_RP2040 defined; assuming assuming RFM95W FeatherWing will be used") | |
//#define USE_SX1276 | |
//#pragma message("Required wiring: A to RST, B to DIO1, D to DIO0, E to CS") | |
#elif defined(ARDUINO_ESP32_DEV) | |
//#define LORAWAN_NODE | |
//#define FIREBEETLE_ESP32_COVER_LORA | |
#if defined(FIREBEETLE_ESP32_COVER_LORA) | |
//#pragma message("FIREBEETLE_ESP32_COVER_LORA defined; assuming this is a FireBeetle ESP32 with FireBeetle Cover LoRa") | |
//#define USE_SX1276 | |
//#pragma message("Required wiring: D2 to RESET, D3 to DIO0, D4 to CS, D5 to DIO1") | |
#elif defined(LORAWAN_NODE) | |
//#pragma message("LORAWAN_NODE defined; assuming this is the LoRaWAN_Node board (DFRobot Firebeetle32 + Adafruit RFM95W LoRa Radio)") | |
//#define USE_SX1276 | |
#else | |
//#pragma message("ARDUINO_ESP32_DEV defined; select either LORAWAN_NODE or FIREBEETLE_ESP32_COVER_LORA manually!") | |
#endif | |
#endif | |
// ------------------------------------------------------------------------------------------------ | |
// --- Radio Transceiver --- | |
// ------------------------------------------------------------------------------------------------ | |
// Select type of receiver module (if not yet defined based on the assumptions above) | |
#if ( !defined(USE_CC1101) && !defined(USE_SX1276) && !defined(USE_SX1262) ) | |
//#define USE_CC1101 | |
#define USE_SX1276 | |
//#define USE_SX1262 | |
#endif | |
// ------------------------------------------------------------------------------------------------ | |
// --- Debug Logging Output --- | |
// ------------------------------------------------------------------------------------------------ | |
// - ESP32: | |
// CORE_DEBUG_LEVEL is set in Adruino IDE: | |
// Tools->Core Debug Level: "<None>|<Error>|<Warning>|<Info>|<Debug>|<Verbose>" | |
// https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-log.h | |
// | |
// - ESP8266: | |
// DEBUG_ESP_PORT is set in Arduino IDE: | |
// Tools->Debug port: "<None>|<Serial>|<Serial1>" | |
// | |
// - RP2040: | |
// DEBUG_RP2040_PORT is set in Arduino IDE: | |
// Tools->Debug port: "<Disabled>|<Serial>|<Serial1>|<Serial2>" | |
// | |
// Replacement for | |
// https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-log.h | |
// on ESP8266 and RP2040: | |
#if defined(ESP8266) || defined(ARDUINO_ARCH_RP2040) | |
#define ARDUHAL_LOG_LEVEL_NONE 0 | |
#define ARDUHAL_LOG_LEVEL_ERROR 1 | |
#define ARDUHAL_LOG_LEVEL_WARN 2 | |
#define ARDUHAL_LOG_LEVEL_INFO 3 | |
#define ARDUHAL_LOG_LEVEL_DEBUG 4 | |
#define ARDUHAL_LOG_LEVEL_VERBOSE 5 | |
#if defined(ARDUINO_ARCH_RP2040) && defined(DEBUG_RP2040_PORT) | |
#define DEBUG_PORT DEBUG_RP2040_PORT | |
#elif defined(DEBUG_ESP_PORT) | |
#define DEBUG_PORT DEBUG_ESP_PORT | |
#endif | |
// Set desired level here! | |
#define CORE_DEBUG_LEVEL ARDUHAL_LOG_LEVEL_INFO | |
#if defined(DEBUG_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_NONE | |
#define log_e(...) { DEBUG_PORT.printf("%s(), l.%d: ",__func__, __LINE__); DEBUG_PORT.printf(__VA_ARGS__); DEBUG_PORT.println(); } | |
#else | |
#define log_e(...) {} | |
#endif | |
#if defined(DEBUG_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_ERROR | |
#define log_w(...) { DEBUG_PORT.printf("%s(), l.%d: ", __func__, __LINE__); DEBUG_PORT.printf(__VA_ARGS__); DEBUG_PORT.println(); } | |
#else | |
#define log_w(...) {} | |
#endif | |
#if defined(DEBUG_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_WARN | |
#define log_i(...) { DEBUG_PORT.printf("%s(), l.%d: ", __func__, __LINE__); DEBUG_PORT.printf(__VA_ARGS__); DEBUG_PORT.println(); } | |
#else | |
#define log_i(...) {} | |
#endif | |
#if defined(DEBUG_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_INFO | |
#define log_d(...) { DEBUG_PORT.printf("%s(), l.%d: ", __func__, __LINE__); DEBUG_PORT.printf(__VA_ARGS__); DEBUG_PORT.println(); } | |
#else | |
#define log_d(...) {} | |
#endif | |
#if defined(DEBUG_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_DEBUG | |
#define log_v(...) { DEBUG_PORT.printf("%s(), l.%d: ", __func__, __LINE__); DEBUG_PORT.printf(__VA_ARGS__); DEBUG_PORT.println(); } | |
#else | |
#define log_v(...) {} | |
#endif | |
#endif | |
// Replacement for | |
// https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-log.h | |
// on Arduino AVR: | |
#if defined(ARDUINO_ARCH_AVR) | |
#define ARDUHAL_LOG_LEVEL_NONE 0 | |
#define ARDUHAL_LOG_LEVEL_ERROR 1 | |
#define ARDUHAL_LOG_LEVEL_WARN 2 | |
#define ARDUHAL_LOG_LEVEL_INFO 3 | |
#define ARDUHAL_LOG_LEVEL_DEBUG 4 | |
#define ARDUHAL_LOG_LEVEL_VERBOSE 5 | |
// Set desired level here! | |
#define CORE_DEBUG_LEVEL ARDUHAL_LOG_LEVEL_INFO | |
#if defined(DEBUG_ESP_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_NONE | |
#define log_e(...) { printf(__VA_ARGS__); println(); } | |
#else | |
#define log_e(...) {} | |
#endif | |
#if defined(DEBUG_ESP_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_ERROR | |
#define log_w(...) { printf(__VA_ARGS__); println(); } | |
#else | |
#define log_w(...) {} | |
#endif | |
#if defined(DEBUG_ESP_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_WARN | |
#define log_i(...) { printf(__VA_ARGS__); println(); } | |
#else | |
#define log_i(...) {} | |
#endif | |
#if defined(DEBUG_ESP_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_INFO | |
#define log_d(...) { printf(__VA_ARGS__); println(); } | |
#else | |
#define log_d(...) {} | |
#endif | |
#if defined(DEBUG_ESP_PORT) && CORE_DEBUG_LEVEL > ARDUHAL_LOG_LEVEL_DEBUG | |
#define log_v(...) { printf(__VA_ARGS__); println(); } | |
#else | |
#define log_v(...) {} | |
#endif | |
#endif | |
#if ( (defined(USE_CC1101) && defined(USE_SX1276)) || \ | |
(defined(USE_SX1276) && defined(USE_SX1262)) || \ | |
(defined(USE_SX1262) && defined(USE_CC1101)) ) | |
#error "Either USE_CC1101 OR USE_SX1276 OR USE_SX1262 must be defined!" | |
#endif | |
#if defined(USE_CC1101) | |
#define RECEIVER_CHIP "[CC1101]" | |
#elif defined(USE_SX1276) | |
#define RECEIVER_CHIP "[SX1276]" | |
#elif defined(USE_SX1262) | |
#define RECEIVER_CHIP "[SX1262]" | |
#else | |
#error "Either USE_CC1101, USE_SX1276 or USE_SX1262 must be defined!" | |
#endif | |
// Arduino default SPI pins | |
// | |
// Board SCK MOSI MISO | |
// ESP8266 D5 D7 D6 | |
// ESP32 D18 D23 D19 | |
#if defined(LORAWAN_NODE) | |
// Use pinning for LoRaWAN_Node (https://github.com/matthias-bs/LoRaWAN_Node) | |
#define PIN_RECEIVER_CS 14 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 4 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 16 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 12 | |
#elif defined(FIREBEETLE_ESP32_COVER_LORA) | |
#define PIN_RECEIVER_CS 27 // D4 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 26 // D3 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 9 // D5 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 25 // D2 | |
#elif defined(ARDUINO_TTGO_LoRa32_V1) || defined(ARDUINO_TTGO_LoRa32_V2) | |
// Use pinning for LILIGO TTGO LoRa32-OLED | |
#define PIN_RECEIVER_CS LORA_CS | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ LORA_IRQ | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
// n.c. on v1/v2?, LORA_D1 on v21 | |
#define PIN_RECEIVER_GPIO 33 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST LORA_RST | |
#elif defined(ARDUINO_TTGO_LoRa32_v21new) | |
// Use pinning for LILIGO TTGO LoRa32-OLED V2.1 (1.6.1) | |
// Same pinout for Heltec Wireless Stick | |
#define PIN_RECEIVER_CS LORA_CS | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ LORA_IRQ | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO LORA_D1 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST LORA_RST | |
#elif defined(ARDUINO_heltec_wireless_stick) || defined(ARDUINO_heltec_wifi_lora_32_V2) | |
// Use pinning for Heltec Wireless Stick or WiFi LoRa32 V2, respectively | |
#define PIN_RECEIVER_CS SS | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ DIO0 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO DIO1 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST RST_LoRa | |
#elif defined(ARDUINO_heltec_wifi_32_lora_V3) | |
// Use pinning for Heltec WiFi LoRa32 V3 | |
#define PIN_RECEIVER_CS SS | |
// CC1101: GDO0 / RFM95W/SX127x: G0 / SX1262: DIO0 | |
#define PIN_RECEIVER_IRQ DIO0 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 / SX1262: BUSY | |
#define PIN_RECEIVER_GPIO BUSY_LoRa | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST RST_LoRa | |
#elif defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) | |
// Use pinning for Adafruit Feather ESP32S2 with RFM95W "FeatherWing" ADA3232 | |
#define PIN_RECEIVER_CS 6 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 5 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 11 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 9 | |
#elif defined(ARDUINO_FEATHER_ESP32) | |
// Use pinning for Adafruit Feather ESP32 with RFM95W "FeatherWing" ADA3232 | |
#define PIN_RECEIVER_CS 14 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 32 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 33 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 27 | |
#elif defined(ESP32) | |
// Generic pinning for ESP32 development boards | |
#define PIN_RECEIVER_CS 27 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 21 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 33 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 32 | |
#elif defined(ESP8266) | |
// Generic pinning for ESP8266 development boards (e.g. LOLIN/WEMOS D1 mini) | |
#define PIN_RECEIVER_CS 15 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 4 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 | |
#define PIN_RECEIVER_GPIO 5 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 2 | |
#elif defined(ARDUINO_AVR_FEATHER32U4) | |
// Pinning for Adafruit Feather 32u4 | |
#define PIN_RECEIVER_CS 8 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 7 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 (not used) | |
#define PIN_RECEIVER_GPIO 99 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 4 | |
#elif defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) | |
// Use pinning for Adafruit Feather RP2040 with RFM95W "FeatherWing" ADA3232 | |
#define PIN_RECEIVER_CS 7 | |
// CC1101: GDO0 / RFM95W/SX127x: G0 | |
#define PIN_RECEIVER_IRQ 8 | |
// CC1101: GDO2 / RFM95W/SX127x: G1 (not used) | |
#define PIN_RECEIVER_GPIO 10 | |
// RFM95W/SX127x - GPIOxx / CC1101 - RADIOLIB_NC | |
#define PIN_RECEIVER_RST 11 | |
#endif | |
#define STR_HELPER(x) #x | |
#define STR(x) STR_HELPER(x) | |
#pragma message("Receiver chip: " RECEIVER_CHIP) | |
//#pragma message("Pin config: RST->" STR(PIN_RECEIVER_RST) ", CS->" STR(PIN_RECEIVER_CS) ", GD0/G0/IRQ->" STR(PIN_RECEIVER_IRQ) ", GDO2/G1/GPIO->" STR(PIN_RECEIVER_GPIO) ) | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment