Compare commits
7 Commits
e27b3ca794
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a131cfdd9c | |||
| 2648fc3598 | |||
| 0cb666c860 | |||
| 47f91eeae5 | |||
| b58379ac75 | |||
| a6849cd900 | |||
| 839dbee16e |
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
0
.idea/.gitignore
generated
vendored
Normal file → Executable file
0
.idea/.gitignore
generated
vendored
Normal file → Executable file
103
.idea/codeStyles/Project.xml
generated
Normal file
103
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<RiderCodeStyleSettings>
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppClangFormat/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/EditorConfig/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_BINARY_EXPRESSIONS_CHAIN/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_CALLS_CHAIN/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXPRESSION/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_FOR_STMT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_TERNARY/@EntryValue" value="ALIGN_ALL" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_CLASS_DEFINITION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue" value="2" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_CODE/@EntryValue" value="2" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_USER_LINEBREAKS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_COMMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INT_ALIGN_EQ/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SIMPLE_BLOCK_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_SEMICOLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_SEMICOLON/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_UNARY_OPERATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_ARRAY_ACCESS_BRACKETS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_METHOD_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPECIAL_ELSE_IF_TREATMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_BINARY_OPSIGN/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_TERNARY_OPSIGNS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TYPE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DECLARATION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DEFINITION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_WHILE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_ELSE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_CATCH_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_INDENTATION/@EntryValue" value="All" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_ARGUMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_PARAMETER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_ARGUMENT/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_PARAMETER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_DECLARATIONS/@EntryValue" value="0" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_ACCESS_SPECIFIERS_FROM_CLASS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CLASS_MEMBERS_FROM_ACCESS_SPECIFIERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/LINE_BREAK_AFTER_COLON_IN_MEMBER_INITIALIZER_LISTS/@EntryValue" value="ON_SINGLE_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/MEMBER_INITIALIZER_LIST_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_NAMESPACE_DEFINITIONS_ON_SAME_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_COLON/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_NESTED_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_METHOD/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_METHOD/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BETWEEN_CLOSING_ANGLE_BRACKETS_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_DECLARATION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_BLOCKS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_ARGUMENTS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_PARAMETERS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INITIALIZER_BRACES/@EntryValue" value="END_OF_LINE_NO_SPACE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_STYLE/@EntryValue" value="Space" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_SIZE/@EntryValue" value="4" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TAB_WIDTH/@EntryValue" value="4" type="int" />
|
||||||
|
</RiderCodeStyleSettings>
|
||||||
|
</code_scheme>
|
||||||
|
</component>
|
||||||
0
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file → Executable file
0
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file → Executable file
580
.idea/editor.xml
generated
Normal file
580
.idea/editor.xml
generated
Normal file
@@ -0,0 +1,580 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="BackendCodeEditorSettings">
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppClangFormat/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/EditorConfig/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_BINARY_EXPRESSIONS_CHAIN/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_CALLS_CHAIN/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXPRESSION/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_FOR_STMT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_TERNARY/@EntryValue" value="ALIGN_ALL" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_CLASS_DEFINITION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue" value="2" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_CODE/@EntryValue" value="2" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_USER_LINEBREAKS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_COMMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INT_ALIGN_EQ/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SIMPLE_BLOCK_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_SEMICOLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_SEMICOLON/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_UNARY_OPERATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_ARRAY_ACCESS_BRACKETS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_METHOD_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPECIAL_ELSE_IF_TREATMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_BINARY_OPSIGN/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_TERNARY_OPSIGNS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TYPE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DECLARATION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DEFINITION/@EntryValue" value="1" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_WHILE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_ELSE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_CATCH_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_INDENTATION/@EntryValue" value="All" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_ARGUMENT/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_PARAMETER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_ARGUMENT/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_PARAMETER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_DECLARATIONS/@EntryValue" value="0" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_ACCESS_SPECIFIERS_FROM_CLASS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CLASS_MEMBERS_FROM_ACCESS_SPECIFIERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/LINE_BREAK_AFTER_COLON_IN_MEMBER_INITIALIZER_LISTS/@EntryValue" value="ON_SINGLE_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/MEMBER_INITIALIZER_LIST_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_NAMESPACE_DEFINITIONS_ON_SAME_LINE/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_COLON/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_COLON/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_NESTED_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_METHOD/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_METHOD/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BETWEEN_CLOSING_ANGLE_BRACKETS_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_DECLARATION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_BLOCKS/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_ARGUMENTS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_PARAMETERS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INITIALIZER_BRACES/@EntryValue" value="END_OF_LINE_NO_SPACE" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_STYLE/@EntryValue" value="Space" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_SIZE/@EntryValue" value="4" type="int" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
|
||||||
|
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TAB_WIDTH/@EntryValue" value="4" type="int" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||||
|
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexRemoved" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
2
.idea/helicopter_firmware.iml
generated
Executable file
2
.idea/helicopter_firmware.iml
generated
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module classpath="External" external.linked.project.id="helicopter_firmware" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="PlatformIO" type="CPP_MODULE" version="4" />
|
||||||
7
.idea/misc.xml
generated
Normal file → Executable file
7
.idea/misc.xml
generated
Normal file → Executable file
@@ -1,5 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="BackendCodeEditorMiscSettings">
|
||||||
|
<option name="/Default/RiderDebugger/RiderRestoreDecompile/RestoreDecompileSetting/@EntryValue" value="false" type="bool" />
|
||||||
|
<option name="/Default/Housekeeping/GlobalSettingsUpgraded/IsUpgraded/@EntryValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexedValue" value="true" type="bool" />
|
||||||
|
<option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexRemoved" />
|
||||||
|
<option name="/Default/Environment/Hierarchy/GeneratedFilesCacheKey/Timestamp/@EntryValue" value="4" type="long" />
|
||||||
|
</component>
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="PlatformIOSettings">
|
<component name="PlatformIOSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
|||||||
0
.idea/vcs.xml
generated
Normal file → Executable file
0
.idea/vcs.xml
generated
Normal file → Executable file
0
convert_sysincludes.py
Normal file → Executable file
0
convert_sysincludes.py
Normal file → Executable file
70
get-platformio.py
Executable file
70
get-platformio.py
Executable file
File diff suppressed because one or more lines are too long
0
include/README
Normal file → Executable file
0
include/README
Normal file → Executable file
0
lib/README
Normal file → Executable file
0
lib/README
Normal file → Executable file
3
platformio.ini
Normal file → Executable file
3
platformio.ini
Normal file → Executable file
@@ -25,6 +25,7 @@ lib_deps_external =
|
|||||||
https://github.com/GyverLibs/mString.git @ 1.7
|
https://github.com/GyverLibs/mString.git @ 1.7
|
||||||
https://github.com/GyverLibs/GyverPID @ 3.3
|
https://github.com/GyverLibs/GyverPID @ 3.3
|
||||||
https://github.com/pololu/vl53l0x-arduino @ 1.3.1
|
https://github.com/pololu/vl53l0x-arduino @ 1.3.1
|
||||||
|
https://github.com/pololu/lps-arduino
|
||||||
|
|
||||||
[env:esp32dev]
|
[env:esp32dev]
|
||||||
platform = espressif32 @ 6.5.0
|
platform = espressif32 @ 6.5.0
|
||||||
@@ -41,7 +42,7 @@ build_src_flags =
|
|||||||
-Wno-error=pedantic
|
-Wno-error=pedantic
|
||||||
-Wpedantic
|
-Wpedantic
|
||||||
-O2
|
-O2
|
||||||
build_flags = -DCORE_DEBUG_LEVEL=4
|
build_flags = -DCORE_DEBUG_LEVEL=3
|
||||||
check_tool = pvs-studio
|
check_tool = pvs-studio
|
||||||
check_flags = pvs-studio: --analysis-mode=4 --exclude-path=.pio/libdeps --lic-file=~/.config/PVS-Studio/PVS-Studio.lic
|
check_flags = pvs-studio: --analysis-mode=4 --exclude-path=.pio/libdeps --lic-file=~/.config/PVS-Studio/PVS-Studio.lic
|
||||||
extra_scripts = post:convert_sysincludes.py
|
extra_scripts = post:convert_sysincludes.py
|
||||||
0
src/.clang-format
Normal file → Executable file
0
src/.clang-format
Normal file → Executable file
0
src/App.hpp
Normal file → Executable file
0
src/App.hpp
Normal file → Executable file
6
src/BoardI2C.hpp
Normal file → Executable file
6
src/BoardI2C.hpp
Normal file → Executable file
@@ -1,6 +1,8 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#define CONFIG_DISABLE_HAL_LOCKS 0
|
#define CONFIG_DISABLE_HAL_LOCKS 0
|
||||||
|
|
||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
@@ -9,13 +11,13 @@
|
|||||||
|
|
||||||
class BoardI2C : public TwoWire {
|
class BoardI2C : public TwoWire {
|
||||||
public:
|
public:
|
||||||
BoardI2C(volatile bool loop_on_fail = true) : TwoWire(0) {
|
BoardI2C() : TwoWire(0) {
|
||||||
if (begin(I2C_SDA_PIN, I2C_SCL_PIN, 100000)) {
|
if (begin(I2C_SDA_PIN, I2C_SCL_PIN, 100000)) {
|
||||||
setTimeOut(10);
|
setTimeOut(10);
|
||||||
ESP_LOGI("I2CBus", "Bus initialized");
|
ESP_LOGI("I2CBus", "Bus initialized");
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGE("I2CBus", "Failed to initialize the i2c software bus!");
|
ESP_LOGE("I2CBus", "Failed to initialize the i2c software bus!");
|
||||||
while (loop_on_fail);
|
assert(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
1
src/Filters/Kalman2DFilter.hpp
Normal file → Executable file
1
src/Filters/Kalman2DFilter.hpp
Normal file → Executable file
@@ -1,5 +1,6 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include <BasicLinearAlgebra.h>
|
#include <BasicLinearAlgebra.h>
|
||||||
|
|
||||||
|
|||||||
1
src/Filters/kalman.hpp
Normal file → Executable file
1
src/Filters/kalman.hpp
Normal file → Executable file
@@ -1,4 +1,5 @@
|
|||||||
// упрощённый Калман для одномерного случая
|
// упрощённый Калман для одномерного случая
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#ifndef _GKalman_h
|
#ifndef _GKalman_h
|
||||||
#define _GKalman_h
|
#define _GKalman_h
|
||||||
|
|||||||
1
src/Filters/median3.hpp
Normal file → Executable file
1
src/Filters/median3.hpp
Normal file → Executable file
@@ -1,4 +1,5 @@
|
|||||||
// быстрый медианный фильтр 3-го порядка
|
// быстрый медианный фильтр 3-го порядка
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#ifndef _GMedian3_h
|
#ifndef _GMedian3_h
|
||||||
#define _GMedian3_h
|
#define _GMedian3_h
|
||||||
|
|||||||
1
src/Filters/runningAverage.hpp
Normal file → Executable file
1
src/Filters/runningAverage.hpp
Normal file → Executable file
@@ -1,4 +1,5 @@
|
|||||||
// экспоненциальное бегущее среднее
|
// экспоненциальное бегущее среднее
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#ifndef _GFilterRA_h
|
#ifndef _GFilterRA_h
|
||||||
#define _GFilterRA_h
|
#define _GFilterRA_h
|
||||||
|
|||||||
76
src/Logic/FlightController.cpp
Normal file → Executable file
76
src/Logic/FlightController.cpp
Normal file → Executable file
@@ -3,13 +3,15 @@
|
|||||||
FlightController::FlightController(
|
FlightController::FlightController(
|
||||||
Sensors *sensors, SavedPidRegulator *heightController, SavedPidRegulator *yawController,
|
Sensors *sensors, SavedPidRegulator *heightController, SavedPidRegulator *yawController,
|
||||||
BrushedMotor *rotor1, BrushedMotor *rotor2,
|
BrushedMotor *rotor1, BrushedMotor *rotor2,
|
||||||
PIDController *tailRotorController, bool unlimitedBattery) {
|
PIDController *tailRotorController, bool unlimitedBattery
|
||||||
|
) {
|
||||||
assert(sensors != nullptr);
|
assert(sensors != nullptr);
|
||||||
assert(heightController != nullptr);
|
assert(heightController != nullptr);
|
||||||
assert(yawController != nullptr);
|
assert(yawController != nullptr);
|
||||||
assert(tailRotorController != nullptr);
|
assert(tailRotorController != nullptr);
|
||||||
assert(rotor1 != nullptr);
|
assert(rotor1 != nullptr);
|
||||||
assert(rotor2 != nullptr);
|
assert(rotor2 != nullptr);
|
||||||
|
|
||||||
_sensors = sensors;
|
_sensors = sensors;
|
||||||
_unlimitedBattery = unlimitedBattery;
|
_unlimitedBattery = unlimitedBattery;
|
||||||
_heightController = heightController;
|
_heightController = heightController;
|
||||||
@@ -21,6 +23,7 @@ FlightController::FlightController(
|
|||||||
_status = DeviceStatus::Idle;
|
_status = DeviceStatus::Idle;
|
||||||
_checkBatteryCharge();
|
_checkBatteryCharge();
|
||||||
stopAllRotors();
|
stopAllRotors();
|
||||||
|
_initPidControllers();
|
||||||
ESP_LOGI(_tag, "Flight controller initialized");
|
ESP_LOGI(_tag, "Flight controller initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,9 +38,8 @@ FlightController::~FlightController() {
|
|||||||
|
|
||||||
void FlightController::tick() {
|
void FlightController::tick() {
|
||||||
bool hasUpdates = _sensors->tick();
|
bool hasUpdates = _sensors->tick();
|
||||||
if (hasUpdates) {
|
|
||||||
_checkBatteryCharge();
|
_checkBatteryCharge();
|
||||||
}
|
// TODO: don't apply pid values to motors while DeviceStatus != IsFlying
|
||||||
switch (_status) {
|
switch (_status) {
|
||||||
case DeviceStatus::Idle:
|
case DeviceStatus::Idle:
|
||||||
break;
|
break;
|
||||||
@@ -49,22 +51,32 @@ void FlightController::tick() {
|
|||||||
break;
|
break;
|
||||||
case DeviceStatus::IsBoarding:
|
case DeviceStatus::IsBoarding:
|
||||||
/* TODO: implement boarding */
|
/* TODO: implement boarding */
|
||||||
|
if (hasUpdates) {
|
||||||
_boarding();
|
_boarding();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DeviceStatus::IsFlying:
|
case DeviceStatus::IsFlying:
|
||||||
/* TODO: implement flying */
|
/* TODO: implement flying */
|
||||||
if (hasUpdates) {
|
|
||||||
_tailRotorController->tick();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (hasUpdates and (_status == DeviceStatus::IsFlying or _status == DeviceStatus::IsBoarding)) {
|
||||||
|
_tailRotorController->input = round(_sensors->mpuData().pitch * 10) / 10;
|
||||||
|
_tailRotorController->update();
|
||||||
|
|
||||||
|
_heightController->input = _sensors->flightHeight();
|
||||||
|
//auto baseDuty = (uint32_t) round(_heightController->getResultNow());
|
||||||
|
//_rotor1->setDuty(baseDuty);
|
||||||
|
//_rotor2->setDuty(baseDuty);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ReportedDeviceState FlightController::currentDeviceState() const {
|
ReportedDeviceState FlightController::currentDeviceState() const {
|
||||||
return {.batteryCharge = _sensors->batteryCharge(),
|
return {
|
||||||
|
.batteryCharge = _sensors->batteryCharge(),
|
||||||
.flightHeight = _sensors->flightHeight(),
|
.flightHeight = _sensors->flightHeight(),
|
||||||
.status = _status,
|
.status = _status,
|
||||||
.mpuState = _sensors->mpuData()};
|
.mpuState = _sensors->mpuData()
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::startTakeoff() {
|
void FlightController::startTakeoff() {
|
||||||
@@ -105,19 +117,15 @@ void FlightController::_takeoff() {
|
|||||||
// TODO: implement takeoff
|
// TODO: implement takeoff
|
||||||
_status = DeviceStatus::IsFlying;
|
_status = DeviceStatus::IsFlying;
|
||||||
_tailRotorController->enable();
|
_tailRotorController->enable();
|
||||||
_rotor1->enable();
|
_heightController->integral = 0.f;
|
||||||
_rotor2->enable();
|
_heightController->setpoint = _defaultFlightHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::_boarding() {
|
void FlightController::_boarding() {
|
||||||
if (_sensors->flightHeight() <= _defaultStopMotorHeight) {
|
if (_sensors->flightHeight() <= _defaultStopMotorHeight) {
|
||||||
// TODO: stop motors and setpoints
|
stopAllRotors();
|
||||||
_status = DeviceStatus::Idle;
|
|
||||||
_rotor1->disable();
|
|
||||||
_rotor2->disable();
|
|
||||||
_tailRotorController->disable();
|
|
||||||
} else {
|
} else {
|
||||||
// TODO: implement boarding
|
_heightController->setpoint -= _boarding_speed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,25 +156,31 @@ void FlightController::newPitchStickPosition(int16_t newYawStickPostition) {
|
|||||||
// TODO: implement stick input
|
// TODO: implement stick input
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::setRotor1Duty(uint32_t rotor1Duty) {
|
void FlightController::setRotor1Duty(int16_t rotor1Duty) {
|
||||||
if (_status == DeviceStatus::Idle) {
|
{
|
||||||
_rotor1->setDuty(rotor1Duty);
|
auto duty = (int16_t) map((long) rotor1Duty, 0, 5000, 0, 1023);
|
||||||
|
_rotor1->setExtendedDuty(duty);
|
||||||
|
_rotor2->setExtendedDuty(duty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::setRotor2Duty(uint32_t rotor2Duty) {
|
void FlightController::setRotor2Duty(int16_t rotor2Duty) {
|
||||||
if (_status == DeviceStatus::Idle) {
|
{
|
||||||
_rotor2->setDuty(rotor2Duty);
|
auto duty = (int16_t) map((long) rotor2Duty, 0, 5000, 0, 1023);
|
||||||
|
_rotor1->setExtendedDuty(duty);
|
||||||
|
_rotor2->setExtendedDuty(duty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::setRotor3Duty(uint32_t rotor3Duty) {
|
void FlightController::setRotor3Duty(int16_t rotor3Duty) {
|
||||||
if (_status == DeviceStatus::Idle) {
|
if (_status == DeviceStatus::Idle) {
|
||||||
_tailRotorController->setRotorDuty(rotor3Duty);
|
auto duty = (int16_t) map((long) rotor3Duty, -5000, 5000, -1023, 1023);
|
||||||
|
_tailRotorController->setRotorDuty(duty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::stopAllRotors() {
|
void FlightController::stopAllRotors() {
|
||||||
|
_tailRotorController->disable();
|
||||||
setRotor1Duty(0);
|
setRotor1Duty(0);
|
||||||
setRotor2Duty(0);
|
setRotor2Duty(0);
|
||||||
setRotor3Duty(0);
|
setRotor3Duty(0);
|
||||||
@@ -181,13 +195,13 @@ void FlightController::setHeightControllerParams(float p, float i, float d) {
|
|||||||
|
|
||||||
void FlightController::setYawControllerParams(float p, float i, float d) {
|
void FlightController::setYawControllerParams(float p, float i, float d) {
|
||||||
if (_status == DeviceStatus::Idle) {
|
if (_status == DeviceStatus::Idle) {
|
||||||
_heightController->setParams({.p = p, .i = i, .d = d});
|
_yawController->setParams({.p = p, .i = i, .d = d});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightController::setPitchControllerParams(float p, float i, float d) {
|
void FlightController::setPitchControllerParams(float p, float i, float d) {
|
||||||
if (_status == DeviceStatus::Idle) {
|
if (_status == DeviceStatus::Idle) {
|
||||||
_heightController->setParams({.p = p, .i = i, .d = d});
|
_tailRotorController->setParams({.p = p, .i = i, .d = d});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,6 +209,14 @@ PidSettings FlightController::pidSettings() const {
|
|||||||
PidSettings settings{};
|
PidSettings settings{};
|
||||||
settings.flightController = {.p = _heightController->Kp, .i = _heightController->Ki, .d = _heightController->Kd};
|
settings.flightController = {.p = _heightController->Kp, .i = _heightController->Ki, .d = _heightController->Kd};
|
||||||
settings.yawController = {.p = _yawController->Kp, .i = _yawController->Ki, .d = _yawController->Kd};
|
settings.yawController = {.p = _yawController->Kp, .i = _yawController->Ki, .d = _yawController->Kd};
|
||||||
settings.pitchController = {.p = _tailRotorController->Kp, .i = _tailRotorController->Ki, .d = _tailRotorController->Kd};
|
settings.pitchController = {
|
||||||
|
.p = _tailRotorController->Kp, .i = _tailRotorController->Ki, .d = _tailRotorController->Kd
|
||||||
|
};
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FlightController::_initPidControllers() {
|
||||||
|
_tailRotorController->setpoint = 180.f;
|
||||||
|
_heightController->setLimits(0, _rotor1->maxDuty());
|
||||||
|
}
|
||||||
|
|||||||
29
src/Logic/FlightController.hpp
Normal file → Executable file
29
src/Logic/FlightController.hpp
Normal file → Executable file
@@ -1,9 +1,9 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "PIDController.hpp"
|
#include "PIDController.hpp"
|
||||||
#include "Sensors/Sensors.hpp"
|
#include "Sensors/Sensors.hpp"
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
enum DeviceStatus {
|
enum DeviceStatus {
|
||||||
Idle = 0,
|
Idle = 0,
|
||||||
@@ -58,11 +58,11 @@ public:
|
|||||||
|
|
||||||
[[deprecated]] void newPitchStickPosition(int16_t newPitchStickPostition);
|
[[deprecated]] void newPitchStickPosition(int16_t newPitchStickPostition);
|
||||||
|
|
||||||
void setRotor1Duty(uint32_t rotor1Duty);
|
void setRotor1Duty(int16_t rotor1Duty);
|
||||||
|
|
||||||
void setRotor2Duty(uint32_t rotor2Duty);
|
void setRotor2Duty(int16_t rotor2Duty);
|
||||||
|
|
||||||
void setRotor3Duty(uint32_t rotor3Duty);
|
void setRotor3Duty(int16_t rotor3Duty);
|
||||||
|
|
||||||
void stopAllRotors();
|
void stopAllRotors();
|
||||||
|
|
||||||
@@ -77,9 +77,15 @@ public:
|
|||||||
private:
|
private:
|
||||||
void _checkBatteryCharge();
|
void _checkBatteryCharge();
|
||||||
|
|
||||||
[[deprecated]] void _takeoff();
|
void _initPidControllers();
|
||||||
|
|
||||||
[[deprecated]] void _boarding();
|
void _updateSetpoints();
|
||||||
|
|
||||||
|
void _updatePidControllers();
|
||||||
|
|
||||||
|
void _takeoff();
|
||||||
|
|
||||||
|
void _boarding();
|
||||||
|
|
||||||
Sensors *_sensors = nullptr;
|
Sensors *_sensors = nullptr;
|
||||||
SavedPidRegulator *_heightController = nullptr;
|
SavedPidRegulator *_heightController = nullptr;
|
||||||
@@ -88,12 +94,17 @@ private:
|
|||||||
BrushedMotor *_rotor1 = nullptr;
|
BrushedMotor *_rotor1 = nullptr;
|
||||||
BrushedMotor *_rotor2 = nullptr;
|
BrushedMotor *_rotor2 = nullptr;
|
||||||
DeviceStatus _status;
|
DeviceStatus _status;
|
||||||
|
//uint32_t _flightTimer;
|
||||||
|
//float _verticalVelocityOffset = 0.f; // [cm/10 ms]
|
||||||
|
//float _pitchVelocityOffset = 0.f; // [degrees/10 ms]
|
||||||
|
|
||||||
static constexpr const char *_tag = "FlightController";
|
static constexpr const char *_tag = "FlightController";
|
||||||
static constexpr uint8_t _batteryCriticalCharge = 15; // [%]
|
static constexpr uint8_t _batteryCriticalCharge = 15; // [%]
|
||||||
static constexpr float _defaultFlightHeight = 30.f; // [cm]
|
static constexpr float _defaultFlightHeight = 55.f; // [cm]
|
||||||
static constexpr float _defaultHorizontAngle = 90.f; // [degrees]
|
static constexpr float _defaultHorizontAngle = 180.f; // [degrees]
|
||||||
static constexpr float _defaultStopMotorHeight = 5; // [cm]
|
static constexpr float _boarding_speed = 0.1; // [cm/10 ms]
|
||||||
|
static constexpr float _defaultStopMotorHeight = 15; // [cm]
|
||||||
|
|
||||||
|
|
||||||
bool _unlimitedBattery = false; // for debug purposes
|
bool _unlimitedBattery = false; // for debug purposes
|
||||||
};
|
};
|
||||||
32
src/Logic/FlightDispatcher.cpp
Normal file → Executable file
32
src/Logic/FlightDispatcher.cpp
Normal file → Executable file
@@ -47,7 +47,7 @@ void FlightDispatcher::_onNewDeviceConnected(BTAddress device) {
|
|||||||
|
|
||||||
void FlightDispatcher::_onNewMessageReceived(char *package) {
|
void FlightDispatcher::_onNewMessageReceived(char *package) {
|
||||||
using sutil::SH;
|
using sutil::SH;
|
||||||
ESP_LOGI(_tag, "Received new package: %s", package);
|
ESP_LOGD(_tag, "Received new package: %s", package);
|
||||||
gson::Doc pkg;
|
gson::Doc pkg;
|
||||||
if (!pkg.parse(package, _jsonMaxDepth)) {
|
if (!pkg.parse(package, _jsonMaxDepth)) {
|
||||||
ESP_LOGE(_tag, "Parcing error occured with new package (error %s, place %d): %s",
|
ESP_LOGE(_tag, "Parcing error occured with new package (error %s, place %d): %s",
|
||||||
@@ -57,10 +57,8 @@ void FlightDispatcher::_onNewMessageReceived(char *package) {
|
|||||||
for (int keyIndex = 0; keyIndex < pkg.length(); ++keyIndex) {
|
for (int keyIndex = 0; keyIndex < pkg.length(); ++keyIndex) {
|
||||||
auto pair = pkg[pkg.keyHash(keyIndex)];
|
auto pair = pkg[pkg.keyHash(keyIndex)];
|
||||||
auto value = pair.value();
|
auto value = pair.value();
|
||||||
ESP_LOGD(_tag, "Key: %zu", pkg.keyHash(keyIndex));
|
|
||||||
|
|
||||||
if (!pair.valid()) {
|
if (!pair.valid()) {
|
||||||
ESP_LOGW(_tag, "Pair isn't valid and was skipped");
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,13 +79,13 @@ void FlightDispatcher::_onNewMessageReceived(char *package) {
|
|||||||
_flightController->newPitchStickPosition(value.toInt16());
|
_flightController->newPitchStickPosition(value.toInt16());
|
||||||
break;
|
break;
|
||||||
case SH("r1"):
|
case SH("r1"):
|
||||||
_flightController->setRotor1Duty(value.toInt32());
|
_flightController->setRotor1Duty(value.toInt16());
|
||||||
break;
|
break;
|
||||||
case SH("r2"):
|
case SH("r2"):
|
||||||
_flightController->setRotor2Duty(value.toInt32());
|
_flightController->setRotor2Duty(value.toInt16());
|
||||||
break;
|
break;
|
||||||
case SH("r3"):
|
case SH("r3"):
|
||||||
_flightController->setRotor3Duty(value.toInt32());
|
_flightController->setRotor3Duty(value.toInt16());
|
||||||
break;
|
break;
|
||||||
case SH("stop"):
|
case SH("stop"):
|
||||||
_flightController->stopAllRotors();
|
_flightController->stopAllRotors();
|
||||||
@@ -102,14 +100,14 @@ void FlightDispatcher::_onNewMessageReceived(char *package) {
|
|||||||
case SH("p2"):
|
case SH("p2"):
|
||||||
if (pair.type() == gson::Type::Object and pair.includes(SH("p"))
|
if (pair.type() == gson::Type::Object and pair.includes(SH("p"))
|
||||||
and pair.includes(SH("i")) and pair.includes(SH("d"))) {
|
and pair.includes(SH("i")) and pair.includes(SH("d"))) {
|
||||||
_flightController->setYawControllerParams(
|
_flightController->setPitchControllerParams(
|
||||||
pair[SH("p")].toFloat(), pair[SH("i")].toFloat(), pair[SH("d")].toFloat());
|
pair[SH("p")].toFloat(), pair[SH("i")].toFloat(), pair[SH("d")].toFloat());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SH("p3"):
|
case SH("p3"):
|
||||||
if (pair.type() == gson::Type::Object and pair.includes(SH("p"))
|
if (pair.type() == gson::Type::Object and pair.includes(SH("p"))
|
||||||
and pair.includes(SH("i")) and pair.includes(SH("d"))) {
|
and pair.includes(SH("i")) and pair.includes(SH("d"))) {
|
||||||
_flightController->setPitchControllerParams(
|
_flightController->setYawControllerParams(
|
||||||
pair[SH("p")].toFloat(), pair[SH("i")].toFloat(), pair[SH("d")].toFloat());
|
pair[SH("p")].toFloat(), pair[SH("i")].toFloat(), pair[SH("d")].toFloat());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -148,21 +146,21 @@ void FlightDispatcher::_pidSettingsOpened() {
|
|||||||
pkg.beginObj();
|
pkg.beginObj();
|
||||||
|
|
||||||
pkg.beginObj("p1");
|
pkg.beginObj("p1");
|
||||||
pkg["p"] = settings.flightController.p;
|
pkg.addFloat("p", settings.flightController.p, 5);
|
||||||
pkg["i"] = settings.flightController.i;
|
pkg.addFloat("i", settings.flightController.i, 5);
|
||||||
pkg["d"] = settings.flightController.d;
|
pkg.addFloat("d", settings.flightController.d, 5);
|
||||||
pkg.endObj();
|
pkg.endObj();
|
||||||
|
|
||||||
pkg.beginObj("p2");
|
pkg.beginObj("p2");
|
||||||
pkg["p"] = settings.yawController.p;
|
pkg.addFloat("p", settings.pitchController.p, 5);
|
||||||
pkg["i"] = settings.yawController.i;
|
pkg.addFloat("i", settings.pitchController.i, 5);
|
||||||
pkg["d"] = settings.yawController.d;
|
pkg.addFloat("d", settings.pitchController.d, 5);
|
||||||
pkg.endObj();
|
pkg.endObj();
|
||||||
|
|
||||||
pkg.beginObj("p3");
|
pkg.beginObj("p3");
|
||||||
pkg["p"] = settings.pitchController.p;
|
pkg.addFloat("p", settings.yawController.p, 5);
|
||||||
pkg["i"] = settings.pitchController.i;
|
pkg.addFloat("i", settings.yawController.i, 5);
|
||||||
pkg["d"] = settings.pitchController.d;
|
pkg.addFloat("d", settings.yawController.d, 5);
|
||||||
pkg.endObj();
|
pkg.endObj();
|
||||||
|
|
||||||
pkg.endObj();
|
pkg.endObj();
|
||||||
|
|||||||
1
src/Logic/FlightDispatcher.hpp
Normal file → Executable file
1
src/Logic/FlightDispatcher.hpp
Normal file → Executable file
@@ -1,5 +1,6 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "FlightController.hpp"
|
#include "FlightController.hpp"
|
||||||
#include "GSON.h"
|
#include "GSON.h"
|
||||||
|
|||||||
33
src/Logic/PIDController.hpp
Normal file → Executable file
33
src/Logic/PIDController.hpp
Normal file → Executable file
@@ -1,6 +1,8 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "Motor/BrushedMotor.hpp"
|
#include "Motor/BrushedMotor.hpp"
|
||||||
#include "SavedPidRegulator.hpp"
|
#include "SavedPidRegulator.hpp"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
@@ -9,38 +11,45 @@
|
|||||||
class PIDController : public SavedPidRegulator {
|
class PIDController : public SavedPidRegulator {
|
||||||
public:
|
public:
|
||||||
PIDController(float p, float i, float d, BrushedMotor *rotor,
|
PIDController(float p, float i, float d, BrushedMotor *rotor,
|
||||||
const char *name = "PID", uint16_t dt = 10)
|
const char *name = "PID", uint16_t dt = 10, const bool isEnabled = false)
|
||||||
: SavedPidRegulator(p, i, d, name, dt) {
|
: SavedPidRegulator(p, i, d, name, dt) {
|
||||||
assert(rotor != nullptr);
|
assert(rotor != nullptr);
|
||||||
_rotor = rotor;
|
_rotor = rotor;
|
||||||
this->_dt = dt;
|
_isEnabled = isEnabled;
|
||||||
setLimits(0, _rotor->maxDuty());
|
setLimits(-_rotor->maxDuty(), _rotor->maxDuty());
|
||||||
|
setDirection(REVERSE);
|
||||||
_pid_timer = millis();
|
_pid_timer = millis();
|
||||||
ESP_LOGI(_tag, "PID %s initialized with params (%f, %f, %f)", name, Kp, Ki, Kd);
|
ESP_LOGI(_tag, "PID %s initialized with params (%f, %f, %f)", name, Kp, Ki, Kd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void enable() {
|
void enable() {
|
||||||
_rotor->enable();
|
_isEnabled = true;
|
||||||
|
_rotor->setDuty(0);
|
||||||
|
integral = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void disable() {
|
void disable() {
|
||||||
_rotor->disable();
|
_isEnabled = false;
|
||||||
|
_rotor->setDuty(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tick() {
|
void update() {
|
||||||
if (millis() - _pid_timer >= _dt) {
|
if (_isEnabled) {
|
||||||
_rotor->setDuty((uint32_t) getResultTimer());
|
//ESP_LOGI(_tag, "Setpoint: %f", setpoint);
|
||||||
_pid_timer = millis();
|
//ESP_LOGI(_tag, "Input: %f", input);
|
||||||
|
//ESP_LOGI(_tag, "Output: %d", (int16_t) round(getResultNow()));
|
||||||
|
setRotorDuty((int16_t) round(getResultNow()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setRotorDuty(uint32_t duty) {
|
void setRotorDuty(int16_t duty) {
|
||||||
/* Used only for test purposes */
|
/* Used only for test purposes */
|
||||||
_rotor->setDuty(duty);
|
_rotor->setExtendedDuty(duty);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint16_t _dt;
|
//uint16_t _dt;
|
||||||
BrushedMotor *_rotor = nullptr;
|
BrushedMotor *_rotor = nullptr;
|
||||||
uint32_t _pid_timer = 0;
|
uint32_t _pid_timer = 0;
|
||||||
|
bool _isEnabled = false;
|
||||||
};
|
};
|
||||||
5
src/Logic/SavedPidRegulator.hpp
Normal file → Executable file
5
src/Logic/SavedPidRegulator.hpp
Normal file → Executable file
@@ -1,3 +1,4 @@
|
|||||||
|
#pragma once
|
||||||
#include "GyverPID.h"
|
#include "GyverPID.h"
|
||||||
#include "Preferences.h"
|
#include "Preferences.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
@@ -11,8 +12,8 @@ struct PidParams {
|
|||||||
|
|
||||||
class SavedPidRegulator : public GyverPID {
|
class SavedPidRegulator : public GyverPID {
|
||||||
public:
|
public:
|
||||||
SavedPidRegulator(float p, float i, float d, const char *name = "saved_pid", uint16_t dt = 10)
|
SavedPidRegulator(float p, float i, float d, const char *name = "saved_pid", const uint16_t dt = 10)
|
||||||
: GyverPID(p, i, d, (int16_t) dt) {
|
: GyverPID(p, i, d, static_cast<int16_t>(dt)) {
|
||||||
_name = name;
|
_name = name;
|
||||||
_preferences.begin(name);
|
_preferences.begin(name);
|
||||||
_pDefault = p;
|
_pDefault = p;
|
||||||
|
|||||||
83
src/Motor/BrushedMotor.cpp
Normal file → Executable file
83
src/Motor/BrushedMotor.cpp
Normal file → Executable file
@@ -3,28 +3,75 @@
|
|||||||
|
|
||||||
#include "BrushedMotor.hpp"
|
#include "BrushedMotor.hpp"
|
||||||
|
|
||||||
BrushedMotor::BrushedMotor(uint32_t PwmAGpioNum, uint32_t PwmBGpioNum, uint32_t PwmFreqHz,
|
BrushedMotor::BrushedMotor(uint32_t pwmAGpioNum, uint32_t pwmBGpioNum, uint32_t frequency,
|
||||||
uint32_t McpwmResolutionHz, int McpwmGroupId) {
|
uint8_t channel, uint8_t resolution, const char *name, bool forward_directional) {
|
||||||
_mcpwmResolutionHz = McpwmResolutionHz;
|
_resolution = resolution;
|
||||||
_pwmAGpioNum = McpwmGroupId;
|
_pwmAGpioNum = pwmAGpioNum;
|
||||||
_pwmBGpioNum = PwmBGpioNum;
|
_pwmBGpioNum = pwmBGpioNum;
|
||||||
_pwmFreqHz = PwmFreqHz;
|
_channel = channel;
|
||||||
|
_frequency = frequency;
|
||||||
|
_forward_directional = forward_directional;
|
||||||
|
_tag_name = name;
|
||||||
|
pinMode(_pwmAGpioNum, OUTPUT);
|
||||||
|
pinMode(_pwmBGpioNum, OUTPUT);
|
||||||
|
ledcAttachPin(_pwmAGpioNum, _channel);
|
||||||
|
ledcSetup(_channel, _frequency, _resolution);
|
||||||
|
coast();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrushedMotor::enable() {}
|
void BrushedMotor::setDuty(uint32_t duty) const {
|
||||||
|
ledcWrite(_channel, duty);
|
||||||
void BrushedMotor::disable() {}
|
|
||||||
|
|
||||||
void BrushedMotor::setDuty(uint16_t duty) {}
|
|
||||||
|
|
||||||
uint16_t BrushedMotor::maxDuty() {
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrushedMotor::forward() {}
|
void BrushedMotor::decrement(uint32_t k) const {
|
||||||
|
ledcWrite(_channel, ledcRead(_channel) - k);
|
||||||
|
}
|
||||||
|
|
||||||
void BrushedMotor::reverse() {}
|
void BrushedMotor::setExtendedDuty(int32_t duty) {
|
||||||
|
if (duty > 0) {
|
||||||
|
forward();
|
||||||
|
} else if (duty < 0) {
|
||||||
|
backward();
|
||||||
|
}
|
||||||
|
setDuty(abs(duty));
|
||||||
|
}
|
||||||
|
|
||||||
void BrushedMotor::coast() {}
|
uint32_t BrushedMotor::maxDuty() const {
|
||||||
|
return pow(2, _resolution) - 1;
|
||||||
|
}
|
||||||
|
|
||||||
void BrushedMotor::brake() {}
|
void BrushedMotor::_apply_directional() const {
|
||||||
|
auto current_duty = ledcRead(_channel);
|
||||||
|
if (_forward_directional) {
|
||||||
|
ledcDetachPin(_pwmBGpioNum);
|
||||||
|
ledcAttachPin(_pwmAGpioNum, _channel);
|
||||||
|
} else {
|
||||||
|
ledcDetachPin(_pwmAGpioNum);
|
||||||
|
ledcAttachPin(_pwmBGpioNum, _channel);
|
||||||
|
}
|
||||||
|
setDuty(current_duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BrushedMotor::forward() {
|
||||||
|
if (_forward_directional)
|
||||||
|
return;
|
||||||
|
ESP_LOGI(_tag_name.c_str(), "Moving forward");
|
||||||
|
_forward_directional = true;
|
||||||
|
_apply_directional();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BrushedMotor::backward() {
|
||||||
|
if (!_forward_directional)
|
||||||
|
return;
|
||||||
|
_forward_directional = false;
|
||||||
|
_apply_directional();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BrushedMotor::reverse() {
|
||||||
|
_forward_directional = !_forward_directional;
|
||||||
|
_apply_directional();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BrushedMotor::coast() const {
|
||||||
|
setDuty(0);
|
||||||
|
}
|
||||||
|
|||||||
41
src/Motor/BrushedMotor.hpp
Normal file → Executable file
41
src/Motor/BrushedMotor.hpp
Normal file → Executable file
@@ -1,40 +1,43 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <cstdint>
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
// TODO: implement class
|
|
||||||
|
|
||||||
class BrushedMotor {
|
class BrushedMotor {
|
||||||
/* Driver for native MCPWM controller. */
|
// TODO: rewrite with MCPWM
|
||||||
// TODO: define default values
|
|
||||||
public:
|
public:
|
||||||
BrushedMotor(uint32_t PwmAGpioNum, uint32_t PwmBGpioNum, uint32_t PwmFreqHz,
|
BrushedMotor(uint32_t pwmAGpioNum, uint32_t pwmBGpioNum, uint32_t frequency,
|
||||||
uint32_t McpwmResolutionHz, int McpwmGroupId = 0);
|
uint8_t channel, uint8_t resolution, const char *name = "Rotor1", bool forward_directional = true);
|
||||||
|
|
||||||
void setDuty(uint16_t duty);
|
void setDuty(uint32_t duty) const;
|
||||||
|
|
||||||
uint16_t maxDuty();
|
void setExtendedDuty(int32_t duty);
|
||||||
|
|
||||||
void enable();
|
[[nodiscard]] uint32_t maxDuty() const;
|
||||||
|
|
||||||
void disable();
|
|
||||||
|
|
||||||
void forward();
|
void forward();
|
||||||
|
|
||||||
|
void backward();
|
||||||
|
|
||||||
void reverse();
|
void reverse();
|
||||||
|
|
||||||
void coast();
|
void coast() const;
|
||||||
|
|
||||||
void brake();
|
void decrement(uint32_t k) const;
|
||||||
|
|
||||||
protected:
|
private:
|
||||||
/* MCPWM group */
|
uint8_t _channel;
|
||||||
int _mcpwmGroupId = 0;
|
uint32_t _frequency;
|
||||||
uint32_t _mcpwmResolutionHz;
|
uint32_t _resolution;
|
||||||
|
|
||||||
/* Brushed motor properties */
|
|
||||||
uint32_t _pwmAGpioNum;
|
uint32_t _pwmAGpioNum;
|
||||||
uint32_t _pwmBGpioNum;
|
uint32_t _pwmBGpioNum;
|
||||||
uint32_t _pwmFreqHz;
|
bool _forward_directional;
|
||||||
|
String _tag_name = "BrushedMotor";
|
||||||
|
|
||||||
|
void _apply_directional() const;
|
||||||
};
|
};
|
||||||
41
src/RF/BluetoothDispatcher.cpp
Normal file → Executable file
41
src/RF/BluetoothDispatcher.cpp
Normal file → Executable file
@@ -15,7 +15,8 @@ BluetoothDispatcher::BluetoothDispatcher(BluetoothSerial *controller, const char
|
|||||||
_controller = controller;
|
_controller = controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BluetoothDispatcher::initialize(volatile bool loop_on_fail, int readTimeoutMS) {
|
bool BluetoothDispatcher::initialize(int readTimeoutMS) {
|
||||||
|
bool success = _controller->begin(_device_name, false);
|
||||||
_controller->enableSSP();
|
_controller->enableSSP();
|
||||||
_controller->onConfirmRequest([this](uint16_t pin) {
|
_controller->onConfirmRequest([this](uint16_t pin) {
|
||||||
_onConfirmRequest(pin);
|
_onConfirmRequest(pin);
|
||||||
@@ -27,12 +28,10 @@ bool BluetoothDispatcher::initialize(volatile bool loop_on_fail, int readTimeout
|
|||||||
deviceConnectedCallback = [this](BTAddress device) {
|
deviceConnectedCallback = [this](BTAddress device) {
|
||||||
_onDeviceConnected(device);
|
_onDeviceConnected(device);
|
||||||
};
|
};
|
||||||
_controller->setTimeout(readTimeoutMS);
|
//_controller->setTimeout(readTimeoutMS);
|
||||||
bool success = _controller->begin(_device_name, false);
|
|
||||||
if (!success) {
|
if (!success) {
|
||||||
ESP_LOGI(_tag, "Failed to initialize Bluetooth controller!");
|
ESP_LOGI(_tag, "Failed to initialize Bluetooth controller!");
|
||||||
while (loop_on_fail);
|
assert(false);
|
||||||
return false;
|
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGI(_tag, "Bluetooth host initialized");
|
ESP_LOGI(_tag, "Bluetooth host initialized");
|
||||||
return true;
|
return true;
|
||||||
@@ -45,23 +44,19 @@ void BluetoothDispatcher::onNewPackageReceived(NewPackageCallback newPackageRece
|
|||||||
|
|
||||||
void BluetoothDispatcher::tick(const char message_delimeter) {
|
void BluetoothDispatcher::tick(const char message_delimeter) {
|
||||||
/* Call the callback, if new package received */
|
/* Call the callback, if new package received */
|
||||||
while (_controller->available()) { _buffer += (char) _controller->read(); }
|
/* Warning! Logging below can cause errors and freezes */
|
||||||
if (_buffer.lastIndexOf(message_delimeter) != -1) {
|
while (_controller->available()) {
|
||||||
char buffer[_buffer_size];
|
int c = _controller->read();
|
||||||
auto messageEnd = _buffer.indexOf(message_delimeter) - 1;
|
if (c == -1) {
|
||||||
if (messageEnd == -1) {
|
_buffer.clear();
|
||||||
|
} else if (c == message_delimeter) {
|
||||||
|
if (_newPackageReceivedCb) {
|
||||||
|
_newPackageReceivedCb(_buffer.buf);
|
||||||
|
}
|
||||||
_buffer.clear();
|
_buffer.clear();
|
||||||
} else {
|
} else {
|
||||||
_buffer.substring(0, messageEnd, buffer);
|
_buffer += (char) c;
|
||||||
}
|
}
|
||||||
ESP_LOGD(_tag, "Received new buffer %s", buffer);
|
|
||||||
if (_newPackageReceivedCb) {
|
|
||||||
_newPackageReceivedCb(buffer);
|
|
||||||
}
|
|
||||||
_buffer.clear();
|
|
||||||
}
|
|
||||||
if (_buffer.length() > _real_buffer_size) {
|
|
||||||
_buffer.clear();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,6 +81,7 @@ void BluetoothDispatcher::_onAuthComplete(boolean success) const {
|
|||||||
void BluetoothDispatcher::_onDeviceConnected(BTAddress device) {
|
void BluetoothDispatcher::_onDeviceConnected(BTAddress device) {
|
||||||
ESP_LOGI(_tag, "New device connected: %s", device.toString(true).c_str());
|
ESP_LOGI(_tag, "New device connected: %s", device.toString(true).c_str());
|
||||||
_buffer.clear();
|
_buffer.clear();
|
||||||
|
_controller->flush();
|
||||||
if (_deviceConnectedCallback) {
|
if (_deviceConnectedCallback) {
|
||||||
_deviceConnectedCallback(device);
|
_deviceConnectedCallback(device);
|
||||||
}
|
}
|
||||||
@@ -97,12 +93,9 @@ void BluetoothDispatcher::onNewDeviceConnected(DeviceConnectedCb deviceConnected
|
|||||||
}
|
}
|
||||||
|
|
||||||
void BluetoothDispatcher::sendPackage(const char *package) {
|
void BluetoothDispatcher::sendPackage(const char *package) {
|
||||||
if (!_controller->connected())
|
if (!_controller->hasClient())
|
||||||
return;
|
return;
|
||||||
auto res = _controller->println(package);
|
_controller->println(package);
|
||||||
if (res == 0) {
|
|
||||||
delay(10);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
8
src/RF/BluetoothDispatcher.hpp
Normal file → Executable file
8
src/RF/BluetoothDispatcher.hpp
Normal file → Executable file
@@ -1,5 +1,8 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define TX_QUEUE_SIZE 512
|
||||||
|
|
||||||
#include "BluetoothSerial.h"
|
#include "BluetoothSerial.h"
|
||||||
#include "HardwareSerial.h"
|
#include "HardwareSerial.h"
|
||||||
@@ -29,7 +32,7 @@ class BluetoothDispatcher {
|
|||||||
public:
|
public:
|
||||||
BluetoothDispatcher(BluetoothSerial *controller, const char *device_name = "Helicopter");
|
BluetoothDispatcher(BluetoothSerial *controller, const char *device_name = "Helicopter");
|
||||||
|
|
||||||
bool initialize(volatile bool loop_on_fail = true, int readTimeoutMS = 10);
|
bool initialize(int readTimeoutMS = 10);
|
||||||
|
|
||||||
void tick(const char message_delimeter = '\n');
|
void tick(const char message_delimeter = '\n');
|
||||||
|
|
||||||
@@ -54,7 +57,6 @@ private:
|
|||||||
NewPackageCallback _newPackageReceivedCb = nullptr;
|
NewPackageCallback _newPackageReceivedCb = nullptr;
|
||||||
constexpr static const char *_tag = "BluetoothDispatcher";
|
constexpr static const char *_tag = "BluetoothDispatcher";
|
||||||
|
|
||||||
static constexpr uint16_t _buffer_size = 522;
|
static constexpr uint16_t _buffer_size = 512;
|
||||||
static constexpr uint16_t _real_buffer_size = 512;
|
|
||||||
mString<_buffer_size> _buffer;
|
mString<_buffer_size> _buffer;
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "GyverBME280.h"
|
#include "GyverBME280.h"
|
||||||
|
|
||||||
@@ -7,9 +8,10 @@ typedef std::function<void()> OnMeasuringFinishedCb;
|
|||||||
|
|
||||||
class Barometer {
|
class Barometer {
|
||||||
public:
|
public:
|
||||||
Barometer(GyverBME280 *bme) {
|
explicit Barometer(GyverBME280 *bme) {
|
||||||
|
assert(bme != nullptr);
|
||||||
_bme = bme;
|
_bme = bme;
|
||||||
};
|
}
|
||||||
|
|
||||||
~Barometer() {
|
~Barometer() {
|
||||||
delete this->_bme;
|
delete this->_bme;
|
||||||
@@ -46,7 +48,7 @@ public:
|
|||||||
float flightHeight() /* [cm] */ {
|
float flightHeight() /* [cm] */ {
|
||||||
if (_isCalibration)
|
if (_isCalibration)
|
||||||
return 0.f;
|
return 0.f;
|
||||||
else return round(altitude() - _startedAltitude);
|
return round(altitude() - _startedAltitude);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onMeasuaringHeightFinished(OnMeasuringFinishedCb callback) {
|
void onMeasuaringHeightFinished(OnMeasuringFinishedCb callback) {
|
||||||
@@ -75,6 +77,6 @@ private:
|
|||||||
uint32_t _calibrationTimer = 0;
|
uint32_t _calibrationTimer = 0;
|
||||||
int _calibrationIterationsCounter = 0;
|
int _calibrationIterationsCounter = 0;
|
||||||
OnMeasuringFinishedCb _measuaringHeightFinishedCb = nullptr;
|
OnMeasuringFinishedCb _measuaringHeightFinishedCb = nullptr;
|
||||||
static constexpr int _calibrationIterationsCount = 1000;
|
static constexpr int _calibrationIterationsCount = 800;
|
||||||
static constexpr int _calibrationIterationDelay = 1; // [ms]
|
static constexpr int _calibrationIterationDelay = 1; // [ms]
|
||||||
};
|
};
|
||||||
81
src/Sensors/BarometerBMP280.hpp
Executable file
81
src/Sensors/BarometerBMP280.hpp
Executable file
@@ -0,0 +1,81 @@
|
|||||||
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "GyverBME280.h"
|
||||||
|
|
||||||
|
typedef std::function<void()> OnMeasuringFinishedCb;
|
||||||
|
|
||||||
|
class Barometer {
|
||||||
|
public:
|
||||||
|
Barometer(GyverBME280 *bme) {
|
||||||
|
_bme = bme;
|
||||||
|
};
|
||||||
|
|
||||||
|
~Barometer() {
|
||||||
|
delete this->_bme;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool initialize(void) {
|
||||||
|
_bme->setMode(NORMAL_MODE);
|
||||||
|
_bme->setFilter(FILTER_COEF_16);
|
||||||
|
_bme->setTempOversampling(OVERSAMPLING_2);
|
||||||
|
_bme->setPressOversampling(OVERSAMPLING_16);
|
||||||
|
_bme->setStandbyTime(STANDBY_500US);
|
||||||
|
return _bme->begin();
|
||||||
|
}
|
||||||
|
|
||||||
|
void measureBaseAltitudeSync(void) {
|
||||||
|
for (int i = 0; i < _calibrationIterationsCount; ++i) {
|
||||||
|
_startedAltitude += altitude();
|
||||||
|
delay(_calibrationIterationDelay);
|
||||||
|
}
|
||||||
|
_startedAltitude /= _calibrationIterationsCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
void measureBaseAltitudeAsync(void) {
|
||||||
|
_calibrationIterationsCounter = 0;
|
||||||
|
_calibrationTimer = millis();
|
||||||
|
_isCalibration = true;
|
||||||
|
_startedAltitude = 0.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
float altitude() /* [cm] */ {
|
||||||
|
return pressureToAltitude(_bme->readPressure()) * 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
float flightHeight() /* [cm] */ {
|
||||||
|
if (_isCalibration)
|
||||||
|
return 0.f;
|
||||||
|
else return round(altitude() - _startedAltitude);
|
||||||
|
}
|
||||||
|
|
||||||
|
void onMeasuaringHeightFinished(OnMeasuringFinishedCb callback) {
|
||||||
|
_measuaringHeightFinishedCb = std::move(callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tick() {
|
||||||
|
if (_isCalibration) {
|
||||||
|
if (millis() - _calibrationTimer >= _calibrationIterationDelay) {
|
||||||
|
_startedAltitude += altitude();
|
||||||
|
}
|
||||||
|
if (++_calibrationIterationsCounter >= _calibrationIterationsCount) {
|
||||||
|
_startedAltitude /= _calibrationIterationsCount;
|
||||||
|
_isCalibration = false;
|
||||||
|
if (_measuaringHeightFinishedCb) {
|
||||||
|
_measuaringHeightFinishedCb();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
GyverBME280 *_bme;
|
||||||
|
float _startedAltitude = 0.f;
|
||||||
|
bool _isCalibration = false;
|
||||||
|
uint32_t _calibrationTimer = 0;
|
||||||
|
int _calibrationIterationsCounter = 0;
|
||||||
|
OnMeasuringFinishedCb _measuaringHeightFinishedCb = nullptr;
|
||||||
|
static constexpr int _calibrationIterationsCount = 800;
|
||||||
|
static constexpr int _calibrationIterationDelay = 1; // [ms]
|
||||||
|
};
|
||||||
21
src/Sensors/BatteryController.hpp
Normal file → Executable file
21
src/Sensors/BatteryController.hpp
Normal file → Executable file
@@ -1,5 +1,6 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "board_pins.h"
|
#include "board_pins.h"
|
||||||
|
|
||||||
@@ -11,7 +12,7 @@ public:
|
|||||||
_battery_data_switch_pin = battery_data_switch_pin;
|
_battery_data_switch_pin = battery_data_switch_pin;
|
||||||
}
|
}
|
||||||
|
|
||||||
void initialize() {
|
void initialize() const {
|
||||||
pinMode(_battery_data_switch_pin, OUTPUT);
|
pinMode(_battery_data_switch_pin, OUTPUT);
|
||||||
digitalWrite(_battery_data_switch_pin, HIGH);
|
digitalWrite(_battery_data_switch_pin, HIGH);
|
||||||
analogReadResolution(12);
|
analogReadResolution(12);
|
||||||
@@ -19,19 +20,21 @@ public:
|
|||||||
adcAttachPin(_battery_pin);
|
adcAttachPin(_battery_pin);
|
||||||
}
|
}
|
||||||
|
|
||||||
float measureVoltage() {
|
|
||||||
return analogRead(BATTERY_DATA_PIN) * 3.3f / 4096.f;
|
|
||||||
}
|
|
||||||
|
|
||||||
int percent(const float minVoltage = 7.2f, const float maxVoltage = 8.4f,
|
int percent(const float minVoltage = 7.2f, const float maxVoltage = 8.4f,
|
||||||
const float r1 = 3.3f, const float r2 = 2.f, const float k = 2.87f) {
|
const float r1 = 3.f, const float r2 = 2.f, const float k = 2.85f) {
|
||||||
auto batteryVoltage = measureVoltage() * ((r1 + r2) / k);
|
// It's magic. I will return and refactor it.
|
||||||
auto percent = ((batteryVoltage - minVoltage) / (maxVoltage - minVoltage)) * 100;
|
float pinVoltage = analogReadMilliVolts(_battery_pin) / 1000.f;
|
||||||
return constrain(round(percent), 0, 100);
|
// k = (r1 + r2) / r2
|
||||||
|
float batteryVoltage = pinVoltage * k;
|
||||||
|
return constrain(_map(batteryVoltage, minVoltage, maxVoltage, 0, 100), 0, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint16_t _battery_pin;
|
uint16_t _battery_pin;
|
||||||
uint16_t _battery_data_switch_pin;
|
uint16_t _battery_data_switch_pin;
|
||||||
static constexpr const char *_tag = "BatteryController";
|
static constexpr const char *_tag = "BatteryController";
|
||||||
|
|
||||||
|
static float _map(float x, float in_min, float in_max, float out_min, float out_max) {
|
||||||
|
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
38
src/Sensors/MPU.hpp
Normal file → Executable file
38
src/Sensors/MPU.hpp
Normal file → Executable file
@@ -1,5 +1,6 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "MPU6050_6Axis_MotionApps20.h"
|
#include "MPU6050_6Axis_MotionApps20.h"
|
||||||
#include "Preferences.h"
|
#include "Preferences.h"
|
||||||
@@ -7,6 +8,7 @@
|
|||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
|
||||||
static volatile bool _isDMPDataReady = false;
|
static volatile bool _isDMPDataReady = false;
|
||||||
|
|
||||||
static void IRAM_ATTR _dmpInterruption() {
|
static void IRAM_ATTR _dmpInterruption() {
|
||||||
_isDMPDataReady = true;
|
_isDMPDataReady = true;
|
||||||
}
|
}
|
||||||
@@ -39,7 +41,7 @@ class MPU {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
_mpu->setDLPFMode(MPU6050_DLPF_BW_10); // 10 Hz bandwidth
|
_mpu->setDLPFMode(MPU6050_DLPF_BW_10); // 10 Hz bandwidth
|
||||||
//mpu.setFullScaleGyroRange(MPU6050_GYRO_FS_500); // set sensivity, not recomended
|
//mpu.setFullScaleGyroRange(MPU6050_GYRO_FS_500); // set sensivity, not recommended
|
||||||
//mpu.setFullScaleAccelRange(MPU6050_ACCEL_FS_8);
|
//mpu.setFullScaleAccelRange(MPU6050_ACCEL_FS_8);
|
||||||
|
|
||||||
if (_mpu->dmpInitialize()) {
|
if (_mpu->dmpInitialize()) {
|
||||||
@@ -99,6 +101,11 @@ class MPU {
|
|||||||
_prOffset[0] /= _calibrationsIterCounter;
|
_prOffset[0] /= _calibrationsIterCounter;
|
||||||
_prOffset[1] /= _calibrationsIterCounter;
|
_prOffset[1] /= _calibrationsIterCounter;
|
||||||
|
|
||||||
|
_prOffset[0] = DEG_TO_RAD * (180 - RAD_TO_DEG * _prOffset[0]);
|
||||||
|
_prOffset[1] = DEG_TO_RAD * (180 - RAD_TO_DEG * _prOffset[1]);
|
||||||
|
ESP_LOGI(_TAG, "Calibration offsets: roll: %f, pitch: %f", RAD_TO_DEG * _prOffset[1],
|
||||||
|
RAD_TO_DEG * _prOffset[0]);
|
||||||
|
|
||||||
_isCalibration = false;
|
_isCalibration = false;
|
||||||
_updateOffsets();
|
_updateOffsets();
|
||||||
_calibrationsIterCounter = 0;
|
_calibrationsIterCounter = 0;
|
||||||
@@ -113,9 +120,11 @@ class MPU {
|
|||||||
_gxOffset += _gx;
|
_gxOffset += _gx;
|
||||||
_gyOffset += _gy;
|
_gyOffset += _gy;
|
||||||
_gzOffset += _gz;
|
_gzOffset += _gz;
|
||||||
_prOffset[0] += _ypr[1];
|
_prOffset[0] += pitch() * DEG_TO_RAD;
|
||||||
_prOffset[1] += _ypr[2];
|
_prOffset[1] += roll() * DEG_TO_RAD;
|
||||||
_calibrationsIterCounter++;
|
_calibrationsIterCounter++;
|
||||||
|
ESP_LOGI(_TAG, "Angles on calibration: roll: %f, pitch: %f", roll(),
|
||||||
|
pitch());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,21 +135,24 @@ class MPU {
|
|||||||
float accZInertial() const {
|
float accZInertial() const {
|
||||||
return _AccZInertial;
|
return _AccZInertial;
|
||||||
}
|
}
|
||||||
|
|
||||||
float yaw() const {
|
float yaw() const {
|
||||||
return degrees(_ypr[0]);
|
return degrees(_ypr[0]) + 180.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
float pitch() const {
|
float pitch() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return degrees(_ypr[1]);
|
return 360.f - (degrees(_ypr[1]) + 180);
|
||||||
} else {
|
} else {
|
||||||
return degrees(_ypr[1] - _prOffset[0]);
|
return 360.f - (degrees(_ypr[1]) + 180) + degrees(_prOffset[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float roll() const {
|
float roll() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return degrees(_ypr[2]);
|
return 360.f - (degrees(_ypr[2]) + 180);
|
||||||
} else {
|
} else {
|
||||||
return degrees(_ypr[2] - _prOffset[1]);
|
return 360.f - (degrees(_ypr[2] + _prOffset[1]) + 180) + degrees(_prOffset[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,6 +163,7 @@ class MPU {
|
|||||||
return _ax - _axOffset;
|
return _ax - _axOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float ay() const {
|
float ay() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return _ay;
|
return _ay;
|
||||||
@@ -158,6 +171,7 @@ class MPU {
|
|||||||
return _ay - _ayOffset;
|
return _ay - _ayOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float az() const {
|
float az() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return _az;
|
return _az;
|
||||||
@@ -177,6 +191,7 @@ class MPU {
|
|||||||
return _gx - _gxOffset;
|
return _gx - _gxOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float gy() const {
|
float gy() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return _gy;
|
return _gy;
|
||||||
@@ -184,6 +199,7 @@ class MPU {
|
|||||||
return _gy - _gyOffset;
|
return _gy - _gyOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float gz() const {
|
float gz() const {
|
||||||
if (_isCalibration) {
|
if (_isCalibration) {
|
||||||
return _gz;
|
return _gz;
|
||||||
@@ -239,8 +255,9 @@ class MPU {
|
|||||||
_gxOffset = _preferences.getFloat("gx", 0.f);
|
_gxOffset = _preferences.getFloat("gx", 0.f);
|
||||||
_gyOffset = _preferences.getFloat("gy", 0.f);
|
_gyOffset = _preferences.getFloat("gy", 0.f);
|
||||||
_gzOffset = _preferences.getFloat("gz", 0.f);
|
_gzOffset = _preferences.getFloat("gz", 0.f);
|
||||||
_ypr[1] = _preferences.getFloat("pitch", 0.f);
|
_prOffset[0] = _preferences.getFloat("pitch", 0.f);
|
||||||
_ypr[2] = _preferences.getFloat("roll", 0.f);
|
_prOffset[1] = _preferences.getFloat("roll", 0.f);
|
||||||
|
ESP_LOGI(_TAG, "Offsets loaded: pitch: %f, roll %f", _prOffset[0], _prOffset[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateOffsets() {
|
void _updateOffsets() {
|
||||||
@@ -252,5 +269,6 @@ class MPU {
|
|||||||
_preferences.putFloat("gz", _gzOffset);
|
_preferences.putFloat("gz", _gzOffset);
|
||||||
_preferences.putFloat("pitch", _prOffset[0]);
|
_preferences.putFloat("pitch", _prOffset[0]);
|
||||||
_preferences.putFloat("roll", _prOffset[1]);
|
_preferences.putFloat("roll", _prOffset[1]);
|
||||||
|
ESP_LOGI(_TAG, "Offsets saved.");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
34
src/Sensors/RangingSensor.cpp
Normal file → Executable file
34
src/Sensors/RangingSensor.cpp
Normal file → Executable file
@@ -1,43 +1,13 @@
|
|||||||
//
|
|
||||||
// Created by gogacoder on 10.03.24.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "RangingSensor.hpp"
|
#include "RangingSensor.hpp"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
|
||||||
RangingSensor::RangingSensor(TwoWire &i2c, volatile bool loop_on_fail) {
|
RangingSensor::RangingSensor() {
|
||||||
_sensor = VL53L0X();
|
|
||||||
_sensor.setBus(&i2c);
|
|
||||||
if (_sensor.init()) {
|
|
||||||
_sensor.setMeasurementTimingBudget(20000);
|
|
||||||
_sensor.setTimeout(25);
|
|
||||||
ESP_LOGI(_tag, "Sensor initialized");
|
|
||||||
} else {
|
|
||||||
ESP_LOGE(_tag, "Failed to initialize RangingSensor!");
|
|
||||||
while (loop_on_fail) {}
|
|
||||||
}
|
|
||||||
_sensor.startContinuous(10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RangingSensor::startFlight() {
|
void RangingSensor::startFlight() {
|
||||||
_start_distance = _distance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RangingSensor::tick() {
|
void RangingSensor::tick() {
|
||||||
_distance = (uint32_t) round(runMiddleArifm((float) _sensor.readRangeContinuousMillimeters())) / 10;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t RangingSensor::getDistance() {
|
uint32_t RangingSensor::getDistance() { return 0; }
|
||||||
return _distance - _start_distance;
|
|
||||||
}
|
|
||||||
|
|
||||||
float RangingSensor::runMiddleArifm(float newVal) {
|
|
||||||
static int t = 0;
|
|
||||||
static float vals[_MID_ARITM_WINDOW];
|
|
||||||
static float average = 0;
|
|
||||||
if (++t >= _MID_ARITM_WINDOW) t = 0; // перемотка t
|
|
||||||
average -= vals[t]; // вычитаем старое
|
|
||||||
average += newVal; // прибавляем новое
|
|
||||||
vals[t] = newVal; // запоминаем в массив
|
|
||||||
return ((float) average / _MID_ARITM_WINDOW);
|
|
||||||
}
|
|
||||||
|
|||||||
21
src/Sensors/RangingSensor.hpp
Normal file → Executable file
21
src/Sensors/RangingSensor.hpp
Normal file → Executable file
@@ -1,32 +1,21 @@
|
|||||||
//
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// Created by gogacoder on 10.03.24.
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
//
|
#pragma once
|
||||||
|
|
||||||
#ifndef HELICOPTER_FIRMWARE_RANGINGSENSOR_H
|
#ifndef HELICOPTER_FIRMWARE_RANGINGSENSOR_H
|
||||||
#define HELICOPTER_FIRMWARE_RANGINGSENSOR_H
|
#define HELICOPTER_FIRMWARE_RANGINGSENSOR_H
|
||||||
|
|
||||||
#include "Wire.h"
|
#include "Arduino.h"
|
||||||
#include "VL53L0X.h"
|
|
||||||
|
|
||||||
class RangingSensor {
|
class RangingSensor {
|
||||||
public:
|
public:
|
||||||
RangingSensor(TwoWire &i2c, volatile bool loop_on_fail = true);
|
RangingSensor();
|
||||||
|
|
||||||
void tick();
|
void tick();
|
||||||
|
|
||||||
void startFlight();
|
void startFlight();
|
||||||
|
|
||||||
uint32_t getDistance();
|
uint32_t getDistance();
|
||||||
|
|
||||||
private:
|
|
||||||
TwoWire *_i2c;
|
|
||||||
VL53L0X _sensor;
|
|
||||||
uint32_t _distance; // [cm]
|
|
||||||
uint32_t _start_distance = 0; // [cm]
|
|
||||||
static constexpr const char *_tag = "RangingSensor";
|
|
||||||
constexpr static const int _MID_ARITM_WINDOW = 5;
|
|
||||||
|
|
||||||
float runMiddleArifm(float newVal);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
23
src/Sensors/Sensors.cpp
Normal file → Executable file
23
src/Sensors/Sensors.cpp
Normal file → Executable file
@@ -4,7 +4,7 @@
|
|||||||
#include "Sensors.hpp"
|
#include "Sensors.hpp"
|
||||||
|
|
||||||
Sensors::Sensors(Barometer *barometer, RangingSensor *ranging_sensor, MPU *mpu, Kalman2DFilter *filter,
|
Sensors::Sensors(Barometer *barometer, RangingSensor *ranging_sensor, MPU *mpu, Kalman2DFilter *filter,
|
||||||
BatteryController *battery, HeightSensor heightSensor, volatile bool loop_on_fail) {
|
BatteryController *battery, HeightSensor heightSensor) {
|
||||||
assert(barometer != nullptr);
|
assert(barometer != nullptr);
|
||||||
assert(mpu != nullptr);
|
assert(mpu != nullptr);
|
||||||
assert(filter != nullptr);
|
assert(filter != nullptr);
|
||||||
@@ -23,7 +23,7 @@ Sensors::Sensors(Barometer *barometer, RangingSensor *ranging_sensor, MPU *mpu,
|
|||||||
ESP_LOGI(_tag, "BMP280 initialized");
|
ESP_LOGI(_tag, "BMP280 initialized");
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGI(_tag, "BMP280 initialization failed!");
|
ESP_LOGI(_tag, "BMP280 initialization failed!");
|
||||||
while (loop_on_fail);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ESP_LOGI(_tag, "Initialize MPU6050...");
|
ESP_LOGI(_tag, "Initialize MPU6050...");
|
||||||
@@ -31,7 +31,7 @@ Sensors::Sensors(Barometer *barometer, RangingSensor *ranging_sensor, MPU *mpu,
|
|||||||
ESP_LOGI(_tag, "MPU6050 initialized");
|
ESP_LOGI(_tag, "MPU6050 initialized");
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGI(_tag, "MPU6050 initialization failed!");
|
ESP_LOGI(_tag, "MPU6050 initialization failed!");
|
||||||
while (loop_on_fail);
|
//assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
_battery->initialize();
|
_battery->initialize();
|
||||||
@@ -53,6 +53,13 @@ void Sensors::measureBaseAltitudeSync(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Sensors::measureBaseAltitudeAsync(void) {
|
void Sensors::measureBaseAltitudeAsync(void) {
|
||||||
|
if (_heightSensor == HeightSensor::RangeMeterOnly) {
|
||||||
|
_ranging_sensor->startFlight();
|
||||||
|
if (_onMeasuaringAltitudeFinished) {
|
||||||
|
_onMeasuaringAltitudeFinished();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
_barometer->measureBaseAltitudeAsync();
|
_barometer->measureBaseAltitudeAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +83,7 @@ float Sensors::rawFlightHeight(void) const {
|
|||||||
|
|
||||||
float Sensors::flightHeight(void) const {
|
float Sensors::flightHeight(void) const {
|
||||||
/* Returns flight height from cache immediately */
|
/* Returns flight height from cache immediately */
|
||||||
return rawFlightHeight();
|
return _flightHeightFromBarometer;
|
||||||
}
|
}
|
||||||
|
|
||||||
MpuData Sensors::mpuData() const {
|
MpuData Sensors::mpuData() const {
|
||||||
@@ -94,9 +101,8 @@ bool Sensors::tick(void) {
|
|||||||
bool err;
|
bool err;
|
||||||
bool isMpuDataReady = _mpu->tick(err);
|
bool isMpuDataReady = _mpu->tick(err);
|
||||||
if (isMpuDataReady and !err) {
|
if (isMpuDataReady and !err) {
|
||||||
//_2d_filter->filter(_mpu->accZInertial(), _barometer->flightHeight(),
|
_2d_filter->filter(_mpu->accZInertial(), _barometer->flightHeight(),
|
||||||
// _flightHeightFromBarometer, _zVelocityAltitude);
|
_flightHeightFromBarometer, _zVelocityAltitude);
|
||||||
_flightHeightFromBarometer = rawFlightHeight();
|
|
||||||
_zVelocityAltitude = _mpu->accZInertial();
|
_zVelocityAltitude = _mpu->accZInertial();
|
||||||
_mpuData = {.ax = _mpu->ax(),
|
_mpuData = {.ax = _mpu->ax(),
|
||||||
.ay = _mpu->ay(),
|
.ay = _mpu->ay(),
|
||||||
@@ -129,5 +135,6 @@ void Sensors::startMpuCalibration() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Sensors::onMeasuaringAltitudeFinished(OnMeasuringFinishedCb callback) {
|
void Sensors::onMeasuaringAltitudeFinished(OnMeasuringFinishedCb callback) {
|
||||||
_barometer->onMeasuaringHeightFinished(callback);
|
_onMeasuaringAltitudeFinished = callback;
|
||||||
|
_barometer->onMeasuaringHeightFinished(std::move(callback));
|
||||||
}
|
}
|
||||||
4
src/Sensors/Sensors.hpp
Normal file → Executable file
4
src/Sensors/Sensors.hpp
Normal file → Executable file
@@ -1,6 +1,7 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
|
||||||
|
#pragma once
|
||||||
#include "Barometer.hpp"
|
#include "Barometer.hpp"
|
||||||
#include "BatteryController.hpp"
|
#include "BatteryController.hpp"
|
||||||
#include "Filters/Kalman2DFilter.hpp"
|
#include "Filters/Kalman2DFilter.hpp"
|
||||||
@@ -27,7 +28,7 @@ enum HeightSensor {
|
|||||||
class Sensors {
|
class Sensors {
|
||||||
public:
|
public:
|
||||||
Sensors(Barometer *barometer, RangingSensor *rangingSensor, MPU *mpu, Kalman2DFilter *filter,
|
Sensors(Barometer *barometer, RangingSensor *rangingSensor, MPU *mpu, Kalman2DFilter *filter,
|
||||||
BatteryController *battery, HeightSensor heightSensor = Hybrid, bool loop_on_fail = true);
|
BatteryController *battery, HeightSensor heightSensor = Hybrid);
|
||||||
|
|
||||||
~Sensors();
|
~Sensors();
|
||||||
|
|
||||||
@@ -58,6 +59,7 @@ private:
|
|||||||
Kalman2DFilter *_2d_filter = nullptr;
|
Kalman2DFilter *_2d_filter = nullptr;
|
||||||
RangingSensor *_ranging_sensor = nullptr;
|
RangingSensor *_ranging_sensor = nullptr;
|
||||||
HeightSensor _heightSensor;
|
HeightSensor _heightSensor;
|
||||||
|
OnMeasuringFinishedCb _onMeasuaringAltitudeFinished = nullptr;
|
||||||
|
|
||||||
/* cached filtered values */
|
/* cached filtered values */
|
||||||
float _flightHeightFromBarometer = 0.f;
|
float _flightHeightFromBarometer = 0.f;
|
||||||
|
|||||||
1
src/board_pins.h
Normal file → Executable file
1
src/board_pins.h
Normal file → Executable file
@@ -1,6 +1,7 @@
|
|||||||
// This is a personal academic project. Dear PVS-Studio, please check it.
|
// This is a personal academic project. Dear PVS-Studio, please check it.
|
||||||
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
|
||||||
|
|
||||||
|
#pragma once
|
||||||
#define I2C_SDA_PIN 21
|
#define I2C_SDA_PIN 21
|
||||||
#define I2C_SCL_PIN 18
|
#define I2C_SCL_PIN 18
|
||||||
#define MPU6050_INT_PIN 19
|
#define MPU6050_INT_PIN 19
|
||||||
|
|||||||
22
src/main.cpp
Normal file → Executable file
22
src/main.cpp
Normal file → Executable file
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include "App.hpp"
|
#include "App.hpp"
|
||||||
#include "BoardI2C.hpp"
|
#include "BoardI2C.hpp"
|
||||||
|
#include "Sensors/RangingSensor.hpp"
|
||||||
|
#include "LPS.h"
|
||||||
|
|
||||||
BoardI2C i2c;
|
BoardI2C i2c;
|
||||||
|
|
||||||
@@ -10,23 +12,27 @@ static Application *app = nullptr;
|
|||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
try {
|
||||||
app = new Application(new FlightDispatcher(
|
app = new Application(new FlightDispatcher(
|
||||||
new BluetoothDispatcher(new BluetoothSerial()),
|
new BluetoothDispatcher(new BluetoothSerial(), "Redmi Note 8 Pro"),
|
||||||
new FlightController(
|
new FlightController(
|
||||||
new Sensors(new Barometer(new GyverBME280(i2c)),
|
new Sensors(new Barometer(new GyverBME280(i2c)),
|
||||||
new RangingSensor(i2c),
|
new RangingSensor(),
|
||||||
new MPU(new MPU6050(MPU6050_DEFAULT_ADDRESS, &i2c)),
|
new MPU(new MPU6050(MPU6050_DEFAULT_ADDRESS, &i2c)),
|
||||||
new Kalman2DFilter(10.f, 1.f, 1.8f),
|
new Kalman2DFilter(10.f, 1.f, 1.8f),
|
||||||
new BatteryController(BATTERY_DATA_PIN, BATTERY_DATA_SWITCH_PIN),
|
new BatteryController(BATTERY_DATA_PIN, BATTERY_DATA_SWITCH_PIN),
|
||||||
HeightSensor::Hybrid),
|
HeightSensor::BarometerOnly),
|
||||||
new SavedPidRegulator(3.5f, 0.0015f, 0.01f, "HeightControl"), // height
|
new SavedPidRegulator(3.5f, 0.0015f, 0.01f, "HeightControl"), // height
|
||||||
new SavedPidRegulator(2.f, 12.f, 0.f, "YawControl"), // yaw
|
new SavedPidRegulator(2.f, 12.f, 0.f, "YawControl"), // yaw
|
||||||
new BrushedMotor(1, 2, 3, 4, 1),
|
new BrushedMotor(23, 16, 30000, 0, 10),
|
||||||
new BrushedMotor(1, 2, 3, 4, 1),
|
new BrushedMotor(26, 27, 30000, 1, 10),
|
||||||
new PIDController(0.6f, 3.5f, 0.03f,
|
new PIDController(210.f, 15.f, 20.f,
|
||||||
new BrushedMotor(1, 2, 3, 4, 3),
|
new BrushedMotor(25, 33, 30000, 3, 10),
|
||||||
"RollControl"), // pitch
|
"PitchControl"), // pitch
|
||||||
true)));
|
true)));
|
||||||
|
} catch (std::bad_alloc &e) {
|
||||||
|
ESP_LOGI("Main", "Failed to allocate memory: %s", e.what());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|||||||
0
test/README
Normal file → Executable file
0
test/README
Normal file → Executable file
Reference in New Issue
Block a user