Skip to content
/ nrf Public

A Bluetoothe Low Energy (BLE) class library - initial target: Nordic nRF5x

License

Notifications You must be signed in to change notification settings

natersoz/nrf

Repository files navigation

project: natersoz/nrf

Copyright (c) 2018, natersoz. Distributed under the Apache 2.0 license.

Quick Start

See:

LICENSING

  • File which contain a Nordic Semiconductor License in the comments header are covered under the terms found in NORDIC_LICENSE.txt.
  • Files in the segger/ directory are covered under the terms of SEGGER's licencing found in the source files and in the license file segger_rtt/license/license.txt.
  • All other files are covered under the Apache 2.0 LICENSE file.

Documentation

This README.md will be limited. More detailed descriptions are in the directory docs.

Goals:

  • Provide a generic BLE implementation using C++ class structures which can be adapted to any vendor specific hardware. The first instance will be the Nordic nrf52 development board.
    • The implementation will not use an OS, but should be easily adapted to an OS.
    • It is intended that nearly all processing occur within an ISR. Given the ARM Nested Vector Interrupt Controller (NVIC) this should be easy to do and yeild the best performance.
  • Peripheral device drivers should access the CMSIS mapped registers and rely minimally on the SDK. Progress will be indicated by the lack of file and module coupling between device drivers.

Progress:

  • Peripherals on master in the directory peripherals have been tested. Faults have been logged as issues.
  • Peripheral tests can be found in the directory nordic/tests. Each test is given its own directory and Makefile: spi_test, rtc_test, etc.
  • Code which can be tested without hardware dependencies is found under unit_tests.
  • The project ble_peripheral_class is a BLE peripheral example using the BLE class based implementation of this code base. It is a GATT server only peripheral (at this time). It is working as expected on Nordic hardware.