From f231182cd9707fa0fcfdc40a032cbfa7124f4bf0 Mon Sep 17 00:00:00 2001 From: Julien BERAUD <julien.beraud@parrot.com> Date: Fri, 2 Oct 2015 11:29:27 +0200 Subject: [PATCH] AP_HAL: Add support for a Heater Add heater class and non-pure virtual method to Util class in order to do nothing in case the function is not implemented --- libraries/AP_HAL/AP_HAL_Boards.h | 9 +++++++++ libraries/AP_HAL/Util.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/libraries/AP_HAL/AP_HAL_Boards.h b/libraries/AP_HAL/AP_HAL_Boards.h index b4b752653..42c963824 100644 --- a/libraries/AP_HAL/AP_HAL_Boards.h +++ b/libraries/AP_HAL/AP_HAL_Boards.h @@ -89,6 +89,9 @@ #define HAL_COMPASS_HMC5843_MPU6000 7 #define HAL_COMPASS_RASPILOT 8 +// Heat Types +#define HAL_LINUX_HEAT_PWM 1 + /** CPU classes, used to select if CPU intensive algorithms should be used @@ -228,6 +231,12 @@ #define HAL_BARO_MS5607_I2C_BUS 1 #define HAL_BARO_MS5607_I2C_ADDR 0x77 #define HAL_BARO_DEFAULT HAL_BARO_MS5607 +#define HAL_UTILS_HEAT HAL_LINUX_HEAT_PWM +#define HAL_LINUX_HEAT_PWM_SYSFS_DIR "/sys/class/pwm/pwm_6" +#define HAL_LINUX_HEAT_KP 20000 +#define HAL_LINUX_HEAT_KI 6 +#define HAL_LINUX_HEAT_PERIOD_NS 125000 +#define HAL_LINUX_HEAT_TARGET_TEMP 50 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" diff --git a/libraries/AP_HAL/Util.h b/libraries/AP_HAL/Util.h index f23f2138e..de76343f3 100644 --- a/libraries/AP_HAL/Util.h +++ b/libraries/AP_HAL/Util.h @@ -81,6 +81,9 @@ public: */ virtual AP_HAL::Stream *get_shell_stream() { return NULL; } + /* Support for an imu heating system */ + virtual void set_imu_temp(float current) {} + protected: // we start soft_armed false, so that actuators don't send any // values until the vehicle code has fully started -- GitLab