You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/09/26 23:24:43 UTC

[GitHub] [incubator-nuttx] v01d commented on issue #1474: BLE Link Layer and nRF52 implementation (WIP)

v01d commented on issue #1474:
URL: https://github.com/apache/incubator-nuttx/issues/1474#issuecomment-699560254


   I went back to work with this now that I have nimBLE working on NuttX. This helped provide meaningful traffic to test the link-layer. I managed to pair my phone and start exchanging some packets. 
   
   However, this is becoming a really big task and I'm not sure I will be able to get it to 100% on my own as it takes a lot of work to do so. Is there someone else willing to take on the task and continue the work? It would be great if someone with prior experience in low-level bluetooth understanding but I had zero prior knowledge so it can be learned by reading the spec and some books. If there's someone willing, I can assist and help reviewing and maybe even testing. 
   
   Regarding what works right now:
   * I focused on the slave role, the master role is much more complex as it requires scheduling all current connections
   * Scanning works, but only passive mode
   * Advertising works in all modes, sends scan responses, handles initiating a connection (this last part requires some work)
   * Partially handles maintaining a connection and pushes received data packets to the host layer but there's no support yet for sending data packets received from host layer
   * Some tricky link-layer control commands are not yet supported (updating connection parameters, channel map) and some not very critical features requested from host are not yet implemented (or dummy values sent)
   
   I can polish off the implementation a bit more and leave scanning and advertising (as described above) well tested, but the whole connection handling requires much more work. It has various critical paths which I attempted to addressed using PPI peripheral but it becomes complex very fast (so that may need some rework).
   
   Let me know if anyone is willing to work on this and I will open a draft PR.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org