diff --git a/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_quat.makefile b/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_quat.makefile
deleted file mode 100644
index d8e29177bdb..00000000000
--- a/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_quat.makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-# for fixedwings disable mag by default
-USE_MAGNETOMETER ?= 0
-
-
-include $(CFG_SHARED)/ahrs_float_cmpl_quat.makefile
-
-# add some fixedwing specific flags
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += -DAHRS_GRAVITY_UPDATE_COORDINATED_TURN
-ifneq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
-$(TARGET).CFLAGS += -DAHRS_USE_GPS_HEADING
-endif
-endif
-
-#
-# Simple simulation of the AHRS result
-#
-ahrssim_CFLAGS = -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
-ahrssim_CFLAGS += -DUSE_AHRS
-
-ahrssim_srcs = $(SRC_SUBSYSTEMS)/ahrs.c
-ahrssim_srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
-
-sim.CFLAGS += $(ahrssim_CFLAGS)
-sim.srcs += $(ahrssim_srcs)
diff --git a/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_rmat.makefile b/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_rmat.makefile
deleted file mode 100644
index d24e5218146..00000000000
--- a/conf/firmwares/subsystems/fixedwing/ahrs_float_cmpl_rmat.makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-# for fixedwings disable mag by default
-USE_MAGNETOMETER ?= 0
-
-
-include $(CFG_SHARED)/ahrs_float_cmpl_rmat.makefile
-
-# add some fixedwing specific flags
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += -DAHRS_GRAVITY_UPDATE_COORDINATED_TURN
-ifneq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
-$(TARGET).CFLAGS += -DAHRS_USE_GPS_HEADING
-endif
-endif
-
-#
-# Simple simulation of the AHRS result
-#
-ahrssim_CFLAGS = -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
-ahrssim_CFLAGS += -DUSE_AHRS
-
-ahrssim_srcs = $(SRC_SUBSYSTEMS)/ahrs.c
-ahrssim_srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
-
-sim.CFLAGS += $(ahrssim_CFLAGS)
-sim.srcs += $(ahrssim_srcs)
diff --git a/conf/firmwares/subsystems/fixedwing/ahrs_infrared.makefile b/conf/firmwares/subsystems/fixedwing/ahrs_infrared.makefile
deleted file mode 100644
index d7f4d2bb819..00000000000
--- a/conf/firmwares/subsystems/fixedwing/ahrs_infrared.makefile
+++ /dev/null
@@ -1 +0,0 @@
-$(error The ahrs_infrared subsystem has converted to a module, please remove it and add to your module section.)
diff --git a/conf/firmwares/subsystems/fixedwing/ahrs_int_cmpl_quat.makefile b/conf/firmwares/subsystems/fixedwing/ahrs_int_cmpl_quat.makefile
deleted file mode 100644
index d354c659f8f..00000000000
--- a/conf/firmwares/subsystems/fixedwing/ahrs_int_cmpl_quat.makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-# for fixedwings disable mag by default
-USE_MAGNETOMETER ?= 0
-
-
-include $(CFG_SHARED)/ahrs_int_cmpl_quat.makefile
-
-# add some fixedwing specific flags
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += -DAHRS_GRAVITY_UPDATE_COORDINATED_TURN
-ifneq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
-$(TARGET).CFLAGS += -DAHRS_USE_GPS_HEADING
-endif
-endif
-
-#
-# Simple simulation of the AHRS result
-#
-ahrssim_CFLAGS = -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
-ahrssim_CFLAGS += -DUSE_AHRS
-
-ahrssim_srcs = $(SRC_SUBSYSTEMS)/ahrs.c
-ahrssim_srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
-
-sim.CFLAGS += $(ahrssim_CFLAGS)
-sim.srcs += $(ahrssim_srcs)
-
diff --git a/conf/firmwares/subsystems/rotorcraft/ahrs_float_invariant.makefile b/conf/firmwares/subsystems/rotorcraft/ahrs_float_invariant.makefile
deleted file mode 100644
index ce4cadb62ae..00000000000
--- a/conf/firmwares/subsystems/rotorcraft/ahrs_float_invariant.makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-USE_MAGNETOMETER ?= 1
-AHRS_ALIGNER_LED ?= none
-
-AHRS_FINV_CFLAGS = -DUSE_AHRS
-AHRS_FINV_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_FINV_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_FINV_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), fcq float_cmpl_quat))
-# this is the secondary AHRS
-AHRS_FINV_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
-AHRS_FINV_CFLAGS += -DSECONDARY_AHRS=ahrs_float_invariant
-else
-# this is the primary AHRS
-AHRS_FINV_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
-AHRS_FINV_CFLAGS += -DPRIMARY_AHRS=ahrs_float_invariant
-endif
-else
-# plain old single AHRS usage
-AHRS_FINV_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
-endif
-
-AHRS_FINV_SRCS += subsystems/ahrs.c
-AHRS_FINV_SRCS += subsystems/ahrs/ahrs_float_invariant.c
-AHRS_FINV_SRCS += subsystems/ahrs/ahrs_float_invariant_wrapper.c
-AHRS_FINV_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_FINV_CFLAGS)
-$(TARGET).srcs += $(AHRS_FINV_SRCS)
-endif
diff --git a/conf/firmwares/subsystems/shared/ahrs_float_cmpl_quat.makefile b/conf/firmwares/subsystems/shared/ahrs_float_cmpl_quat.makefile
deleted file mode 100644
index a98395b1079..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_float_cmpl_quat.makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-USE_MAGNETOMETER ?= 1
-AHRS_ALIGNER_LED ?= none
-
-AHRS_FC_CFLAGS = -DUSE_AHRS
-AHRS_FC_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_FC_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_FC_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), fcq float_cmpl_quat))
-# this is the secondary AHRS
-AHRS_FC_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-AHRS_FC_CFLAGS += -DSECONDARY_AHRS=ahrs_fc
-else
-# this is the primary AHRS
-AHRS_FC_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-AHRS_FC_CFLAGS += -DPRIMARY_AHRS=ahrs_fc
-endif
-else
-# plain old single AHRS usage
-AHRS_FC_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-endif
-
-AHRS_FC_CFLAGS += -DAHRS_PROPAGATE_QUAT
-AHRS_FC_SRCS += subsystems/ahrs.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_float_cmpl.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_float_cmpl_wrapper.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_FC_CFLAGS)
-$(TARGET).srcs += $(AHRS_FC_SRCS)
-endif
diff --git a/conf/firmwares/subsystems/shared/ahrs_float_cmpl_rmat.makefile b/conf/firmwares/subsystems/shared/ahrs_float_cmpl_rmat.makefile
deleted file mode 100644
index 3b742585f15..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_float_cmpl_rmat.makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-USE_MAGNETOMETER ?= 1
-
-AHRS_FC_CFLAGS = -DUSE_AHRS
-AHRS_FC_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_FC_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_FC_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), fcr float_cmpl_rmat))
-# this is the secondary AHRS
-AHRS_FC_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-AHRS_FC_CFLAGS += -DSECONDARY_AHRS=ahrs_fc
-else
-# this is the primary AHRS
-AHRS_FC_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-AHRS_FC_CFLAGS += -DPRIMARY_AHRS=ahrs_fc
-endif
-else
-# plain old single AHRS usage
-AHRS_FC_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
-endif
-
-AHRS_FC_CFLAGS += -DAHRS_PROPAGATE_RMAT
-AHRS_FC_SRCS += subsystems/ahrs.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_float_cmpl.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_float_cmpl_wrapper.c
-AHRS_FC_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_FC_CFLAGS)
-$(TARGET).srcs += $(AHRS_FC_SRCS)
-endif
diff --git a/conf/firmwares/subsystems/shared/ahrs_float_dcm.makefile b/conf/firmwares/subsystems/shared/ahrs_float_dcm.makefile
deleted file mode 100644
index 9629a3ae6f4..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_float_dcm.makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-
-# attitude estimation for fixedwings via dcm algorithm
-
-USE_MAGNETOMETER ?= 0
-AHRS_ALIGNER_LED ?= none
-
-AHRS_DCM_CFLAGS = -DUSE_AHRS
-AHRS_DCM_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_DCM_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_DCM_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), dcm float_dcm))
-# this is the secondary AHRS
-AHRS_DCM_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
-AHRS_DCM_CFLAGS += -DSECONDARY_AHRS=ahrs_dcm
-else
-# this is the primary AHRS
-AHRS_DCM_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
-AHRS_DCM_CFLAGS += -DPRIMARY_AHRS=ahrs_dcm
-endif
-else
-# plain old single AHRS usage
-AHRS_DCM_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
-endif
-
-AHRS_DCM_SRCS += $(SRC_SUBSYSTEMS)/ahrs.c
-AHRS_DCM_SRCS += $(SRC_SUBSYSTEMS)/ahrs/ahrs_aligner.c
-AHRS_DCM_SRCS += $(SRC_SUBSYSTEMS)/ahrs/ahrs_float_dcm.c
-AHRS_DCM_SRCS += $(SRC_SUBSYSTEMS)/ahrs/ahrs_float_dcm_wrapper.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_DCM_CFLAGS)
-$(TARGET).srcs += $(AHRS_DCM_SRCS)
-endif
-
-
-#
-# Simple simulation of the AHRS result
-#
-ahrssim_CFLAGS = -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
-ahrssim_CFLAGS += -DUSE_AHRS
-
-ahrssim_srcs = $(SRC_SUBSYSTEMS)/ahrs.c
-ahrssim_srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
-
-sim.CFLAGS += $(ahrssim_CFLAGS)
-sim.srcs += $(ahrssim_srcs)
-
diff --git a/conf/firmwares/subsystems/shared/ahrs_float_mlkf.makefile b/conf/firmwares/subsystems/shared/ahrs_float_mlkf.makefile
deleted file mode 100644
index b55c467a5f3..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_float_mlkf.makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-#
-
-USE_MAGNETOMETER ?= 1
-AHRS_ALIGNER_LED ?= none
-
-AHRS_MLKF_CFLAGS = -DUSE_AHRS
-AHRS_MLKF_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_MLKF_CFLAGS += -DUSE_MAGNETOMETER
-else
-$(error ahrs_float_mlkf needs a magnetometer)
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_MLKF_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), mlkf))
-# this is the secondary AHRS
-AHRS_MLKF_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
-AHRS_MLKF_CFLAGS += -DSECONDARY_AHRS=ahrs_mlkf
-else
-# this is the primary AHRS
-AHRS_MLKF_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
-AHRS_MLKF_CFLAGS += -DPRIMARY_AHRS=ahrs_mlkf
-endif
-else
-# plain old single AHRS usage
-AHRS_MLKF_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
-endif
-
-AHRS_MLKF_SRCS += subsystems/ahrs.c
-AHRS_MLKF_SRCS += subsystems/ahrs/ahrs_float_mlkf.c
-AHRS_MLKF_SRCS += subsystems/ahrs/ahrs_float_mlkf_wrapper.c
-AHRS_MLKF_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_MLKF_CFLAGS)
-$(TARGET).srcs += $(AHRS_MLKF_SRCS)
-endif
diff --git a/conf/firmwares/subsystems/shared/ahrs_gx3.makefile b/conf/firmwares/subsystems/shared/ahrs_gx3.makefile
deleted file mode 100644
index 6223239c8c2..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_gx3.makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# AHRS subsystem for GX3
-# 2013, Utah State University, http://aggieair.usu.edu/
-
-GX3_PORT ?= UART3
-GX3_BAUD ?= B921600
-
-AHRS_CFLAGS = -DUSE_AHRS
-AHRS_CFLAGS += -DUSE_IMU
-
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_gx3.h\"
-AHRS_SRCS += $(SRC_SUBSYSTEMS)/ahrs.c
-AHRS_SRCS += $(SRC_SUBSYSTEMS)/imu.c
-AHRS_SRCS += subsystems/ahrs/ahrs_gx3.c
-
-GX3_PORT_LOWER=$(shell echo $(GX3_PORT) | tr A-Z a-z)
-AHRS_CFLAGS += -DUSE_$(GX3_PORT) -D$(GX3_PORT)_BAUD=$(GX3_BAUD)
-AHRS_CFLAGS += -DGX3_PORT=$(GX3_PORT_LOWER)
-
-ap.CFLAGS += $(AHRS_CFLAGS)
-ap.srcs += $(AHRS_SRCS)
diff --git a/conf/firmwares/subsystems/shared/ahrs_int_cmpl_euler.makefile b/conf/firmwares/subsystems/shared/ahrs_int_cmpl_euler.makefile
deleted file mode 100644
index 8c3fcc6b380..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_int_cmpl_euler.makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# Fixed point complementary filter using euler angles for attitude estimation
-#
-
-USE_MAGNETOMETER ?= 1
-AHRS_ALIGNER_LED ?= none
-
-AHRS_ICE_CFLAGS = -DUSE_AHRS
-AHRS_ICE_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_ICE_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_ICE_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS), ice int_cmpl_euler))
-# this is the secondary AHRS
-AHRS_ICE_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
-AHRS_ICE_CFLAGS += -DSECONDARY_AHRS=ahrs_ice
-else
-# this is the primary AHRS
-AHRS_ICE_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
-AHRS_ICE_CFLAGS += -DPRIMARY_AHRS=ahrs_ice
-endif
-else
-# plain old single AHRS usage
-AHRS_ICE_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
-endif
-
-AHRS_ICE_SRCS += subsystems/ahrs.c
-AHRS_ICE_SRCS += subsystems/ahrs/ahrs_int_cmpl_euler.c
-AHRS_ICE_SRCS += subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.c
-AHRS_ICE_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_ICE_CFLAGS)
-$(TARGET).srcs += $(AHRS_ICE_SRCS)
-endif
-
-
-#
-# Simple simulation of the AHRS result
-#
-ahrssim_CFLAGS = -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
-ahrssim_CFLAGS += -DUSE_AHRS
-
-ahrssim_srcs = $(SRC_SUBSYSTEMS)/ahrs.c
-ahrssim_srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
-
-sim.CFLAGS += $(ahrssim_CFLAGS)
-sim.srcs += $(ahrssim_srcs)
diff --git a/conf/firmwares/subsystems/shared/ahrs_int_cmpl_quat.makefile b/conf/firmwares/subsystems/shared/ahrs_int_cmpl_quat.makefile
deleted file mode 100644
index 3e4a1442fda..00000000000
--- a/conf/firmwares/subsystems/shared/ahrs_int_cmpl_quat.makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# Hey Emacs, this is a -*- makefile -*-
-#
-# AHRS_H_X
-# AHRS_H_Y
-# AHRS_H_Z
-#
-
-USE_MAGNETOMETER ?= 1
-AHRS_ALIGNER_LED ?= none
-
-AHRS_ICQ_CFLAGS = -DUSE_AHRS
-AHRS_ICQ_CFLAGS += -DUSE_AHRS_ALIGNER
-
-ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))
- AHRS_ICQ_CFLAGS += -DUSE_MAGNETOMETER
-endif
-
-ifneq ($(AHRS_ALIGNER_LED),none)
- AHRS_ICQ_CFLAGS += -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
-endif
-
-ifdef SECONDARY_AHRS
-ifneq (,$(findstring $(SECONDARY_AHRS),ahrs_icq int_cmpl_quat))
-# this is the secondary AHRS
-AHRS_ICQ_CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
-AHRS_ICQ_CFLAGS += -DSECONDARY_AHRS=ahrs_icq
-else
-# this is the primary AHRS
-AHRS_ICQ_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
-AHRS_ICQ_CFLAGS += -DPRIMARY_AHRS=ahrs_icq
-endif
-else
-# plain old single AHRS usage
-AHRS_ICQ_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
-endif
-
-AHRS_ICQ_SRCS += subsystems/ahrs.c
-AHRS_ICQ_SRCS += subsystems/ahrs/ahrs_int_cmpl_quat.c
-AHRS_ICQ_SRCS += subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.c
-AHRS_ICQ_SRCS += subsystems/ahrs/ahrs_aligner.c
-
-# add it for all targets except sim and fbw
-ifeq (,$(findstring $(TARGET),sim fbw))
-$(TARGET).CFLAGS += $(AHRS_ICQ_CFLAGS)
-$(TARGET).srcs += $(AHRS_ICQ_SRCS)
-endif
diff --git a/conf/modules/ahrs_chimu_spi.xml b/conf/modules/ahrs_chimu_spi.xml
index 50277cc1600..f420b5d478d 100644
--- a/conf/modules/ahrs_chimu_spi.xml
+++ b/conf/modules/ahrs_chimu_spi.xml
@@ -5,6 +5,7 @@
CHimu (SPI)
+
diff --git a/conf/modules/ahrs_float_cmpl_quat.xml b/conf/modules/ahrs_float_cmpl_quat.xml
new file mode 100644
index 00000000000..108b9ed2eee
--- /dev/null
+++ b/conf/modules/ahrs_float_cmpl_quat.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+ AHRS using complementary filter in floating point.
+ Propagation is done in quaternion representation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), fcq float_cmpl_quat))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_fc
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_fc
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_float_cmpl_rmat.xml b/conf/modules/ahrs_float_cmpl_rmat.xml
new file mode 100644
index 00000000000..ee0ecccc379
--- /dev/null
+++ b/conf/modules/ahrs_float_cmpl_rmat.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+ AHRS using complementary filter in floating point.
+ Propagation is done in rotation matrix representation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), fcr float_cmpl_rmat))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_fc
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_fc
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_float_dcm.xml b/conf/modules/ahrs_float_dcm.xml
new file mode 100644
index 00000000000..b3cdda03cd0
--- /dev/null
+++ b/conf/modules/ahrs_float_dcm.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+ AHRS using DCM filter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), dcm float_dcm))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_dcm
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_dcm
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_float_invariant.xml b/conf/modules/ahrs_float_invariant.xml
new file mode 100644
index 00000000000..6da0854b827
--- /dev/null
+++ b/conf/modules/ahrs_float_invariant.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+ AHRS using invariant filter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), invariant float_invariant))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_float_invariant
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_float_invariant
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_float_mlkf.xml b/conf/modules/ahrs_float_mlkf.xml
new file mode 100644
index 00000000000..a2f23b8a6cc
--- /dev/null
+++ b/conf/modules/ahrs_float_mlkf.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ AHRS using MLKF filter.
+ Multiplicative Linearized Kalman Filter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), mlkf float_mlkf))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_mlkf
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_mlkf
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_gx3.xml b/conf/modules/ahrs_gx3.xml
new file mode 100644
index 00000000000..1b9d47e90eb
--- /dev/null
+++ b/conf/modules/ahrs_gx3.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ AHRS driver for GX3.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/conf/modules/ahrs_int_cmpl_euler.xml b/conf/modules/ahrs_int_cmpl_euler.xml
new file mode 100644
index 00000000000..58d25ffba38
--- /dev/null
+++ b/conf/modules/ahrs_int_cmpl_euler.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ AHRS using complementary filter in fixed point.
+ Propagation is done in euler angles representation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), ice int_cmpl_euler))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_ice
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_ice
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_int_cmpl_quat.xml b/conf/modules/ahrs_int_cmpl_quat.xml
new file mode 100644
index 00000000000..52553c609e6
--- /dev/null
+++ b/conf/modules/ahrs_int_cmpl_quat.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+ AHRS using complementary filter in fixed point.
+ Propagation is done in quaternion representation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ifdef SECONDARY_AHRS
+ifneq (,$(findstring $(SECONDARY_AHRS), icq int_cmpl_quat))
+# this is the secondary AHRS
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_icq
+else
+# this is the primary AHRS
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_icq
+endif
+else
+# plain old single AHRS usage
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+endif
+
+
+
diff --git a/conf/modules/ahrs_sim.xml b/conf/modules/ahrs_sim.xml
new file mode 100644
index 00000000000..cf8ce4e474b
--- /dev/null
+++ b/conf/modules/ahrs_sim.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ Simple simulation of the AHRS result.
+ Only for the simple fixedwing sim.
+
+
+
+
+
+
+
+
+
+
+