You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.3 KiB

/*
* DSM receiver example code for Cypress radio
*
* With thanks to the SuperBitRF project and their excellent cyrf6936 dongle:
* https://1bitsquared.com/products/superbit-usbrf-dongle
*/
#include <AP_HAL/AP_HAL.h>
#include <AP_Radio/AP_Radio.h>
#include <stdio.h>
#define debug(fmt, args...) printf(fmt, ##args)
const AP_HAL::HAL& hal = AP_HAL::get_HAL();
static AP_Radio radio;
static bool do_bind = false;
void setup()
{
hal.console->begin(115200);
debug("RADIO init\n");
hal.scheduler->delay(1000);
radio.init();
if (do_bind) {
radio.start_recv_bind();
}
}
void loop()
{
static AP_Radio::stats stats;
hal.scheduler->delay(1000);
AP_Radio::stats new_stats = radio.get_stats();
debug("recv:%3u bad:%3u to:%3u re:%u N:%2u 1:%4u 1:%4u 3:%4u 4:%4u 5:%4u 6:%4u 7:%4u 8:%4u 14:%u\n",
new_stats.recv_packets - stats.recv_packets,
new_stats.bad_packets - stats.bad_packets,
new_stats.timeouts - stats.timeouts,
new_stats.recv_errors - stats.recv_errors,
radio.num_channels(),
radio.read(0), radio.read(1), radio.read(2), radio.read(3),
radio.read(4), radio.read(5), radio.read(6), radio.read(7),
radio.read(13));
stats = new_stats;
}
AP_HAL_MAIN();