Переход на C++

Очередная попытка реализовать чтение IMU как в рабочей прошивке оказалась провальной.
Поэтому было принято решение перенести проект на C++ и писать его подобно рабочей прошивке.
Реализован драйвер для I2C.
Добавлены файлы интерфейса IMU и конкретного ICM20948.
This commit is contained in:
2026-04-10 16:54:04 +03:00
parent b62fd39a67
commit d59cf7cd55
20 changed files with 732 additions and 2366 deletions

104
drone.ewp
View File

@@ -356,10 +356,8 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\Source\Drivers\CMSIS\Device\ST\STM32G4xx\Include</state>
<state>$PROJ_DIR$\Source\Drivers\CMSIS\Include</state>
<state>$PROJ_DIR$\Source\Drivers\HAL_M</state>
<state>$PROJ_DIR$\Source\Core\Inc</state>
<state>$PROJ_DIR$\Source\Drivers</state>
<state>$PROJ_DIR$\Source\Core</state>
<state>$PROJ_DIR$\Source\BSP\Inc</state>
<state>$PROJ_DIR$\Source\Control\Inc</state>
<state>$PROJ_DIR$\Source\INS\geometry</state>
@@ -404,7 +402,7 @@
</option>
<option>
<name>IccLang</name>
<state>2</state>
<state>1</state>
</option>
<option>
<name>IccCDialect</name>
@@ -2308,66 +2306,48 @@
</group>
<group>
<name>Core</name>
<group>
<name>Inc</name>
<file>
<name>$PROJ_DIR$\Source\Core\Inc\system_stm32g4xx.h</name>
</file>
</group>
<group>
<name>Src</name>
<file>
<name>$PROJ_DIR$\Source\Core\Src\system_stm32g4xx.c</name>
</file>
</group>
<file>
<name>$PROJ_DIR$\Source\Core\stm32g431xx.h</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Core\stm32g4xx.h</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Core\system_stm32g4xx.c</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Core\system_stm32g4xx.h</name>
</file>
</group>
<group>
<name>Devices</name>
<file>
<name>$PROJ_DIR$\Source\Devices\ICM20948.cpp</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Devices\ICM20948.h</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Devices\IIMU.cpp</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Devices\IIMU.h</name>
</file>
</group>
<group>
<name>Drivers</name>
<group>
<name>CMSIS</name>
<group>
<name>Device</name>
<group>
<name>ST</name>
<group>
<name>STM32G4xx</name>
<group>
<name>Include</name>
<file>
<name>$PROJ_DIR$\..\..\STM32G4\STM32CubeG4-master\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g431xx.h</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\STM32G4\STM32CubeG4-master\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g4xx.h</name>
</file>
</group>
</group>
</group>
</group>
<group>
<name>Include</name>
<file>
<name>$PROJ_DIR$\..\..\STM32G4\STM32CubeG4-master\Drivers\CMSIS\Include\core_cm4.h</name>
</file>
</group>
</group>
<group>
<name>HAL_M</name>
<group>
<name>GPIO</name>
<group>
<name>Inc</name>
<file>
<name>$PROJ_DIR$\Source\Drivers\HAL_M\GPIO\Inc\HAL_GPIO.h</name>
</file>
</group>
<group>
<name>Src</name>
<file>
<name>$PROJ_DIR$\Source\Drivers\HAL_M\GPIO\Src\HAL_GPIO.c</name>
</file>
</group>
</group>
</group>
<file>
<name>$PROJ_DIR$\Source\Drivers\GPIO.cpp</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Drivers\GPIO.h</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Drivers\I2C.cpp</name>
</file>
<file>
<name>$PROJ_DIR$\Source\Drivers\I2C.h</name>
</file>
</group>
<group>
<name>INS</name>