diff --git a/src/config/GEPRC_F722_AIO/config.h b/src/config/GEPRC_F722_AIO/config.h index 21273b7cb5..95dfb1a0cb 100644 --- a/src/config/GEPRC_F722_AIO/config.h +++ b/src/config/GEPRC_F722_AIO/config.h @@ -103,7 +103,7 @@ #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH #define DEFAULT_DSHOT_BURST DSHOT_DMAR_ON //TODO #define MOTOR_PWM_PROTOCOL DSHOT600 -//TODO #define ALIGN_BOARD_YAW 45 +#define DEFAULT_ALIGN_BOARD_YAW 45 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC #define DEFAULT_CURRENT_METER_SCALE 100 diff --git a/src/config/IFLIGHT_BLITZ_F7_AIO/config.h b/src/config/IFLIGHT_BLITZ_F7_AIO/config.h index c8f95f6927..89b5a32564 100644 --- a/src/config/IFLIGHT_BLITZ_F7_AIO/config.h +++ b/src/config/IFLIGHT_BLITZ_F7_AIO/config.h @@ -114,7 +114,7 @@ #define USE_BARO #define BARO_I2C_INSTANCE (I2CDEV_4) #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH -//TODO #define ALIGN_BOARD_YAW 135 +#define DEFAULT_ALIGN_BOARD_YAW 135 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC #define DEFAULT_CURRENT_METER_SCALE 200 diff --git a/src/config/NEUTRONRCF7AIO/config.h b/src/config/NEUTRONRCF7AIO/config.h index 406d687295..7055b2ad34 100644 --- a/src/config/NEUTRONRCF7AIO/config.h +++ b/src/config/NEUTRONRCF7AIO/config.h @@ -116,4 +116,4 @@ #define GYRO_2_SPI_INSTANCE SPI2 #define GYRO_2_ALIGN CW180_DEG #define GYRO_2_ALIGN_YAW 1800 -//TODO #define ALIGN_BOARD_YAW -45 +#define DEFAULT_ALIGN_BOARD_YAW -45 diff --git a/src/config/SKYSTARSF7HD/config.h b/src/config/SKYSTARSF7HD/config.h index fd3e1adbfd..c8212e616b 100644 --- a/src/config/SKYSTARSF7HD/config.h +++ b/src/config/SKYSTARSF7HD/config.h @@ -102,8 +102,8 @@ //TODO #define DSHOT_IDLE_VALUE 450 #define DEFAULT_DSHOT_BURST DSHOT_DMAR_ON //TODO #define MOTOR_PWM_PROTOCOL DSHOT600 -//TODO #define ALIGN_BOARD_ROLL 180 -//TODO #define ALIGN_BOARD_YAW 90 +#define DEFAULT_ALIGN_BOARD_ROLL 180 +#define DEFAULT_ALIGN_BOARD_YAW 90 #define PINIO1_BOX 0 #define PINIO1_CONFIG 129 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC diff --git a/src/config/TMOTORF4SX1280/config.h b/src/config/TMOTORF4SX1280/config.h index 6eeb19c6d6..482e07b3b2 100644 --- a/src/config/TMOTORF4SX1280/config.h +++ b/src/config/TMOTORF4SX1280/config.h @@ -93,7 +93,7 @@ #define RX_SPI_LED_INVERTED #define DEFAULT_DSHOT_BURST DSHOT_DMAR_AUTO #define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_OFF -//TODO #define ALIGN_BOARD_YAW 45 +#define DEFAULT_ALIGN_BOARD_YAW 45 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC #define DEFAULT_CURRENT_METER_SCALE 250 diff --git a/src/config/TMOTORF7_AIO/config.h b/src/config/TMOTORF7_AIO/config.h index f7cc61ee39..4ce0bf0ed4 100644 --- a/src/config/TMOTORF7_AIO/config.h +++ b/src/config/TMOTORF7_AIO/config.h @@ -105,5 +105,5 @@ #define FLASH_SPI_INSTANCE SPI3 #define USE_SPI_GYRO #define GYRO_1_SPI_INSTANCE SPI1 -//TODO #define ALIGN_BOARD_YAW -45 +#define DEFAULT_ALIGN_BOARD_YAW -45 #define PINIO1_BOX 40 diff --git a/src/config/TRANSTECF411HD/config.h b/src/config/TRANSTECF411HD/config.h index 83245133bc..27fc4d96e3 100644 --- a/src/config/TRANSTECF411HD/config.h +++ b/src/config/TRANSTECF411HD/config.h @@ -71,7 +71,7 @@ #define DEFAULT_DSHOT_BURST DSHOT_DMAR_ON //TODO #define MOTOR_PWM_PROTOCOL DSHOT300 //TODO #define MOTOR_POLES 12 -//TODO #define ALIGN_BOARD_ROLL 180 +#define DEFAULT_ALIGN_BOARD_ROLL 180 //TODO #define VBAT_MAX_CELL_VOLTAGE 435 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_NONE #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC diff --git a/src/main/sensors/boardalignment.c b/src/main/sensors/boardalignment.c index 7eabe3cea6..3711f2a602 100644 --- a/src/main/sensors/boardalignment.c +++ b/src/main/sensors/boardalignment.c @@ -40,8 +40,23 @@ static bool standardBoardAlignment = true; // board orientation correction static fp_rotationMatrix_t boardRotation; -// no template required since defaults are zero -PG_REGISTER(boardAlignment_t, boardAlignment, PG_BOARD_ALIGNMENT, 0); +PG_REGISTER_WITH_RESET_TEMPLATE(boardAlignment_t, boardAlignment, PG_BOARD_ALIGNMENT, 1); + +#ifndef DEFAULT_ALIGN_BOARD_ROLL +#define DEFAULT_ALIGN_BOARD_ROLL 0 +#endif +#ifndef DEFAULT_ALIGN_BOARD_PITCH +#define DEFAULT_ALIGN_BOARD_PITCH 0 +#endif +#ifndef DEFAULT_ALIGN_BOARD_YAW +#define DEFAULT_ALIGN_BOARD_YAW 0 +#endif + +PG_RESET_TEMPLATE(boardAlignment_t, boardAlignment, + .rollDegrees = DEFAULT_ALIGN_BOARD_ROLL, + .pitchDegrees = DEFAULT_ALIGN_BOARD_PITCH, + .yawDegrees = DEFAULT_ALIGN_BOARD_YAW, +); static bool isBoardAlignmentStandard(const boardAlignment_t *boardAlignment) {