123
This commit is contained in:
parent
0c081123a6
commit
0028ba16b7
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"fixed_height.h": "c",
|
"fixed_height.h": "c",
|
||||||
"ahrs.h": "c"
|
"ahrs.h": "c",
|
||||||
|
"xm_quadctrl.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@ -132,10 +132,6 @@
|
|||||||
<Key>ARMDBGFLAGS</Key>
|
<Key>ARMDBGFLAGS</Key>
|
||||||
<Name></Name>
|
<Name></Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Key>DLGUARM</Key>
|
|
||||||
</SetRegEntry>
|
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>JL2CM3</Key>
|
<Key>JL2CM3</Key>
|
||||||
@ -1010,7 +1006,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/device</GroupName>
|
<GroupName>User/device</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@ -1281,30 +1277,6 @@
|
|||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\User\component\cmd.c</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>cmd.c</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>9</GroupNumber>
|
|
||||||
<FileNumber>83</FileNumber>
|
|
||||||
<FileType>5</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\User\component\cmd.h</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>cmd.h</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>9</GroupNumber>
|
|
||||||
<FileNumber>84</FileNumber>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\User\component\AltitudeKalman.c</PathWithFileName>
|
<PathWithFileName>..\User\component\AltitudeKalman.c</PathWithFileName>
|
||||||
<FilenameWithoutPath>AltitudeKalman.c</FilenameWithoutPath>
|
<FilenameWithoutPath>AltitudeKalman.c</FilenameWithoutPath>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@ -1312,7 +1284,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>9</GroupNumber>
|
<GroupNumber>9</GroupNumber>
|
||||||
<FileNumber>85</FileNumber>
|
<FileNumber>83</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1332,7 +1304,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>86</FileNumber>
|
<FileNumber>84</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1344,7 +1316,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>87</FileNumber>
|
<FileNumber>85</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1356,7 +1328,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>88</FileNumber>
|
<FileNumber>86</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1368,7 +1340,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>89</FileNumber>
|
<FileNumber>87</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1380,7 +1352,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>90</FileNumber>
|
<FileNumber>88</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1392,7 +1364,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>91</FileNumber>
|
<FileNumber>89</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1404,7 +1376,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>92</FileNumber>
|
<FileNumber>90</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1416,7 +1388,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>10</GroupNumber>
|
<GroupNumber>10</GroupNumber>
|
||||||
<FileNumber>93</FileNumber>
|
<FileNumber>91</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1436,31 +1408,7 @@
|
|||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>94</FileNumber>
|
<FileNumber>92</FileNumber>
|
||||||
<FileType>1</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\User\task\atti_esti.c</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>atti_esti.c</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>11</GroupNumber>
|
|
||||||
<FileNumber>95</FileNumber>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\User\task\height_cal.c</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>height_cal.c</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>11</GroupNumber>
|
|
||||||
<FileNumber>96</FileNumber>
|
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1472,19 +1420,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>97</FileNumber>
|
<FileNumber>93</FileNumber>
|
||||||
<FileType>1</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\User\task\main_control.c</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>main_control.c</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>11</GroupNumber>
|
|
||||||
<FileNumber>98</FileNumber>
|
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1496,7 +1432,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>99</FileNumber>
|
<FileNumber>94</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1508,7 +1444,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>100</FileNumber>
|
<FileNumber>95</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@ -1520,13 +1456,49 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>11</GroupNumber>
|
<GroupNumber>11</GroupNumber>
|
||||||
<FileNumber>101</FileNumber>
|
<FileNumber>96</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\User\task\rc.c</PathWithFileName>
|
<PathWithFileName>..\User\task\cmd.c</PathWithFileName>
|
||||||
<FilenameWithoutPath>rc.c</FilenameWithoutPath>
|
<FilenameWithoutPath>cmd.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>11</GroupNumber>
|
||||||
|
<FileNumber>97</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\User\task\atti_esti.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>atti_esti.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>11</GroupNumber>
|
||||||
|
<FileNumber>98</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\User\task\height_cal.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>height_cal.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>11</GroupNumber>
|
||||||
|
<FileNumber>99</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\User\task\quad_ctrl.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>quad_ctrl.c</FilenameWithoutPath>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</File>
|
||||||
|
|||||||
@ -828,16 +828,6 @@
|
|||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<FilePath>..\User\component\user_math.h</FilePath>
|
<FilePath>..\User\component\user_math.h</FilePath>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
|
||||||
<FileName>cmd.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>..\User\component\cmd.c</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>cmd.h</FileName>
|
|
||||||
<FileType>5</FileType>
|
|
||||||
<FilePath>..\User\component\cmd.h</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
<File>
|
||||||
<FileName>AltitudeKalman.c</FileName>
|
<FileName>AltitudeKalman.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
@ -898,26 +888,11 @@
|
|||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/task</GroupName>
|
<GroupName>User/task</GroupName>
|
||||||
<Files>
|
<Files>
|
||||||
<File>
|
|
||||||
<FileName>atti_esti.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>..\User\task\atti_esti.c</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>height_cal.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>..\User\task\height_cal.c</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
<File>
|
||||||
<FileName>init.c</FileName>
|
<FileName>init.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\User\task\init.c</FilePath>
|
<FilePath>..\User\task\init.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
|
||||||
<FileName>main_control.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>..\User\task\main_control.c</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
<File>
|
||||||
<FileName>user_task.c</FileName>
|
<FileName>user_task.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
@ -934,9 +909,24 @@
|
|||||||
<FilePath>..\User\task\blink.c</FilePath>
|
<FilePath>..\User\task\blink.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>rc.c</FileName>
|
<FileName>cmd.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\User\task\rc.c</FilePath>
|
<FilePath>..\User\task\cmd.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>atti_esti.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\User\task\atti_esti.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>height_cal.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\User\task\height_cal.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>quad_ctrl.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\User\task\quad_ctrl.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
|
|||||||
Binary file not shown.
@ -22,7 +22,7 @@ Dialog DLL: TCM.DLL V1.48.0.0
|
|||||||
|
|
||||||
<h2>Project:</h2>
|
<h2>Project:</h2>
|
||||||
D:\CUBEMX\Quadcopter\DveC\MDK-ARM\DveC.uvprojx
|
D:\CUBEMX\Quadcopter\DveC\MDK-ARM\DveC.uvprojx
|
||||||
Project File Date: 10/17/2025
|
Project File Date: 10/19/2025
|
||||||
|
|
||||||
<h2>Output:</h2>
|
<h2>Output:</h2>
|
||||||
*** Using Compiler 'V6.16', folder: 'D:\cangming\ARM\ARMCLANG\Bin'
|
*** Using Compiler 'V6.16', folder: 'D:\cangming\ARM\ARMCLANG\Bin'
|
||||||
@ -31,9 +31,9 @@ Note: source file '..\User\bsp\gpio.c' - object file renamed from 'DveC\gpio.o'
|
|||||||
Note: source file '..\User\bsp\i2c.c' - object file renamed from 'DveC\i2c.o' to 'DveC\i2c_1.o'.
|
Note: source file '..\User\bsp\i2c.c' - object file renamed from 'DveC\i2c.o' to 'DveC\i2c_1.o'.
|
||||||
Note: source file '..\User\bsp\spi.c' - object file renamed from 'DveC\spi.o' to 'DveC\spi_1.o'.
|
Note: source file '..\User\bsp\spi.c' - object file renamed from 'DveC\spi.o' to 'DveC\spi_1.o'.
|
||||||
Note: source file '..\User\BarometerDriver\spl06.c' - object file renamed from 'DveC\spl06.o' to 'DveC\spl06_1.o'.
|
Note: source file '..\User\BarometerDriver\spl06.c' - object file renamed from 'DveC\spl06.o' to 'DveC\spl06_1.o'.
|
||||||
compiling rc.c...
|
Note: source file '..\User\task\cmd.c' - object file renamed from 'DveC\cmd.o' to 'DveC\cmd_1.o'.
|
||||||
linking...
|
linking...
|
||||||
Program Size: Code=48104 RO-data=1196 RW-data=32 ZI-data=32048
|
Program Size: Code=50488 RO-data=1244 RW-data=320 ZI-data=33160
|
||||||
FromELF: creating hex file...
|
FromELF: creating hex file...
|
||||||
"DveC\DveC.axf" - 0 Error(s), 0 Warning(s).
|
"DveC\DveC.axf" - 0 Error(s), 0 Warning(s).
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -59,19 +59,18 @@
|
|||||||
"dvec\filter.o"
|
"dvec\filter.o"
|
||||||
"dvec\pid.o"
|
"dvec\pid.o"
|
||||||
"dvec\user_math.o"
|
"dvec\user_math.o"
|
||||||
"dvec\cmd.o"
|
|
||||||
"dvec\altitudekalman.o"
|
"dvec\altitudekalman.o"
|
||||||
"dvec\config.o"
|
"dvec\config.o"
|
||||||
"dvec\at9s_pro_cmd.o"
|
"dvec\at9s_pro_cmd.o"
|
||||||
"dvec\xm_quadctrl.o"
|
"dvec\xm_quadctrl.o"
|
||||||
"dvec\heightestimation.o"
|
"dvec\heightestimation.o"
|
||||||
"dvec\atti_esti.o"
|
|
||||||
"dvec\height_cal.o"
|
|
||||||
"dvec\init.o"
|
"dvec\init.o"
|
||||||
"dvec\main_control.o"
|
|
||||||
"dvec\user_task.o"
|
"dvec\user_task.o"
|
||||||
"dvec\blink.o"
|
"dvec\blink.o"
|
||||||
"dvec\rc.o"
|
"dvec\cmd_1.o"
|
||||||
|
"dvec\atti_esti.o"
|
||||||
|
"dvec\height_cal.o"
|
||||||
|
"dvec\quad_ctrl.o"
|
||||||
--strict --scatter "DveC\DveC.sct"
|
--strict --scatter "DveC\DveC.sct"
|
||||||
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
|
||||||
--info sizes --info totals --info unused --info veneers
|
--info sizes --info totals --info unused --info veneers
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -135,7 +135,7 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
|||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h)(0x68AD8208)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
F (../Core/Src/dma.c)(0x68F0EA66)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/dma.o -MD)
|
F (../Core/Src/dma.c)(0x68F0EA66)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/dma.o -MD)
|
||||||
I (..\Core\Inc\dma.h)(0x68DF6BC0)
|
I (..\Core\Inc\dma.h)(0x68DF6BC0)
|
||||||
I (..\Core\Inc\main.h)(0x68F1B727)
|
I (..\Core\Inc\main.h)(0x68F1B727)
|
||||||
@ -1877,17 +1877,6 @@ I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||||
F (..\User\component\user_math.h)(0x68F0EAFF)()
|
F (..\User\component\user_math.h)(0x68F0EAFF)()
|
||||||
F (..\User\component\cmd.c)(0x68F0EAFF)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/cmd.o -MD)
|
|
||||||
I (..\User\component\cmd.h)(0x68F0EAFF)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|
||||||
I (..\User\component\ahrs.h)(0x68F0EAFF)
|
|
||||||
I (..\User\component\user_math.h)(0x68F0EAFF)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
|
||||||
F (..\User\component\cmd.h)(0x68F0EAFF)()
|
|
||||||
F (..\User\component\AltitudeKalman.c)(0x68F1E74C)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/altitudekalman.o -MD)
|
F (..\User\component\AltitudeKalman.c)(0x68F1E74C)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/altitudekalman.o -MD)
|
||||||
I (..\User\component\AltitudeKalman.h)(0x68F1E74C)
|
I (..\User\component\AltitudeKalman.h)(0x68F1E74C)
|
||||||
I (..\User\device\bmi088.h)(0x68F0E47F)
|
I (..\User\device\bmi088.h)(0x68F0E47F)
|
||||||
@ -1900,12 +1889,23 @@ I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
|||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
F (..\User\component\AltitudeKalman.h)(0x68F1E74C)()
|
F (..\User\component\AltitudeKalman.h)(0x68F1E74C)()
|
||||||
F (..\User\module\config.c)(0x68DF87BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/config.o -MD)
|
F (..\User\module\config.c)(0x68F49186)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/config.o -MD)
|
||||||
I (..\User\module\config.h)(0x68DF87AE)
|
I (..\User\module\config.h)(0x68F49094)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
F (..\User\module\config.h)(0x68DF87AE)()
|
I (..\User\module\xm_quadctrl.h)(0x68F49821)
|
||||||
F (..\User\module\at9s_pro_cmd.c)(0x68F10180)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/at9s_pro_cmd.o -MD)
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
I (..\User\module\at9s_pro_cmd.h)(0x68E13166)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\User\component\user_math.h)(0x68F0EAFF)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
|
I (..\User\component\pid.h)(0x68F0EAFF)
|
||||||
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
|
F (..\User\module\config.h)(0x68F49094)()
|
||||||
|
F (..\User\module\at9s_pro_cmd.c)(0x68F49821)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/at9s_pro_cmd.o -MD)
|
||||||
|
I (..\User\module\at9s_pro_cmd.h)(0x68F49822)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
@ -1916,9 +1916,58 @@ I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
|||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||||
F (..\User\module\at9s_pro_cmd.h)(0x68E13166)()
|
F (..\User\module\at9s_pro_cmd.h)(0x68F49822)()
|
||||||
F (..\User\module\xm_quadctrl.c)(0x68F100E8)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/xm_quadctrl.o -MD)
|
F (..\User\module\xm_quadctrl.c)(0x68F490BD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/xm_quadctrl.o -MD)
|
||||||
F (..\User\module\xm_quadctrl.h)(0x68F100E8)()
|
I (..\User\module\xm_quadctrl.h)(0x68F49821)
|
||||||
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\User\component\user_math.h)(0x68F0EAFF)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
|
I (..\User\component\pid.h)(0x68F0EAFF)
|
||||||
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
|
I (..\User\bsp\pwm.h)(0x68F0EAFF)
|
||||||
|
I (..\Core\Inc\tim.h)(0x68DF6BC0)
|
||||||
|
I (..\Core\Inc\main.h)(0x68F1B727)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
||||||
|
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68DF6BC0)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\core_cm4.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_version.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_compiler.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_armclang.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\mpu_armv7.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||||
|
I (..\User\bsp\bsp.h)(0x68F0EAFF)
|
||||||
|
I (..\User\bsp\time.h)(0x68F0EAFF)
|
||||||
|
I (..\User\module\HeightEstimation.h)(0x68F1FDF4)
|
||||||
|
F (..\User\module\xm_quadctrl.h)(0x68F49821)()
|
||||||
F (..\User\module\HeightEstimation.c)(0x68F200A2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/heightestimation.o -MD)
|
F (..\User\module\HeightEstimation.c)(0x68F200A2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/heightestimation.o -MD)
|
||||||
I (..\User\bsp\time.h)(0x68F0EAFF)
|
I (..\User\bsp\time.h)(0x68F0EAFF)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
@ -1967,7 +2016,7 @@ I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
|||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
I (..\User\component\filter.h)(0x68F0EAFF)
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
||||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
||||||
@ -1979,8 +2028,121 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208
|
|||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
F (..\User\module\HeightEstimation.h)(0x68F1FDF4)()
|
F (..\User\module\HeightEstimation.h)(0x68F1FDF4)()
|
||||||
F (..\User\task\atti_esti.c)(0x68F20370)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/atti_esti.o -MD)
|
F (..\User\task\init.c)(0x68F49BE0)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/init.o -MD)
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
||||||
|
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
|
I (..\User\component\ahrs.h)(0x68F0EAFF)
|
||||||
|
I (..\User\component\user_math.h)(0x68F0EAFF)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
|
I (..\User\module\xm_quadctrl.h)(0x68F49821)
|
||||||
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
|
I (..\User\component\pid.h)(0x68F0EAFF)
|
||||||
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
|
F (..\User\task\user_task.c)(0x68F496CD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/user_task.o -MD)
|
||||||
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
||||||
|
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
|
F (..\User\task\user_task.h)(0x68F49892)()
|
||||||
|
F (..\User\task\blink.c)(0x68F496CD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/blink.o -MD)
|
||||||
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
||||||
|
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
|
I (..\User\bsp\pwm.h)(0x68F0EAFF)
|
||||||
|
I (..\Core\Inc\tim.h)(0x68DF6BC0)
|
||||||
|
I (..\Core\Inc\main.h)(0x68F1B727)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
||||||
|
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68DF6BC0)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\core_cm4.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_version.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_compiler.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\cmsis_armclang.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Include\mpu_armv7.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
||||||
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||||
|
I (..\User\bsp\bsp.h)(0x68F0EAFF)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
|
F (..\User\task\cmd.c)(0x68F49980)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/cmd_1.o -MD)
|
||||||
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
||||||
|
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
|
I (..\User\component\user_math.h)(0x68F0EAFF)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
|
I (..\User\module\at9s_pro_cmd.h)(0x68F49822)
|
||||||
|
I (..\User\module\xm_quadctrl.h)(0x68F49821)
|
||||||
|
I (..\User\component\pid.h)(0x68F0EAFF)
|
||||||
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
|
F (..\User\task\atti_esti.c)(0x68F496CD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/atti_esti.o -MD)
|
||||||
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
@ -2039,8 +2201,8 @@ I (..\User\component\pid.h)(0x68F0EAFF)
|
|||||||
I (..\User\component\filter.h)(0x68F0EAFF)
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
I (..\User\device\bmi088.h)(0x68F0E47F)
|
I (..\User\device\bmi088.h)(0x68F0E47F)
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
F (..\User\task\height_cal.c)(0x68F1FDEB)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/height_cal.o -MD)
|
F (..\User\task\height_cal.c)(0x68F496CD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/height_cal.o -MD)
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
@ -2096,8 +2258,8 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
|||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||||
I (..\User\module\HeightEstimation.h)(0x68F1FDF4)
|
I (..\User\module\HeightEstimation.h)(0x68F1FDF4)
|
||||||
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
F (..\User\task\init.c)(0x68F20304)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/init.o -MD)
|
F (..\User\task\quad_ctrl.c)(0x68F49980)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/quad_ctrl.o -MD)
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
I (..\User\task\user_task.h)(0x68F49892)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||||
@ -2110,153 +2272,13 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h
|
|||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||||
I (..\User\component\ahrs.h)(0x68F0EAFF)
|
I (..\User\module\xm_quadctrl.h)(0x68F49821)
|
||||||
I (..\User\component\user_math.h)(0x68F0EAFF)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
|
||||||
F (..\User\task\main_control.c)(0x68F100F9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/main_control.o -MD)
|
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
|
||||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
|
||||||
I (..\Core\Inc\main.h)(0x68F1B727)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
|
||||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68DF6BC0)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\core_cm4.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_version.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_compiler.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_armclang.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\mpu_armv7.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
|
||||||
I (..\User\module\xm_quadctrl.h)(0x68F100E8)
|
|
||||||
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
||||||
I (..\User\component\user_math.h)(0x68F0EAFF)
|
I (..\User\component\user_math.h)(0x68F0EAFF)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
I (..\User\device\device.h)(0x68F0FFC5)
|
||||||
I (..\User\device\buzzer.h)(0x68F0E47F)
|
I (..\User\component\pid.h)(0x68F0EAFF)
|
||||||
I (..\User\bsp\pwm.h)(0x68F0EAFF)
|
I (..\User\component\filter.h)(0x68F0EAFF)
|
||||||
I (..\Core\Inc\tim.h)(0x68DF6BC0)
|
I (..\User\module\config.h)(0x68F49094)
|
||||||
I (..\User\bsp\bsp.h)(0x68F0EAFF)
|
|
||||||
I (..\User\bsp\time.h)(0x68F0EAFF)
|
|
||||||
I (..\User\component\ahrs.h)(0x68F0EAFF)
|
|
||||||
F (..\User\task\user_task.c)(0x68F0E603)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/user_task.o -MD)
|
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
|
||||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
|
||||||
F (..\User\task\user_task.h)(0x68F1F1D6)()
|
|
||||||
F (..\User\task\blink.c)(0x68F101B9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/blink.o -MD)
|
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
|
||||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
|
||||||
I (..\User\bsp\pwm.h)(0x68F0EAFF)
|
|
||||||
I (..\Core\Inc\tim.h)(0x68DF6BC0)
|
|
||||||
I (..\Core\Inc\main.h)(0x68F1B727)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
|
||||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68DF6BC0)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\core_cm4.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_version.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_compiler.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\cmsis_armclang.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Include\mpu_armv7.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68AD823F)
|
|
||||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
|
||||||
I (..\User\bsp\bsp.h)(0x68F0EAFF)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
|
||||||
F (..\User\task\rc.c)(0x68F204CB)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_DveC
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o dvec/rc.o -MD)
|
|
||||||
I (..\User\task\user_task.h)(0x68F1F1D6)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68AD8208)
|
|
||||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68F0EA65)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
|
||||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
|
||||||
I (..\User\device\at9s_pro.h)(0x68F1001A)
|
|
||||||
I (..\User\component\user_math.h)(0x68F0EAFF)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
|
||||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
|
||||||
I (..\User\device\device.h)(0x68F0FFC5)
|
|
||||||
I (..\User\module\at9s_pro_cmd.h)(0x68E13166)
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
20
MDK-ARM/DveC/cmd_1.d
Normal file
20
MDK-ARM/DveC/cmd_1.d
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
dvec/cmd_1.o: ..\User\task\cmd.c ..\User\task\user_task.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \
|
||||||
|
..\Core\Inc\FreeRTOSConfig.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \
|
||||||
|
..\User\device\at9s_pro.h ..\User\component\user_math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
|
..\User\device\device.h ..\User\module\at9s_pro_cmd.h \
|
||||||
|
..\User\module\xm_quadctrl.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h
|
||||||
BIN
MDK-ARM/DveC/cmd_1.o
Normal file
BIN
MDK-ARM/DveC/cmd_1.o
Normal file
Binary file not shown.
@ -1,2 +1,11 @@
|
|||||||
dvec/config.o: ..\User\module\config.c ..\User\module\config.h \
|
dvec/config.o: ..\User\module\config.c ..\User\module\config.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdint.h
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||||
|
..\User\module\xm_quadctrl.h ..\User\device\at9s_pro.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||||
|
..\User\component\user_math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
|
..\User\device\device.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h
|
||||||
|
|||||||
Binary file not shown.
@ -11,6 +11,7 @@ dvec/height_cal.o: ..\User\task\height_cal.c ..\User\task\user_task.h \
|
|||||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \
|
||||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
||||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \
|
||||||
|
..\User\task\user_task.h \
|
||||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\timers.h \
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\timers.h \
|
||||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
||||||
..\User\device\bmi088.h \
|
..\User\device\bmi088.h \
|
||||||
|
|||||||
Binary file not shown.
@ -14,4 +14,7 @@ dvec/init.o: ..\User\task\init.c ..\User\task\user_task.h \
|
|||||||
..\User\component\ahrs.h ..\User\component\user_math.h \
|
..\User\component\ahrs.h ..\User\component\user_math.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
|
..\User\module\xm_quadctrl.h ..\User\device\at9s_pro.h \
|
||||||
|
..\User\device\device.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h
|
||||||
|
|||||||
Binary file not shown.
@ -47,6 +47,7 @@ dvec/main_control.o: ..\User\task\main_control.c ..\User\task\user_task.h \
|
|||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
..\User\device\device.h ..\User\device\buzzer.h ..\User\bsp\pwm.h \
|
..\User\device\device.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h ..\User\device\buzzer.h ..\User\bsp\pwm.h \
|
||||||
..\Core\Inc\tim.h ..\Core\Inc\main.h ..\User\bsp\bsp.h \
|
..\Core\Inc\tim.h ..\Core\Inc\main.h ..\User\bsp\bsp.h \
|
||||||
..\User\bsp\time.h ..\User\component\ahrs.h
|
..\User\bsp\time.h ..\User\component\ahrs.h
|
||||||
|
|||||||
Binary file not shown.
20
MDK-ARM/DveC/quad_ctrl.d
Normal file
20
MDK-ARM/DveC/quad_ctrl.d
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
dvec/quad_ctrl.o: ..\User\task\quad_ctrl.c ..\User\task\user_task.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \
|
||||||
|
..\Core\Inc\FreeRTOSConfig.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \
|
||||||
|
..\User\module\xm_quadctrl.h ..\User\device\at9s_pro.h \
|
||||||
|
..\User\component\user_math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
|
..\User\device\device.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h ..\User\module\config.h
|
||||||
BIN
MDK-ARM/DveC/quad_ctrl.o
Normal file
BIN
MDK-ARM/DveC/quad_ctrl.o
Normal file
Binary file not shown.
Binary file not shown.
@ -1 +1,43 @@
|
|||||||
dvec/xm_quadctrl.o: ..\User\module\xm_quadctrl.c
|
dvec/xm_quadctrl.o: ..\User\module\xm_quadctrl.c \
|
||||||
|
..\User\module\xm_quadctrl.h ..\User\device\at9s_pro.h \
|
||||||
|
..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||||
|
..\User\component\user_math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\float.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\math.h \
|
||||||
|
D:\cangming\ARM\ARMCLANG\Bin\..\include\stdbool.h \
|
||||||
|
..\User\device\device.h ..\User\component\pid.h \
|
||||||
|
..\User\component\filter.h ..\User\bsp\pwm.h ..\Core\Inc\tim.h \
|
||||||
|
..\Core\Inc\main.h ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \
|
||||||
|
..\Core\Inc\stm32f4xx_hal_conf.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \
|
||||||
|
..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \
|
||||||
|
..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \
|
||||||
|
..\Drivers\CMSIS\Include\core_cm4.h \
|
||||||
|
..\Drivers\CMSIS\Include\cmsis_version.h \
|
||||||
|
..\Drivers\CMSIS\Include\cmsis_compiler.h \
|
||||||
|
..\Drivers\CMSIS\Include\cmsis_armclang.h \
|
||||||
|
..\Drivers\CMSIS\Include\mpu_armv7.h \
|
||||||
|
..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \
|
||||||
|
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \
|
||||||
|
..\User\bsp\bsp.h ..\User\bsp\time.h ..\User\module\HeightEstimation.h
|
||||||
|
|||||||
Binary file not shown.
@ -1,387 +0,0 @@
|
|||||||
/*
|
|
||||||
控制命令
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "cmd.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
/* USER INCLUDE BEGIN */
|
|
||||||
|
|
||||||
/* USER INCLUDE END */
|
|
||||||
|
|
||||||
/* USER DEFINE BEGIN */
|
|
||||||
|
|
||||||
/* USER DEFINE END */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 行为转换为对应按键
|
|
||||||
*
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @param behavior 行为
|
|
||||||
* @return uint16_t 行为对应的按键
|
|
||||||
*/
|
|
||||||
static inline CMD_KeyValue_t CMD_BehaviorToKey(CMD_t *cmd,
|
|
||||||
CMD_Behavior_t behavior) {
|
|
||||||
return cmd->param->map.key_map[behavior].key;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline CMD_ActiveType_t CMD_BehaviorToActive(CMD_t *cmd,
|
|
||||||
CMD_Behavior_t behavior) {
|
|
||||||
return cmd->param->map.key_map[behavior].active;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 检查按键是否按下
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param key 按键名称
|
|
||||||
* @param stateful 是否为状态切换按键
|
|
||||||
* @return true 按下
|
|
||||||
* @return false 未按下
|
|
||||||
*/
|
|
||||||
static bool CMD_KeyPressedRc(const CMD_RC_t *rc, CMD_KeyValue_t key) {
|
|
||||||
/* 按下按键为鼠标左、右键 */
|
|
||||||
if (key == CMD_L_CLICK) {
|
|
||||||
return rc->mouse.l_click;
|
|
||||||
}
|
|
||||||
if (key == CMD_R_CLICK) {
|
|
||||||
return rc->mouse.r_click;
|
|
||||||
}
|
|
||||||
return rc->key & (1u << key);
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool CMD_BehaviorOccurredRc(const CMD_RC_t *rc, CMD_t *cmd,
|
|
||||||
CMD_Behavior_t behavior) {
|
|
||||||
CMD_KeyValue_t key = CMD_BehaviorToKey(cmd, behavior);
|
|
||||||
CMD_ActiveType_t active = CMD_BehaviorToActive(cmd, behavior);
|
|
||||||
|
|
||||||
bool now_key_pressed, last_key_pressed;
|
|
||||||
|
|
||||||
/* 按下按键为鼠标左、右键 */
|
|
||||||
if (key == CMD_L_CLICK) {
|
|
||||||
now_key_pressed = rc->mouse.l_click;
|
|
||||||
last_key_pressed = cmd->mouse_last.l_click;
|
|
||||||
} else if (key == CMD_R_CLICK) {
|
|
||||||
now_key_pressed = rc->mouse.r_click;
|
|
||||||
last_key_pressed = cmd->mouse_last.r_click;
|
|
||||||
} else {
|
|
||||||
now_key_pressed = rc->key & (1u << key);
|
|
||||||
last_key_pressed = cmd->key_last & (1u << key);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (active) {
|
|
||||||
case CMD_ACTIVE_PRESSING:
|
|
||||||
return now_key_pressed && !last_key_pressed;
|
|
||||||
case CMD_ACTIVE_RASING:
|
|
||||||
return !now_key_pressed && last_key_pressed;
|
|
||||||
case CMD_ACTIVE_PRESSED:
|
|
||||||
return now_key_pressed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析pc行为逻辑
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
*/
|
|
||||||
static void CMD_PcLogic(const CMD_RC_t *rc, CMD_t *cmd, float dt_sec) {
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_ABSOLUTE;
|
|
||||||
|
|
||||||
/* 云台设置为鼠标控制欧拉角的变化,底盘的控制向量设置为零 */
|
|
||||||
cmd->gimbal.delta_eulr.yaw =
|
|
||||||
(float)rc->mouse.x * dt_sec * cmd->param->sens_mouse;
|
|
||||||
cmd->gimbal.delta_eulr.pit =
|
|
||||||
(float)(-rc->mouse.y) * dt_sec * cmd->param->sens_mouse;
|
|
||||||
cmd->chassis.ctrl_vec.vx = cmd->chassis.ctrl_vec.vy = 0.0f;
|
|
||||||
cmd->shoot.reverse_trig = false;
|
|
||||||
|
|
||||||
/* 按键行为映射相关逻辑 */
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_FORE)) {
|
|
||||||
cmd->chassis.ctrl_vec.vy += cmd->param->move.move_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_BACK)) {
|
|
||||||
cmd->chassis.ctrl_vec.vy -= cmd->param->move.move_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_LEFT)) {
|
|
||||||
cmd->chassis.ctrl_vec.vx -= cmd->param->move.move_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_RIGHT)) {
|
|
||||||
cmd->chassis.ctrl_vec.vx += cmd->param->move.move_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_ACCELERATE)) {
|
|
||||||
cmd->chassis.ctrl_vec.vx *= cmd->param->move.move_fast_sense;
|
|
||||||
cmd->chassis.ctrl_vec.vy *= cmd->param->move.move_fast_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_DECELEBRATE)) {
|
|
||||||
cmd->chassis.ctrl_vec.vx *= cmd->param->move.move_slow_sense;
|
|
||||||
cmd->chassis.ctrl_vec.vy *= cmd->param->move.move_slow_sense;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_FIRE)) {
|
|
||||||
/* 切换至开火模式,设置相应的射击频率和弹丸初速度 */
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
cmd->shoot.fire = true;
|
|
||||||
} else {
|
|
||||||
/* 切换至准备模式,停止射击 */
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
cmd->shoot.fire = false;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_FIRE_MODE)) {
|
|
||||||
/* 每按一次依次切换开火下一个模式 */
|
|
||||||
cmd->shoot.fire_mode++;
|
|
||||||
cmd->shoot.fire_mode %= FIRE_MODE_NUM;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_ROTOR)) {
|
|
||||||
/* 切换到小陀螺模式 */
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_ROTOR;
|
|
||||||
cmd->chassis.mode_rotor = ROTOR_MODE_RAND;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_OPENCOVER)) {
|
|
||||||
/* 每按一次开、关弹舱盖 */
|
|
||||||
cmd->shoot.cover_open = !cmd->shoot.cover_open;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_BUFF)) {
|
|
||||||
if (cmd->ai_status == AI_STATUS_HITSWITCH) {
|
|
||||||
/* 停止ai的打符模式,停用host控制 */
|
|
||||||
CMD_RefereeAdd(&(cmd->referee), CMD_UI_HIT_SWITCH_STOP);
|
|
||||||
cmd->host_overwrite = false;
|
|
||||||
cmd->ai_status = AI_STATUS_STOP;
|
|
||||||
} else if (cmd->ai_status == AI_STATUS_AUTOAIM) {
|
|
||||||
/* 自瞄模式中切换失败提醒 */
|
|
||||||
} else {
|
|
||||||
/* ai切换至打符模式,启用host控制 */
|
|
||||||
CMD_RefereeAdd(&(cmd->referee), CMD_UI_HIT_SWITCH_START);
|
|
||||||
cmd->ai_status = AI_STATUS_HITSWITCH;
|
|
||||||
cmd->host_overwrite = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_AUTOAIM)) {
|
|
||||||
if (cmd->ai_status == AI_STATUS_AUTOAIM) {
|
|
||||||
/* 停止ai的自瞄模式,停用host控制 */
|
|
||||||
cmd->host_overwrite = false;
|
|
||||||
cmd->ai_status = AI_STATUS_STOP;
|
|
||||||
CMD_RefereeAdd(&(cmd->referee), CMD_UI_AUTO_AIM_STOP);
|
|
||||||
} else {
|
|
||||||
/* ai切换至自瞄模式,启用host控制 */
|
|
||||||
cmd->ai_status = AI_STATUS_AUTOAIM;
|
|
||||||
cmd->host_overwrite = true;
|
|
||||||
CMD_RefereeAdd(&(cmd->referee), CMD_UI_AUTO_AIM_START);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cmd->host_overwrite = false;
|
|
||||||
// TODO: 修复逻辑
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_REVTRIG)) {
|
|
||||||
/* 按下拨弹反转 */
|
|
||||||
cmd->shoot.reverse_trig = true;
|
|
||||||
}
|
|
||||||
if (CMD_BehaviorOccurredRc(rc, cmd, CMD_BEHAVIOR_FOLLOWGIMBAL35)) {
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_FOLLOW_GIMBAL_35;
|
|
||||||
}
|
|
||||||
/* 保存当前按下的键位状态 */
|
|
||||||
cmd->key_last = rc->key;
|
|
||||||
memcpy(&(cmd->mouse_last), &(rc->mouse), sizeof(cmd->mouse_last));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析rc行为逻辑
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
*/
|
|
||||||
static void CMD_RcLogic(const CMD_RC_t *rc, CMD_t *cmd, float dt_sec) {
|
|
||||||
switch (rc->sw_l) {
|
|
||||||
/* 左拨杆相应行为选择和解析 */
|
|
||||||
case CMD_SW_UP:
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_BREAK;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_MID:
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_FOLLOW_GIMBAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_DOWN:
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_ROTOR;
|
|
||||||
cmd->chassis.mode_rotor = ROTOR_MODE_CW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_ERR:
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_RELAX;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (rc->sw_r) {
|
|
||||||
/* 右拨杆相应行为选择和解析*/
|
|
||||||
case CMD_SW_UP:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_ABSOLUTE;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_SAFE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_MID:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_ABSOLUTE;
|
|
||||||
cmd->shoot.fire = false;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_DOWN:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_ABSOLUTE;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
cmd->shoot.fire_mode = FIRE_MODE_SINGLE;
|
|
||||||
cmd->shoot.fire = true;
|
|
||||||
break;
|
|
||||||
/*
|
|
||||||
case CMD_SW_UP:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_RELAX;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_SAFE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_MID:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_RELAX;
|
|
||||||
cmd->shoot.fire = false;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CMD_SW_DOWN:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_RELAX;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
cmd->shoot.fire_mode = FIRE_MODE_SINGLE;
|
|
||||||
cmd->shoot.fire = true;
|
|
||||||
break;
|
|
||||||
*/
|
|
||||||
case CMD_SW_ERR:
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_RELAX;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_RELAX;
|
|
||||||
}
|
|
||||||
/* 将操纵杆的对应值转换为底盘的控制向量和云台变化的欧拉角 */
|
|
||||||
cmd->chassis.ctrl_vec.vx = rc->ch_l_x;
|
|
||||||
cmd->chassis.ctrl_vec.vy = rc->ch_l_y;
|
|
||||||
cmd->gimbal.delta_eulr.yaw = rc->ch_r_x * dt_sec * cmd->param->sens_rc;
|
|
||||||
cmd->gimbal.delta_eulr.pit = rc->ch_r_y * dt_sec * cmd->param->sens_rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief rc失控时机器人恢复放松模式
|
|
||||||
*
|
|
||||||
* @param cmd 主结构体
|
|
||||||
*/
|
|
||||||
static void CMD_RcLostLogic(CMD_t *cmd) {
|
|
||||||
/* 机器人底盘、云台、射击运行模式恢复至放松模式 */
|
|
||||||
cmd->chassis.mode = CHASSIS_MODE_RELAX;
|
|
||||||
cmd->gimbal.mode = GIMBAL_MODE_RELAX;
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_RELAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 初始化命令解析
|
|
||||||
*
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @param param 参数
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_Init(CMD_t *cmd, const CMD_Params_t *param) {
|
|
||||||
/* 指针检测 */
|
|
||||||
if (cmd == NULL) return -1;
|
|
||||||
if (param == NULL) return -1;
|
|
||||||
|
|
||||||
/* 设置机器人的命令参数,初始化控制方式为rc控制 */
|
|
||||||
cmd->pc_ctrl = false;
|
|
||||||
cmd->param = param;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 检查是否启用上位机控制指令覆盖
|
|
||||||
*
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @return true 启用
|
|
||||||
* @return false 不启用
|
|
||||||
*/
|
|
||||||
inline bool CMD_CheckHostOverwrite(CMD_t *cmd) { return cmd->host_overwrite; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析命令
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param cmd 命令
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_ParseRc(CMD_RC_t *rc, CMD_t *cmd, float dt_sec) {
|
|
||||||
/* 指针检测 */
|
|
||||||
if (rc == NULL) return -1;
|
|
||||||
if (cmd == NULL) return -1;
|
|
||||||
|
|
||||||
/* 在pc控制和rc控制间切换 */
|
|
||||||
if (CMD_KeyPressedRc(rc, CMD_KEY_SHIFT) &&
|
|
||||||
CMD_KeyPressedRc(rc, CMD_KEY_CTRL) && CMD_KeyPressedRc(rc, CMD_KEY_Q))
|
|
||||||
cmd->pc_ctrl = true;
|
|
||||||
|
|
||||||
if (CMD_KeyPressedRc(rc, CMD_KEY_SHIFT) &&
|
|
||||||
CMD_KeyPressedRc(rc, CMD_KEY_CTRL) && CMD_KeyPressedRc(rc, CMD_KEY_E))
|
|
||||||
cmd->pc_ctrl = false;
|
|
||||||
/*c当rc丢控时,恢复机器人至默认状态 */
|
|
||||||
if ((rc->sw_l == CMD_SW_ERR) || (rc->sw_r == CMD_SW_ERR)) {
|
|
||||||
CMD_RcLostLogic(cmd);
|
|
||||||
} else {
|
|
||||||
if (cmd->pc_ctrl) {
|
|
||||||
CMD_PcLogic(rc, cmd, dt_sec);
|
|
||||||
} else {
|
|
||||||
CMD_RcLogic(rc, cmd, dt_sec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析上位机命令
|
|
||||||
*
|
|
||||||
* @param host host数据
|
|
||||||
* @param cmd 命令
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_ParseHost(const CMD_Host_t *host, CMD_t *cmd, float dt_sec) {
|
|
||||||
(void)dt_sec; /* 未使用dt_sec,消除警告 */
|
|
||||||
/* 指针检测 */
|
|
||||||
if (host == NULL) return -1;
|
|
||||||
if (cmd == NULL) return -1;
|
|
||||||
|
|
||||||
/* 云台欧拉角设置为host相应的变化的欧拉角 */
|
|
||||||
cmd->gimbal.delta_eulr.yaw = host->gimbal_delta.yaw;
|
|
||||||
cmd->gimbal.delta_eulr.pit = host->gimbal_delta.pit;
|
|
||||||
|
|
||||||
/* host射击命令,设置不同的射击频率和弹丸初速度 */
|
|
||||||
if (host->fire) {
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_LOADED;
|
|
||||||
cmd->shoot.fire = true;
|
|
||||||
} else {
|
|
||||||
cmd->shoot.mode = SHOOT_MODE_SAFE;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 添加向Referee发送的命令
|
|
||||||
*
|
|
||||||
* @param ref 命令队列
|
|
||||||
* @param cmd 要添加的命令
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_RefereeAdd(CMD_RefereeCmd_t *ref, CMD_UI_t cmd) {
|
|
||||||
/* 指针检测 */
|
|
||||||
if (ref == NULL) return -1;
|
|
||||||
/* 越界检测 */
|
|
||||||
if (ref->counter >= CMD_REFEREE_MAX_NUM || ref->counter < 0) return -1;
|
|
||||||
|
|
||||||
/* 添加机器人当前行为状态到画图的命令队列中 */
|
|
||||||
ref->cmd[ref->counter] = cmd;
|
|
||||||
ref->counter++;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USER FUNCTION BEGIN */
|
|
||||||
|
|
||||||
/* USER FUNCTION END */
|
|
||||||
@ -1,318 +0,0 @@
|
|||||||
/*
|
|
||||||
控制命令
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include "component/ahrs.h"
|
|
||||||
|
|
||||||
/* USER INCLUDE BEGIN */
|
|
||||||
|
|
||||||
/* USER INCLUDE END */
|
|
||||||
|
|
||||||
#define CMD_REFEREE_MAX_NUM (3) /* Lines 16 omitted */
|
|
||||||
|
|
||||||
/* USER DEFINE BEGIN */
|
|
||||||
|
|
||||||
/* USER DEFINE END */
|
|
||||||
|
|
||||||
/* 机器人型号 */
|
|
||||||
typedef enum {
|
|
||||||
ROBOT_MODEL_INFANTRY = 0, /* 步兵机器人 */
|
|
||||||
ROBOT_MODEL_HERO, /* 英雄机器人 */
|
|
||||||
ROBOT_MODEL_ENGINEER, /* 工程机器人 */
|
|
||||||
ROBOT_MODEL_DRONE, /* 空中机器人 */
|
|
||||||
ROBOT_MODEL_SENTRY, /* 哨兵机器人 */
|
|
||||||
ROBOT_MODEL_NUM, /* 型号数量 */
|
|
||||||
} CMD_RobotModel_t;
|
|
||||||
|
|
||||||
/* 底盘运行模式 */
|
|
||||||
typedef enum {
|
|
||||||
CHASSIS_MODE_RELAX, /* 放松模式,电机不输出。一般情况底盘初始化之后的模式 */
|
|
||||||
CHASSIS_MODE_BREAK, /* 刹车模式,电机闭环控制保持静止。用于机器人停止状态 */
|
|
||||||
CHASSIS_MODE_FOLLOW_GIMBAL, /* 通过闭环控制使车头方向跟随云台 */
|
|
||||||
CHASSIS_MODE_FOLLOW_GIMBAL_35, /* 通过闭环控制使车头方向35度跟随云台 */
|
|
||||||
CHASSIS_MODE_ROTOR, /* 小陀螺模式,通过闭环控制使底盘不停旋转 */
|
|
||||||
CHASSIS_MODE_INDENPENDENT, /* 独立模式。底盘运行不受云台影响 */
|
|
||||||
CHASSIS_MODE_OPEN, /* 开环模式。底盘运行不受PID控制,直接输出到电机 */
|
|
||||||
} CMD_ChassisMode_t;
|
|
||||||
|
|
||||||
/* 云台运行模式 */
|
|
||||||
typedef enum {
|
|
||||||
GIMBAL_MODE_RELAX, /* 放松模式,电机不输出。一般情况云台初始化之后的模式 */
|
|
||||||
GIMBAL_MODE_ABSOLUTE, /* 绝对坐标系控制,控制在空间内的绝对姿态 */
|
|
||||||
GIMBAL_MODE_RELATIVE, /* 相对坐标系控制,控制相对于底盘的姿态 */
|
|
||||||
} CMD_GimbalMode_t;
|
|
||||||
|
|
||||||
/* 射击运行模式 */
|
|
||||||
typedef enum {
|
|
||||||
SHOOT_MODE_RELAX, /* 放松模式,电机不输出 */
|
|
||||||
SHOOT_MODE_SAFE, /* 保险模式,电机闭环控制保持静止 */
|
|
||||||
SHOOT_MODE_LOADED, /* 上膛模式,摩擦轮开启。随时准备开火 */
|
|
||||||
} CMD_ShootMode_t;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
FIRE_MODE_SINGLE, /* 单发开火模式 */
|
|
||||||
FIRE_MODE_BURST, /* N连发开火模式 */
|
|
||||||
FIRE_MODE_CONT, /* 持续开火模式 */
|
|
||||||
FIRE_MODE_NUM,
|
|
||||||
} CMD_FireMode_t;
|
|
||||||
|
|
||||||
/* 小陀螺转动模式 */
|
|
||||||
typedef enum {
|
|
||||||
ROTOR_MODE_CW, /* 顺时针转动 */
|
|
||||||
ROTOR_MODE_CCW, /* 逆时针转动 */
|
|
||||||
ROTOR_MODE_RAND, /* 随机转动 */
|
|
||||||
} CMD_RotorMode_t;
|
|
||||||
|
|
||||||
/* 底盘控制命令 */
|
|
||||||
typedef struct {
|
|
||||||
CMD_ChassisMode_t mode; /* 底盘运行模式 */
|
|
||||||
CMD_RotorMode_t mode_rotor; /* 小陀螺转动模式 */
|
|
||||||
MoveVector_t ctrl_vec; /* 底盘控制向量 */
|
|
||||||
} CMD_ChassisCmd_t;
|
|
||||||
|
|
||||||
/* 云台控制命令 */
|
|
||||||
typedef struct {
|
|
||||||
CMD_GimbalMode_t mode; /* 云台运行模式 */
|
|
||||||
AHRS_Eulr_t delta_eulr; /* 欧拉角变化角度 */
|
|
||||||
} CMD_GimbalCmd_t;
|
|
||||||
|
|
||||||
/* 射击控制命令 */
|
|
||||||
typedef struct {
|
|
||||||
CMD_ShootMode_t mode; /* 射击运行模式 */
|
|
||||||
CMD_FireMode_t fire_mode; /* 开火模式 */
|
|
||||||
bool fire; /*开火*/
|
|
||||||
bool cover_open; /* 弹舱盖开关 */
|
|
||||||
bool reverse_trig; /* 拨弹电机状态 */
|
|
||||||
} CMD_ShootCmd_t;
|
|
||||||
|
|
||||||
/* 拨杆位置 */
|
|
||||||
typedef enum {
|
|
||||||
CMD_SW_ERR = 0,
|
|
||||||
CMD_SW_UP = 1,
|
|
||||||
CMD_SW_MID = 3,
|
|
||||||
CMD_SW_DOWN = 2,
|
|
||||||
} CMD_SwitchPos_t;
|
|
||||||
|
|
||||||
/* 键盘按键值 */
|
|
||||||
typedef enum {
|
|
||||||
CMD_KEY_W = 0,
|
|
||||||
CMD_KEY_S,
|
|
||||||
CMD_KEY_A,
|
|
||||||
CMD_KEY_D,
|
|
||||||
CMD_KEY_SHIFT,
|
|
||||||
CMD_KEY_CTRL,
|
|
||||||
CMD_KEY_Q,
|
|
||||||
CMD_KEY_E,
|
|
||||||
CMD_KEY_R,
|
|
||||||
CMD_KEY_F,
|
|
||||||
CMD_KEY_G,
|
|
||||||
CMD_KEY_Z,
|
|
||||||
CMD_KEY_X,
|
|
||||||
CMD_KEY_C,
|
|
||||||
CMD_KEY_V,
|
|
||||||
CMD_KEY_B,
|
|
||||||
CMD_L_CLICK,
|
|
||||||
CMD_R_CLICK,
|
|
||||||
CMD_KEY_NUM,
|
|
||||||
} CMD_KeyValue_t;
|
|
||||||
|
|
||||||
/* 行为值序列 */
|
|
||||||
typedef enum {
|
|
||||||
CMD_BEHAVIOR_FORE = 0, /* 向前 */
|
|
||||||
CMD_BEHAVIOR_BACK, /* 向后 */
|
|
||||||
CMD_BEHAVIOR_LEFT, /* 向左 */
|
|
||||||
CMD_BEHAVIOR_RIGHT, /* 向右 */
|
|
||||||
CMD_BEHAVIOR_ACCELERATE, /* 加速 */
|
|
||||||
CMD_BEHAVIOR_DECELEBRATE, /* 减速 */
|
|
||||||
CMD_BEHAVIOR_FIRE, /* 开火 */
|
|
||||||
CMD_BEHAVIOR_FIRE_MODE, /* 切换开火模式 */
|
|
||||||
CMD_BEHAVIOR_BUFF, /* 打符模式 */
|
|
||||||
CMD_BEHAVIOR_AUTOAIM, /* 自瞄模式 */
|
|
||||||
CMD_BEHAVIOR_OPENCOVER, /* 弹舱盖开关 */
|
|
||||||
CMD_BEHAVIOR_ROTOR, /* 小陀螺模式 */
|
|
||||||
CMD_BEHAVIOR_REVTRIG, /* 反转拨弹 */
|
|
||||||
CMD_BEHAVIOR_FOLLOWGIMBAL35, /* 跟随云台呈35度 */
|
|
||||||
CMD_BEHAVIOR_NUM,
|
|
||||||
} CMD_Behavior_t;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
CMD_ACTIVE_PRESSING, /* 按下时触发 */
|
|
||||||
CMD_ACTIVE_RASING, /* 抬起时触发 */
|
|
||||||
CMD_ACTIVE_PRESSED, /* 按住时触发 */
|
|
||||||
} CMD_ActiveType_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
CMD_ActiveType_t active;
|
|
||||||
CMD_KeyValue_t key;
|
|
||||||
} CMD_KeyMapItem_t;
|
|
||||||
|
|
||||||
/* 行为映射的对应按键数组 */
|
|
||||||
typedef struct {
|
|
||||||
CMD_KeyMapItem_t key_map[CMD_BEHAVIOR_NUM];
|
|
||||||
} CMD_KeyMap_Params_t;
|
|
||||||
|
|
||||||
/* 位移灵敏度参数 */
|
|
||||||
typedef struct {
|
|
||||||
float move_sense; /* 移动灵敏度 */
|
|
||||||
float move_fast_sense; /* 加速灵敏度 */
|
|
||||||
float move_slow_sense; /* 减速灵敏度 */
|
|
||||||
} CMD_Move_Params_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint16_t width;
|
|
||||||
uint16_t height;
|
|
||||||
} CMD_Screen_t;
|
|
||||||
|
|
||||||
/* 命令参数 */
|
|
||||||
typedef struct {
|
|
||||||
float sens_mouse; /* 鼠标灵敏度 */
|
|
||||||
float sens_rc; /* 遥控器摇杆灵敏度 */
|
|
||||||
CMD_KeyMap_Params_t map; /* 按键映射行为命令 */
|
|
||||||
CMD_Move_Params_t move; /* 位移灵敏度参数 */
|
|
||||||
CMD_Screen_t screen; /* 屏幕分辨率参数 */
|
|
||||||
} CMD_Params_t;
|
|
||||||
|
|
||||||
/* AI行为状态 */
|
|
||||||
typedef enum {
|
|
||||||
AI_STATUS_STOP, /* 停止状态 */
|
|
||||||
AI_STATUS_AUTOAIM, /* 自瞄状态 */
|
|
||||||
AI_STATUS_HITSWITCH, /* 打符状态 */
|
|
||||||
AI_STATUS_AUTOMATIC /* 自动状态 */
|
|
||||||
} CMD_AI_Status_t;
|
|
||||||
|
|
||||||
/* UI所用行为状态 */
|
|
||||||
typedef enum {
|
|
||||||
CMD_UI_NOTHING, /* 当前无状态 */
|
|
||||||
CMD_UI_AUTO_AIM_START, /* 自瞄状态开启 */
|
|
||||||
CMD_UI_AUTO_AIM_STOP, /* 自瞄状态关闭 */
|
|
||||||
CMD_UI_HIT_SWITCH_START, /* 打符状态开启 */
|
|
||||||
CMD_UI_HIT_SWITCH_STOP /* 打符状态关闭 */
|
|
||||||
} CMD_UI_t;
|
|
||||||
|
|
||||||
/*裁判系统发送的命令*/
|
|
||||||
typedef struct {
|
|
||||||
CMD_UI_t cmd[CMD_REFEREE_MAX_NUM]; /* 命令数组 */
|
|
||||||
uint8_t counter; /* 命令计数 */
|
|
||||||
} CMD_RefereeCmd_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
bool pc_ctrl; /* 是否使用键鼠控制 */
|
|
||||||
bool host_overwrite; /* 是否Host控制 */
|
|
||||||
uint16_t key_last; /* 上次按键键值 */
|
|
||||||
|
|
||||||
struct {
|
|
||||||
int16_t x;
|
|
||||||
int16_t y;
|
|
||||||
int16_t z;
|
|
||||||
bool l_click; /* 左键 */
|
|
||||||
bool r_click; /* 右键 */
|
|
||||||
} mouse_last; /* 鼠标值 */
|
|
||||||
|
|
||||||
CMD_AI_Status_t ai_status; /* AI状态 */
|
|
||||||
|
|
||||||
const CMD_Params_t *param; /* 命令参数 */
|
|
||||||
|
|
||||||
CMD_ChassisCmd_t chassis; /* 底盘控制命令 */
|
|
||||||
CMD_GimbalCmd_t gimbal; /* 云台控制命令 */
|
|
||||||
CMD_ShootCmd_t shoot; /* 射击控制命令 */
|
|
||||||
CMD_RefereeCmd_t referee; /* 裁判系统发送命令 */
|
|
||||||
} CMD_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */
|
|
||||||
float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */
|
|
||||||
float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */
|
|
||||||
float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */
|
|
||||||
|
|
||||||
float ch_res; /* 第五通道值 */
|
|
||||||
|
|
||||||
CMD_SwitchPos_t sw_r; /* 右侧拨杆位置 */
|
|
||||||
CMD_SwitchPos_t sw_l; /* 左侧拨杆位置 */
|
|
||||||
|
|
||||||
struct {
|
|
||||||
int16_t x;
|
|
||||||
int16_t y;
|
|
||||||
int16_t z;
|
|
||||||
bool l_click; /* 左键 */
|
|
||||||
bool r_click; /* 右键 */
|
|
||||||
} mouse; /* 鼠标值 */
|
|
||||||
|
|
||||||
uint16_t key; /* 按键值 */
|
|
||||||
|
|
||||||
uint16_t res; /* 保留,未启用 */
|
|
||||||
} CMD_RC_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
AHRS_Eulr_t gimbal_delta; /* 欧拉角的变化量 */
|
|
||||||
|
|
||||||
struct {
|
|
||||||
float vx; /* x轴移动速度 */
|
|
||||||
float vy; /* y轴移动速度 */
|
|
||||||
float wz; /* z轴转动速度 */
|
|
||||||
} chassis_move_vec; /* 底盘移动向量 */
|
|
||||||
|
|
||||||
bool fire; /* 开火状态 */
|
|
||||||
} CMD_Host_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析行为命令
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param cmd 主结构体
|
|
||||||
*/
|
|
||||||
int8_t CMD_Init(CMD_t *cmd, const CMD_Params_t *param);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 检查是否启用上位机控制指令覆盖
|
|
||||||
*
|
|
||||||
* @param cmd 主结构体
|
|
||||||
* @return true 启用
|
|
||||||
* @return false 不启用
|
|
||||||
*/
|
|
||||||
bool CMD_CheckHostOverwrite(CMD_t *cmd);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析命令
|
|
||||||
*
|
|
||||||
* @param rc 遥控器数据
|
|
||||||
* @param cmd 命令
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_ParseRc(CMD_RC_t *rc, CMD_t *cmd, float dt_sec);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 解析上位机命令
|
|
||||||
*
|
|
||||||
* @param host host数据
|
|
||||||
* @param cmd 命令
|
|
||||||
* @param dt_sec 两次解析的间隔
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_ParseHost(const CMD_Host_t *host, CMD_t *cmd, float dt_sec);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 添加向Referee发送的命令
|
|
||||||
*
|
|
||||||
* @param ref 命令队列
|
|
||||||
* @param cmd 要添加的命令
|
|
||||||
* @return int8_t 0对应没有错误
|
|
||||||
*/
|
|
||||||
int8_t CMD_RefereeAdd(CMD_RefereeCmd_t *ref, CMD_UI_t cmd);
|
|
||||||
|
|
||||||
/* USER FUNCTION BEGIN */
|
|
||||||
|
|
||||||
/* USER FUNCTION END */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@ -43,25 +43,9 @@ int8_t COMP_AT9S_CMD_ParseRc(const DEVICE_AT9S_t *rc, COMP_AT9S_CMD_t *at9s_cmd)
|
|||||||
if(fabs(at9s_cmd->ch_r_x)>=1.0f)at9s_cmd->ch_r_x= at9s_cmd->ch_r_x>0?1.0f:-1.0f;
|
if(fabs(at9s_cmd->ch_r_x)>=1.0f)at9s_cmd->ch_r_x= at9s_cmd->ch_r_x>0?1.0f:-1.0f;
|
||||||
if(fabs(at9s_cmd->ch_r_y)>=1.0f)at9s_cmd->ch_r_y= at9s_cmd->ch_r_y>0?1.0f:-1.0f;
|
if(fabs(at9s_cmd->ch_r_y)>=1.0f)at9s_cmd->ch_r_y= at9s_cmd->ch_r_y>0?1.0f:-1.0f;
|
||||||
|
|
||||||
|
if(rc->online == true ||rc->data.key_D == AT9S_CMD_SW_UP)at9s_cmd->stop = false;
|
||||||
at9s_cmd->chassis_ctrl_vec.x = at9s_cmd->ch_r_x;
|
else if(rc->online == false || rc->data.key_D == AT9S_CMD_SW_DOWN)at9s_cmd->stop = true;
|
||||||
at9s_cmd->chassis_ctrl_vec.y = at9s_cmd->ch_r_y;
|
else at9s_cmd->stop = true;
|
||||||
at9s_cmd->gimbal_yaw_ctrl_vec.w = at9s_cmd->ch_l_x;
|
|
||||||
at9s_cmd->gimbal_pit_ctrl_vec.w = at9s_cmd->ch_l_y;
|
|
||||||
|
|
||||||
if(rc->online == false ||rc->data.key_H == AT9S_CMD_SW_UP)at9s_cmd->mode = MODE_CMD_BREAKING_CONTROL;
|
|
||||||
else if(rc->data.key_E == AT9S_CMD_SW_DOWN)at9s_cmd->mode = MODE_CMD_ONLT_GIMBAL;
|
|
||||||
else if(rc->data.key_E == AT9S_CMD_SW_MID)at9s_cmd->mode = MODE_CMD_FOLLOW;
|
|
||||||
else if(rc->data.key_E == AT9S_CMD_SW_UP)at9s_cmd->mode = MODE_CMD_SPIN;
|
|
||||||
|
|
||||||
if(rc->data.key_C == AT9S_CMD_SW_DOWN)at9s_cmd->ai = true;
|
|
||||||
else at9s_cmd->ai = false;
|
|
||||||
|
|
||||||
if(rc->data.key_G == AT9S_CMD_SW_DOWN) at9s_cmd->friction = false;
|
|
||||||
else if(rc->data.key_G == AT9S_CMD_SW_MID||rc->data.key_G == AT9S_CMD_SW_UP) at9s_cmd->friction = true;
|
|
||||||
|
|
||||||
if(rc->data.key_G == AT9S_CMD_SW_UP)at9s_cmd->shoot = true;
|
|
||||||
else at9s_cmd->shoot = false;
|
|
||||||
|
|
||||||
at9s_cmd->online = rc->online;
|
at9s_cmd->online = rc->online;
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -19,32 +19,15 @@ typedef enum {
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
bool online;
|
bool online;
|
||||||
|
bool stop;
|
||||||
|
|
||||||
int8_t mode;
|
int8_t mode;
|
||||||
|
|
||||||
bool ai;
|
|
||||||
|
|
||||||
bool friction;
|
|
||||||
bool shoot;
|
|
||||||
|
|
||||||
float ch_l_x; /* <20><>ҡ<EFBFBD><D2A1> X */
|
float ch_l_x; /* <20><>ҡ<EFBFBD><D2A1> X */
|
||||||
float ch_l_y; /* <20><>ҡ<EFBFBD><D2A1> Y<><59><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD> */
|
float ch_l_y; /* <20><>ҡ<EFBFBD><D2A1> Y<><59><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD> */
|
||||||
float ch_r_x; /* <20><>ҡ<EFBFBD><D2A1> X */
|
float ch_r_x; /* <20><>ҡ<EFBFBD><D2A1> X */
|
||||||
float ch_r_y; /* <20><>ҡ<EFBFBD><D2A1> Y */
|
float ch_r_y; /* <20><>ҡ<EFBFBD><D2A1> Y */
|
||||||
|
|
||||||
struct{
|
|
||||||
float x;
|
|
||||||
float y;
|
|
||||||
}chassis_ctrl_vec;
|
|
||||||
|
|
||||||
struct{
|
|
||||||
float w;
|
|
||||||
}gimbal_yaw_ctrl_vec;
|
|
||||||
|
|
||||||
struct{
|
|
||||||
float w;
|
|
||||||
}gimbal_pit_ctrl_vec;
|
|
||||||
|
|
||||||
} COMP_AT9S_CMD_t;
|
} COMP_AT9S_CMD_t;
|
||||||
|
|
||||||
int8_t COMP_AT9S_CMD_ParseRc(const DEVICE_AT9S_t *rc, COMP_AT9S_CMD_t *at9s_cmd);
|
int8_t COMP_AT9S_CMD_ParseRc(const DEVICE_AT9S_t *rc, COMP_AT9S_CMD_t *at9s_cmd);
|
||||||
|
|||||||
@ -15,7 +15,110 @@
|
|||||||
|
|
||||||
// 机器人参数配置
|
// 机器人参数配置
|
||||||
Config_RobotParam_t robot_config = {
|
Config_RobotParam_t robot_config = {
|
||||||
|
.quad_params = {
|
||||||
|
.ctrl_freq = {
|
||||||
|
.pos_alt=100,
|
||||||
|
.pos_vel=100,
|
||||||
|
.att_agl=250,
|
||||||
|
.att_omg=1000
|
||||||
|
},
|
||||||
|
|
||||||
|
.baseThrottle=0.3,
|
||||||
|
|
||||||
|
.pid = {
|
||||||
|
.pit_agl = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.8f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.0f,
|
||||||
|
.i_limit = 0.3f,
|
||||||
|
.out_limit = 1.0f,
|
||||||
|
.d_cutoff_freq = 0.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.rol_agl = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.8f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.0f,
|
||||||
|
.i_limit = 0.3f,
|
||||||
|
.out_limit = 1.0f,
|
||||||
|
.d_cutoff_freq = 0.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.yaw_agl = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.8f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.0f,
|
||||||
|
.i_limit = 0.3f,
|
||||||
|
.out_limit = 1.0f,
|
||||||
|
.d_cutoff_freq = 0.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.pit_omg = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.25f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.01f,
|
||||||
|
.i_limit = 0.05f,
|
||||||
|
.out_limit = 0.2f,
|
||||||
|
.d_cutoff_freq = 30.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.rol_omg = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.25f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.01f,
|
||||||
|
.i_limit = 0.05f,
|
||||||
|
.out_limit = 0.2f,
|
||||||
|
.d_cutoff_freq = 30.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.yaw_omg = {
|
||||||
|
.k = 1.0f,
|
||||||
|
.p = 0.25f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.01f,
|
||||||
|
.i_limit = 0.05f,
|
||||||
|
.out_limit = 0.2f,
|
||||||
|
.d_cutoff_freq = 30.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.alt_pos = {
|
||||||
|
.k = 0.25f,
|
||||||
|
.p = 1.0f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.00f,
|
||||||
|
.i_limit = 0.5f,
|
||||||
|
.out_limit = 3.0f,
|
||||||
|
.d_cutoff_freq = 0.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
.alt_vel = {
|
||||||
|
.k = 0.08f,
|
||||||
|
.p = 2.2f,
|
||||||
|
.i = 0.05f,
|
||||||
|
.d = 0.01f,
|
||||||
|
.i_limit = 0.05f,
|
||||||
|
.out_limit = 0.2f,
|
||||||
|
.d_cutoff_freq = -1.0f,
|
||||||
|
.range = 0.0f
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
.expect_status_limit = {
|
||||||
|
.yaw_omg = 1.0f,
|
||||||
|
.rol_agl = 0.1745329f,
|
||||||
|
.pit_agl = 0.1745329f
|
||||||
|
},
|
||||||
|
.motor_limit = {
|
||||||
|
.min_output = 0.1f,
|
||||||
|
.max_output = 0.9f
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -9,9 +9,9 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include "module/xm_quadctrl.h"
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
Quad_Params_t quad_params;
|
||||||
} Config_RobotParam_t;
|
} Config_RobotParam_t;
|
||||||
|
|
||||||
/* Exported functions prototypes -------------------------------------------- */
|
/* Exported functions prototypes -------------------------------------------- */
|
||||||
|
|||||||
@ -1,6 +1,28 @@
|
|||||||
//#include "xm_quadctrl.h"
|
/* Includes ----------------------------------------------------------------- */
|
||||||
//#include "component/pid.h"
|
#include "xm_quadctrl.h"
|
||||||
//#include "bsp/pwm.h"
|
#include "component/pid.h"
|
||||||
|
#include "bsp/pwm.h"
|
||||||
|
#include "bsp/time.h"
|
||||||
|
#include "module/HeightEstimation.h"
|
||||||
|
#include "component/filter.h"
|
||||||
|
// 电机布局:
|
||||||
|
// [0] 前右 (CW)
|
||||||
|
// [1] 前左 (CCW)
|
||||||
|
// [2] 后左 (CW)
|
||||||
|
// [3] 后右 (CCW)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//低通滤波初始化和计算
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// PID控制器实例
|
//// PID控制器实例
|
||||||
@ -9,7 +31,6 @@
|
|||||||
//KPID_t yaw_rate_pid; // 偏航角速度环PID
|
//KPID_t yaw_rate_pid; // 偏航角速度环PID
|
||||||
//KPID_t altitude_pos_pid; // 高度环PID
|
//KPID_t altitude_pos_pid; // 高度环PID
|
||||||
//KPID_t altitude_vel_pid; // 高度环PID
|
//KPID_t altitude_vel_pid; // 高度环PID
|
||||||
|
|
||||||
//// PID参数配置
|
//// PID参数配置
|
||||||
//KPID_Params_t angle_pid_params = {
|
//KPID_Params_t angle_pid_params = {
|
||||||
// .k = 1.0f, // 控制器增益
|
// .k = 1.0f, // 控制器增益
|
||||||
@ -21,7 +42,6 @@
|
|||||||
// .d_cutoff_freq = 0.0f, // 截止频率(不使用)
|
// .d_cutoff_freq = 0.0f, // 截止频率(不使用)
|
||||||
// .range = 0.0f // 误差范围(不使用)
|
// .range = 0.0f // 误差范围(不使用)
|
||||||
//};
|
//};
|
||||||
|
|
||||||
//KPID_Params_t rate_pid_params = {
|
//KPID_Params_t rate_pid_params = {
|
||||||
// .k = 1.0f,
|
// .k = 1.0f,
|
||||||
// .p = 0.25f, // 比例增益
|
// .p = 0.25f, // 比例增益
|
||||||
@ -32,7 +52,6 @@
|
|||||||
// .d_cutoff_freq = 30.0f, // 微分项低通截止频率(Hz)
|
// .d_cutoff_freq = 30.0f, // 微分项低通截止频率(Hz)
|
||||||
// .range = 0.0f
|
// .range = 0.0f
|
||||||
//};
|
//};
|
||||||
|
|
||||||
//KPID_Params_t alt_pos_pid_params = {
|
//KPID_Params_t alt_pos_pid_params = {
|
||||||
// .k = 0.25f,
|
// .k = 0.25f,
|
||||||
// .p = 1.0f, // 比例增益
|
// .p = 1.0f, // 比例增益
|
||||||
@ -43,7 +62,6 @@
|
|||||||
// .d_cutoff_freq = 0.0f, // 截止频率(Hz)
|
// .d_cutoff_freq = 0.0f, // 截止频率(Hz)
|
||||||
// .range = 0.0f
|
// .range = 0.0f
|
||||||
//};
|
//};
|
||||||
|
|
||||||
//KPID_Params_t alt_vel_pid_params = {
|
//KPID_Params_t alt_vel_pid_params = {
|
||||||
// .k = 0.08f,
|
// .k = 0.08f,
|
||||||
// .p = 2.2f, // 比例增益
|
// .p = 2.2f, // 比例增益
|
||||||
@ -55,225 +73,296 @@
|
|||||||
// .range = 0.0f
|
// .range = 0.0f
|
||||||
//};
|
//};
|
||||||
|
|
||||||
//// 初始化卡尔曼滤波器
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
//void Kalman_Init(KalmanFilter* kf) {
|
/* Private define ----------------------------------------------------------- */
|
||||||
// kf->Q_angle = 0.001f;
|
|
||||||
// kf->Q_bias = 0.003f;
|
|
||||||
// kf->R_measure = 0.03f;
|
|
||||||
// kf->angle = 0.0f;
|
|
||||||
// kf->bias = 0.0f;
|
|
||||||
// kf->P[0][0] = 0.0f;
|
|
||||||
// kf->P[0][1] = 0.0f;
|
|
||||||
// kf->P[1][0] = 0.0f;
|
|
||||||
// kf->P[1][1] = 0.0f;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// 卡尔曼滤波器更新
|
/* Private macro ------------------------------------------------------------ */
|
||||||
//float Kalman_Update(KalmanFilter* kf, float newAngle, float newRate, float dt) {
|
/* Private variables -------------------------------------------------------- */
|
||||||
// // 预测步骤
|
/* Private function -------------------------------------------------------- */
|
||||||
// kf->angle += dt * (newRate - kf->bias);
|
static inline void Quad_Math_LimitFloat(float* value, float min, float max) {
|
||||||
// kf->P[0][0] += dt * (dt * kf->P[1][1] - kf->P[0][1] - kf->P[1][0] + kf->Q_angle);
|
if (*value < min) {
|
||||||
// kf->P[0][1] -= dt * kf->P[1][1];
|
*value = min;
|
||||||
// kf->P[1][0] -= dt * kf->P[1][1];
|
} else if (*value > max) {
|
||||||
// kf->P[1][1] += kf->Q_bias * dt;
|
*value = max;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// // 更新步骤
|
static inline void Quad_Math_ScaleSumTo1(float *a, float *b, float *c, float *d) {
|
||||||
// float y = newAngle - kf->angle;
|
float sum = *a + *b + *c + *d;
|
||||||
// float S = kf->P[0][0] + kf->R_measure;
|
if (sum > 1.0f) {
|
||||||
// float K[2];
|
float scale = 1.0f / sum;
|
||||||
// K[0] = kf->P[0][0] / S;
|
*a *= scale;
|
||||||
// K[1] = kf->P[1][0] / S;
|
*b *= scale;
|
||||||
|
*c *= scale;
|
||||||
|
*d *= scale;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// // 更新状态和协方差
|
// 初始化卡尔曼滤波器
|
||||||
// kf->angle += K[0] * y;
|
void Kalman_Init(KalmanFilter* kf) {
|
||||||
// kf->bias += K[1] * y;
|
kf->Q_angle = 0.001f;
|
||||||
// float P00_temp = kf->P[0][0];
|
kf->Q_bias = 0.003f;
|
||||||
// float P01_temp = kf->P[0][1];
|
kf->R_measure = 0.03f;
|
||||||
// kf->P[0][0] -= K[0] * P00_temp;
|
kf->angle = 0.0f;
|
||||||
// kf->P[0][1] -= K[0] * P01_temp;
|
kf->bias = 0.0f;
|
||||||
// kf->P[1][0] -= K[1] * P00_temp;
|
kf->P[0][0] = 0.0f;
|
||||||
// kf->P[1][1] -= K[1] * P01_temp;
|
kf->P[0][1] = 0.0f;
|
||||||
|
kf->P[1][0] = 0.0f;
|
||||||
|
kf->P[1][1] = 0.0f;
|
||||||
|
}
|
||||||
|
// 卡尔曼滤波器更新
|
||||||
|
float Kalman_Update(KalmanFilter* kf, float newAngle, float newRate, float dt) {
|
||||||
|
// 预测步骤
|
||||||
|
kf->angle += dt * (newRate - kf->bias);
|
||||||
|
kf->P[0][0] += dt * (dt * kf->P[1][1] - kf->P[0][1] - kf->P[1][0] + kf->Q_angle);
|
||||||
|
kf->P[0][1] -= dt * kf->P[1][1];
|
||||||
|
kf->P[1][0] -= dt * kf->P[1][1];
|
||||||
|
kf->P[1][1] += kf->Q_bias * dt;
|
||||||
|
// 更新步骤
|
||||||
|
float y = newAngle - kf->angle;
|
||||||
|
float S = kf->P[0][0] + kf->R_measure;
|
||||||
|
float K[2];
|
||||||
|
K[0] = kf->P[0][0] / S;
|
||||||
|
K[1] = kf->P[1][0] / S;
|
||||||
|
// 更新状态和协方差
|
||||||
|
kf->angle += K[0] * y;
|
||||||
|
kf->bias += K[1] * y;
|
||||||
|
float P00_temp = kf->P[0][0];
|
||||||
|
float P01_temp = kf->P[0][1];
|
||||||
|
kf->P[0][0] -= K[0] * P00_temp;
|
||||||
|
kf->P[0][1] -= K[0] * P01_temp;
|
||||||
|
kf->P[1][0] -= K[1] * P00_temp;
|
||||||
|
kf->P[1][1] -= K[1] * P01_temp;
|
||||||
|
return kf->angle;
|
||||||
|
}
|
||||||
|
|
||||||
// return kf->angle;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// 全局变量
|
|
||||||
//KalmanFilter roll_kf, pitch_kf;
|
|
||||||
|
|
||||||
//// 控制器初始化函数
|
|
||||||
//void FlightController_Init(float sample_freq) {
|
|
||||||
// // 初始化卡尔曼滤波器
|
|
||||||
// Kalman_Init(&roll_kf);
|
|
||||||
// Kalman_Init(&pitch_kf);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // 初始化PID控制器
|
|
||||||
// PID_Init(&roll_angle_pid, KPID_MODE_NO_D, sample_freq, &angle_pid_params);
|
|
||||||
// PID_Init(&pitch_angle_pid, KPID_MODE_NO_D, sample_freq, &angle_pid_params);
|
|
||||||
// PID_Init(&roll_rate_pid, KPID_MODE_CALC_D, sample_freq, &rate_pid_params);
|
|
||||||
// PID_Init(&pitch_rate_pid, KPID_MODE_CALC_D, sample_freq, &rate_pid_params);
|
|
||||||
// PID_Init(&yaw_rate_pid, KPID_MODE_SET_D, sample_freq, &rate_pid_params);
|
|
||||||
// PID_Init(&altitude_pos_pid, KPID_MODE_NO_D, sample_freq, &alt_pos_pid_params);
|
|
||||||
// PID_Init(&altitude_vel_pid, KPID_MODE_CALC_D, sample_freq, &alt_vel_pid_params);
|
|
||||||
//
|
|
||||||
// // 重置所有PID状态
|
|
||||||
// PID_Reset(&roll_angle_pid);
|
|
||||||
// PID_Reset(&pitch_angle_pid);
|
|
||||||
// PID_Reset(&roll_rate_pid);
|
|
||||||
// PID_Reset(&pitch_rate_pid);
|
|
||||||
// PID_Reset(&yaw_rate_pid);
|
|
||||||
// PID_Reset(&altitude_pos_pid);
|
|
||||||
// PID_Reset(&altitude_vel_pid);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//float target_yaw_rate;
|
int8_t Quad_UpdateStatus(Quad_t *q) {
|
||||||
//float expected_speed;
|
// 这里添加传感器数据更新逻辑
|
||||||
//float expect_thrust;
|
|
||||||
//float target_roll_rate;
|
|
||||||
//float target_pitch_rate;
|
|
||||||
//float base_throttle = 0.4f; // 基础油门
|
|
||||||
//float target_altitude = 0.0f; // 目标高度1米
|
|
||||||
//float roll_angle;
|
|
||||||
//float pitch_angle;
|
|
||||||
//// 主控制循环(在固定时间间隔调用
|
|
||||||
//void FlightController_Update(SensorData sensors, Control_t* output, float dt, PS2_TypeDef rc) {
|
|
||||||
// // 1. 姿态估计(使用卡尔曼滤波)
|
|
||||||
// roll_angle = Kalman_Update(&roll_kf,
|
|
||||||
// atan2f(sensors.accel[1], sensors.accel[2]),
|
|
||||||
// sensors.gyro[0],
|
|
||||||
// dt)+0.0302813556;
|
|
||||||
//
|
|
||||||
// pitch_angle = Kalman_Update(&pitch_kf,
|
|
||||||
// atan2f(-sensors.accel[0], sensors.accel[2]),
|
|
||||||
// sensors.gyro[1],
|
|
||||||
// dt)+0.0181136467;
|
|
||||||
//
|
|
||||||
// // 2. 高度估计(融合加速度计和气压计)
|
|
||||||
// //AltKalman_Update(&alt_kf, sensors.accel[2], sensors.baro_alt, dt);
|
|
||||||
//
|
|
||||||
// // 3. 遥控器输入
|
|
||||||
//// float target_yaw_rate, target_throttle;
|
|
||||||
//
|
|
||||||
// target_altitude += (rc.Rocker_LY-0.5)*0.03;
|
|
||||||
// if(target_altitude<=-13){target_altitude=-13;}else if(target_altitude>=11){target_altitude=11;}
|
|
||||||
//
|
|
||||||
//// expected_speed =
|
|
||||||
//
|
|
||||||
// output->Controltarget.pitch = (rc.Rocker_RY-0.5)*0.349065f;
|
|
||||||
// output->Controltarget.roll = (rc.Rocker_RX-0.5)*0.1745329f;
|
|
||||||
// target_yaw_rate = (rc.Rocker_LX-0.5)*0.349065f;
|
|
||||||
//
|
|
||||||
// // 4. 高度控制(单环PID)
|
|
||||||
// expected_speed = PID_Calc(&altitude_pos_pid, target_altitude, -sensors.baro_alt, 0, dt);
|
|
||||||
// expect_thrust = PID_Calc(&altitude_vel_pid, expected_speed, sensors.speed_z, 0, dt);
|
|
||||||
// if(expect_thrust<-1.0f){expect_thrust=-1.0f;}
|
|
||||||
// output->ControlOutput.throttle = base_throttle+expect_thrust;
|
|
||||||
// // 5. 双环姿态控制
|
|
||||||
// // 外环:角度控制(输出目标角速度)
|
|
||||||
//// float target_roll_rate = PID_Calc(&roll_angle_pid, output->Controltarget.roll, roll_angle, 0, dt);
|
|
||||||
//// float target_pitch_rate = PID_Calc(&pitch_angle_pid, output->Controltarget.pitch, pitch_angle, 0, dt);
|
|
||||||
// target_roll_rate = PID_Calc(&roll_angle_pid, output->Controltarget.roll, roll_angle, 0, dt);
|
|
||||||
// target_pitch_rate = PID_Calc(&pitch_angle_pid, output->Controltarget.pitch, pitch_angle, 0, dt);
|
|
||||||
//
|
|
||||||
// // 内环:角速度控制(输出控制量)
|
|
||||||
// output->ControlOutput.roll = 2*PID_Calc(&roll_rate_pid, target_roll_rate, sensors.gyro[0], 0, dt);
|
|
||||||
// output->ControlOutput.pitch = 2*PID_Calc(&pitch_rate_pid, target_pitch_rate, sensors.gyro[1], 0, dt);
|
|
||||||
// output->ControlOutput.yaw = 1.5*PID_Calc(&yaw_rate_pid, target_yaw_rate, sensors.gyro[2], 0, dt);
|
|
||||||
//
|
|
||||||
// // 6. 输出限幅保护
|
|
||||||
// output->ControlOutput.throttle = fmaxf(0.0f, fminf(1.0f, output->ControlOutput.throttle));
|
|
||||||
// output->ControlOutput.roll = fmaxf(-1.0f, fminf(1.0f, output->ControlOutput.roll));
|
|
||||||
// output->ControlOutput.pitch = fmaxf(-1.0f, fminf(1.0f, output->ControlOutput.pitch));
|
|
||||||
// output->ControlOutput.yaw = fmaxf(-1.0f, fminf(1.0f, output->ControlOutput.yaw));
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// 重置所有控制器(在模式切换或紧急情况下调用)
|
// 1. 姿态估计(使用卡尔曼滤波)
|
||||||
//void FlightController_Reset() {
|
q->current_status.eulr.rol = Kalman_Update(&q->kalman.rol_kf,
|
||||||
// PID_Reset(&roll_angle_pid);
|
atan2f(q->current_status.accl.y, q->current_status.accl.z),
|
||||||
// PID_Reset(&pitch_angle_pid);
|
q->current_status.gyro.x,
|
||||||
// PID_Reset(&roll_rate_pid);
|
q->dt);
|
||||||
// PID_Reset(&pitch_rate_pid);
|
|
||||||
// PID_Reset(&yaw_rate_pid);
|
|
||||||
// PID_Reset(&altitude_pos_pid);
|
|
||||||
// PID_Reset(&altitude_vel_pid);
|
|
||||||
// // 重置卡尔曼滤波器
|
|
||||||
// Kalman_Init(&roll_kf);
|
|
||||||
// Kalman_Init(&pitch_kf);
|
|
||||||
// //AltKalman_Init(&alt_kf);
|
|
||||||
//}
|
|
||||||
|
|
||||||
///*********************************************************** */
|
q->current_status.eulr.pit = Kalman_Update(&q->kalman.pit_kf,
|
||||||
///* 混控器 */
|
atan2f(-q->current_status.accl.x, q->current_status.accl.z),
|
||||||
///*********************************************************** */
|
q->current_status.gyro.y,
|
||||||
|
q->dt);
|
||||||
|
// 2. 高度估计(融合加速度计和气压计)
|
||||||
|
HeightEstimation_GetHeight(&q->current_status.alt, &q->current_status.vel_z, q->current_status.accl.z);
|
||||||
|
|
||||||
//// 全局混控器实例
|
|
||||||
////static Mixer mixer;
|
|
||||||
//Mixer mixer;
|
|
||||||
//// 初始化混控器
|
|
||||||
//void MotorMixer_Init() {
|
|
||||||
// // 电机1配置 (前右)
|
|
||||||
// mixer.motors[0].min_output = 0.1f;
|
|
||||||
// mixer.motors[0].max_output = 1.0f;
|
|
||||||
//
|
|
||||||
// // 电机2配置 (前左)
|
|
||||||
// mixer.motors[1].min_output = 0.1f;
|
|
||||||
// mixer.motors[1].max_output = 1.0f;
|
|
||||||
//
|
|
||||||
// // 电机3配置 (后左)
|
|
||||||
// mixer.motors[2].min_output = 0.1f;
|
|
||||||
// mixer.motors[2].max_output = 1.0f;
|
|
||||||
//
|
|
||||||
// // 电机4配置 (后右)
|
|
||||||
// mixer.motors[3].min_output = 0.1f;
|
|
||||||
// mixer.motors[3].max_output = 1.0f;
|
|
||||||
//
|
|
||||||
// // 初始输出为0
|
|
||||||
// for (int i = 0; i < 4; i++) {
|
|
||||||
// mixer.motor_output[i] = 0.0f;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//float mix[4];
|
|
||||||
//// 应用电机输出
|
|
||||||
//void Apply_Motor_Outputs(Control_t ctrl) {
|
|
||||||
// // 1. 基本混控公式 (X型四轴布局)
|
|
||||||
// // 电机布局:
|
|
||||||
// // [0] 前右 (CW)
|
|
||||||
// // [1] 前左 (CCW)
|
|
||||||
// // [2] 后左 (CW)
|
|
||||||
// // [3] 后右 (CCW)
|
|
||||||
//
|
|
||||||
// // 混控公式:
|
|
||||||
//// float mix[4];
|
|
||||||
// mix[0] = ctrl.ControlOutput.throttle + ctrl.ControlOutput.roll - ctrl.ControlOutput.pitch + ctrl.ControlOutput.yaw; // 前右
|
|
||||||
// mix[1] = ctrl.ControlOutput.throttle - ctrl.ControlOutput.roll - ctrl.ControlOutput.pitch - ctrl.ControlOutput.yaw; // 前左
|
|
||||||
// mix[2] = ctrl.ControlOutput.throttle - ctrl.ControlOutput.roll + ctrl.ControlOutput.pitch + ctrl.ControlOutput.yaw; // 后左
|
|
||||||
// mix[3] = ctrl.ControlOutput.throttle + ctrl.ControlOutput.roll + ctrl.ControlOutput.pitch - ctrl.ControlOutput.yaw; // 后右
|
|
||||||
//
|
|
||||||
// // 2. 输出限幅和约束
|
|
||||||
// for (int i = 0; i < 4; i++) {
|
|
||||||
// // 应用电机特定限幅
|
|
||||||
// if (mix[i] < mixer.motors[i].min_output) {
|
|
||||||
// mix[i] = mixer.motors[i].min_output;
|
|
||||||
// } else if (mix[i] > mixer.motors[i].max_output) {
|
|
||||||
// mix[i] = mixer.motors[i].max_output;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 更新当前输出值
|
|
||||||
// mixer.motor_output[i] = 0.275+0.8*mix[i]*0.21; // 转换为PWM计数值
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 3. 输出到PWM
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT1, mixer.motor_output[0]);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT2, mixer.motor_output[1]);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT3, mixer.motor_output[2]);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT4, mixer.motor_output[3]);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//// 安全停止所有电机
|
return 0;
|
||||||
//void MotorMixer_OutStop() {
|
}
|
||||||
// BSP_PWM_Stop(BSP_PWM_MOTOR_OUT1);
|
|
||||||
// BSP_PWM_Stop(BSP_PWM_MOTOR_OUT2);
|
int8_t Quad_SetTargetStates(Quad_t *q, Quad_CMD_t cmd) {
|
||||||
// BSP_PWM_Stop(BSP_PWM_MOTOR_OUT3);
|
// 这里添加目标状态设置逻辑
|
||||||
// BSP_PWM_Stop(BSP_PWM_MOTOR_OUT4);
|
|
||||||
//}
|
q->expect_status.vel = cmd.throttle;
|
||||||
|
q->expect_status.yaw_omg = cmd.yaw;
|
||||||
|
q->expect_status.rol_agl = cmd.rol+q->current_status.eulr.rol;
|
||||||
|
q->expect_status.pit_agl = cmd.pit+q->current_status.eulr.pit;
|
||||||
|
|
||||||
|
Quad_Math_LimitFloat(&q->expect_status.yaw_omg,
|
||||||
|
-q->param->expect_status_limit.yaw_omg,
|
||||||
|
q->param->expect_status_limit.yaw_omg);
|
||||||
|
Quad_Math_LimitFloat(&q->expect_status.rol_agl,
|
||||||
|
q->expect_status.rol_agl-q->param->expect_status_limit.rol_agl,
|
||||||
|
q->expect_status.rol_agl+q->param->expect_status_limit.rol_agl);
|
||||||
|
Quad_Math_LimitFloat(&q->expect_status.pit_agl,
|
||||||
|
q->expect_status.pit_agl-q->param->expect_status_limit.pit_agl,
|
||||||
|
q->expect_status.pit_agl+q->param->expect_status_limit.pit_agl);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//位置控制
|
||||||
|
int8_t Quad_PosCtrl(Quad_t *q,float dt) {
|
||||||
|
|
||||||
|
// q->expect_status.vel=PID_Calc(&q->pid.alt_pos,
|
||||||
|
// q->expect_status.alt,
|
||||||
|
// q->current_status.alt,
|
||||||
|
// 0,
|
||||||
|
// dt);
|
||||||
|
q->expect_status.thrust=PID_Calc(&q->pid.alt_vel,
|
||||||
|
q->expect_status.vel,
|
||||||
|
q->current_status.vel_z,
|
||||||
|
0,
|
||||||
|
dt);
|
||||||
|
Quad_Math_LimitFloat(&q->expect_status.thrust, -1.0f, 1.0f);
|
||||||
|
q->output.throttle=q->param->baseThrottle
|
||||||
|
+q->expect_status.thrust;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//姿态控制
|
||||||
|
int8_t Quad_AttCtrl_agl(Quad_t *q, float dt) {
|
||||||
|
//角度控制
|
||||||
|
q->expect_status.rol_omg = PID_Calc(&q->pid.rol_agl,
|
||||||
|
q->expect_status.rol_agl,
|
||||||
|
q->current_status.eulr.rol,
|
||||||
|
0,
|
||||||
|
q->dt);
|
||||||
|
q->expect_status.pit_omg = PID_Calc(&q->pid.pit_agl,
|
||||||
|
q->expect_status.pit_agl,
|
||||||
|
q->current_status.eulr.pit,
|
||||||
|
0,
|
||||||
|
q->dt);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_AttCtrl_omg(Quad_t *q, float dt) {
|
||||||
|
//角速度控制
|
||||||
|
q->output.pit = PID_Calc(&q->pid.pit_omg,
|
||||||
|
q->expect_status.pit_omg,
|
||||||
|
q->current_status.gyro.y,
|
||||||
|
0,
|
||||||
|
q->dt);
|
||||||
|
q->output.yaw = PID_Calc(&q->pid.yaw_omg,
|
||||||
|
q->expect_status.yaw_omg,
|
||||||
|
q->current_status.gyro.z,
|
||||||
|
0,
|
||||||
|
q->dt);
|
||||||
|
q->output.rol = PID_Calc(&q->pid.rol_omg,
|
||||||
|
q->expect_status.rol_omg,
|
||||||
|
q->current_status.gyro.x,
|
||||||
|
0,
|
||||||
|
q->dt);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_Mixer(Quad_t *q) {
|
||||||
|
|
||||||
|
Quad_Math_ScaleSumTo1(&q->output.throttle, &q->output.rol, &q->output.pit, &q->output.yaw);
|
||||||
|
|
||||||
|
q->output.mix[0] = q->output.throttle + q->output.rol - q->output.pit + q->output.yaw;// 前右
|
||||||
|
q->output.mix[1] = q->output.throttle - q->output.rol - q->output.pit - q->output.yaw;// 前左
|
||||||
|
q->output.mix[2] = q->output.throttle - q->output.rol + q->output.pit + q->output.yaw;// 后左
|
||||||
|
q->output.mix[3] = q->output.throttle + q->output.rol + q->output.pit - q->output.yaw;// 后右
|
||||||
|
|
||||||
|
for(int i=0;i<4;i++){
|
||||||
|
Quad_Math_LimitFloat(&q->output.mix[i], q->param->motor_limit.min_output, q->param->motor_limit.max_output);
|
||||||
|
q->output.motor[i] = 0.275+0.8*q->output.mix[i]*0.21;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_OutPut(Quad_Output_t *output){
|
||||||
|
|
||||||
|
if(output == NULL){
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
BSP_PWM_SetComp(BSP_PWM_MOTOR_OUT1, output->motor[0]);
|
||||||
|
BSP_PWM_SetComp(BSP_PWM_MOTOR_OUT2, output->motor[1]);
|
||||||
|
BSP_PWM_SetComp(BSP_PWM_MOTOR_OUT3, output->motor[2]);
|
||||||
|
BSP_PWM_SetComp(BSP_PWM_MOTOR_OUT4, output->motor[3]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_ResetStatus(Quad_CurrentStatus_t *currentStatus) {
|
||||||
|
|
||||||
|
return 0; // 返回0表示成功
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_ResetOutput(Quad_Output_t *output) {
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
output->motor[i] = 0.0f;
|
||||||
|
}
|
||||||
|
return 0; // 返回0表示成功
|
||||||
|
}
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
|
||||||
|
int8_t Quad_Init(Quad_t *q, Quad_Params_t *param, float freq) {
|
||||||
|
|
||||||
|
if(param == NULL) {
|
||||||
|
return -1; // 参数错误
|
||||||
|
}
|
||||||
|
q->param = param;
|
||||||
|
// 初始化卡尔曼滤波器
|
||||||
|
Kalman_Init(&q->kalman.rol_kf);
|
||||||
|
Kalman_Init(&q->kalman.pit_kf);
|
||||||
|
|
||||||
|
uint16_t pos_alt=param->ctrl_freq.pos_alt;
|
||||||
|
uint16_t pos_vel=param->ctrl_freq.pos_vel;
|
||||||
|
uint16_t att_agl=param->ctrl_freq.att_agl;
|
||||||
|
uint16_t att_omg=param->ctrl_freq.att_omg;
|
||||||
|
|
||||||
|
LowPassFilter2p_Init(&q->filter.accl_x, freq, 30.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.accl_y, freq, 30.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.accl_z, freq, 30.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.gyro_x, freq, 80.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.gyro_y, freq, 80.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.gyro_z, freq, 80.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.eulr_yaw, freq, 20.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.eulr_pit, freq, 20.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.eulr_rol, freq, 20.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.alt, freq, 10.0f);
|
||||||
|
LowPassFilter2p_Init(&q->filter.vel_z, freq, 15.0f);
|
||||||
|
|
||||||
|
PID_Init(&q->pid.yaw_agl, KPID_MODE_CALC_D, att_agl, ¶m->pid.yaw_agl);
|
||||||
|
PID_Init(&q->pid.pit_agl, KPID_MODE_CALC_D, att_agl, ¶m->pid.pit_agl);
|
||||||
|
PID_Init(&q->pid.rol_agl, KPID_MODE_CALC_D, att_agl, ¶m->pid.rol_agl);
|
||||||
|
PID_Init(&q->pid.yaw_omg, KPID_MODE_CALC_D, att_omg, ¶m->pid.yaw_omg);
|
||||||
|
PID_Init(&q->pid.pit_omg, KPID_MODE_CALC_D, att_omg, ¶m->pid.pit_omg);
|
||||||
|
PID_Init(&q->pid.rol_omg, KPID_MODE_CALC_D, att_omg, ¶m->pid.rol_omg);
|
||||||
|
PID_Init(&q->pid.alt_pos, KPID_MODE_CALC_D, pos_alt, ¶m->pid.alt_pos);
|
||||||
|
PID_Init(&q->pid.alt_vel, KPID_MODE_CALC_D, pos_vel, ¶m->pid.alt_vel);
|
||||||
|
|
||||||
|
q->expect_status.alt = q->current_status.alt;
|
||||||
|
q->expect_status.pit_agl = q->current_status.eulr.pit;
|
||||||
|
q->expect_status.rol_agl = q->current_status.eulr.rol;
|
||||||
|
q->expect_status.yaw_agl = q->current_status.eulr.yaw;
|
||||||
|
|
||||||
|
BSP_PWM_Start(BSP_PWM_MOTOR_OUT1);
|
||||||
|
BSP_PWM_Start(BSP_PWM_MOTOR_OUT2);
|
||||||
|
BSP_PWM_Start(BSP_PWM_MOTOR_OUT3);
|
||||||
|
BSP_PWM_Start(BSP_PWM_MOTOR_OUT4);
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t Quad_Ctrl(Quad_t *q, Quad_CMD_t cmd) {
|
||||||
|
|
||||||
|
if(q == NULL) {
|
||||||
|
return -1; // 参数错误
|
||||||
|
}
|
||||||
|
q->now =BSP_TIME_Get_us() / 1000000.0f;
|
||||||
|
q->dt =(BSP_TIME_Get_us() - q->last) / 1000000.0f;
|
||||||
|
q->last=BSP_TIME_Get_us();
|
||||||
|
|
||||||
|
Quad_UpdateStatus(q);
|
||||||
|
Quad_SetTargetStates(q, cmd);
|
||||||
|
|
||||||
|
static uint8_t cnt_1ms = 0;
|
||||||
|
cnt_1ms = (cnt_1ms + 1) % 10;
|
||||||
|
|
||||||
|
/* 位置环 100 Hz */
|
||||||
|
if (cnt_1ms == 0) {
|
||||||
|
Quad_PosCtrl(q,10*q->dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 角度环 250 Hz */
|
||||||
|
if (cnt_1ms % 4 == 0) {
|
||||||
|
Quad_AttCtrl_agl(q,4*q->dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 角速度环 1000 Hz */
|
||||||
|
Quad_AttCtrl_omg(q,q->dt);
|
||||||
|
|
||||||
|
/* 混控 & 输出(1000 Hz) */
|
||||||
|
Quad_Mixer(q);
|
||||||
|
Quad_OutPut(&q->output);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Quad_stop() {
|
||||||
|
BSP_PWM_Stop(BSP_PWM_MOTOR_OUT1);
|
||||||
|
BSP_PWM_Stop(BSP_PWM_MOTOR_OUT2);
|
||||||
|
BSP_PWM_Stop(BSP_PWM_MOTOR_OUT3);
|
||||||
|
BSP_PWM_Stop(BSP_PWM_MOTOR_OUT4);
|
||||||
|
}
|
||||||
|
|||||||
@ -4,65 +4,159 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "device/at9s_pro.h"
|
#include "device/at9s_pro.h"
|
||||||
|
#include "component/pid.h"
|
||||||
|
// 卡尔曼滤波器结构体
|
||||||
|
typedef struct {
|
||||||
|
float Q_angle; // 过程噪声协方差(角度)
|
||||||
|
float Q_bias; // 过程噪声协方差(陀螺仪偏置)
|
||||||
|
float R_measure; // 测量噪声协方差
|
||||||
|
float angle; // 估计角度
|
||||||
|
float bias; // 估计陀螺仪偏置
|
||||||
|
float P[2][2]; // 误差协方差矩阵
|
||||||
|
} KalmanFilter;
|
||||||
|
typedef struct{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
float z;
|
||||||
|
}Quad_Vectory3f_t;
|
||||||
|
|
||||||
//// 传感器数据结构
|
typedef struct{
|
||||||
//typedef struct {
|
float yaw;
|
||||||
// float accel[3]; // m/s²
|
float pit;
|
||||||
// float gyro[3]; // rad/s
|
float rol;
|
||||||
// float baro_alt; // 气压计高度 (m)
|
}Quad_EulrVectory3f_t;
|
||||||
// float speed_z; //z轴速度
|
|
||||||
//} SensorData;
|
|
||||||
|
|
||||||
//// 卡尔曼滤波器结构体
|
typedef struct {
|
||||||
//typedef struct {
|
uint16_t pos_alt;
|
||||||
// float Q_angle; // 过程噪声协方差(角度)
|
uint16_t pos_vel;
|
||||||
// float Q_bias; // 过程噪声协方差(陀螺仪偏置)
|
uint16_t att_agl;
|
||||||
// float R_measure; // 测量噪声协方差
|
uint16_t att_omg;
|
||||||
// float angle; // 估计角度
|
}Quad_CtrlFreqParams_t;
|
||||||
// float bias; // 估计陀螺仪偏置
|
|
||||||
// float P[2][2]; // 误差协方差矩阵
|
|
||||||
//} KalmanFilter;
|
|
||||||
|
|
||||||
//// 控制输出结构体
|
typedef struct {
|
||||||
//typedef struct {
|
LowPassFilter2p_t accl_x;
|
||||||
//
|
LowPassFilter2p_t accl_y;
|
||||||
// struct {
|
LowPassFilter2p_t accl_z;
|
||||||
// float throttle; // 总油门 [0-1]
|
LowPassFilter2p_t gyro_x;
|
||||||
// float roll; // 滚转控制 [-1,1]
|
LowPassFilter2p_t gyro_y;
|
||||||
// float pitch; // 俯仰控制 [-1,1]
|
LowPassFilter2p_t gyro_z;
|
||||||
// float yaw; // 偏航控制 [-1,1]
|
LowPassFilter2p_t eulr_yaw;
|
||||||
// } ControlOutput;
|
LowPassFilter2p_t eulr_pit;
|
||||||
//
|
LowPassFilter2p_t eulr_rol;
|
||||||
// struct {
|
LowPassFilter2p_t alt;
|
||||||
// float throttle; // 总油门 [0-1]
|
LowPassFilter2p_t vel_z;
|
||||||
// float roll; // 滚转控制 [-1,1]
|
}Quad_LowPassFilter2p_t;
|
||||||
// float pitch; // 俯仰控制 [-1,1]
|
|
||||||
// float yaw; // 偏航控制 [-1,1]
|
|
||||||
// } Controltarget;
|
|
||||||
//} Control_t;
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
KPID_Params_t pit_agl;
|
||||||
|
KPID_Params_t rol_agl;
|
||||||
|
KPID_Params_t yaw_agl;
|
||||||
|
KPID_Params_t pit_omg;
|
||||||
|
KPID_Params_t rol_omg;
|
||||||
|
KPID_Params_t yaw_omg;
|
||||||
|
KPID_Params_t alt_pos;
|
||||||
|
KPID_Params_t alt_vel;
|
||||||
|
}Quad_PIDParams_t;
|
||||||
|
|
||||||
//// 电机配置结构体
|
typedef struct {
|
||||||
//typedef struct {
|
KPID_t rol_omg, rol_agl; // rol轴PID
|
||||||
// float min_output; // 最小输出值 (0.0-1.0)
|
KPID_t pit_omg, pit_agl; // rol轴PID
|
||||||
// float max_output; // 最大输出值 (0.0-1.0)
|
KPID_t yaw_omg, yaw_agl; // rol轴PID
|
||||||
//} MotorConfig;
|
KPID_t alt_pos, alt_vel; // 高度环PID
|
||||||
|
}Quad_PID_t;
|
||||||
|
|
||||||
//// 混控器配置
|
typedef struct {
|
||||||
//typedef struct {
|
KalmanFilter rol_kf, pit_kf;
|
||||||
// MotorConfig motors[4]; // 四个电机的配置
|
}Quad_Kalman_t;
|
||||||
// float motor_output[4]; // 当前电机输出值 (0.0-1.0)
|
|
||||||
//} Mixer;
|
|
||||||
|
|
||||||
|
// 电机配置结构体
|
||||||
|
typedef struct {
|
||||||
|
float min_output; // 最小输出值 (0.0-1.0)
|
||||||
|
float max_output; // 最大输出值 (0.0-1.0)
|
||||||
|
}Quad_MotorConfig_t;
|
||||||
|
typedef struct {
|
||||||
|
bool online;
|
||||||
|
bool stop;
|
||||||
|
|
||||||
|
float throttle;
|
||||||
|
float yaw;
|
||||||
|
float rol;
|
||||||
|
float pit;
|
||||||
|
|
||||||
|
}Quad_CMD_t;
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
Quad_Vectory3f_t accl; // m/s²
|
||||||
|
Quad_Vectory3f_t gyro;
|
||||||
|
Quad_EulrVectory3f_t eulr;
|
||||||
|
float alt; // 气压计加速度计融合后相对高度 (m)
|
||||||
|
float vel_z; //z轴速度
|
||||||
|
}Quad_CurrentStatus_t;
|
||||||
|
|
||||||
//void FlightController_Init(float sample_freq);
|
typedef struct {
|
||||||
//void FlightController_Update(SensorData sensors, Control_t* output, float dt, rc);
|
float yaw_agl;
|
||||||
//void MotorMixer_Init();
|
float rol_agl;
|
||||||
//void Apply_Motor_Outputs(Control_t ctrl);
|
float pit_agl;
|
||||||
//void MotorMixer_OutStop();
|
|
||||||
|
float yaw_omg;
|
||||||
|
float rol_omg;
|
||||||
|
float pit_omg;
|
||||||
|
|
||||||
|
float vel;
|
||||||
|
float thrust;
|
||||||
|
|
||||||
|
float alt;
|
||||||
|
}Quad_ExpectStatus_t;
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
float yaw_omg;
|
||||||
|
float rol_agl;
|
||||||
|
float pit_agl;
|
||||||
|
}Quad_ExpectStatusLimit_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
float throttle;
|
||||||
|
float rol;
|
||||||
|
float pit;
|
||||||
|
float yaw;
|
||||||
|
|
||||||
|
float mix[4]; // 混控计算中间变量
|
||||||
|
float motor[4]; // 电机输出值 (0.0-1.0)
|
||||||
|
}Quad_Output_t;
|
||||||
|
typedef struct {
|
||||||
|
Quad_CtrlFreqParams_t ctrl_freq; // 控制频率参数
|
||||||
|
|
||||||
|
float baseThrottle; // 基础油门值
|
||||||
|
|
||||||
|
Quad_PIDParams_t pid; // PID参数
|
||||||
|
// 低通滤波器参数
|
||||||
|
|
||||||
|
Quad_ExpectStatusLimit_t expect_status_limit;
|
||||||
|
|
||||||
|
Quad_MotorConfig_t motor_limit; // 四个电机的配置
|
||||||
|
}Quad_Params_t;
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
int64_t now;
|
||||||
|
float dt;
|
||||||
|
int64_t last;
|
||||||
|
|
||||||
|
Quad_Params_t *param;
|
||||||
|
|
||||||
|
Quad_PID_t pid;
|
||||||
|
Quad_LowPassFilter2p_t filter;
|
||||||
|
Quad_Kalman_t kalman;
|
||||||
|
|
||||||
|
Quad_CurrentStatus_t current_status;
|
||||||
|
Quad_ExpectStatus_t expect_status;
|
||||||
|
|
||||||
|
Quad_Output_t output;
|
||||||
|
}Quad_t;
|
||||||
|
|
||||||
|
int8_t Quad_Init(Quad_t *q, Quad_Params_t *param, float freq);
|
||||||
|
int8_t Quad_Ctrl(Quad_t *q, Quad_CMD_t cmd);
|
||||||
|
void Quad_stop();
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -27,6 +27,8 @@ AHRS_Magn_t magn;
|
|||||||
AHRS_Eulr_t eulr_to_send;
|
AHRS_Eulr_t eulr_to_send;
|
||||||
|
|
||||||
float accl_z_for_heightestimation;
|
float accl_z_for_heightestimation;
|
||||||
|
AHRS_Eulr_t eulr_for_quad;
|
||||||
|
|
||||||
KPID_t imu_temp_ctrl_pid;
|
KPID_t imu_temp_ctrl_pid;
|
||||||
//Chassis_IMU_t chassis_to_send;
|
//Chassis_IMU_t chassis_to_send;
|
||||||
|
|
||||||
@ -148,9 +150,10 @@ void Task_atti_esti(void *argument) {
|
|||||||
osKernelUnlock();
|
osKernelUnlock();
|
||||||
|
|
||||||
accl_z_for_heightestimation = bmi088.accl.z;
|
accl_z_for_heightestimation = bmi088.accl.z;
|
||||||
|
eulr_for_quad=eulr_to_send;
|
||||||
/* 创建修改后的数据副本用于发送到消息队列 */
|
/* 创建修改后的数据副本用于发送到消息队列 */
|
||||||
osMessageQueuePut(task_runtime.msgq.heightestimation.accl_z, &accl_z_for_heightestimation, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.heightestimation.accl_z, &accl_z_for_heightestimation, 0, 0);
|
||||||
|
osMessageQueuePut(task_runtime.msgq.quad.eulr, &eulr_for_quad, 0, 0);
|
||||||
BSP_PWM_SetComp(BSP_PWM_IMU_HEAT_PWM, PID_Calc(&imu_temp_ctrl_pid, 40.0f, bmi088.temp, 0.0f, 0.0f));
|
BSP_PWM_SetComp(BSP_PWM_IMU_HEAT_PWM, PID_Calc(&imu_temp_ctrl_pid, 40.0f, bmi088.temp, 0.0f, 0.0f));
|
||||||
/* USER CODE END */
|
/* USER CODE END */
|
||||||
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
|
|||||||
63
User/task/cmd.c
Normal file
63
User/task/cmd.c
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
cmd Task
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ----------------------------------------------------------------- */
|
||||||
|
#include "task/user_task.h"
|
||||||
|
/* USER INCLUDE BEGIN */
|
||||||
|
#include "device/at9s_pro.h"
|
||||||
|
#include "module/at9s_pro_cmd.h"
|
||||||
|
#include "module/xm_quadctrl.h"
|
||||||
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
|
/* Private define ----------------------------------------------------------- */
|
||||||
|
/* Private macro ------------------------------------------------------------ */
|
||||||
|
/* Private variables -------------------------------------------------------- */
|
||||||
|
/* USER STRUCT BEGIN */
|
||||||
|
uint8_t cmd_buffer[DEVICE_AT9S_FRAME_LEN];
|
||||||
|
DEVICE_AT9S_t at9s;
|
||||||
|
COMP_AT9S_CMD_t rc_cmd;
|
||||||
|
Quad_CMD_t cmd_for_quad;
|
||||||
|
/* USER STRUCT END */
|
||||||
|
|
||||||
|
/* Private function --------------------------------------------------------- */
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void Task_cmd(void *argument) {
|
||||||
|
(void)argument; /* 未使用argument,消除警告 */
|
||||||
|
|
||||||
|
|
||||||
|
/* 计算任务运行到指定频率需要等待的tick数 */
|
||||||
|
const uint32_t delay_tick = osKernelGetTickFreq() / CMD_FREQ;
|
||||||
|
|
||||||
|
osDelay(CMD_INIT_DELAY); /* 延时一段时间再开启任务 */
|
||||||
|
|
||||||
|
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||||
|
/* USER CODE INIT BEGIN */
|
||||||
|
DEVICE_AT9S_Init(&at9s);
|
||||||
|
DEVICE_AT9S_StartDmaRecv(cmd_buffer);
|
||||||
|
/* USER CODE INIT END */
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
|
/* USER CODE BEGIN */
|
||||||
|
if (DEVICE_AT9S_WaitDmaCplt(10)) {
|
||||||
|
DEVICE_AT9S_ParseRaw(cmd_buffer, &at9s);
|
||||||
|
COMP_AT9S_CMD_ParseRc(&at9s, &rc_cmd);
|
||||||
|
DEVICE_AT9S_StartDmaRecv(cmd_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd_for_quad.online=rc_cmd.online;
|
||||||
|
cmd_for_quad.throttle=rc_cmd.ch_l_y;
|
||||||
|
cmd_for_quad.yaw=rc_cmd.ch_l_x;
|
||||||
|
cmd_for_quad.pit=rc_cmd.ch_r_y;
|
||||||
|
cmd_for_quad.rol=rc_cmd.ch_r_x;
|
||||||
|
cmd_for_quad.stop=rc_cmd.stop;
|
||||||
|
|
||||||
|
osMessageQueuePut(task_runtime.msgq.quad.cmd, &cmd_for_quad, 0, 0);
|
||||||
|
/* USER CODE END */
|
||||||
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
- delay: 0
|
- delay: 0
|
||||||
description: ''
|
description: ''
|
||||||
freq_control: true
|
freq_control: true
|
||||||
@ -6,7 +5,6 @@
|
|||||||
function: Task_atti_esti
|
function: Task_atti_esti
|
||||||
name: atti_esti
|
name: atti_esti
|
||||||
stack: 256
|
stack: 256
|
||||||
|
|
||||||
- delay: 0
|
- delay: 0
|
||||||
description: ''
|
description: ''
|
||||||
freq_control: true
|
freq_control: true
|
||||||
@ -14,7 +12,6 @@
|
|||||||
function: Task_blink
|
function: Task_blink
|
||||||
name: blink
|
name: blink
|
||||||
stack: 256
|
stack: 256
|
||||||
|
|
||||||
- delay: 300
|
- delay: 300
|
||||||
description: ''
|
description: ''
|
||||||
freq_control: true
|
freq_control: true
|
||||||
@ -22,19 +19,17 @@
|
|||||||
function: Task_height_cal
|
function: Task_height_cal
|
||||||
name: height_cal
|
name: height_cal
|
||||||
stack: 256
|
stack: 256
|
||||||
|
- delay: 0
|
||||||
- delay: 500
|
|
||||||
description: ''
|
description: ''
|
||||||
freq_control: true
|
freq_control: true
|
||||||
frequency: 500.0
|
frequency: 1000.0
|
||||||
function: Task_main_control
|
function: Task_quad_ctrl
|
||||||
name: main_control
|
name: quad_ctrl
|
||||||
stack: 256
|
stack: 512
|
||||||
|
|
||||||
- delay: 0
|
- delay: 0
|
||||||
description: ''
|
description: ''
|
||||||
freq_control: true
|
freq_control: true
|
||||||
frequency: 500.0
|
frequency: 500.0
|
||||||
function: Task_rc
|
function: Task_cmd
|
||||||
name: rc
|
name: cmd
|
||||||
stack: 256
|
stack: 256
|
||||||
@ -1,8 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
height_cal Task
|
height_cal Task
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
|
#include "task/user_task.h"
|
||||||
|
/* USER INCLUDE BEGIN */
|
||||||
#include "task\user_task.h"
|
#include "task\user_task.h"
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "device/bmi088.h"
|
#include "device/bmi088.h"
|
||||||
@ -10,43 +13,43 @@
|
|||||||
|
|
||||||
#include "component/ahrs.h"
|
#include "component/ahrs.h"
|
||||||
#include "module/HeightEstimation.h"
|
#include "module/HeightEstimation.h"
|
||||||
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
/* Private define ----------------------------------------------------------- */
|
/* Private define ----------------------------------------------------------- */
|
||||||
|
|
||||||
/* Private macro ------------------------------------------------------------ */
|
/* Private macro ------------------------------------------------------------ */
|
||||||
/* Private variables -------------------------------------------------------- */
|
/* Private variables -------------------------------------------------------- */
|
||||||
|
/* USER STRUCT BEGIN */
|
||||||
|
|
||||||
float accl_z_buffer;
|
float accl_z_buffer;
|
||||||
float estimated_velocity;
|
float estimated_velocity;
|
||||||
float estimated_height;
|
float estimated_height;
|
||||||
|
/* USER STRUCT END */
|
||||||
|
|
||||||
/* Private function --------------------------------------------------------- */
|
/* Private function --------------------------------------------------------- */
|
||||||
/* Exported functions ------------------------------------------------------- */
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief ps2 Task
|
|
||||||
*
|
|
||||||
* \param argument
|
|
||||||
*/
|
|
||||||
void Task_height_cal(void *argument) {
|
void Task_height_cal(void *argument) {
|
||||||
(void)argument;
|
(void)argument; /* 未使用argument,消除警告 */
|
||||||
|
|
||||||
|
|
||||||
|
/* 计算任务运行到指定频率需要等待的tick数 */
|
||||||
const uint32_t delay_tick = osKernelGetTickFreq() / HEIGHT_CAL_FREQ;
|
const uint32_t delay_tick = osKernelGetTickFreq() / HEIGHT_CAL_FREQ;
|
||||||
|
|
||||||
osDelay(HEIGHT_CAL_INIT_DELAY);
|
osDelay(HEIGHT_CAL_INIT_DELAY); /* 延时一段时间再开启任务 */
|
||||||
uint32_t tick = osKernelGetTickCount();
|
|
||||||
|
|
||||||
|
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||||
|
/* USER CODE INIT BEGIN */
|
||||||
HeightEstimation_Init(HEIGHT_CAL_FREQ);
|
HeightEstimation_Init(HEIGHT_CAL_FREQ);
|
||||||
while (1) {
|
/* USER CODE INIT END */
|
||||||
tick += delay_tick;
|
|
||||||
|
|
||||||
/*User code begin*/
|
while (1) {
|
||||||
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
|
/* USER CODE BEGIN */
|
||||||
osMessageQueueGet(task_runtime.msgq.heightestimation.accl_z, &accl_z_buffer, NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.heightestimation.accl_z, &accl_z_buffer, NULL, 0);
|
||||||
HeightEstimation_GetHeight(&estimated_height, &estimated_velocity, accl_z_buffer);
|
HeightEstimation_GetHeight(&estimated_height, &estimated_velocity, accl_z_buffer);
|
||||||
// osMessageQueuePut(task_runtime.msgq., &estimated_height, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.quad.alt, &estimated_height, 0, 0);
|
||||||
/*User code end*/
|
osMessageQueuePut(task_runtime.msgq.quad.vel, &estimated_velocity, 0, 0);
|
||||||
|
/* USER CODE END */
|
||||||
osDelayUntil(tick);
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
/* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
#include "component/ahrs.h"
|
#include "component/ahrs.h"
|
||||||
|
#include "module/xm_quadctrl.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
@ -31,14 +32,18 @@ void Task_Init(void *argument) {
|
|||||||
|
|
||||||
/* 创建任务线程 */
|
/* 创建任务线程 */
|
||||||
task_runtime.thread.atti_esti = osThreadNew(Task_atti_esti, NULL, &attr_atti_esti);
|
task_runtime.thread.atti_esti = osThreadNew(Task_atti_esti, NULL, &attr_atti_esti);
|
||||||
task_runtime.thread.rc = osThreadNew(Task_rc, NULL, &attr_rc);
|
|
||||||
task_runtime.thread.blink = osThreadNew(Task_blink, NULL, &attr_blink);
|
task_runtime.thread.blink = osThreadNew(Task_blink, NULL, &attr_blink);
|
||||||
task_runtime.thread.height_cal = osThreadNew(Task_height_cal, NULL, &attr_height_cal);
|
task_runtime.thread.height_cal = osThreadNew(Task_height_cal, NULL, &attr_height_cal);
|
||||||
// task_runtime.thread.main_ctrl = osThreadNew(Task_main_ctrl, NULL, &attr_main_ctrl);
|
task_runtime.thread.quad_ctrl = osThreadNew(Task_quad_ctrl, NULL, &attr_quad_ctrl);
|
||||||
|
task_runtime.thread.cmd = osThreadNew(Task_cmd, NULL, &attr_cmd);
|
||||||
|
|
||||||
// 创建消息队列
|
// 创建消息队列
|
||||||
/* USER MESSAGE BEGIN */
|
/* USER MESSAGE BEGIN */
|
||||||
task_runtime.msgq.heightestimation.accl_z= osMessageQueueNew(5, sizeof(float), NULL);
|
task_runtime.msgq.heightestimation.accl_z= osMessageQueueNew(5, sizeof(float), NULL);
|
||||||
|
task_runtime.msgq.quad.eulr= osMessageQueueNew(3, sizeof(AHRS_Eulr_t), NULL);
|
||||||
|
task_runtime.msgq.quad.alt= osMessageQueueNew(3, sizeof(float), NULL);
|
||||||
|
task_runtime.msgq.quad.vel= osMessageQueueNew(3, sizeof(float), NULL);
|
||||||
|
task_runtime.msgq.quad.cmd= osMessageQueueNew(3, sizeof(Quad_CMD_t), NULL);
|
||||||
/* USER MESSAGE END */
|
/* USER MESSAGE END */
|
||||||
|
|
||||||
osKernelUnlock(); // 解锁内核
|
osKernelUnlock(); // 解锁内核
|
||||||
|
|||||||
@ -1,135 +0,0 @@
|
|||||||
/*
|
|
||||||
main_control Task
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Includes ----------------------------------------------------------------- */
|
|
||||||
#include "task\user_task.h"
|
|
||||||
#include "main.h"
|
|
||||||
#include "module/xm_quadctrl.h"
|
|
||||||
#include "device/buzzer.h"
|
|
||||||
#include "bsp/time.h"
|
|
||||||
#include "bsp/pwm.h"
|
|
||||||
#include "component/ahrs.h"
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
|
||||||
/* Private define ----------------------------------------------------------- */
|
|
||||||
/* Private macro ------------------------------------------------------------ */
|
|
||||||
/* Private variables -------------------------------------------------------- */
|
|
||||||
//uint32_t main_control_cnt_last;
|
|
||||||
//float main_control_dt;
|
|
||||||
|
|
||||||
//SensorData sensors = {0};
|
|
||||||
// main_control_rc;
|
|
||||||
|
|
||||||
//uint8_t main_control_running_states;
|
|
||||||
/* Private function --------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Exported functions ------------------------------------------------------- */
|
|
||||||
/**
|
|
||||||
* \brief main_control Task
|
|
||||||
*
|
|
||||||
* \param argument 未使用
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Control_t ctrl;
|
|
||||||
void Task_main_control(void *argument) {
|
|
||||||
(void)argument; /* 未使用argument,消除警告 */
|
|
||||||
|
|
||||||
/* 计算任务运行到指定频率需要等待的tick数 */
|
|
||||||
const uint32_t delay_tick = osKernelGetTickFreq() / MAIN_CTRL_INIT_DELAY;
|
|
||||||
|
|
||||||
osDelay(MAIN_CTRL_FREQ); /* 延时一段时间再开启任务 */
|
|
||||||
|
|
||||||
|
|
||||||
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
|
||||||
|
|
||||||
// FlightController_Init(MAIN_CTRL_INIT_DELAY);
|
|
||||||
// BSP_PWM_Start(BSP_PWM_MOTOR_OUT1);
|
|
||||||
// BSP_PWM_Start(BSP_PWM_MOTOR_OUT2);
|
|
||||||
// BSP_PWM_Start(BSP_PWM_MOTOR_OUT3);
|
|
||||||
// BSP_PWM_Start(BSP_PWM_MOTOR_OUT4);
|
|
||||||
while (1) {
|
|
||||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
|
||||||
|
|
||||||
/*User code begin*/
|
|
||||||
// AHRS_Accl_t accl_data;
|
|
||||||
// AHRS_Gyro_t gyro_data;
|
|
||||||
// float fixed_height_buffer;
|
|
||||||
// float speed_z_buffer;
|
|
||||||
// osMessageQueueGet(task_runtime.msgq.accl, &accl_data, NULL, 0);
|
|
||||||
// osMessageQueueGet(task_runtime.msgq.gyro, &gyro_data, NULL, 0);
|
|
||||||
// osMessageQueueGet(task_runtime.msgq.fixed_height, &fixed_height_buffer, NULL, 0);
|
|
||||||
// osMessageQueueGet(task_runtime.msgq.speed_z, &speed_z_buffer, NULL, 0);
|
|
||||||
// osMessageQueueGet(task_runtime.msgq.rc, &main_control_rc, NULL, 0);
|
|
||||||
// sensors.accel[0] = accl_data.x;
|
|
||||||
// sensors.accel[1] = accl_data.y;
|
|
||||||
// sensors.accel[2] = accl_data.z;
|
|
||||||
// sensors.gyro[0] = gyro_data.x;
|
|
||||||
// sensors.gyro[1] = gyro_data.y;
|
|
||||||
// sensors.gyro[2] = gyro_data.z;
|
|
||||||
// sensors.baro_alt = fixed_height_buffer;
|
|
||||||
// sensors.speed_z = speed_z_buffer;
|
|
||||||
// // 获取遥控器输入
|
|
||||||
|
|
||||||
// main_control_dt = DWT_GetDeltaT(&main_control_cnt_last);
|
|
||||||
|
|
||||||
// // 执行控制计算
|
|
||||||
//// Control_t ctrl;
|
|
||||||
// FlightController_Update(sensors, &ctrl, main_control_dt, main_control_rc);
|
|
||||||
// float output_check=0;
|
|
||||||
// switch(main_control_running_states){
|
|
||||||
// case 0:
|
|
||||||
// output_check = 0.275+0.21*0.8*((main_control_rc.Rocker_LY-0.5)*2);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT1, output_check);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT2, output_check);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT3, output_check);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT4, output_check);
|
|
||||||
// if(main_control_rc.Key_R_Up == 1){
|
|
||||||
// main_control_running_states=1;
|
|
||||||
// }else if(main_control_rc.Key_R_Right == 1){
|
|
||||||
// main_control_running_states=4;
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
// case 1:
|
|
||||||
// BSP_BUZZER_Set(BSP_BUZZER_ON, BSP_BUZZER_C5, 1);
|
|
||||||
// osDelay(500);
|
|
||||||
// BSP_BUZZER_Stop();
|
|
||||||
// osDelay(2000);
|
|
||||||
// main_control_running_states=2;
|
|
||||||
// if(main_control_rc.Key_R_Right == 1){
|
|
||||||
// main_control_running_states=4;
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
// case 2:
|
|
||||||
// MotorMixer_Init();
|
|
||||||
// Apply_Motor_Outputs(ctrl);
|
|
||||||
// if(main_control_rc.Key_R_Down == 1){
|
|
||||||
// main_control_running_states=3;
|
|
||||||
// }else if(main_control_rc.Key_R_Right == 1){
|
|
||||||
// main_control_running_states=4;
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
// case 3:
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT1, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT2, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT3, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT4, 0.275);
|
|
||||||
// main_control_running_states=0;
|
|
||||||
// if(main_control_rc.Key_R_Right == 1){
|
|
||||||
// main_control_running_states=4;
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
// case 4:
|
|
||||||
// MotorMixer_OutStop();
|
|
||||||
// break;
|
|
||||||
// default:
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT1, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT2, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT3, 0.275);
|
|
||||||
// BSP_PWM_Set(BSP_PWM_MOTOR_OUT4, 0.275);
|
|
||||||
/*User code end*/
|
|
||||||
|
|
||||||
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
50
User/task/quad_ctrl.c
Normal file
50
User/task/quad_ctrl.c
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
quad_ctrl Task
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ----------------------------------------------------------------- */
|
||||||
|
#include "task/user_task.h"
|
||||||
|
/* USER INCLUDE BEGIN */
|
||||||
|
#include "module/xm_quadctrl.h"
|
||||||
|
#include "module/config.h"
|
||||||
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
|
/* Private define ----------------------------------------------------------- */
|
||||||
|
/* Private macro ------------------------------------------------------------ */
|
||||||
|
/* Private variables -------------------------------------------------------- */
|
||||||
|
/* USER STRUCT BEGIN */
|
||||||
|
Quad_t q;
|
||||||
|
Quad_CMD_t quad_cmd;
|
||||||
|
/* USER STRUCT END */
|
||||||
|
|
||||||
|
/* Private function --------------------------------------------------------- */
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void Task_quad_ctrl(void *argument) {
|
||||||
|
(void)argument; /* 未使用argument,消除警告 */
|
||||||
|
|
||||||
|
|
||||||
|
/* 计算任务运行到指定频率需要等待的tick数 */
|
||||||
|
const uint32_t delay_tick = osKernelGetTickFreq() / QUAD_CTRL_FREQ;
|
||||||
|
|
||||||
|
osDelay(QUAD_CTRL_INIT_DELAY); /* 延时一段时间再开启任务 */
|
||||||
|
|
||||||
|
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||||
|
/* USER CODE INIT BEGIN */
|
||||||
|
Quad_Init(&q,&Config_GetRobotParam()->quad_params,QUAD_CTRL_FREQ);
|
||||||
|
/* USER CODE INIT END */
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
|
/* USER CODE BEGIN */
|
||||||
|
osMessageQueueGet(task_runtime.msgq.quad.eulr, &q.current_status.eulr, NULL, 0);
|
||||||
|
osMessageQueueGet(task_runtime.msgq.quad.alt, &q.current_status.alt, NULL, 0);
|
||||||
|
osMessageQueueGet(task_runtime.msgq.quad.vel, &q.current_status.vel_z, NULL, 0);
|
||||||
|
osMessageQueueGet(task_runtime.msgq.quad.cmd, &quad_cmd, NULL, 0);
|
||||||
|
Quad_Ctrl(&q,quad_cmd);
|
||||||
|
/* USER CODE END */
|
||||||
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -14,11 +14,6 @@ const osThreadAttr_t attr_atti_esti = {
|
|||||||
.priority = osPriorityNormal,
|
.priority = osPriorityNormal,
|
||||||
.stack_size = 256 * 4,
|
.stack_size = 256 * 4,
|
||||||
};
|
};
|
||||||
const osThreadAttr_t attr_rc = {
|
|
||||||
.name = "rc",
|
|
||||||
.priority = osPriorityNormal,
|
|
||||||
.stack_size = 256 * 4,
|
|
||||||
};
|
|
||||||
const osThreadAttr_t attr_blink = {
|
const osThreadAttr_t attr_blink = {
|
||||||
.name = "blink",
|
.name = "blink",
|
||||||
.priority = osPriorityNormal,
|
.priority = osPriorityNormal,
|
||||||
@ -29,8 +24,13 @@ const osThreadAttr_t attr_height_cal = {
|
|||||||
.priority = osPriorityNormal,
|
.priority = osPriorityNormal,
|
||||||
.stack_size = 256 * 4,
|
.stack_size = 256 * 4,
|
||||||
};
|
};
|
||||||
const osThreadAttr_t attr_main_ctrl = {
|
const osThreadAttr_t attr_quad_ctrl = {
|
||||||
.name = "main_ctrl",
|
.name = "quad_ctrl",
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.stack_size = 512 * 4,
|
||||||
|
};
|
||||||
|
const osThreadAttr_t attr_cmd = {
|
||||||
|
.name = "cmd",
|
||||||
.priority = osPriorityNormal,
|
.priority = osPriorityNormal,
|
||||||
.stack_size = 256 * 4,
|
.stack_size = 256 * 4,
|
||||||
};
|
};
|
||||||
@ -13,19 +13,19 @@ extern "C" {
|
|||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
/* Exported constants ------------------------------------------------------- */
|
/* Exported constants ------------------------------------------------------- */
|
||||||
/* 任务运行频率 */
|
/* 任务运行频率 */
|
||||||
#define ATTI_ESTI_FREQ (500.0)
|
#define ATTI_ESTI_FREQ (1000.0)
|
||||||
#define RC_FREQ (500.0)
|
|
||||||
#define BLINK_FREQ (100.0)
|
#define BLINK_FREQ (100.0)
|
||||||
#define HEIGHT_CAL_FREQ (500.0)
|
#define HEIGHT_CAL_FREQ (500.0)
|
||||||
#define MAIN_CTRL_FREQ (500.0)
|
#define QUAD_CTRL_FREQ (1000.0)
|
||||||
|
#define CMD_FREQ (500.0)
|
||||||
|
|
||||||
/* 任务初始化延时ms */
|
/* 任务初始化延时ms */
|
||||||
#define TASK_INIT_DELAY (100u)
|
#define TASK_INIT_DELAY (100u)
|
||||||
#define ATTI_ESTI_INIT_DELAY (0)
|
#define ATTI_ESTI_INIT_DELAY (0)
|
||||||
#define RC_INIT_DELAY (0)
|
|
||||||
#define BLINK_INIT_DELAY (0)
|
#define BLINK_INIT_DELAY (0)
|
||||||
#define HEIGHT_CAL_INIT_DELAY (300)
|
#define HEIGHT_CAL_INIT_DELAY (300)
|
||||||
#define MAIN_CTRL_INIT_DELAY (500)
|
#define QUAD_CTRL_INIT_DELAY (0)
|
||||||
|
#define CMD_INIT_DELAY (0)
|
||||||
|
|
||||||
/* Exported defines --------------------------------------------------------- */
|
/* Exported defines --------------------------------------------------------- */
|
||||||
/* Exported macro ----------------------------------------------------------- */
|
/* Exported macro ----------------------------------------------------------- */
|
||||||
@ -36,10 +36,10 @@ typedef struct {
|
|||||||
/* 各任务,也可以叫做线程 */
|
/* 各任务,也可以叫做线程 */
|
||||||
struct {
|
struct {
|
||||||
osThreadId_t atti_esti;
|
osThreadId_t atti_esti;
|
||||||
osThreadId_t rc;
|
|
||||||
osThreadId_t blink;
|
osThreadId_t blink;
|
||||||
osThreadId_t height_cal;
|
osThreadId_t height_cal;
|
||||||
osThreadId_t main_ctrl;
|
osThreadId_t quad_ctrl;
|
||||||
|
osThreadId_t cmd;
|
||||||
} thread;
|
} thread;
|
||||||
|
|
||||||
/* USER MESSAGE BEGIN */
|
/* USER MESSAGE BEGIN */
|
||||||
@ -50,6 +50,13 @@ typedef struct {
|
|||||||
{
|
{
|
||||||
osMessageQueueId_t accl_z; /* z轴加速度 */
|
osMessageQueueId_t accl_z; /* z轴加速度 */
|
||||||
}heightestimation;
|
}heightestimation;
|
||||||
|
|
||||||
|
struct{
|
||||||
|
osMessageQueueId_t eulr;
|
||||||
|
osMessageQueueId_t alt;
|
||||||
|
osMessageQueueId_t vel;
|
||||||
|
osMessageQueueId_t cmd;
|
||||||
|
}quad;
|
||||||
} msgq;
|
} msgq;
|
||||||
|
|
||||||
/* USER MESSAGE END */
|
/* USER MESSAGE END */
|
||||||
@ -68,28 +75,28 @@ typedef struct {
|
|||||||
/* 各任务的stack使用 */
|
/* 各任务的stack使用 */
|
||||||
struct {
|
struct {
|
||||||
UBaseType_t atti_esti;
|
UBaseType_t atti_esti;
|
||||||
UBaseType_t rc;
|
|
||||||
UBaseType_t blink;
|
UBaseType_t blink;
|
||||||
UBaseType_t height_cal;
|
UBaseType_t height_cal;
|
||||||
UBaseType_t main_ctrl;
|
UBaseType_t quad_ctrl;
|
||||||
|
UBaseType_t cmd;
|
||||||
} stack_water_mark;
|
} stack_water_mark;
|
||||||
|
|
||||||
/* 各任务运行频率 */
|
/* 各任务运行频率 */
|
||||||
struct {
|
struct {
|
||||||
float atti_esti;
|
float atti_esti;
|
||||||
float rc;
|
|
||||||
float blink;
|
float blink;
|
||||||
float height_cal;
|
float height_cal;
|
||||||
float main_ctrl;
|
float quad_ctrl;
|
||||||
|
float cmd;
|
||||||
} freq;
|
} freq;
|
||||||
|
|
||||||
/* 任务最近运行时间 */
|
/* 任务最近运行时间 */
|
||||||
struct {
|
struct {
|
||||||
float atti_esti;
|
float atti_esti;
|
||||||
float rc;
|
|
||||||
float blink;
|
float blink;
|
||||||
float height_cal;
|
float height_cal;
|
||||||
float main_ctrl;
|
float quad_ctrl;
|
||||||
|
float cmd;
|
||||||
} last_up_time;
|
} last_up_time;
|
||||||
|
|
||||||
} Task_Runtime_t;
|
} Task_Runtime_t;
|
||||||
@ -100,18 +107,18 @@ extern Task_Runtime_t task_runtime;
|
|||||||
/* 初始化任务句柄 */
|
/* 初始化任务句柄 */
|
||||||
extern const osThreadAttr_t attr_init;
|
extern const osThreadAttr_t attr_init;
|
||||||
extern const osThreadAttr_t attr_atti_esti;
|
extern const osThreadAttr_t attr_atti_esti;
|
||||||
extern const osThreadAttr_t attr_rc;
|
|
||||||
extern const osThreadAttr_t attr_blink;
|
extern const osThreadAttr_t attr_blink;
|
||||||
extern const osThreadAttr_t attr_height_cal;
|
extern const osThreadAttr_t attr_height_cal;
|
||||||
extern const osThreadAttr_t attr_main_ctrl;
|
extern const osThreadAttr_t attr_quad_ctrl;
|
||||||
|
extern const osThreadAttr_t attr_cmd;
|
||||||
|
|
||||||
/* 任务函数声明 */
|
/* 任务函数声明 */
|
||||||
void Task_Init(void *argument);
|
void Task_Init(void *argument);
|
||||||
void Task_atti_esti(void *argument);
|
void Task_atti_esti(void *argument);
|
||||||
void Task_rc(void *argument);
|
|
||||||
void Task_blink(void *argument);
|
void Task_blink(void *argument);
|
||||||
void Task_height_cal(void *argument);
|
void Task_height_cal(void *argument);
|
||||||
void Task_main_ctrl(void *argument);
|
void Task_quad_ctrl(void *argument);
|
||||||
|
void Task_cmd(void *argument);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user