Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/schema/library.json",
"name": "CRSFforArduino",
"version": "2025.10.26",
"version": "2025.11.2",
"description": "An Arduino Library for communicating with ExpressLRS and TBS Crossfire receivers.",
"keywords": "arduino, remote-control, arduino-library, protocols, rc, radio-control, crsf, expresslrs",
"repository":
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=CRSFforArduino
version=2025.10.26
version=2025.11.2
author=Cassandra Robinson <[email protected]>
maintainer=Cassandra Robinson <[email protected]>
sentence=CRSF for Arduino brings the Crossfire Protocol to the Arduino ecosystem.
Expand Down
8 changes: 4 additions & 4 deletions src/CFA_Config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ namespace crsfForArduinoConfig
Versioning is based on a rolling release model
and is backwards-compatible with Semantic Versioning 2.0.0.
See https://semver.org/ for more information. */
#define CRSFFORARDUINO_VERSION "2025.10.26"
#define CRSFFORARDUINO_VERSION_DATE "2025-10-26"
#define CRSFFORARDUINO_VERSION "2025.11.2"
#define CRSFFORARDUINO_VERSION_DATE "2025-11-02"
#define CRSFFORARDUINO_VERSION_MAJOR 2025
#define CRSFFORARDUINO_VERSION_MINOR 10
#define CRSFFORARDUINO_VERSION_PATCH 26
#define CRSFFORARDUINO_VERSION_MINOR 11
#define CRSFFORARDUINO_VERSION_PATCH 2

// This is set to 1 if the version is a pre-release version.
#define CRSFFORARDUINO_VERSION_IS_PRERELEASE 0
Expand Down
54 changes: 30 additions & 24 deletions src/SerialReceiver/SerialReceiver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,24 @@ namespace serialReceiverLayer
#elif defined(ARDUINO_ARCH_ESP32)
_uart = &Serial1;

#if defined(D0)
_rxPin = D0;
#else
_rxPin = 0;
#endif

#if defined(D1)
_txPin = D1;
#else
_txPin = 1;
#endif
// #if defined(D0)
// _rxPin = D0;
// #else
// _rxPin = 0;
// #endif

// #if defined(D1)
// _txPin = D1;
// #else
// _txPin = 1;
// #endif
#else
_uart = &Serial1;
#endif

_rxPin = PIN_SERIAL1_RX;
_txPin = PIN_SERIAL1_TX;

#if CRSF_RC_ENABLED > 0
_rcChannels = new rcChannels_t;
_rcChannels->valid = false;
Expand All @@ -74,19 +77,22 @@ namespace serialReceiverLayer
{
_uart = hwUartPort;

#if defined(ARDUINO_ARCH_ESP32)
#if defined(D0)
_rxPin = D0;
#else
_rxPin = 0;
#endif

#if defined(D1)
_txPin = D1;
#else
_txPin = 1;
#endif
#endif
// #if defined(ARDUINO_ARCH_ESP32)
// #if defined(RX)
// _rxPin = RX;
// #else
// _rxPin = 0;
// #endif

// #if defined(TX)
// _txPin = TX;
// #else
// _txPin = 1;
// #endif
// #endif

_rxPin = PIN_SERIAL1_RX;
_txPin = PIN_SERIAL1_TX;

#if CRSF_RC_ENABLED > 0
_rcChannels = new rcChannels_t;
Expand Down
1 change: 1 addition & 0 deletions src/build/scripts/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ default_envs =
${build.commonly_used}
extra_configs =
../../../src/build/targets/common.ini
../../../src/build/targets/development.ini
../../../src/build/targets/quality_control.ini
../../../src/build/targets/unified_esp32.ini
../../../src/build/targets/unified_rp2040.ini
Expand Down
10 changes: 10 additions & 0 deletions src/build/targets/development.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[env:development]
; extends = env_common_samd51
; board = adafruit_metro_m4
extends = env_common_esp32
board = esp32doit-devkit-v1
build_unflags =
${common.build_unflags}
build_flags =
${common.build_flags_development}
build_type = debug
9 changes: 9 additions & 0 deletions src/build/targets/unified_esp32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,15 @@ build_flags =
${common.build_flags}
build_type = release

[env:esp32doit-devkit-v1]
extends = env_common_esp32
board = esp32doit-devkit-v1
build_unflags =
${common.build_unflags}
build_flags =
${common.build_flags_development}
build_type = debug

[env:seeed_xiao_esp32c3]
extends = env_common_esp32
board = seeed_xiao_esp32c3
Expand Down
16 changes: 8 additions & 8 deletions src/build/targets/unified_samd51.ini
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[env:development]
extends = env_common_samd51
board = adafruit_metro_m4
build_unflags =
${common.build_unflags}
build_flags =
${common.build_flags_development}
build_type = debug
; [env:development]
; extends = env_common_samd51
; board = adafruit_metro_m4
; build_unflags =
; ${common.build_unflags}
; build_flags =
; ${common.build_flags_development}
; build_type = debug

[env:adafruit_feather_m4]
extends = env_common_samd51
Expand Down
2 changes: 2 additions & 0 deletions src/hal/CompatibilityTable/CompatibilityTable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ namespace hal
device.type.devboard = DEVBOARD_ESPRESSIF_ESP32C3_DEVKIT;
#elif defined(ARDUINO_ESP32S3_DEV)
device.type.devboard = DEVBOARD_ESPRESSIF_ESP32S3_DEVKIT;
#elif defined(ARDUINO_ESP32_DEV)
device.type.devboard = DEVBOARD_ESPRESSIF_ESP32DOIT_DEVKIT_V1;

// Seeed Studio ESP32 devboards.
#elif defined(ARDUINO_XIAO_ESP32C3)
Expand Down
23 changes: 23 additions & 0 deletions src/hal/CompatibilityTable/CompatibilityTable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,27 @@

#pragma once

/* ESP32 workarounds for non-compliant generic UART definitions. */
#if defined(ARDUINO_ARCH_ESP32)

#ifndef PIN_SERIAL1_RX
#define PIN_SERIAL1_RX RX
#endif

#ifndef PIN_SERIAL1_TX
#define PIN_SERIAL1_TX TX
#endif

/* Serial1 workarounds for everything else. */
#else

#if (defined(PIN_SERIAL_RX) && defined(PIN_SERIAL_TX))
#define PIN_SERIAL1_RX PIN_SERIAL_RX
#define PIN_SERIAL1_TX PIN_SERIAL_TX
#endif

#endif

namespace hal
{
class CompatibilityTable
Expand Down Expand Up @@ -105,6 +126,7 @@ namespace hal
// Espressif ESP32 boards.
DEVBOARD_ESPRESSIF_ESP32C3_DEVKIT,
DEVBOARD_ESPRESSIF_ESP32S3_DEVKIT,
DEVBOARD_ESPRESSIF_ESP32DOIT_DEVKIT_V1,

// Raspberry Pi RP2040 boards.
DEVBOARD_RASPBERRYPI_PICO,
Expand Down Expand Up @@ -297,6 +319,7 @@ namespace hal
"Arduino Portenta H7 (M4 Core)",
"Espressif ESP32-C3 DevKit",
"Espressif ESP32-S3 DevKit",
"Espressif ESP32 DOIT DevKit V1",
"Raspberry Pi Pico",
"Seeed Studio Xiao ESP32-C3",
"Seeed Studio Xiao ESP32-S3",
Expand Down
Loading