How to setup BCSP at runtime with manufacture specific commands #bt #protocol #hc5 #bcsp


Stefan Jaritz
 

Hej,

I like to implement an firmware upgrade via bcsp + manufacture specific commands. I give a quick setup of my system:

BT device <---> UART3  @ MCU <---> Zephyr OS

The update process works in following steps:

- open uart3 9600,N,8

- send "DFU"

- open uart3 115200,E,8

- establish a link via bcsp

- sending and receiving the manufacturer specific commands on channel 12

Now comes my question: How to do this with Zephyr OS?

I saw a implementation of the HC5 protocol:

https://github.com/zephyrproject-rtos/zephyr/blob/master/drivers/bluetooth/hci/h5.c

Think I may can use this, because it is said, that the bcsp can be used in combination with HCI HC5. Am I right?

The dfu commands using channel 12 of the bcsp. For me seems that function "static int h5_queue(struct net_buf *buf)"  is only handling cmd/event and acl messages. How to it is dealt with all the other ones? ( acl = 6, cmdEvt = 5, sco = 7, le = 1, ack = 0,  dfu = 12)


Kind regards!

Stefan