41 #include <px4_platform_common/px4_config.h> 42 #include <px4_platform_common/module.h> 43 #include <px4_platform_common/tasks.h> 44 #include <px4_platform_common/time.h> 50 PWMSim(
bool hil_mode_enabled);
59 static int print_usage(
const char *reason =
nullptr);
69 unsigned num_outputs,
unsigned num_control_groups_updated)
override;
static constexpr uint16_t PWM_SIM_PWM_MIN_MAGIC
static int print_usage(const char *reason=nullptr)
PWMSim(bool hil_mode_enabled)
int ioctl(device::file_t *filp, int cmd, unsigned long arg) override
Perform an ioctl operation on the device.
static constexpr uint16_t PWM_SIM_PWM_MAX_MAGIC
High-resolution timer with callouts and timekeeping.
static constexpr int MAX_ACTUATORS
static int custom_command(int argc, char *argv[])
static constexpr uint16_t PWM_SIM_DISARMED_MAGIC
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
Abstract class for any character device.
Drive scheduling based on subscribed actuator controls topics (via uORB callbacks) ...
MixingOutput _mixing_output
static int task_spawn(int argc, char *argv[])
int print_status() override
Base class for an output module.
uORB::Subscription _parameter_update_sub
bool updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS], unsigned num_outputs, unsigned num_control_groups_updated) override
Callback to update the (physical) actuator outputs in the driver.
static constexpr uint16_t PWM_SIM_FAILSAFE_MAGIC
This handles the mixing, arming/disarming and all subscriptions required for that.