Merge remote-tracking branch 'OFW/dev' into dev

This commit is contained in:
MX 2024-07-16 21:43:04 +03:00
commit 3ed62e334f
No known key found for this signature in database
GPG Key ID: 7CCC66B7DBDD1C83
7 changed files with 36 additions and 26 deletions

22
.sublime-project vendored
View File

@ -6,16 +6,20 @@
} }
], ],
"settings": { "settings": {
"LSP": { "LSP": {
"clangd": { "clangd": {
"initializationOptions": {
"clangd.compile-commands-dir": "build/latest",
"clangd.header-insertion": "never",
"clangd.query-driver": "**",
"clangd.clang-tidy": true,
},
"enabled": true, "enabled": true,
"initializationOptions": {
// Use with toolchain version 39+
// Set `"binary": "custom",` option in LSP-clangd config to use toolchain clangd
// "custom_command": ["toolchain/current/bin/clangd"],
"clangd.compile-commands-dir": "build/latest",
"clangd.header-insertion": "never",
"clangd.query-driver": "**/arm-none-eabi-*",
"clangd.clang-tidy": true,
},
}, },
}, },
}, },
} }

8
.vscode/.gitignore vendored
View File

@ -1,5 +1,3 @@
/c_cpp_properties.json *
/extensions.json !example/
/launch.json !ReadMe.md
/settings.json
/tasks.json

View File

@ -12,7 +12,7 @@
"SConstruct": "python", "SConstruct": "python",
"*.fam": "python" "*.fam": "python"
}, },
"clangd.path": "${workspaceFolder}/toolchain/current/bin/clangd@FBT_PLATFORM_EXECUTABLE_EXT@", // "clangd.path": "${workspaceFolder}/toolchain/current/bin/clangd@FBT_PLATFORM_EXECUTABLE_EXT@",
"clangd.arguments": [ "clangd.arguments": [
"--query-driver=**/arm-none-eabi-*", "--query-driver=**/arm-none-eabi-*",
"--compile-commands-dir=${workspaceFolder}/build/latest", "--compile-commands-dir=${workspaceFolder}/build/latest",

View File

@ -3563,3 +3563,4 @@ type: parsed
protocol: NEC protocol: NEC
address: 40 00 00 00 address: 40 00 00 00
command: 17 00 00 00 command: 17 00 00 00

View File

@ -11,9 +11,9 @@ AlignConsecutiveAssignments:
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveBitFields: AlignConsecutiveBitFields:
Enabled: false Enabled: true
AcrossEmptyLines: false AcrossEmptyLines: true
AcrossComments: false AcrossComments: true
AlignCompound: false AlignCompound: false
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
@ -25,10 +25,10 @@ AlignConsecutiveDeclarations:
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveMacros: AlignConsecutiveMacros:
Enabled: false Enabled: true
AcrossEmptyLines: false AcrossEmptyLines: false
AcrossComments: false AcrossComments: true
AlignCompound: false AlignCompound: true
AlignFunctionPointers: false AlignFunctionPointers: false
PadOperators: true PadOperators: true
AlignConsecutiveShortCaseStatements: AlignConsecutiveShortCaseStatements:
@ -47,7 +47,7 @@ AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: Never AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: true AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: WithoutElse AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLambdasOnASingleLine: All AllowShortLambdasOnASingleLine: All
@ -108,6 +108,7 @@ ForEachMacros:
- foreach - foreach
- Q_FOREACH - Q_FOREACH
- BOOST_FOREACH - BOOST_FOREACH
- M_EACH
IfMacros: IfMacros:
- KJ_IF_MAYBE - KJ_IF_MAYBE
IncludeBlocks: Preserve IncludeBlocks: Preserve
@ -136,7 +137,7 @@ IndentRequiresClause: false
IndentWidth: 4 IndentWidth: 4
IndentWrappedFunctionNames: true IndentWrappedFunctionNames: true
InsertBraces: false InsertBraces: false
InsertNewlineAtEOF: false InsertNewlineAtEOF: true
InsertTrailingCommas: None InsertTrailingCommas: None
IntegerLiteralSeparator: IntegerLiteralSeparator:
Binary: 0 Binary: 0
@ -179,7 +180,7 @@ ReferenceAlignment: Pointer
ReflowComments: false ReflowComments: false
RemoveBracesLLVM: false RemoveBracesLLVM: false
RemoveParentheses: Leave RemoveParentheses: Leave
RemoveSemicolon: false RemoveSemicolon: true
RequiresClausePosition: OwnLine RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave SeparateDefinitionBlocks: Leave
@ -226,7 +227,7 @@ SpacesInParensOptions:
InEmptyParentheses: false InEmptyParentheses: false
Other: false Other: false
SpacesInSquareBrackets: false SpacesInSquareBrackets: false
Standard: c++03 Standard: c++20
StatementAttributeLikeMacros: StatementAttributeLikeMacros:
- Q_EMIT - Q_EMIT
StatementMacros: StatementMacros:

View File

@ -19,7 +19,7 @@
"[python]": { "[python]": {
"editor.defaultFormatter": "ms-python.black-formatter" "editor.defaultFormatter": "ms-python.black-formatter"
}, },
"clangd.path": "@UFBT_TOOLCHAIN_CLANGD@", // "clangd.path": "@UFBT_TOOLCHAIN_CLANGD@",
"clangd.arguments": [ "clangd.arguments": [
"--query-driver=**/arm-none-eabi-*", "--query-driver=**/arm-none-eabi-*",
"--compile-commands-dir=${workspaceFolder}/.vscode", "--compile-commands-dir=${workspaceFolder}/.vscode",

View File

@ -13,10 +13,15 @@
#define FURI_HAL_INTERRUPT_DEFAULT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY + 5) #define FURI_HAL_INTERRUPT_DEFAULT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY + 5)
#ifdef FURI_RAM_EXEC
#define FURI_HAL_INTERRUPT_ACCOUNT_START()
#define FURI_HAL_INTERRUPT_ACCOUNT_END()
#else
#define FURI_HAL_INTERRUPT_ACCOUNT_START() const uint32_t _isr_start = DWT->CYCCNT; #define FURI_HAL_INTERRUPT_ACCOUNT_START() const uint32_t _isr_start = DWT->CYCCNT;
#define FURI_HAL_INTERRUPT_ACCOUNT_END() \ #define FURI_HAL_INTERRUPT_ACCOUNT_END() \
const uint32_t _time_in_isr = DWT->CYCCNT - _isr_start; \ const uint32_t _time_in_isr = DWT->CYCCNT - _isr_start; \
furi_hal_interrupt.counter_time_in_isr_total += _time_in_isr; furi_hal_interrupt.counter_time_in_isr_total += _time_in_isr;
#endif
typedef struct { typedef struct {
FuriHalInterruptISR isr; FuriHalInterruptISR isr;
@ -372,6 +377,7 @@ void LPUART1_IRQHandler(void) {
furi_hal_interrupt_call(FuriHalInterruptIdLpUart1); furi_hal_interrupt_call(FuriHalInterruptIdLpUart1);
} }
// Potential space-saver for updater build
const char* furi_hal_interrupt_get_name(uint8_t exception_number) { const char* furi_hal_interrupt_get_name(uint8_t exception_number) {
int32_t id = (int32_t)exception_number - 16; int32_t id = (int32_t)exception_number - 16;