|
|
|
@ -19,6 +19,30 @@
@@ -19,6 +19,30 @@
|
|
|
|
|
#define HAL_BOARD_LINUX 7 |
|
|
|
|
#define HAL_BOARD_EMPTY 99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
CPU classes, used to select if CPU intensive algorithms should be used |
|
|
|
|
|
|
|
|
|
Note that these are only approximate, not exact CPU speeds.
|
|
|
|
|
*/ |
|
|
|
|
#define HAL_CPU_CLASS_16 1 // 16Mhz, AVR2560 or similar
|
|
|
|
|
#define HAL_CPU_CLASS_75 2 // 75Mhz, Flymaple or similar
|
|
|
|
|
#define HAL_CPU_CLASS_150 3 // 150Mhz, PX4 or similar, assumes
|
|
|
|
|
// hardware floating point. Assumes tens
|
|
|
|
|
// of kilobytes of memory available
|
|
|
|
|
#define HAL_CPU_CLASS_1000 4 // GigaHz class, SITL, BeagleBone etc,
|
|
|
|
|
// assumes megabytes of memory available
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
operating system features: |
|
|
|
|
|
|
|
|
|
HAL implementations may define the following extra feature defines |
|
|
|
|
to 1 if available |
|
|
|
|
|
|
|
|
|
HAL_OS_POSIX_IO : has posix-like filesystem IO |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
define AP_HAL_BOARD_DRIVER to the right hal type for this |
|
|
|
|
board. This prevents us having a mess of ifdefs in every example |
|
|
|
@ -28,27 +52,45 @@
@@ -28,27 +52,45 @@
|
|
|
|
|
#if CONFIG_HAL_BOARD == HAL_BOARD_APM1 |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_AVR_APM1 |
|
|
|
|
#define HAL_BOARD_NAME "APM 1" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_16 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_APM2 |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_AVR_APM2 |
|
|
|
|
#define HAL_BOARD_NAME "APM 2" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_16 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_AVR_SITL |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_AVR_SITL |
|
|
|
|
#define HAL_BOARD_NAME "SITL" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_1000 |
|
|
|
|
#define HAL_OS_POSIX_IO 1 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_FLYMAPLE |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_FLYMAPLE |
|
|
|
|
#define HAL_BOARD_NAME "FLYMAPLE" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_75 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_PX4 |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_PX4 |
|
|
|
|
#define HAL_BOARD_NAME "PX4" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_150 |
|
|
|
|
#define HAL_OS_POSIX_IO 1 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_LINUX |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_Linux |
|
|
|
|
#define HAL_BOARD_NAME "Linux" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_1000 |
|
|
|
|
#define HAL_OS_POSIX_IO 1 |
|
|
|
|
|
|
|
|
|
#elif CONFIG_HAL_BOARD == HAL_BOARD_EMPTY |
|
|
|
|
#define AP_HAL_BOARD_DRIVER AP_HAL_Empty |
|
|
|
|
#define HAL_BOARD_NAME "EMPTY" |
|
|
|
|
#define HAL_CPU_CLASS HAL_CPU_CLASS_16 |
|
|
|
|
|
|
|
|
|
#else |
|
|
|
|
#error "Unknown CONFIG_HAL_BOARD type" |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // __AP_HAL_BOARDS_H__
|
|
|
|
|
|
|
|
|
|