[solved] emergency landing - using NRF IO pin
Posted: Thu Sep 02, 2021 8:58 am
I have an application where I want to send an "emergency land" command to an autonomous crazyflie.
It should work even if the CF is ACTIVELY connected to another computer via radio or USB.
Currently I use another computer (and crazyradioPA) to send "set power" packet to the CF to put it to sleep and this kills it mid-flight.
My new idea is to use the handleRadioCmd function to send a "emergency land" packet which bypasses the syslink completely (to provide redundancy in case there is an existing connection). This will be done by setting the nrf_io_1 pin high (per this reference), and the FW will be polling this pin using a GPIO pin.
I have never touched the nrf firmware, would love to get your feedback on this method before I start. I could not find much reference about the 2 NRF IO pins , in what applications are they used. Any reference or code will be greatly appreciated, and I will be happy to share the result for anyone interested.
Thanks
It should work even if the CF is ACTIVELY connected to another computer via radio or USB.
Currently I use another computer (and crazyradioPA) to send "set power" packet to the CF to put it to sleep and this kills it mid-flight.
My new idea is to use the handleRadioCmd function to send a "emergency land" packet which bypasses the syslink completely (to provide redundancy in case there is an existing connection). This will be done by setting the nrf_io_1 pin high (per this reference), and the FW will be polling this pin using a GPIO pin.
I have never touched the nrf firmware, would love to get your feedback on this method before I start. I could not find much reference about the 2 NRF IO pins , in what applications are they used. Any reference or code will be greatly appreciated, and I will be happy to share the result for anyone interested.
Thanks