Skip to content

Fix BLE notification properties and add missing ESC telemetry notifications#84

Closed
Copilot wants to merge 3 commits intoble-loggingfrom
copilot/sub-pr-77
Closed

Fix BLE notification properties and add missing ESC telemetry notifications#84
Copilot wants to merge 3 commits intoble-loggingfrom
copilot/sub-pr-77

Conversation

Copy link
Copy Markdown

Copilot AI commented Jan 13, 2026

The BLE implementation had inconsistencies between characteristic property declarations and actual notification behavior. ESC telemetry wasn't notifying clients of updates, and several BMS characteristics called notify() without declaring the NOTIFY property.

Fixed ESC Service Notifications:

  • Added NIMBLE_PROPERTY::NOTIFY to all ESC characteristics (voltage, current, RPM, temperatures)
  • Added notify() calls in updateESCTelemetryBLE() with connection check
  • Added ESC_TELEMETRY_SERVICE_UUID to BLE advertising

Fixed BMS Service Property Declarations:

  • Added NIMBLE_PROPERTY::NOTIFY to telemetry characteristics that were already calling notify() (SOC, voltage, current, power, cell voltages, temperatures, voltage differential)

Before:

pESCVoltage = pEscService->createCharacteristic(
    NimBLEUUID(ESC_VOLTAGE_UUID), NIMBLE_PROPERTY::READ);
// updateESCTelemetryBLE() had no notify() calls

After:

pESCVoltage = pEscService->createCharacteristic(
    NimBLEUUID(ESC_VOLTAGE_UUID), NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);

// In updateESCTelemetryBLE():
if (!deviceConnected) return;
if (pESCVoltage) pESCVoltage->notify();

All BLE characteristics now properly declare NOTIFY when sending notifications, ensuring correct BLE protocol compliance and real-time telemetry updates.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 13, 2026 05:38
- Add NIMBLE_PROPERTY::NOTIFY to all ESC characteristics (voltage, current, RPM, temps)
- Add notify() calls in updateESCTelemetryBLE() when device is connected
- Ensures consistency with BMS service notification pattern

Co-authored-by: zjwhitehead <4623792+zjwhitehead@users.noreply.github.com>
…e ESC service

- Add NIMBLE_PROPERTY::NOTIFY to BMS telemetry characteristics (SOC, voltage, current, power, cells, temps, voltage diff)
- Add ESC_TELEMETRY_SERVICE_UUID to BLE advertising for better discoverability
- Ensures all characteristics that call notify() have proper NOTIFY property

Co-authored-by: zjwhitehead <4623792+zjwhitehead@users.noreply.github.com>
Copilot AI changed the title [WIP] Update BLE architecture with logging improvements Fix BLE notification properties and add missing ESC telemetry notifications Jan 13, 2026
Copilot AI requested a review from zjwhitehead January 13, 2026 05:42
@zjwhitehead zjwhitehead mentioned this pull request Jan 16, 2026
@zjwhitehead zjwhitehead deleted the copilot/sub-pr-77 branch January 25, 2026 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants