Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

serial: Add UART over Bluetooth LE #69881

Merged
merged 8 commits into from
Mar 22, 2024

Commits on Mar 19, 2024

  1. bluetooth: services: nus: Add Nordic UART Service

    NUS is implemented as a Bluetooth LE service, exchanging data treating
    the NUS characteristics as Serial endpoints: RX characteristic to
    receive, TX characteristic to send binary packets.
    
    This implementation also enables the ability to define multiple
    instances of the NUS Service, analogous to mutliple serial endpoints,
    to use each one for different purposes. Unless disabled through Kconfig,
    NUS instantiates a default instance, similar to what other services do,
    which allows users not interested in using multiple instances, to not
    worry about the inherent complexities.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    a1956e0 View commit details
    Browse the repository at this point in the history
  2. samples: bluetooth: nus: Add Peripheral NUS sample

    Demonstrating basic usage of NUS to exchange data.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    86f965f View commit details
    Browse the repository at this point in the history
  3. drivers: serial: bt: Add UART over NUS Bluetooth driver

    Enables usage Bluetooth LE GATT as a serial endpoint to exchange data
    using UART APIs. This implementation is compatible with UART Interrupt
    Driven APIs and uses the nus-uart device-tree node properties to
    configure FIFO buffers for transmitting and receiving. Defining
    multiple instances of the driver is possible and it allows implementing
    multiple GATT NUS service instances to exchange data as separate serial
    endpoints.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    fd0d54e View commit details
    Browse the repository at this point in the history
  4. bluetooth: nus: Add Kconfig option to auto-start Bluetooth LE

    Enables compatibility of NUS for codebases that are not
    Bluetooth-centric (e.g: Non-bluetooth samples that use UART over
    Bluetooth LE for Console, Logging, Shell, others).
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    5587824 View commit details
    Browse the repository at this point in the history
  5. snippets: Add nus-console snippet

    Allowing to be applied on various samples to enable UART over Bluetooth
    LE NUS without added complexity.
    Tested with nrf52840dk/nrf52840 on the following samples:
    - samples/subsys/console/echo.
    - samples/subsys/console/getchar.
    - samples/subsys/console/getline.
    - samples/subsys/logging/logger.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    f58ae5b View commit details
    Browse the repository at this point in the history
  6. samples: logging: Add support for UART over Bluetooth LE NUS

    Tested and working with nrf52840dk/nrf52840.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    33b6a6a View commit details
    Browse the repository at this point in the history
  7. samples: shell: Add support for UART over Bluetooth LE NUS

    Tested and working with nrf52840dk/nrf52840.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    010fe4a View commit details
    Browse the repository at this point in the history
  8. doc: release: Add information on UART over Bluetooth LE and NUS Service

    Add documentation on relevant sections to list addition of Bluetooth LE
    service NUS (Nordic UART Service), as well as the UART driver for UART
    over Bluetooth LE and snippets to easily enable it.
    
    Signed-off-by: Luis Ubieda <luisf@croxel.com>
    ubieda committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    a2825ae View commit details
    Browse the repository at this point in the history