/* * AP_RangeFinder_test * Code by DIYDrones.com */ // includes #include #include #include #include #include #include #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////// // hal.console-> ports //////////////////////////////////////////////////////////////////////////////// const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER; // declare global instances ModeFilterInt16_Size5 mode_filter(2); AP_RangeFinder_PulsedLightLRF lrf(&mode_filter); void setup() { // print welcome message hal.console->println("PulsedLight LRF Test v1.1"); // ensure i2c is slow hal.i2c->setHighSpeed(false); // initialise sensor lrf.init(); // kick off one reading lrf.take_reading(); // check health if (!lrf.healthy) { hal.console->println("Initialisation failed"); } } void loop() { int16_t distance; // ask sensor take a reading //lrf.take_reading(); hal.scheduler->delay(50); // get distance distance = lrf.read(); // display output //hal.console->printf_P(PSTR("dist: %d \thealth:%d \tb0:%d b1:%d\n"),(int)distance,(int)lrf.healthy,(int)lrf._buff[0], (int)lrf._buff[1]); //hal.console->printf_P(PSTR("dist: %d\n"),(int)distance); hal.console->printf_P(PSTR("dist: %d %d\n"),(int)distance,(int)lrf.healthy); } AP_HAL_MAIN();