2016-09-24 07:42:22 -03:00
|
|
|
#pragma once
|
|
|
|
|
2025-02-14 00:51:38 -04:00
|
|
|
#include <hwdef.h>
|
|
|
|
|
2016-09-24 07:42:22 -03:00
|
|
|
#define HAL_BOARD_NAME "Linux"
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_1000
|
2019-09-22 19:51:30 -03:00
|
|
|
#define HAL_MEM_CLASS HAL_MEM_CLASS_1000
|
2016-09-24 07:42:22 -03:00
|
|
|
#define HAL_OS_SOCKETS 1
|
|
|
|
#define HAL_STORAGE_SIZE 16384
|
|
|
|
#define HAL_STORAGE_SIZE_AVAILABLE HAL_STORAGE_SIZE
|
|
|
|
|
2025-02-26 00:19:13 -04:00
|
|
|
// FIXME: use of this define should go away:
|
|
|
|
#ifndef CONFIG_HAL_BOARD_SUBTYPE
|
|
|
|
#define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_LINUX_NONE
|
|
|
|
#endif // CONFIG_HAL_BOARD_SUBTYPE
|
|
|
|
|
2024-10-06 00:01:43 -03:00
|
|
|
#ifndef HAL_PROGRAM_SIZE_LIMIT_KB
|
|
|
|
#define HAL_PROGRAM_SIZE_LIMIT_KB 4096
|
|
|
|
#endif // HAL_PROGRAM_SIZE_LIMIT_KB
|
2024-07-31 20:32:24 -03:00
|
|
|
|
2016-09-24 07:42:22 -03:00
|
|
|
#ifndef HAL_OPTFLOW_PX4FLOW_I2C_ADDRESS
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_OPTFLOW_PX4FLOW_I2C_ADDRESS 0x42
|
2016-09-24 07:42:22 -03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_OPTFLOW_PX4FLOW_I2C_BUS
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_OPTFLOW_PX4FLOW_I2C_BUS 1
|
2016-09-24 07:42:22 -03:00
|
|
|
#endif
|
|
|
|
|
2017-03-20 14:57:14 -03:00
|
|
|
#define HAL_HAVE_BOARD_VOLTAGE 1
|
2018-06-29 14:55:45 -03:00
|
|
|
#define HAL_HAVE_SAFETY_SWITCH 0
|
2017-10-20 17:08:09 -03:00
|
|
|
|
2018-11-10 17:41:29 -04:00
|
|
|
|
|
|
|
#ifndef HAL_HAVE_SERVO_VOLTAGE
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_HAVE_SERVO_VOLTAGE 0
|
2018-11-10 17:41:29 -04:00
|
|
|
#endif
|
|
|
|
|
2018-03-28 02:48:54 -03:00
|
|
|
#ifndef AP_STATEDIR
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_STATE_DIRECTORY "/var/lib/ardupilot"
|
2018-03-28 02:48:54 -03:00
|
|
|
#else
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_STATE_DIRECTORY AP_STATEDIR
|
2018-03-28 02:48:54 -03:00
|
|
|
#endif
|
|
|
|
|
2017-10-20 17:08:09 -03:00
|
|
|
#ifndef HAL_BOARD_LOG_DIRECTORY
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_LOG_DIRECTORY HAL_BOARD_STATE_DIRECTORY "/logs"
|
2017-10-20 17:08:09 -03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_BOARD_TERRAIN_DIRECTORY
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_TERRAIN_DIRECTORY HAL_BOARD_STATE_DIRECTORY "/terrain"
|
2017-10-20 17:08:09 -03:00
|
|
|
#endif
|
2017-10-30 03:58:06 -03:00
|
|
|
|
|
|
|
#ifndef HAL_BOARD_STORAGE_DIRECTORY
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_STORAGE_DIRECTORY HAL_BOARD_STATE_DIRECTORY
|
2017-10-30 03:58:06 -03:00
|
|
|
#endif
|
2017-12-28 04:56:29 -04:00
|
|
|
|
|
|
|
#ifndef HAL_BOARD_CAN_IFACE_NAME
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_BOARD_CAN_IFACE_NAME "can0"
|
2017-12-28 04:56:29 -04:00
|
|
|
#endif
|
2018-06-21 00:08:58 -03:00
|
|
|
|
|
|
|
// if bus masks are not setup above then use these defaults
|
|
|
|
#ifndef HAL_LINUX_I2C_BUS_MASK
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_LINUX_I2C_BUS_MASK 0xFFFF
|
2018-06-21 00:08:58 -03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_I2C_INTERNAL_BUS_MASK
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_LINUX_I2C_INTERNAL_BUS_MASK 0xFFFF
|
2018-06-21 00:08:58 -03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_I2C_EXTERNAL_BUS_MASK
|
2018-10-02 13:33:32 -03:00
|
|
|
#define HAL_LINUX_I2C_EXTERNAL_BUS_MASK 0xFFFF
|
2018-06-21 00:08:58 -03:00
|
|
|
#endif
|
2018-08-07 03:37:37 -03:00
|
|
|
|
2023-03-09 18:43:42 -04:00
|
|
|
// only include if compiling C++ code
|
|
|
|
#ifdef __cplusplus
|
2018-08-07 03:37:37 -03:00
|
|
|
#include <AP_HAL_Linux/Semaphores.h>
|
|
|
|
#define HAL_Semaphore Linux::Semaphore
|
2023-12-29 17:29:46 -04:00
|
|
|
#define HAL_BinarySemaphore Linux::BinarySemaphore
|
2023-03-09 18:43:42 -04:00
|
|
|
#endif
|
2021-05-04 08:12:23 -03:00
|
|
|
|
|
|
|
#ifndef HAL_HAVE_HARDWARE_DOUBLE
|
|
|
|
#define HAL_HAVE_HARDWARE_DOUBLE 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_WITH_EKF_DOUBLE
|
|
|
|
#define HAL_WITH_EKF_DOUBLE HAL_HAVE_HARDWARE_DOUBLE
|
|
|
|
#endif
|
2022-06-27 04:07:48 -03:00
|
|
|
|
|
|
|
#ifndef HAL_GYROFFT_ENABLED
|
|
|
|
#define HAL_GYROFFT_ENABLED 0
|
|
|
|
#endif
|
2023-01-08 19:00:09 -04:00
|
|
|
|
2023-04-07 03:39:17 -03:00
|
|
|
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NONE
|
2023-01-08 19:00:09 -04:00
|
|
|
// we can use virtual CAN on native builds
|
|
|
|
#define HAL_LINUX_USE_VIRTUAL_CAN 1
|
|
|
|
#else
|
|
|
|
#define HAL_LINUX_USE_VIRTUAL_CAN 0
|
|
|
|
#endif
|
2024-06-22 16:00:44 -03:00
|
|
|
|
2024-12-31 12:32:44 -04:00
|
|
|
#ifndef HAL_OS_POSIX_IO
|
|
|
|
#define HAL_OS_POSIX_IO 1
|
|
|
|
#endif
|
|
|
|
|
2024-06-22 16:00:44 -03:00
|
|
|
#ifndef HAL_INS_RATE_LOOP
|
|
|
|
#define HAL_INS_RATE_LOOP 1
|
|
|
|
#endif
|
2025-02-14 10:12:13 -04:00
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_AERO_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_AERO_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_BBB_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_BBB_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_BEBOP_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_BEBOP_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_DISCO_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_DISCO_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_EDGE_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_EDGE_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_NAVIGATOR_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_NAVIGATOR_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_NAVIO_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_NAVIO_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_NAVIO2_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_NAVIO2_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_RPI_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_RPI_ENABLED 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HAL_LINUX_GPIO_SYSFS_ENABLED
|
|
|
|
#define HAL_LINUX_GPIO_SYSFS_ENABLED 0
|
|
|
|
#endif
|