Repository navigation
Add MeshPager X2 support - #11255
Add MeshPager X2 support#11255mverch67 wants to merge 40 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true📝 Walkthrough
Pre-merge checks:
|
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@variants/esp32s3/seeed_mesh_pager_x2/platformio.ini`:
- Line 2: Update the custom_meshtastic_hw_model setting for the MeshPager X2 to
an unassigned hardware model ID that is not 100 or otherwise already reserved,
and remove the TODO comment. Keep the change limited to this platform
configuration.
In `@variants/esp32s3/seeed_mesh_pager_x2/variant.cpp`:
- Around line 117-120: Update configureOutput() to call
ioExpander.digitalWrite(pin, level) before ioExpander.pinMode(pin, true), while
preserving short-circuit failure handling. Ensure EXP_PIN_PWR_HOLD receives its
requested latch level before the pin is enabled as an output.
In `@variants/esp32s3/seeed_mesh_pager_x2/variant.h`:
- Around line 139-146: Remove the HAS_ES7243E, HAS_BMM350, HAS_SHT4X, and
HAS_LSM6DSO feature definitions from the variant configuration, including the
associated ES7243E_I2C_ADDR definition if it is only used by the unsupported
device. Leave unsupported peripherals disabled until their initialization and
validation are implemented.
- Around line 40-47: The battery ADC and power-save declarations in
variants/esp32s3/seeed_mesh_pager_x2/variant.h (lines 40-47) must be removed
until battery support is implemented and validated. In
variants/esp32s3/seeed_mesh_pager_x2/variant.cpp (lines 124-152), do not rely on
expander initialization in the variant setup to make the ADC available to
pre-earlyInitVariant() power checks; this site requires no direct change if
removing the declarations eliminates those checks.
- Around line 3-13: Replace the multi-line board banner in variant.h with a
concise one- or two-line comment identifying the SenseCAP MeshPager X2 and its
ESP32-S3 target, AG3335MV/B GNSS, and LR2021 radio; remove the inaccurate
peripheral and implementation details.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: daee657f-5709-47c6-a2d9-a3ad309726c1
📒 Files selected for processing (7)
boards/seeed_meshpager_x2.jsonsrc/mesh/NodeDB.cppvariants/esp32s3/seeed_mesh_pager_x2/pins_arduino.hvariants/esp32s3/seeed_mesh_pager_x2/platformio.inivariants/esp32s3/seeed_mesh_pager_x2/rfswitch.hvariants/esp32s3/seeed_mesh_pager_x2/variant.cppvariants/esp32s3/seeed_mesh_pager_x2/variant.h
| #define HAS_ES7243E | ||
| #define ES7243E_I2C_ADDR 0x14 /* I2C1 address for ES7243E ADC | ||
| Note: May conflict with BMM350 sensor in some configs */ | ||
|
|
||
| // Sensors - I2C1 | ||
| #define HAS_BMM350 /* Magnetometer on I2C1 */ | ||
| #define HAS_SHT4X /* Temperature/Humidity on I2C1 */ | ||
| #define HAS_LSM6DSO /* IMU (Accel/Gyro) on I2C1 */ |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Do not enable unsupported peripherals.
HAS_ES7243E, HAS_BMM350, HAS_SHT4X, and HAS_LSM6DSO advertise devices that the PR explicitly lists as incomplete. Remove these flags until their initialization and validation are implemented; otherwise generic subsystem setup may attempt to use unavailable hardware.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@variants/esp32s3/seeed_mesh_pager_x2/variant.h` around lines 139 - 146,
Remove the HAS_ES7243E, HAS_BMM350, HAS_SHT4X, and HAS_LSM6DSO feature
definitions from the variant configuration, including the associated
ES7243E_I2C_ADDR definition if it is only used by the unsupported device. Leave
unsupported peripherals disabled until their initialization and validation are
implemented.
⚡ Try this PR in the Web FlasherWarning This is an automated, unreviewed CI test build. Back up your device configuration Supported boards built by this PR (32)
Build artifacts expire on 2026-08-26. Updated for |
|
🤝 Attestations
Summary by CodeRabbit