Firmware
Classes | Macros | Enumerations | Functions
fmu.cpp File Reference

Driver/configurator for the PX4 FMU. More...

#include <float.h>
#include <math.h>
#include <board_config.h>
#include <drivers/device/device.h>
#include <drivers/device/i2c.h>
#include <drivers/drv_hrt.h>
#include <drivers/drv_input_capture.h>
#include <drivers/drv_mixer.h>
#include <drivers/drv_pwm_output.h>
#include <px4_config.h>
#include <px4_getopt.h>
#include <px4_log.h>
#include <px4_module.h>
#include <circuit_breaker/circuit_breaker.h>
#include <lib/cdev/CDev.hpp>
#include <lib/mixer/mixer.h>
#include <parameters/param.h>
#include <perf/perf_counter.h>
#include <pwm_limit/pwm_limit.h>
#include <uORB/uORB.h>
#include <uORB/topics/actuator_armed.h>
#include <uORB/topics/actuator_controls.h>
#include <uORB/topics/actuator_outputs.h>
#include <uORB/topics/multirotor_motor_limits.h>
#include <uORB/topics/parameter_update.h>
#include <uORB/topics/safety.h>

Classes

class  PX4FMU
 

Macros

#define SCHEDULE_INTERVAL   2000
 The schedule interval in usec (500 Hz)
 
#define LED_PATTERN_FMU_OK_TO_ARM   0x0003
 slow blinking
 
#define LED_PATTERN_FMU_REFUSE_TO_ARM   0x5555
 fast blinking
 
#define LED_PATTERN_IO_ARMED   0x5050
 long off, then double blink
 
#define LED_PATTERN_FMU_ARMED   0x5500
 long off, then quad blink
 
#define LED_PATTERN_IO_FMU_ARMED   0xffff
 constantly on
 
#define PX4FMU_DEVICE_PATH   "/dev/px4fmu"
 

Enumerations

enum  PortMode {
  PORT_MODE_UNSET = 0, PORT_FULL_GPIO, PORT_FULL_PWM, PORT_PWM8,
  PORT_PWM6, PORT_PWM5, PORT_PWM4, PORT_PWM3,
  PORT_PWM2, PORT_PWM1, PORT_PWM3CAP1, PORT_PWM4CAP1,
  PORT_PWM4CAP2, PORT_PWM5CAP1, PORT_PWM2CAP2, PORT_CAPTURE
}
 Mode given via CLI.
 

Functions

__EXPORT int fmu_main (int argc, char *argv[])
 

Detailed Description

Driver/configurator for the PX4 FMU.