48 #include <px4_workqueue.h> 55 #include <uORB/topics/pwm_input.h> 56 #include <uORB/topics/distance_sensor.h> 63 LidarLitePWM(
const char *path, uint8_t rotation = distance_sensor_s::ROTATION_DOWNWARD_FACING);
69 int ioctl(
device::file_t *filp,
int cmd,
unsigned long arg)
override;
71 void start()
override;
97 const char *get_dev_name()
override;
101 int measure()
override;
103 int collect()
override;
105 int reset_sensor()
override;
107 void task_main_trampoline(
int argc,
char *argv[]);
112 ringbuffer::RingBuffer *_reports;
114 int _orb_class_instance;
116 struct pwm_input_s _pwm;
118 struct distance_sensor_s _range;
A flexible ringbuffer class.
Definition: LidarLite.h:57
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
Definition: uORB.h:134
void print_registers() override
print registers to console
Definition: LidarLitePWM.cpp:130
void print_info() override
Diagnostics - print some basic information about the driver.
Definition: LidarLitePWM.cpp:120
Definition: LidarLitePWM.h:60
API for the uORB lightweight object broker.
Definition: cdev_platform.hpp:20
Abstract class for any character device.
Definition: CDev.hpp:58
Definition: video_device.h:50
ssize_t read(device::file_t *filp, char *buffer, size_t buflen) override
Perform a read from the device.
Definition: LidarLitePWM.cpp:204
static void cycle_trampoline(void *arg)
Static trampoline from the workq context; because we don't have a generic workq wrapper yet...
Definition: LidarLitePWM.cpp:146
Performance measuring tools.