PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Driver for the SRF02 sonar range finder adapted from the Maxbotix sonar range finder driver (srf02). More...
#include <px4_platform_common/px4_config.h>
#include <px4_platform_common/defines.h>
#include <px4_platform_common/getopt.h>
#include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp>
#include <containers/Array.hpp>
#include <drivers/device/i2c.h>
#include <sys/types.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#include <semaphore.h>
#include <string.h>
#include <fcntl.h>
#include <poll.h>
#include <stdio.h>
#include <math.h>
#include <unistd.h>
#include <perf/perf_counter.h>
#include <drivers/drv_hrt.h>
#include <drivers/drv_range_finder.h>
#include <drivers/device/ringbuffer.h>
#include <uORB/uORB.h>
#include <uORB/topics/distance_sensor.h>
#include <board_config.h>
Go to the source code of this file.
Classes | |
class | SRF02 |
Namespaces | |
srf02 | |
Local functions in support of the shell command. | |
Macros | |
#define | SRF02_BASEADDR 0x70 |
#define | SRF02_BUS_DEFAULT PX4_I2C_BUS_EXPANSION |
#define | SRF02_DEVICE_PATH "/dev/srf02" |
#define | SRF02_TAKE_RANGE_REG 0x51 |
#define | SRF02_SET_ADDRESS_0 0xA0 |
#define | SRF02_SET_ADDRESS_1 0xAA |
#define | SRF02_SET_ADDRESS_2 0xA5 |
#define | SRF02_MIN_DISTANCE (0.20f) |
#define | SRF02_MAX_DISTANCE (7.65f) |
#define | SRF02_CONVERSION_INTERVAL 100000 |
#define | SRF02_INTERVAL_BETWEEN_SUCCESIVE_FIRES 100000 |
Functions | |
__EXPORT int | srf02_main (int argc, char *argv[]) |
Driver 'main' command. More... | |
int | srf02::reset () |
Reset the driver. More... | |
int | srf02::start (uint8_t rotation) |
Attempt to start driver on all available I2C busses. More... | |
int | srf02::start_bus (uint8_t rotation, int i2c_bus) |
Start the driver on a specific bus. More... | |
int | srf02::status () |
Print the driver status. More... | |
int | srf02::stop () |
Stop the driver. More... | |
int | srf02::test () |
Perform some basic functional tests on the driver; make sure we can collect data from the sensor in polled and automatic modes. More... | |
int | srf02::usage () |
Prints info about the driver argument usage. More... | |
Variables | |
SRF02 * | srf02::g_dev |
Driver for the SRF02 sonar range finder adapted from the Maxbotix sonar range finder driver (srf02).
Definition in file srf02.cpp.
#define SRF02_BASEADDR 0x70 |
Definition at line 72 of file srf02.cpp.
Referenced by SRF02::init().
#define SRF02_BUS_DEFAULT PX4_I2C_BUS_EXPANSION |
Definition at line 73 of file srf02.cpp.
Referenced by srf02_main(), and srf02::usage().
#define SRF02_CONVERSION_INTERVAL 100000 |
Definition at line 86 of file srf02.cpp.
Referenced by SRF02::init().
#define SRF02_DEVICE_PATH "/dev/srf02" |
Definition at line 74 of file srf02.cpp.
Referenced by srf02::reset(), srf02::start_bus(), and srf02::test().
#define SRF02_INTERVAL_BETWEEN_SUCCESIVE_FIRES 100000 |
Definition at line 87 of file srf02.cpp.
Referenced by SRF02::init().
#define SRF02_TAKE_RANGE_REG 0x51 |
Definition at line 77 of file srf02.cpp.
Referenced by SRF02::measure().
__EXPORT int srf02_main | ( | int | argc, |
char * | argv[] | ||
) |
Driver 'main' command.
Definition at line 780 of file srf02.cpp.
References srf02::reset(), SRF02_BUS_DEFAULT, srf02::start(), srf02::start_bus(), srf02::status(), srf02::stop(), srf02::test(), and srf02::usage().