|
|
| UavcanBarometerBridge (uavcan::INode &node) |
| |
|
const char * | get_name () const override |
| | Returns ASCII name of the bridge.
|
| |
| int | init () override |
| | Starts the bridge. More...
|
| |
|
unsigned | get_num_redundant_channels () const override |
| | Returns number of active redundancy channels.
|
| |
|
void | print_status () const override |
| | Prints current status in a human readable format to stdout.
|
| |
|
void | setSibling (IUavcanSensorBridge * sibling) |
| |
|
const IUavcanSensorBridge * | getSibling () const |
| |
| | CDev (const char *name, const char *devname) |
| | Constructor. More...
|
| |
| virtual int | ioctl (file_t *filep, int cmd, unsigned long arg) |
| | Perform an ioctl operation on the device. More...
|
| |
| virtual | ~Device ()=default |
| | Destructor. More...
|
| |
| virtual int | read (unsigned address, void *data, unsigned count) |
| | Read directly from the device. More...
|
| |
| virtual int | write (unsigned address, void *data, unsigned count) |
| | Write directly to the device. More...
|
| |
| virtual int | ioctl (unsigned operation, unsigned &arg) |
| | Perform a device-specific operation. More...
|
| |
| uint8_t | get_device_bus () const |
| | Return the bus ID the device is connected to. More...
|
| |
|
uint32_t | get_device_id () const |
| |
| DeviceBusType | get_device_bus_type () const |
| | Return the bus type the device is connected to. More...
|
| |
| uint8_t | get_device_address () const |
| | Return the bus address of the device. More...
|
| |
|
void | set_device_address (int address) |
| |
| void | set_device_type (uint8_t devtype) |
| | Set the device type. More...
|
| |
|
virtual bool | external () |
| |
| | CDev (const char *devname) |
| | Constructor. More...
|
| |
| virtual int | open (file_t *filep) |
| | Handle an open of the device. More...
|
| |
| virtual int | close (file_t *filep) |
| | Handle a close of the device. More...
|
| |
| virtual ssize_t | read (file_t *filep, char *buffer, size_t buflen) |
| | Perform a read from the device. More...
|
| |
| virtual ssize_t | write (file_t *filep, const char *buffer, size_t buflen) |
| | Perform a write to the device. More...
|
| |
| virtual off_t | seek (file_t *filep, off_t offset, int whence) |
| | Perform a logical seek operation on the device. More...
|
| |
| virtual int | poll (file_t *filep, px4_pollfd_struct_t *fds, bool setup) |
| | Perform a poll setup/teardown operation. More...
|
| |
| const char * | get_devname () const |
| | Get the device name. More...
|
| |
|
| enum | DeviceBusType { DeviceBusType_UNKNOWN = 0,
DeviceBusType_I2C = 1,
DeviceBusType_SPI = 2,
DeviceBusType_UAVCAN = 3
} |
| | Device bus types for DEVID.
|
| |
| static void | make_all (uavcan::INode &node, List< IUavcanSensorBridge *> &list) |
| | Sensor bridge factory. More...
|
| |
|
static const char * | get_device_bus_string (DeviceBusType bus) |
| |
| static int | device_id_print_buffer (char *buffer, int length, uint32_t id) |
| | Print decoded device id string to a buffer. More...
|
| |
|
| UavcanCDevSensorBridgeBase (const char *name, const char *devname, const char *class_devname, const orb_id_t orb_topic_sensor, const unsigned max_channels=DEFAULT_MAX_CHANNELS) |
| |
| void | publish (const int node_id, const void *report) |
| | Sends one measurement into appropriate ORB topic. More...
|
| |
|
| Device (const char *name) |
| |
|
| Device (DeviceBusType bus_type, uint8_t bus, uint8_t address, uint8_t devtype=0) |
| |
|
| Device (const Device &)=delete |
| |
|
Device & | operator= (const Device &)=delete |
| |
|
| Device (Device &&)=delete |
| |
|
Device & | operator= (Device &&)=delete |
| |
| virtual pollevent_t | poll_state (file_t *filep) |
| | Check the current state of the device for poll events from the perspective of the file. More...
|
| |
| virtual void | poll_notify (pollevent_t events) |
| | Report new poll events. More...
|
| |
| virtual void | poll_notify_one (px4_pollfd_struct_t *fds, pollevent_t events) |
| | Internal implementation of poll_notify. More...
|
| |
| virtual int | open_first (file_t *filep) |
| | Notification of the first open. More...
|
| |
| virtual int | close_last (file_t *filep) |
| | Notification of the last close. More...
|
| |
| virtual int | register_class_devname (const char *class_devname) |
| | Register a class device name, automatically adding device class instance suffix if need be. More...
|
| |
| virtual int | unregister_class_devname (const char *class_devname, unsigned class_instance) |
| | Register a class device name, automatically adding device class instance suffix if need be. More...
|
| |
| void | lock () |
| | Take the driver lock. More...
|
| |
|
void | unlock () |
| | Release the driver lock.
|
| |
|
IUavcanSensorBridge * | _sibling |
| |
|
bool | _pub_blocked {false} |
| | true if publishing should be blocked
|
| |
|
union DeviceId | _device_id |
| | device identifier information
|
| |
|
const char * | _name |
| | driver name
|
| |
|
bool | _debug_enabled {false} |
| | if true, debug messages are printed
|
| |
|
px4_sem_t | _lock |
| | lock to protect access to all class members (also for derived classes)
|
| |
|
static constexpr unsigned | DEFAULT_MAX_CHANNELS = 5 |
| |
|
static const px4_file_operations_t | fops = {} |
| | Pointer to the default cdev file operations table; useful for registering clone devices etc.
|
| |