# BLE GAP
This is a school project done with the Make With Ada challenge
https://www.hackster.io/contests/adacore2
## Material
BBC Micro:bit https://microbit.org/.
The nrf Connect application to decompose ble packets.
### Documentation
https://www.bluetooth.com/specifications/bluetooth-core-specification/
## Goal
It was initialy done in order to add a Bluetooth Low Energy stack to
Ada_Driver_Library, unfortunately, we could not make the radio work in
reception mode (Special thanks to Fabien Chouteau who tried to help us).
The main will make a simple BLE advertiser with a name «Ada BLE».
## Logo
The logo is made from the same principle as the Bluetooth logo, with the runic letters for A, D and A.
## Project
We have two submodules that work as layers on the existing BLE module.
### Bluetooth_Low_Energy.Advertising
Allows to make BLE_Packet with the correct payload format specified in the
Bluetooth core specification Vol 3 Part C.
### Bluetooth_Low_Energy.Headers
Allows to make BLE_PDU_Headers with the correct format specified in the
Bluetooth core documentation Vol 6 Part B.
## Cheating
The advertiser module is actually a ripoff off the BLE_Beacon in the
Ada_Driver_Library examples.
## Notes
### Difficulties
- As said in the goal, we couldn't make the radio work in reception mode (It
would stay in Ry_State meaning it would fail to receive a correct preamble:
https://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.pdf part 17)
- BLE is a more complex protocol than expected
## Thanks
Thanks to our teachers :
- Raphaël Amiard who has taught us this language
- Eric Perlade who has taught us how to use contracts
- Jose Ruiz who has taught us to never make planes
Again thanks to Fabien Chouteau for his quick response when help was needed.
Comments