Skip to content

Implement Electronic Shelf Label (ESL) BLE Service#35

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/fix-34
Draft

Implement Electronic Shelf Label (ESL) BLE Service#35
Copilot wants to merge 3 commits intomainfrom
copilot/fix-34

Conversation

Copy link

Copilot AI commented Jul 21, 2025

This PR implements a complete Electronic Shelf Label (ESL) Bluetooth Low Energy service for the PSLabel smart eInk labeling system, following the Bluetooth ESL specification.

Features Implemented

ESL Service Architecture

  • ESL Service (UUID: 0x181D) with four main characteristics:
    • Control Point (0x2BE1): Commands for display control (update, clear, sleep, wake, status)
    • Image Transfer (0x2BE2): Wireless transfer of display image data with 1KB buffering
    • Display Information (0x2BE3): Device capability reporting (resolution, color depth, display type)
    • Status (0x2BE4): Real-time device status with notification support

Key Capabilities

  • BLE GATT service following standard ESL specification
  • Command processing for display lifecycle management
  • Image data transfer with size prefixing protocol
  • Status notifications for real-time device monitoring
  • Connection management with proper BLE callbacks
  • Memory-efficient implementation suitable for embedded systems

Integration

  • Complete main application integration with BLE advertising
  • Added all necessary Bluetooth configuration to prj.conf
  • Updated build system to include new ESL service files
  • Comprehensive documentation and usage examples

Example Usage

// Connect to PSLabel device via BLE
// Read display capabilities
struct esl_display_info info;
// Transfer image data to device
// Send update command to refresh display

The service enables wireless communication with electronic shelf labels for retail, warehouse, and smart office applications, providing the foundation for the PSLabel ecosystem's smart labeling functionality.

Fixes #34.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits July 21, 2025 12:20
Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com>
Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com>
Copilot AI changed the title [WIP] ESL Service Implement Electronic Shelf Label (ESL) BLE Service Jul 21, 2025
Copilot AI requested a review from ParthSanepara July 21, 2025 12:24
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

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.

ESL Service

2 participants