PX4 Firmware
PX4 Autopilot Software http://px4.io
px4flow.cpp File Reference
#include <drivers/device/i2c.h>
#include <drivers/device/ringbuffer.h>
#include <drivers/drv_hrt.h>
#include <drivers/drv_range_finder.h>
#include <lib/conversion/rotation.h>
#include <lib/parameters/param.h>
#include <lib/perf/perf_counter.h>
#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 <uORB/topics/distance_sensor.h>
#include <uORB/topics/optical_flow.h>
#include "i2c_frame.h"
Include dependency graph for px4flow.cpp:

Go to the source code of this file.

Classes

class  PX4FLOW
 

Namespaces

 px4flow
 Local functions in support of the shell command.
 

Macros

#define PX4FLOW0_DEVICE_PATH   "/dev/px4flow0"
 
#define I2C_FLOW_ADDRESS_DEFAULT   0x42
 7-bit address. 8-bit address is 0x84, range 0x42 - 0x49 More...
 
#define I2C_FLOW_ADDRESS_MIN   0x42
 7-bit address. More...
 
#define I2C_FLOW_ADDRESS_MAX   0x49
 7-bit address. More...
 
#define PX4FLOW_REG   0x16
 Measure Register 22. More...
 
#define PX4FLOW_CONVERSION_INTERVAL_DEFAULT   100000
 in microseconds! = 10Hz More...
 
#define PX4FLOW_CONVERSION_INTERVAL_MIN   10000
 in microseconds! = 100 Hz More...
 
#define PX4FLOW_CONVERSION_INTERVAL_MAX   1000000
 in microseconds! = 1 Hz More...
 
#define PX4FLOW_I2C_MAX_BUS_SPEED   400000
 400 KHz maximum speed More...
 
#define PX4FLOW_MAX_DISTANCE   5.0f
 
#define PX4FLOW_MIN_DISTANCE   0.3f
 

Functions

__EXPORT int px4flow_main (int argc, char *argv[])
 
int px4flow::start (int argc, char *argv[])
 Start the driver. More...
 
int px4flow::stop ()
 Stop the driver. More...
 
int px4flow::info ()
 Print a little info about the driver. More...
 
void px4flow::usage ()
 Prints info about the driver argument usage. More...
 

Variables

PX4FLOWpx4flow::g_dev = nullptr
 
bool px4flow::start_in_progress = false
 
const int px4flow::START_RETRY_COUNT = 5
 
const int px4flow::START_RETRY_TIMEOUT = 1000
 

Detailed Description

Author
Dominik Honegger
Ban Siesta bansi.nosp@m.esta.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Driver for the PX4FLOW module connected via I2C.

Definition in file px4flow.cpp.

Macro Definition Documentation

◆ I2C_FLOW_ADDRESS_DEFAULT

#define I2C_FLOW_ADDRESS_DEFAULT   0x42

7-bit address. 8-bit address is 0x84, range 0x42 - 0x49

Definition at line 59 of file px4flow.cpp.

Referenced by px4flow::start().

◆ I2C_FLOW_ADDRESS_MAX

#define I2C_FLOW_ADDRESS_MAX   0x49

7-bit address.

Definition at line 61 of file px4flow.cpp.

Referenced by px4flow::start().

◆ I2C_FLOW_ADDRESS_MIN

#define I2C_FLOW_ADDRESS_MIN   0x42

7-bit address.

Definition at line 60 of file px4flow.cpp.

◆ PX4FLOW0_DEVICE_PATH

#define PX4FLOW0_DEVICE_PATH   "/dev/px4flow0"

Definition at line 56 of file px4flow.cpp.

◆ PX4FLOW_CONVERSION_INTERVAL_DEFAULT

#define PX4FLOW_CONVERSION_INTERVAL_DEFAULT   100000

in microseconds! = 10Hz

Definition at line 66 of file px4flow.cpp.

Referenced by PX4FLOW::Run(), and px4flow::start().

◆ PX4FLOW_CONVERSION_INTERVAL_MAX

#define PX4FLOW_CONVERSION_INTERVAL_MAX   1000000

in microseconds! = 1 Hz

Definition at line 68 of file px4flow.cpp.

Referenced by px4flow::start().

◆ PX4FLOW_CONVERSION_INTERVAL_MIN

#define PX4FLOW_CONVERSION_INTERVAL_MIN   10000

in microseconds! = 100 Hz

Definition at line 67 of file px4flow.cpp.

◆ PX4FLOW_I2C_MAX_BUS_SPEED

#define PX4FLOW_I2C_MAX_BUS_SPEED   400000

400 KHz maximum speed

Definition at line 70 of file px4flow.cpp.

◆ PX4FLOW_MAX_DISTANCE

#define PX4FLOW_MAX_DISTANCE   5.0f

Definition at line 72 of file px4flow.cpp.

Referenced by PX4FLOW::collect().

◆ PX4FLOW_MIN_DISTANCE

#define PX4FLOW_MIN_DISTANCE   0.3f

Definition at line 73 of file px4flow.cpp.

Referenced by PX4FLOW::collect().

◆ PX4FLOW_REG

#define PX4FLOW_REG   0x16

Measure Register 22.

Definition at line 64 of file px4flow.cpp.

Referenced by PX4FLOW::collect(), and PX4FLOW::measure().

Function Documentation

◆ px4flow_main()

int px4flow_main ( int  argc,
char *  argv[] 
)

Definition at line 630 of file px4flow.cpp.

References px4flow::info(), px4flow::start(), px4flow::stop(), and px4flow::usage().

Here is the call graph for this function: