The buffer was originally a part of motorDmaOutput_s structure which resided in the FAST_RAM_ZERO_INIT(DTCM RAM). The buffer was separated as a part of the motor refactor #8534, and wasn’t properly attributed.
In the future, DMA buffer coherence will be maintained by MPU and the DShot buffer will be moved there to save the scarce DTCM resource.
The formula used to compute VREF from VREFINT and VREFINTCAL was incorrect.
Also, as correct formulae for VREF and TEMPSENSOR incorporate lots of
MCU dependent variables and constants, a new driver level service was
added to convert ADC values to VREF voltage or temperature.
SPRACINGH7EXTREME - Disable requirement for custom gyro alignment and
dual gyro.
Requires custom gyro rotation code to be merged first, see:
https://github.com/betaflight/betaflight/pull/7845https://github.com/betaflight/betaflight/pull/8474
SPRACINGH7EXTREME - Add boards documentation and images.
Add SPRacingH7EXTREME to the list of official targets.
SPRACINGH7EXTREME - Add unified target config.
Note: untested as no unified target exists for STM32H750+EXST yet.
SPRACINGH7EXTREME - Use correct gyro settings now that #8474 is merged.
SPRACINGH7EXTREME - Combine target files.
SPRACINGH7EXTREME - Update unified target config.
The original implementation:
* removed the old 'alignment' variable
* did not require 'ALIGN_CUSTOM'
* always used rotation matrix
* had no additional per-pid-loop conditional logic.
Extract currently unused code into tests.
In preparation for either deleting or re-using in validateAndFixConfig.
Fix code style of some old boardalignment code.
De-duplicate vector rotation code.
Now that rotation code is exacted from `alignBoard` and now doesn't use
`boardRotation` some if it was similar to the code in `rotateV` in
maths.c
Use DECIDEGREES for mag and gyro/acc custom alignments.
Use unnamed structure instead of `values`.
Redefine what 'custom' orientation means.
Move alignment test-only code into the tests.
Ensure gyro/mag custom alignment settings follow the enum variations.
This can't be applied to ALIGN_DEFAULT because, in the case of the MAG,
the default isn't actually known until the gyro is detected, see
`compassDetect`.
OMNIBUSF4/F7 - Don't use ALIGN_DEFAULT in target.h,
common_defaults_post.h does this now.
Comment cleanup.
Delete unused alignment code left from various tests/refactoring
efforts.
* Please do not squash this commit.
Fix SITL build by avoiding structure assignment with anonymous inner
struct.
The error from the build server was as follows:
```./src/main/common/sensor_alignment.c:49:5: error: missing initializer
for field ‘yaw’ of ‘struct <anonymous>’
[-Werror=missing-field-initializers]
*sensorAlignment = CUSTOM_ALIGN_CW0_DEG;
^
In file included from ./src/main/common/sensor_alignment.c:27:0:
./src/main/common/sensor_alignment.h:80:17: note: ‘yaw’ declared here
int16_t yaw;
^
```
Cleanup sensor_alignment API.
possible. See issue #8539. On aircraft that have a valid real-time clock,
"timezone_offset_minutes" can be set appropriately to record real times in the local
timezone. It affects, for example, the real time displayed in the OSD and the log start
time recorded in Blackbox files. This commit extends that functionality to the FAT
filesystem timestamps of Blackbox files. According to Microsoft, FAT timestamps are
supposed to reflect the local time where the files were created or modified. See, for example:
https://docs.microsoft.com/en-us/windows/win32/sysinfo/file-times
Both Windows and Mac OS adhere to the local timezone convention. Linux does not; however, I
believe this is best viewed as a bug in Linux, since Microsoft owns the FAT filesystem.