25 #if AP_FEATURE_SAFETY_BUTTON 31 if (
state.safety_enable.get() == 0) {
44 #if AP_FEATURE_BOARD_DETECT 48 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V4) 56 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V4) 63 printf(
"FMUv4 sensor reset complete\n");
68 printf(
"Old drivers no longer supported\n");
130 hal.
console->
printf(
"%s: reg %02x read fail\n", devname, (
unsigned)regnum);
135 hal.
console->
printf(
"%s: reg %02x expected:%02x got:%02x\n", devname, (
unsigned)regnum, (
unsigned)value, (
unsigned)v);
139 #define MPUREG_WHOAMI 0x75 140 #define MPU_WHOAMI_MPU60X0 0x68 141 #define MPU_WHOAMI_MPU9250 0x71 142 #define MPU_WHOAMI_ICM20608 0xaf 143 #define MPU_WHOAMI_ICM20602 0x12 145 #define LSMREG_WHOAMI 0x0f 146 #define LSM_WHOAMI_LSM303D 0x49 158 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(HAL_CHIBIOS_ARCH_FMUV3) 168 #if !defined(CONFIG_ARCH_BOARD_PX4FMU_V3) && !defined(HAL_CHIBIOS_ARCH_FMUV3) 177 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO) 193 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V1) 198 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(HAL_CHIBIOS_ARCH_FMUV3) 227 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(HAL_CHIBIOS_ARCH_FMUV4) 231 #elif defined(HAL_CHIBIOS_ARCH_MINDPXV2) 235 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO) 239 #elif defined(CONFIG_ARCH_BOARD_AEROFC_V1) 242 #elif defined(CONFIG_ARCH_BOARD_VRBRAIN_V51) 245 #elif defined(CONFIG_ARCH_BOARD_VRBRAIN_V52) 248 #elif defined(CONFIG_ARCH_BOARD_VRBRAIN_V52E) 251 #elif defined(CONFIG_ARCH_BOARD_VRUBRAIN_V51) 254 #elif defined(CONFIG_ARCH_BOARD_VRUBRAIN_V52) 257 #elif defined(CONFIG_ARCH_BOARD_VRCORE_V10) 260 #elif defined(CONFIG_ARCH_BOARD_VRBRAIN_V54) 267 #endif // AP_FEATURE_BOARD_DETECT 274 #if AP_FEATURE_RTSCTS 276 if (hal.
uartD !=
nullptr) {
287 #if AP_FEATURE_SBUS_OUT 288 if (
state.sbus_out_rate.get() >= 1) {
289 static const struct {
304 rate = rates[i].rate;
320 #if CONFIG_HAL_BOARD == HAL_BOARD_PX4 || CONFIG_HAL_BOARD == HAL_BOARD_VRBRAIN 324 #elif CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS 332 #if AP_FEATURE_BOARD_DETECT
int printf(const char *fmt,...)
virtual void force_safety_no_wait(void)
virtual void force_safety_off(void)
void board_init_safety(void)
AP_HAL::UARTDriver * console
AP_Int8 _imu_target_temperature
virtual AP_HAL::Semaphore * get_semaphore()=0
void validate_board_type(void)
#define HAL_SEMAPHORE_BLOCK_FOREVER
virtual bool take(uint32_t timeout_ms) WARN_IF_UNUSED=0
struct AP_BoardConfig::@14 state
#define MPU_WHOAMI_MPU60X0
void board_setup_uart(void)
static enum px4_board_type px4_configured_board
int fmu_main(int, char **)
void px4_setup_safety_mask(void)
virtual void delay(uint16_t ms)=0
AP_HAL::UARTDriver * uartC
bool spi_check_register(const char *devname, uint8_t regnum, uint8_t value, uint8_t read_flag=0x80)
virtual void printf(const char *,...) FMT_PRINTF(2
void board_autodetect(void)
virtual OwnPtr< SPIDevice > get_device(const char *name)
static AP_HAL::OwnPtr< AP_HAL::Device > dev
#define MPU_WHOAMI_MPU9250
#define MPU_WHOAMI_ICM20608
static bool px4_start_driver(main_fn_t main_function, const char *name, const char *arguments)
virtual bool enable_px4io_sbus_out(uint16_t rate_hz)
AP_HAL::UARTDriver * uartD
virtual enum safety_state safety_switch_state(void)
void board_setup_sbus(void)
virtual void set_flow_control(enum flow_control flow_control_setting)
void px4_setup_peripherals(void)
AP_HAL::SPIDeviceManager * spi
#define MPU_WHOAMI_ICM20602
void set_read_flag(uint8_t flag)
void board_setup_drivers(void)
bool read_registers(uint8_t first_reg, uint8_t *recv, uint32_t recv_len)
AP_HAL::Scheduler * scheduler
#define LSM_WHOAMI_LSM303D
static void sensor_config_error(const char *reason)