Skip to content

Commit daf88fd

Browse files
Merge branch 'maintenance-10.x' into release/9.1
2 parents 48829a5 + ca6e4b2 commit daf88fd

1,320 files changed

Lines changed: 797889 additions & 402547 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ launch.json
4646
# Assitnow token and files for test script
4747
tokens.yaml
4848
*.ubx
49+
/testing/
50+
/.idea/
51+
52+
# Build output directories (catch-all for ad-hoc build dirs)
53+
/build_*/
54+
/build_hw/
4955

5056
# Local development files
5157
.semgrepignore

.gitmodules

Whitespace-only changes.

.vscode/tasks.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
"version": "2.0.0",
55
"tasks": [
66
{
7-
"label": "Build AOCODARCH7DUAL",
7+
"label": "Build MATEKH743",
88
"type": "shell",
9-
"command": "make AOCODARCH7DUAL",
9+
"command": "ninja MATEKH743",
1010
"group": "build",
1111
"problemMatcher": [],
1212
"options": {
1313
"cwd": "${workspaceFolder}/build"
1414
}
1515
},
1616
{
17-
"label": "Build AOCODARCH7DUAL",
17+
"label": "Build MATEKH743",
1818
"type": "shell",
19-
"command": "make AOCODARCH7DUAL",
19+
"command": "ninja MATEKH743",
2020
"group": {
2121
"kind": "build",
2222
"isDefault": true

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ get_git_head_revision(GIT_REFSPEC GIT_SHA1)
3737
string(SUBSTRING ${GIT_SHA1} 0 8 GIT_REV)
3838

3939
# Load settings related functions, so the tests can use them
40+
include(dsdlc_generated)
4041
include(main)
4142
include(settings)
4243

cmake/cortex-m4f.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ set(CORTEX_M4F_LINK_OPTIONS
1515
)
1616

1717
set(CORTEX_M4F_DEFINITIONS
18-
__FPU_PRESENT=1
18+
__FPU_PRESENT=1U
1919
ARM_MATH_CM4
2020
ARM_MATH_MATRIX_CHECK
2121
ARM_MATH_ROUNDING

cmake/cortex-m7.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ set(CORTEX_M7_LINK_OPTIONS
1414
)
1515

1616
set(CORTEX_M7_DEFINITIONS
17-
__FPU_PRESENT=1
17+
__FPU_PRESENT=1U
1818
ARM_MATH_CM7
1919
ARM_MATH_MATRIX_CHECK
2020
ARM_MATH_ROUNDING

cmake/dsdlc_generated.cmake

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
2+
set(DSDLC_GENERATED_DIR "${MAIN_LIB_DIR}/main/Dronecan/dsdlc_generated")
3+
4+
set(DSDLC_GENERATED_SRC
5+
dronecan.protocol.CanStats.c
6+
dronecan.protocol.FlexDebug.c
7+
dronecan.protocol.GlobalTime.c
8+
dronecan.protocol.Stats.c
9+
dronecan.remoteid.ArmStatus.c
10+
dronecan.remoteid.BasicID.c
11+
dronecan.remoteid.Location.c
12+
dronecan.remoteid.OperatorID.c
13+
dronecan.remoteid.SecureCommand_req.c
14+
dronecan.remoteid.SecureCommand_res.c
15+
dronecan.remoteid.SelfID.c
16+
dronecan.remoteid.System.c
17+
dronecan.sensors.hygrometer.Hygrometer.c
18+
dronecan.sensors.magnetometer.MagneticFieldStrengthHiRes.c
19+
dronecan.sensors.rc.RCInput.c
20+
dronecan.sensors.rpm.RPM.c
21+
uavcan.CoarseOrientation.c
22+
uavcan.equipment.actuator.ArrayCommand.c
23+
uavcan.equipment.actuator.Command.c
24+
uavcan.equipment.actuator.Status.c
25+
uavcan.equipment.ahrs.MagneticFieldStrength2.c
26+
uavcan.equipment.ahrs.MagneticFieldStrength.c
27+
uavcan.equipment.ahrs.RawIMU.c
28+
uavcan.equipment.ahrs.Solution.c
29+
uavcan.equipment.air_data.AngleOfAttack.c
30+
uavcan.equipment.air_data.IndicatedAirspeed.c
31+
uavcan.equipment.air_data.RawAirData.c
32+
uavcan.equipment.air_data.Sideslip.c
33+
uavcan.equipment.air_data.StaticPressure.c
34+
uavcan.equipment.air_data.StaticTemperature.c
35+
uavcan.equipment.air_data.TrueAirspeed.c
36+
uavcan.equipment.camera_gimbal.AngularCommand.c
37+
uavcan.equipment.camera_gimbal.GEOPOICommand.c
38+
uavcan.equipment.camera_gimbal.Mode.c
39+
uavcan.equipment.camera_gimbal.Status.c
40+
uavcan.equipment.device.Temperature.c
41+
uavcan.equipment.esc.RawCommand.c
42+
uavcan.equipment.esc.RPMCommand.c
43+
uavcan.equipment.esc.Status.c
44+
uavcan.equipment.esc.StatusExtended.c
45+
uavcan.equipment.gnss.Auxiliary.c
46+
uavcan.equipment.gnss.ECEFPositionVelocity.c
47+
uavcan.equipment.gnss.Fix2.c
48+
uavcan.equipment.gnss.Fix.c
49+
uavcan.equipment.gnss.RTCMStream.c
50+
uavcan.equipment.hardpoint.Command.c
51+
uavcan.equipment.hardpoint.Status.c
52+
uavcan.equipment.ice.FuelTankStatus.c
53+
uavcan.equipment.ice.reciprocating.CylinderStatus.c
54+
uavcan.equipment.ice.reciprocating.Status.c
55+
uavcan.equipment.indication.BeepCommand.c
56+
uavcan.equipment.indication.LightsCommand.c
57+
uavcan.equipment.indication.RGB565.c
58+
uavcan.equipment.indication.SingleLightCommand.c
59+
uavcan.equipment.power.BatteryInfo.c
60+
uavcan.equipment.power.CircuitStatus.c
61+
uavcan.equipment.power.PrimaryPowerSupplyStatus.c
62+
uavcan.equipment.range_sensor.Measurement.c
63+
uavcan.equipment.safety.ArmingStatus.c
64+
uavcan.navigation.GlobalNavigationSolution.c
65+
uavcan.protocol.AccessCommandShell_req.c
66+
uavcan.protocol.AccessCommandShell_res.c
67+
uavcan.protocol.CANIfaceStats.c
68+
uavcan.protocol.DataTypeKind.c
69+
uavcan.protocol.debug.KeyValue.c
70+
uavcan.protocol.debug.LogLevel.c
71+
uavcan.protocol.debug.LogMessage.c
72+
uavcan.protocol.dynamic_node_id.Allocation.c
73+
uavcan.protocol.dynamic_node_id.server.AppendEntries_req.c
74+
uavcan.protocol.dynamic_node_id.server.AppendEntries_res.c
75+
uavcan.protocol.dynamic_node_id.server.Discovery.c
76+
uavcan.protocol.dynamic_node_id.server.Entry.c
77+
uavcan.protocol.dynamic_node_id.server.RequestVote_req.c
78+
uavcan.protocol.dynamic_node_id.server.RequestVote_res.c
79+
uavcan.protocol.enumeration.Begin_req.c
80+
uavcan.protocol.enumeration.Begin_res.c
81+
uavcan.protocol.enumeration.Indication.c
82+
uavcan.protocol.file.BeginFirmwareUpdate_req.c
83+
uavcan.protocol.file.BeginFirmwareUpdate_res.c
84+
uavcan.protocol.file.Delete_req.c
85+
uavcan.protocol.file.Delete_res.c
86+
uavcan.protocol.file.EntryType.c
87+
uavcan.protocol.file.Error.c
88+
uavcan.protocol.file.GetDirectoryEntryInfo_req.c
89+
uavcan.protocol.file.GetDirectoryEntryInfo_res.c
90+
uavcan.protocol.file.GetInfo_req.c
91+
uavcan.protocol.file.GetInfo_res.c
92+
uavcan.protocol.file.Path.c
93+
uavcan.protocol.file.Read_req.c
94+
uavcan.protocol.file.Read_res.c
95+
uavcan.protocol.file.Write_req.c
96+
uavcan.protocol.file.Write_res.c
97+
uavcan.protocol.GetDataTypeInfo_req.c
98+
uavcan.protocol.GetDataTypeInfo_res.c
99+
uavcan.protocol.GetNodeInfo_req.c
100+
uavcan.protocol.GetNodeInfo_res.c
101+
uavcan.protocol.GetTransportStats_req.c
102+
uavcan.protocol.GetTransportStats_res.c
103+
uavcan.protocol.GlobalTimeSync.c
104+
uavcan.protocol.HardwareVersion.c
105+
uavcan.protocol.NodeStatus.c
106+
uavcan.protocol.Panic.c
107+
uavcan.protocol.param.Empty.c
108+
uavcan.protocol.param.ExecuteOpcode_req.c
109+
uavcan.protocol.param.ExecuteOpcode_res.c
110+
uavcan.protocol.param.GetSet_req.c
111+
uavcan.protocol.param.GetSet_res.c
112+
uavcan.protocol.param.NumericValue.c
113+
uavcan.protocol.param.Value.c
114+
uavcan.protocol.RestartNode_req.c
115+
uavcan.protocol.RestartNode_res.c
116+
uavcan.protocol.SoftwareVersion.c
117+
uavcan.Timestamp.c
118+
uavcan.tunnel.Broadcast.c
119+
uavcan.tunnel.Call_req.c
120+
uavcan.tunnel.Call_res.c
121+
uavcan.tunnel.Protocol.c
122+
uavcan.tunnel.SerialConfig.c
123+
uavcan.tunnel.Targetted.c
124+
)
125+
126+
list(TRANSFORM DSDLC_GENERATED_SRC PREPEND "${DSDLC_GENERATED_DIR}/src/")
127+
128+
set(DSDLC_GENERATED_DIRS
129+
${DSDLC_GENERATED_DIR}/include
130+
)
131+
132+

cmake/main.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ set(MAIN_INCLUDE_DIRS
22
"${MAIN_LIB_DIR}"
33
"${MAIN_SRC_DIR}"
44
"${MAIN_LIB_DIR}/main/MAVLink"
5+
"${MAIN_SRC_DIR}/drivers/dronecan/libcanard"
6+
"${DSDLC_GENERATED_DIRS}"
57
)
68

79
set(MAIN_DEFINITIONS

cmake/sitl.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ main_sources(SITL_COMMON_SRC_EXCLUDES
1313

1414
main_sources(SITL_SRC
1515
config/config_streamer_file.c
16+
drivers/dronecan/libcanard/canard_sitl_driver.c
1617
drivers/serial_tcp.c
1718
drivers/serial_tcp.h
1819
target/SITL/sim/realFlight.c
@@ -70,6 +71,7 @@ if(NOT MACOSX)
7071
-Wno-error=maybe-uninitialized
7172
-fsingle-precision-constant
7273
)
74+
7375
include(CheckLinkerFlag OPTIONAL)
7476
if(COMMAND check_linker_flag)
7577
check_linker_flag(C "-Wl,--no-warn-rwx-segments" LINKER_SUPPORTS_NO_RWX_WARNING)

cmake/stm32.cmake

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,14 +238,15 @@ function(add_stm32_executable)
238238
# Single value arguments
239239
"FILENAME;NAME;OPTIMIZATION;OUTPUT_BIN_FILENAME;OUTPUT_HEX_FILENAME;OUTPUT_TARGET_NAME"
240240
# Multi-value arguments
241-
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;INCLUDE_DIRECTORIES;LINK_OPTIONS;LINKER_SCRIPT;SOURCES"
241+
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;INCLUDE_DIRECTORIES;SYSTEM_INCLUDE_DIRECTORIES;LINK_OPTIONS;LINKER_SCRIPT;SOURCES"
242242
# Start parsing after the known arguments
243243
${ARGN}
244244
)
245245
set(elf_target ${args_NAME}.elf)
246246
add_executable(${elf_target})
247247
target_sources(${elf_target} PRIVATE ${args_SOURCES})
248248
target_include_directories(${elf_target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${args_INCLUDE_DIRECTORIES} ${STM32_INCLUDE_DIRS})
249+
target_include_directories(${elf_target} SYSTEM PRIVATE ${args_SYSTEM_INCLUDE_DIRECTORIES})
249250
target_compile_definitions(${elf_target} PRIVATE ${args_COMPILE_DEFINITIONS})
250251
target_compile_options(${elf_target} PRIVATE ${STM32_COMPILE_OPTIONS} ${args_COMPILE_OPTIONS})
251252
if(WARNINGS_AS_ERRORS)
@@ -289,7 +290,7 @@ function(target_stm32)
289290
# Single value arguments
290291
"HSE_MHZ;LINKER_SCRIPT;NAME;OPENOCD_TARGET;OPTIMIZATION;STARTUP;SVD"
291292
# Multi-value arguments
292-
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;INCLUDE_DIRECTORIES;LINK_OPTIONS;SOURCES;MSC_SOURCES;MSC_INCLUDE_DIRECTORIES;VCP_SOURCES;VCP_INCLUDE_DIRECTORIES"
293+
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;INCLUDE_DIRECTORIES;SYSTEM_INCLUDE_DIRECTORIES;LINK_OPTIONS;SOURCES;MSC_SOURCES;MSC_INCLUDE_DIRECTORIES;VCP_SOURCES;VCP_INCLUDE_DIRECTORIES"
293294
# Start parsing after the known arguments
294295
${ARGN}
295296
)
@@ -308,6 +309,7 @@ function(target_stm32)
308309
list(APPEND target_sources ${target_c_sources} ${target_h_sources})
309310

310311
set(target_include_directories ${args_INCLUDE_DIRECTORIES})
312+
set(target_system_include_directories ${args_SYSTEM_INCLUDE_DIRECTORIES})
311313

312314
set(target_definitions ${STM32_DEFINITIONS} ${COMMON_COMPILE_DEFINITIONS})
313315

@@ -363,6 +365,7 @@ function(target_stm32)
363365
COMPILE_DEFINITIONS ${target_definitions}
364366
COMPILE_OPTIONS ${args_COMPILE_OPTIONS}
365367
INCLUDE_DIRECTORIES ${target_include_directories}
368+
SYSTEM_INCLUDE_DIRECTORIES ${target_system_include_directories}
366369
LINK_OPTIONS ${args_LINK_OPTIONS}
367370
LINKER_SCRIPT ${args_LINKER_SCRIPT}
368371
OPTIMIZATION ${args_OPTIMIZATION}
@@ -387,6 +390,7 @@ function(target_stm32)
387390
COMPILE_DEFINITIONS ${target_definitions} BOOTLOADER MSP_FIRMWARE_UPDATE
388391
COMPILE_OPTIONS ${args_COMPILE_OPTIONS}
389392
INCLUDE_DIRECTORIES ${target_include_directories}
393+
SYSTEM_INCLUDE_DIRECTORIES ${target_system_include_directories}
390394
LINK_OPTIONS ${args_LINK_OPTIONS}
391395
LINKER_SCRIPT ${args_LINKER_SCRIPT}${bl_suffix}
392396
OPTIMIZATION ${args_OPTIMIZATION}
@@ -406,6 +410,7 @@ function(target_stm32)
406410
COMPILE_DEFINITIONS ${target_definitions} MSP_FIRMWARE_UPDATE
407411
COMPILE_OPTIONS ${args_COMPILE_OPTIONS}
408412
INCLUDE_DIRECTORIES ${target_include_directories}
413+
SYSTEM_INCLUDE_DIRECTORIES ${target_system_include_directories}
409414
LINK_OPTIONS ${args_LINK_OPTIONS}
410415
LINKER_SCRIPT ${args_LINKER_SCRIPT}${for_bl_suffix}
411416
OPTIMIZATION ${args_OPTIMIZATION}

0 commit comments

Comments
 (0)