xref: /btstack/port/posix-h4-nxp/README.md (revision 34cab2ba6bc082ae830347c6554ab2717a9c1d8c)
1cc528b9dSMatthias Ringwald# BTstack Port for POSIX Systems with NXP/Marvel H4 Bluetooth Controller
2cc528b9dSMatthias Ringwald
3cc528b9dSMatthias Ringwald## Configuration
4cc528b9dSMatthias RingwaldMost Bluetooth Bluetooth Controllers connected via UART/H4 require some special configuration, e.g. to set the UART baud rate, and/or require firmware patches during startup.
5cc528b9dSMatthias RingwaldIn this port, we've show how a NXP/Marvell Controller can be configured for use with BTstack. It's unclear if the required firmware file for older Controllers,
6cc528b9dSMatthias Ringwalde.g. 88W8997, can be detected during the firmware upload. This port selects the firmware for NXP 88W8997.
7cc528b9dSMatthias RingwaldFor newer Controllers, e.g. IW416 or IW612, the firmware can be selected automatically.
8cc528b9dSMatthias Ringwald
9cc528b9dSMatthias Ringwald## Compilation
10cc528b9dSMatthias Ringwald
11cc528b9dSMatthias RingwaldBTstack's posix-h4-nxp port does not have additional dependencies. You can directly run cmake and then your default build system. E.g. with Ninja:
12cc528b9dSMatthias Ringwald
13cc528b9dSMatthias Ringwald	mkdir build
14cc528b9dSMatthias Ringwald    cd build
15cc528b9dSMatthias Ringwald    cmake -G Ninja ..
16cc528b9dSMatthias Ringwald    ninja
17cc528b9dSMatthias Ringwald
18cc528b9dSMatthias Ringwald## Running the examples
19cc528b9dSMatthias Ringwald
20cc528b9dSMatthias RingwaldPlease reset the Controller first. On start, BTstack prints the path to the packet log.
21cc528b9dSMatthias Ringwald
22cc528b9dSMatthias Ringwald	$ ./gatt_counter
23cc528b9dSMatthias Ringwald	Packet Log: /tmp/hci_dump.pklg
24cc528b9dSMatthias Ringwald	BTstack counter 0001
25cc528b9dSMatthias Ringwald	BTstack up and running on 00:1A:7D:DA:71:13.
26cc528b9dSMatthias Ringwald
27*34cab2baSMatthias Ringwald## Issues
28*34cab2baSMatthias Ringwald- NXP 88W8997 does not support SCO Flow Control which causes glitches when sending audio
29*34cab2baSMatthias Ringwald
30cc528b9dSMatthias Ringwald## ToDo
31cc528b9dSMatthias Ringwald- increase baud rate for firmware upload
32cc528b9dSMatthias Ringwald- skip firmware upload if firmware already present
33cc528b9dSMatthias Ringwald- increase baud rate for application
34