46 #include <px4_platform_common/px4_config.h> 47 #include <px4_platform_common/defines.h> 48 #include <px4_platform_common/module.h> 49 #include <px4_platform_common/tasks.h> 50 #include <px4_platform_common/workqueue.h> 51 #include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp> 59 #define PX4FMU_DEVICE_PATH "/dev/px4fmu" 62 #define GPIO_TRIG_AVX (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTD|GPIO_PIN14) #define PARAM_INVALID
Handle returned when a parameter cannot be found.
hrt_abstime _last_exposure_time
int start()
Start the task.
static int gpio_interrupt_routine(int irq, void *context, void *arg)
void stop()
Stop the task.
void capture_callback(uint32_t chan_index, hrt_abstime edge_time, uint32_t edge_state, uint32_t overflow)
ringbuffer::RingBuffer * _trig_buffer
hrt_abstime _last_trig_begin_time
int32_t _camera_capture_edge
uORB::Publication< camera_trigger_s > _trigger_pub
void reset_statistics(bool reset_seq)
static struct work_s _work_publisher
High-resolution timer with callouts and timekeeping.
Global flash based parameter store.
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
uint32_t _capture_overflows
struct CameraCapture::_trig_s _trigger
static void capture_trampoline(void *context, uint32_t chan_index, hrt_abstime edge_time, uint32_t edge_state, uint32_t overflow)
CameraCapture()
Constructor.
__BEGIN_DECLS typedef uint64_t hrt_abstime
Absolute time, in microsecond units.
param_t _p_camera_capture_edge
int32_t _camera_capture_mode
hrt_abstime _last_trig_time
void set_capture_control(bool enabled)
~CameraCapture()
Destructor, also kills task.
uORB::PublicationQueued< vehicle_command_ack_s > _command_ack_pub
static void publish_trigger_trampoline(void *arg)
param_t _p_camera_capture_mode
uORB::Subscription _command_sub
uint32_t param_t
Parameter handle.