This is the base class for redundant sensors with an independent ORB topic per each redundancy channel.
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.
|
|
virtual const char * | get_name () const =0 |
| Returns ASCII name of the bridge.
|
|
virtual int | init ()=0 |
| Starts the bridge. More...
|
|
void | setSibling (IUavcanSensorBridge * sibling) |
|
const IUavcanSensorBridge * | getSibling () const |
|
| CDev (const char *name, const char *devname) |
| Constructor. More...
|
|
virtual int | init () |
|
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...
|
|
|
| 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.
|
|
This is the base class for redundant sensors with an independent ORB topic per each redundancy channel.
For example, sensor_mag0, sensor_mag1, etc.