diff --git a/.github/workflows/Verify_Register_SVD.yml b/.github/workflows/Verify_Register_SVD.yml
index b1a34133998..fd39a2c281e 100644
--- a/.github/workflows/Verify_Register_SVD.yml
+++ b/.github/workflows/Verify_Register_SVD.yml
@@ -655,5 +655,26 @@ jobs:
fi
done
set -e
-
+
+ # Remove generated register files for next time a runner picks up the job.
+ # The register files generated in a previous instance will remain and won't
+ # be regenerated because the Wall-E doesn't refresh its workspace and this
+ # workflow only generates the register files for a specific part only once
+ # (to save time) by checking whether the generated register files exist or not.
+ cd ${{ env.MSDK-INTERNAL_DIR }}/SVD/Devices/
+
+ # Enter each directory and remove ./chip_test/
+ for file_dir in *
+ do
+ # Don't mess with files.
+ [[ -d $file_dir ]] || continue
+
+ if [[ ${DIE_TO_CHIP_NAMES[$file_dir]+_} ]]; then
+ rm -rf ./${file_dir}/chip_test/
+ fi
+ done
+
+ # Return to workspace
+ cd ../../../
+
exit $CHECK_FAIL
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.cproject b/Examples/MAX32655/Bluetooth/BLE_fcc/.cproject
deleted file mode 100644
index c648cc4106c..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.cproject
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.project b/Examples/MAX32655/Bluetooth/BLE_fcc/.project
deleted file mode 100644
index 2f22644c90e..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- BLE_fcc
-
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
- full,incremental,
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/language.settings.xml b/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/language.settings.xml
deleted file mode 100644
index d32717b6f37..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/language.settings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs b/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
deleted file mode 100644
index 59c0b37ba75..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
+++ /dev/null
@@ -1,93 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.cdt.codan.checkers.errnoreturn=Warning
-org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
-org.eclipse.cdt.codan.checkers.errreturnvalue=Error
-org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
-org.eclipse.cdt.codan.checkers.nocommentinside=-Error
-org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
-org.eclipse.cdt.codan.checkers.nolinecomment=-Error
-org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
-org.eclipse.cdt.codan.checkers.noreturn=Error
-org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")"}
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
-org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
-org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
-org.eclipse.cdt.qt.core.qtproblem=Warning
-org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs b/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index 6b6f26cc5da..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-eclipse.preferences.version=1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/value=EvKit_V1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/operation=replace
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/value=arm-none-eabi-
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/value=BLE_fcc
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/value=MAX32655
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/appendContributed=true
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/README.md b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/README.md
deleted file mode 100755
index 5b355bd51c9..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# VSCode-Maxim
-
-_(If you're viewing this document from within Visual Studio Code you can press `CTRL+SHIFT+V` to open a Markdown preview window.)_
-
-## Quick Links
-
-* [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)
-* [VSCode-Maxim Github](https://github.com/analogdevicesinc/VSCode-Maxim)
-
-## Introduction
-
-VSCode-Maxim is a set of [Visual Studio Code](https://code.visualstudio.com/) project configurations and utilities for enabling embedded development for [Analog Device's MSDK](https://github.com/analogdevicesinc/msdk) and the [MAX32xxx/MAX78xxx microcontrollers](https://www.analog.com/en/product-category/microcontrollers.html).
-
-The following features are supported:
-
-* Code editing with intellisense down to the register level
-* Code compilation with the ability to easily re-target a project for different microcontrollers and boards
-* Flashing programs
-* GUI and command-line debugging
-
-## Dependencies
-
-* [Visual Studio Code](https://code.visualstudio.com/)
- * [C/C++ VSCode Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
- * [Cortex-Debug Extension](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug)
-* [Analog Devices MSDK](https://analogdevicesinc.github.io/msdk/)
-
-## Installation
-
-Install the MSDK, then set `"MAXIM_PATH"` in your _user_ VS Code settings.
-
-See [Getting Started with Visual Studio Code](https://analogdevicesinc.github.io/msdk/USERGUIDE/#getting-started-with-visual-studio-code) in the MSDK User Guide for detailed instructions.
-
-## Usage
-
-See the [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/#visual-studio-code) for detailed usage info.
-
-## Issue Tracker
-
-Bug reports, feature requests, and contributions are welcome via the [issues](https://github.com/analogdevicesinc/VSCode-Maxim/issues) tracker on Github.
-
-New issues should contain _at minimum_ the following information:
-
-* Visual Studio Code version #s (see `Help -> About`)
-* C/C++ Extension version #
-* Target microcontroller and evaluation platform
-* The projects `.vscode` folder and `Makefile` (where applicable). Standard compression formats such as `.zip`, `.rar`, `.tar.gz`, etc. are all acceptable.
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
deleted file mode 100755
index dfbed47b581..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "configurations": [
- {
- "name": "Win32",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc.exe",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Linux",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Mac",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- }
- ],
- "version": 4
-}
\ No newline at end of file
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/flash.gdb b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/flash.gdb
deleted file mode 100755
index 8f22801a47d..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/flash.gdb
+++ /dev/null
@@ -1,17 +0,0 @@
-define flash_m4
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor reset halt
-end
-
-define flash_m4_run
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor resume
-end
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/launch.json b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/launch.json
deleted file mode 100755
index 01fe5199048..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/launch.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "configurations": [
- {
- "name": "Debug Arm (Cortex-debug)",
- "cwd":"${workspaceRoot}",
- "executable": "${workspaceFolder}/build/${config:program_file}",
- "loadFiles": ["${workspaceFolder}/build/${config:program_file}"],
- "symbolFiles": [{
- "file": "${workspaceFolder}/build/${config:symbol_file}"
- }],
- "request": "launch",
- "type": "cortex-debug",
- "servertype": "openocd",
- "linux": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "serverpath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "searchDir": ["${config:OCD_path}/scripts"],
- "configFiles": ["interface/${config:M4_OCD_interface_file}", "target/${config:M4_OCD_target_file}"],
- "interface": "swd",
- "runToEntryPoint": "main",
- "svdFile": "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include/${config:target}.svd"
- },
- {
- "name": "GDB (Arm M4)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/build/${config:program_file}",
- "args": [],
- "stopAtEntry": true,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3333",
- "debugServerArgs": "-s ${config:OCD_path}/scripts -f interface/${config:M4_OCD_interface_file} -f target/${config:M4_OCD_target_file} -c \"init; reset halt\"",
- "serverStarted": "Info : Listening on port 3333 for gdb connections",
- "filterStderr": true,
- "targetArchitecture": "arm",
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-arm.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text":"exec-file build/${config:program_file}" },
- { "text":"symbol-file build/${config:symbol_file}" },
- { "text":"target remote localhost:3333" },
- { "text":"monitor reset halt" },
- { "text":"set $pc=Reset_Handler"},
- { "text":"b main" }
- ]
- },
- {
- "name": "GDB (RISC-V)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/buildrv/${config:program_file}",
- "args": [],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3334",
- "debugServerArgs": "-c \"gdb_port 3334\" -s ${config:OCD_path}/scripts -f interface/${config:RV_OCD_interface_file} -f target/${config:RV_OCD_target_file}",
- "serverStarted": "Info : Listening on port 3334 for gdb connections",
- "filterStderr": true,
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "targetArchitecture": "arm",
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-riscv.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text": "set architecture riscv:rv32", "ignoreFailures": false },
- { "text":"exec-file build/${config:program_file}", "ignoreFailures": false },
- { "text":"symbol-file buildrv/${config:symbol_file}", "ignoreFailures": false },
- { "text":"target remote localhost:3334" },
- { "text":"b main" },
- { "text": "set $pc=Reset_Handler","ignoreFailures": false }
- ]
- }
- ]
-}
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/settings.json b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/settings.json
deleted file mode 100755
index cca0bc9a442..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/settings.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "terminal.integrated.env.windows": {
- "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:MSYS_path}/usr/bin;${config:Make_path};${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.defaultProfile.windows": "Command Prompt",
-
- "terminal.integrated.env.linux": {
- "PATH":"${config:OCD_path}:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.env.osx": {
- "PATH":"${config:OCD_path}/bin:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
-
- "target":"MAX32655",
- "board":"EvKit_V1",
-
- "project_name":"${workspaceFolderBasename}",
-
- "program_file":"${config:project_name}.elf",
- "symbol_file":"${config:program_file}",
-
- "M4_OCD_interface_file":"cmsis-dap.cfg",
- "M4_OCD_target_file":"max32655.cfg",
- "RV_OCD_interface_file":"ftdi/olimex-arm-usb-ocd-h.cfg",
- "RV_OCD_target_file":"${config:target}_riscv.cfg",
-
- "v_Arm_GCC":"10.3",
- "v_xPack_GCC":"12.2.0-3.1",
-
- "OCD_path":"${config:MAXIM_PATH}/Tools/OpenOCD",
- "ARM_GCC_path":"${config:MAXIM_PATH}/Tools/GNUTools/${config:v_Arm_GCC}",
- "xPack_GCC_path":"${config:MAXIM_PATH}/Tools/xPack/riscv-none-elf-gcc/${config:v_xPack_GCC}",
- "Make_path":"${config:MAXIM_PATH}/Tools/GNUTools/Make",
- "MSYS_path":"${config:MAXIM_PATH}/Tools/MSYS2",
-
- "C_Cpp.default.includePath": [
- "${workspaceFolder}",
- "${workspaceFolder}/**",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Include",
- "${config:ARM_GCC_path}/arm-none-eabi/include",
- "${config:ARM_GCC_path}/lib/gcc/arm-none-eabi/${config:v_Arm_GCC}/include",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Include/${config:target}",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/ExtMemory",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/stack/cfg",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/ble",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/common",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/dual_chip",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/exactle",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include/util"
- ],
- "C_Cpp.default.browse.path": [
- "${workspaceFolder}",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Source",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Source",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Source",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/targets/maxim/max32655/sources"
- ],
- "C_Cpp.default.defines": [
-
- ],
- "C_Cpp.default.forcedInclude": [
- "${workspaceFolder}/build/project_defines.h"
- ]
-}
-
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/tasks.json b/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/tasks.json
deleted file mode 100755
index e95445e2b3e..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/.vscode/tasks.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "version": "2.0.0",
- "tasks": [
- {
- "label": "build",
- "type": "shell",
- "command": "make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean",
- "type": "shell",
- "command": "make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean-periph",
- "type": "shell",
- "command": "make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "flash",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4 ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "flash & run",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4_run ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "erase flash",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s", "${config:OCD_path}/scripts",
- "-f", "interface/${config:M4_OCD_interface_file}",
- "-f", "target/${config:M4_OCD_target_file}",
- "-c", "\"init; reset halt; max32xxx mass_erase 0;\"",
- "-c", "exit"
- ],
- "group":"build",
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "openocd (m4)",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s",
- "${config:OCD_path}/scripts",
- "-f",
- "interface/${config:M4_OCD_interface_file}",
- "-f",
- "target/${config:M4_OCD_target_file}",
- "-c",
- "\"init; reset halt\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "gdb (m4)",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--ex=\"cd ${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "--ex=\"target remote localhost:3333\"",
- "--ex=\"monitor reset halt\"",
- "--ex=\"b main\"",
- "--ex=\"c\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- ]
-}
\ No newline at end of file
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/BLE_fcc.launch b/Examples/MAX32655/Bluetooth/BLE_fcc/BLE_fcc.launch
deleted file mode 100644
index 941dff13317..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/BLE_fcc.launch
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/Makefile b/Examples/MAX32655/Bluetooth/BLE_fcc/Makefile
deleted file mode 100644
index 717125621b6..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/Makefile
+++ /dev/null
@@ -1,382 +0,0 @@
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-# ** Readme! **
-# Don't edit this file! This is the core Makefile for a MaximSDK
-# project. The available configuration options can be overridden
-# in "project.mk", on the command-line, or with system environment
-# variables.
-
-# See https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-# for more detailed instructions on how to use this system.
-
-# The detailed instructions mentioned above are easier to read than
-# this file, but the comments found in this file also outline the
-# available configuration variables. This file is organized into
-# sub-sections, some of which expose config variables.
-
-
-# *******************************************************************************
-# Set the target microcontroller and board to compile for.
-
-# Every TARGET microcontroller has some Board Support Packages (BSPs) that are
-# available for it under the MaximSDK/Libraries/Boards/TARGET folder. The BSP
-# that gets selected is MaximSDK/Libraries/Boards/TARGET/BOARD.
-
-# Configuration Variables:
-# - TARGET : Override the default target microcontroller. Ex: TARGET=MAX78000
-# - BOARD : Override the default BSP (case sensitive). Ex: BOARD=EvKit_V1, BOARD=FTHR_RevA
-
-
-ifeq "$(TARGET)" ""
-# Default target microcontroller
-TARGET := MAX32655
-TARGET_UC := MAX32655
-TARGET_LC := max32655
-else
-# "TARGET" has been overridden in the environment or on the command-line.
-# We need to calculate an upper and lowercase version of the part number,
-# because paths on Linux and MacOS are case-sensitive.
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-endif
-
-# Default board.
-BOARD ?= EvKit_V1
-
-# *******************************************************************************
-# Locate the MaximSDK
-
-# This Makefile needs to know where to find the MaximSDK, and the MAXIM_PATH variable
-# should point to the root directory of the MaximSDK installation. Setting this manually
-# is usually only required if you're working on the command-line.
-
-# If MAXIM_PATH is not specified, we assume the project still lives inside of the MaximSDK
-# and move up from this project's original location.
-
-# Configuration Variables:
-# - MAXIM_PATH : Tell this Makefile where to find the MaximSDK. Ex: MAXIM_PATH=C:/MaximSDK
-
-
-ifneq "$(MAXIM_PATH)" ""
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-# Locate some other useful paths...
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-endif
-
-# *******************************************************************************
-# Include project Makefile. We do this after formulating TARGET, BOARD, and MAXIM_PATH
-# in case project.mk needs to reference those values. However, we also include
-# this as early as possible in the Makefile so that it can append to or override
-# the variables below.
-
-
-PROJECTMK ?= $(abspath ./project.mk)
-include $(PROJECTMK)
-$(info Loaded project.mk)
-# PROJECTMK is also used by implicit rules and other libraries to add project.mk as a watch file
-
-# *******************************************************************************
-# Final path sanitization and re-calculation. No options here.
-
-ifeq "$(MAXIM_PATH)" ""
-# MAXIM_PATH is still not defined...
-DEPTH := ../../../../
-MAXIM_PATH := $(abspath $(DEPTH))
-$(warning Warning: MAXIM_PATH is not set! Set MAXIM_PATH in your environment or in project.mk to clear this warning.)
-$(warning Warning: Attempting to use $(MAXIM_PATH) calculated from relative path)
-else
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-endif
-
-# Final recalculation of LIBS_DIR/CMSIS_ROOT
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-
-# One final UC/LC check in case user set TARGET in project.mk
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-
-export TARGET
-export TARGET_UC
-export TARGET_LC
-export CMSIS_ROOT
-# TODO: Remove dependency on exports for these variables.
-
-# *******************************************************************************
-# Set up search paths, and auto-detect all source code on those paths.
-
-# The following paths are searched by default, where "./" is the project directory.
-# ./
-# |- *.h
-# |- *.c
-# |-include (optional)
-# |- *.h
-# |-src (optional)
-# |- *.c
-
-# Configuration Variables:
-# - VPATH : Tell this Makefile to search additional locations for source (.c) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - IPATH : Tell this Makefile to search additional locations for header (.h) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - SRCS : Tell this Makefile to explicitly add a source (.c) file to the build.
-# This is really only useful if you want to add a source file that isn't
-# on any VPATH, in which case you can add the full path to the file here.
-# You should use the "+=" operator with this option.
-# Ex: SRCS += your/specific/source/file.c
-# - AUTOSEARCH : Set whether this Makefile should automatically detect .c files on
-# VPATH and add them to the build. This is enabled by default. Set
-# to 0 to disable. If autosearch is disabled, source files must be
-# manually added to SRCS.
-# Ex: AUTOSEARCH = 0
-
-
-# Where to find source files for this project.
-VPATH += .
-VPATH += src
-VPATH := $(VPATH)
-
-# Where to find header files for this project
-IPATH += .
-IPATH += include
-IPATH := $(IPATH)
-
-AUTOSEARCH ?= 1
-ifeq ($(AUTOSEARCH), 1)
-# Auto-detect all C/C++ source files on VPATH
-SRCS += $(wildcard $(addsuffix /*.c, $(VPATH)))
-SRCS += $(wildcard $(addsuffix /*.cpp, $(VPATH)))
-endif
-
-# Collapse SRCS before passing them on to the next stage
-SRCS := $(SRCS)
-
-# *******************************************************************************
-# Set the output filename
-
-# Configuration Variables:
-# - PROJECT : Override the default output filename. Ex: PROJECT=MyProject
-
-
-# The default value creates a file named after the target micro. Ex: MAX78000.elf
-PROJECT ?= $(TARGET_LC)
-
-# *******************************************************************************
-# Compiler options
-
-# Configuration Variables:
-# - DEBUG : Set DEBUG=1 to build explicitly for debugging. This adds some additional
-# symbols and sets -Og as the default optimization level.
-# - MXC_OPTIMIZE_CFLAGS : Override the default compiler optimization level.
-# Ex: MXC_OPTIMIZE_CFLAGS = -O2
-# - PROJ_CFLAGS : Add additional compiler flags to the build.
-# You should use the "+=" operator with this option.
-# Ex: PROJ_CFLAGS += -Wextra
-# - MFLOAT_ABI : Set the floating point acceleration level.
-# The only options are "hard", "soft", or "softfp".
-# Ex: MFLOAT_ABI = hard
-# - LINKERFILE : Override the default linkerfile.
-# Ex: LINKERFILE = customlinkerfile.ld
-# - LINKERPATH : Override the default search location for $(LINKERFILE)
-# The default search location is $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC
-# If $(LINKERFILE) cannot be found at this path, then the root project
-# directory will be used as a fallback.
-
-# Select 'GCC' or 'IAR' compiler
-ifeq "$(COMPILER)" ""
-COMPILER := GCC
-endif
-
-# Set default compiler optimization levels
-ifeq "$(MAKECMDGOALS)" "release"
-# Default optimization level for "release" builds (make release)
-MXC_OPTIMIZE_CFLAGS ?= -O2
-DEBUG = 0
-endif
-
-ifeq ($(DEBUG),1)
-# Optimizes for debugging as recommended
-# by GNU for code-edit-debug cycles
-# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options
-MXC_OPTIMIZE_CFLAGS := -Og
-endif
-
-# Default level if not building for release or explicitly for debug
-MXC_OPTIMIZE_CFLAGS ?= -Og
-
-# Set compiler flags
-PROJ_CFLAGS += -Wall # Enable warnings
-PROJ_CFLAGS += -DMXC_ASSERT_ENABLE
-
-# Set hardware floating point acceleration.
-# Options are:
-# - hard
-# - soft
-# - softfp (default if MFLOAT_ABI is not set)
-MFLOAT_ABI ?= softfp
-# MFLOAT_ABI must be exported to other Makefiles
-export MFLOAT_ABI
-
-# This path contains system-level intialization files for the target micro. Add to the build.
-VPATH += $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source
-
-# *******************************************************************************
-# Secure Boot Tools (SBT)
-
-# This section integrates the Secure Boot Tools. It's intended for use with
-# microcontrollers that have a secure bootloader.
-
-# Enabling SBT integration will add some special rules, such as "make sla", "make scpa", etc.
-
-# Configuration variables:
-# SBT : Toggle SBT integration. Set to 1 to enable, or 0
-# to disable
-# MAXIM_SBT_DIR : Specify the location of the SBT tool binaries. This defaults to
-# Tools/SBT in the MaximSDK. The standalone SBT installer will override
-# this via an environment variable.
-# TARGET_SEC : Specify the part number to be passed into the SBT. This should match
-# the secure variant part #. The default value will depend on TARGET.
-# For example, TARGET=MAX32650 will result in TARGET_SEC=MAX32651, and
-# the default selection happens in Tools/SBT/SBT-config.
-# However, if there are multiple secure part #s for the target
-# microcontroller this variable may need to be changed.
-
-SBT ?= 0
-ifeq ($(SBT), 1)
-MAXIM_SBT_DIR ?= $(MAXIM_PATH)/Tools/SBT
-MAXIM_SBT_DIR := $(subst \,/,$(MAXIM_SBT_DIR))
-# ^ Must sanitize path for \ on Windows, since this may come from an environment
-# variable.
-
-export MAXIM_SBT_DIR # SBTs must have this environment variable defined to work
-
-# SBT-config.mk and SBT-rules.mk are included further down this Makefile.
-
-endif # SBT
-
-# *******************************************************************************
-# Default goal selection. This section allows you to override the default goal
-# that will run if no targets are specified on the command-line.
-# (ie. just running 'make' instead of 'make all')
-
-# Configuration variables:
-# .DEFAULT_GOAL : Set the default goal if no targets were specified on the
-# command-line
-# ** "override" must be used with this variable. **
-# Ex: "override .DEFAULT_GOAL = mygoal"
-
-ifeq "$(.DEFAULT_GOAL)" ""
-ifeq ($(SBT),1)
-override .DEFAULT_GOAL := sla
-else
-override .DEFAULT_GOAL := all
-endif
-endif
-
-# Developer note: 'override' is used above for legacy Makefile compatibility.
-# gcc.mk/gcc_riscv.mk need to hard-set 'all' internally, so this new system
-# uses 'override' to come in over the top without breaking old projects.
-
-# It's also necessary to explicitly set MAKECMDGOALS...
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-# Enable colors when --sync-output is used.
-# See https://www.gnu.org/software/make/manual/make.html#Terminal-Output (section 13.2)
-ifneq ($(MAKE_TERMOUT),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-ifneq ($(FORCE_COLOR),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-# *******************************************************************************
-# Include SBT config. We need to do this here because it needs to know
-# the current MAKECMDGOAL.
-ifeq ($(SBT),1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-config.mk
-endif
-
-# *******************************************************************************
-# Libraries
-
-# This section offers "toggle switches" to include or exclude the libraries that
-# are available in the MaximSDK. Set a configuration variable to 1 to include the
-# library in the build, or 0 to exclude.
-
-# Each library may also have its own library specific configuration variables. See
-# Libraries/libs.mk for more details.
-
-# Configuration variables:
-# - LIB_BOARD : Include the Board-Support Package (BSP) library. (Enabled by default)
-# - LIB_PERIPHDRIVERS : Include the peripheral driver library. (Enabled by default)
-# - LIB_CMSIS_DSP : Include the CMSIS-DSP library.
-# - LIB_CORDIO : Include the Cordio BLE library
-# - LIB_FCL : Include the Free Cryptographic Library (FCL)
-# - LIB_FREERTOS : Include the FreeRTOS and FreeRTOS-Plus-CLI libraries
-# - LIB_LC3 : Include the Low Complexity Communication Codec (LC3) library
-# - LIB_LITTLEFS : Include the "little file system" (littleFS) library
-# - LIB_LWIP : Include the lwIP library
-# - LIB_MAXUSB : Include the MAXUSB library
-# - LIB_SDHC : Include the SDHC library
-
-include $(LIBS_DIR)/libs.mk
-
-
-# *******************************************************************************
-# Rules
-
-# Include the rules for building for this target. All other makefiles should be
-# included before this one.
-include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk
-
-# Include the rules that integrate the SBTs. SBTs are a special case that must be
-# include after the core gcc rules to extend them.
-ifeq ($(SBT), 1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-rules.mk
-endif
-
-
-# Get .DEFAULT_GOAL working.
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-
-all:
-# Extend the functionality of the "all" recipe here
- $(PREFIX)-size --format=berkeley $(BUILD_DIR)/$(PROJECT).elf
-
-libclean:
- $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph
-
-clean:
-# Extend the functionality of the "clean" recipe here
-
-# The rule to clean out all the build products.
-distclean: clean libclean
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/README.md b/Examples/MAX32655/Bluetooth/BLE_fcc/README.md
deleted file mode 100644
index 92ce0923910..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# BLE_fcc
-
-Simple serial port console for FCC testing.
-Refer to [BLE_fcc](../../../../Libraries/Cordio/docs/Applications/BLE_fcc.md) documentation in the Cordio Library.
-
-## Software
-
-### Project Usage
-
-Universal instructions on building, flashing, and debugging this project can be found in the **[MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)**.
-
-## Required Connections
-* Connect a USB cable between the PC and the (USB/PWR - UART) connector.
-
-### Project-Specific Build Notes
-* Setting `TRACE=1` in [**project.mk**](project.mk) initializes the on-board USB-to-UART adapter for
-viewing the trace messages and interacting with the application. Port uses settings:
- - Baud : 115200
- - Char size : 8
- - Parity : None
- - Stop bits : 1
- - HW Flow Control : No
- - SW Flow Control : No
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/main.c b/Examples/MAX32655/Bluetooth/BLE_fcc/main.c
deleted file mode 100644
index fb7e80e9635..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/main.c
+++ /dev/null
@@ -1,535 +0,0 @@
-/*************************************************************************************************/
-/*!
- * @file main.c
- * @brief BLE project with simple serial console for FCC testing
- *
- * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
- *
- * Copyright (c) 2019-2020 Packetcraft, Inc.
- *
- * Portions Copyright (c) 2022-2023 Analog Devices, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*************************************************************************************************/
-
-#include
-#include
-#include "ll_init_api.h"
-#include "chci_tr.h"
-#include "lhci_api.h"
-#include "hci_defs.h"
-#include "wsf_assert.h"
-#include "wsf_buf.h"
-#include "wsf_cs.h"
-#include "wsf_heap.h"
-#include "wsf_timer.h"
-#include "wsf_trace.h"
-#include "wsf_bufio.h"
-#include "bb_ble_sniffer_api.h"
-#include "pal_bb.h"
-#include "pal_cfg.h"
-#include "tmr.h"
-
-/**************************************************************************************************
- Definitions
-**************************************************************************************************/
-
-/*! \brief UART TX buffer size */
-#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U
-
-#define FREQ_HOP_PERIOD_US 20000
-
-/**************************************************************************************************
- Global Variables
-**************************************************************************************************/
-
-/*! \brief Persistent BB runtime configuration. */
-static BbRtCfg_t mainBbRtCfg;
-
-/*! \brief Persistent LL runtime configuration. */
-static LlRtCfg_t mainLlRtCfg;
-
-static uint8_t phy = LL_PHY_LE_1M;
-static uint8_t phy_str[16];
-static uint8_t txFreqHopCh;
-
-/**************************************************************************************************
- Functions
-**************************************************************************************************/
-
-/*! \brief Physical layer functions. */
-extern void llc_api_set_txpower(int8_t power);
-extern void dbb_seq_select_rf_channel(uint32_t rf_channel);
-extern void llc_api_tx_ldo_setup(void);
-extern void dbb_seq_tx_enable(void);
-extern void dbb_seq_tx_disable(void);
-
-/*************************************************************************************************/
-/*!
- * \fn Get PHY String.
- *
- * \brief Convert the PHY definition to a string.
- *
- * \param phy PHY definition.
- *
- * \return Pointer to string describing the PHY.
- */
-/*************************************************************************************************/
-static uint8_t *getPhyStr(uint8_t phy)
-{
- switch (phy) {
- case LL_TEST_PHY_LE_1M:
- default:
- memcpy(phy_str, "1M PHY", 7);
- break;
- case LL_TEST_PHY_LE_2M:
- memcpy(phy_str, "2M PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S8:
- memcpy(phy_str, "S8 PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S2:
- memcpy(phy_str, "S2 PHY", 7);
- break;
- }
- return phy_str;
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Timer 2 interrupts handler.
- *
- * \brief Controls the frequency hopping.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void TMR2_IRQHandler(void)
-{
- int res;
-
- MXC_TMR_TO_Clear(MXC_TMR2);
-
- /* Start the next channel */
- res = LlEnhancedTxTest(txFreqHopCh++, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
- if (res != LL_SUCCESS)
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
-
- /* Wrap the channels */
- if (txFreqHopCh == 40)
- txFreqHopCh = 0;
-
- /* Restart the timeout */
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
- MXC_TMR_EnableInt(MXC_TMR2);
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Usage statement
- *
- * \brief Prints the usage statement.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void printUsage(void)
-{
- APP_TRACE_INFO0("Usage: ");
- APP_TRACE_INFO0(" (0) Transmit Continuous Modulated on RF channel 0 (2402 MHz)");
- APP_TRACE_INFO0(" (1) Transmit Continuous Modulated on RF channel 19 (2440 MHz)");
- APP_TRACE_INFO0(" (2) Transmit Continuous Modulated RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (3) Receive on RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (4) Set Transmit power");
- APP_TRACE_INFO0(" (5) Enable Constant Unmodulated TX");
- APP_TRACE_INFO0(" (6) Disable constant TX -- MUST be called after (5)");
- /* APP_TRACE_INFO0(" (7) Set PA value"); */
- APP_TRACE_INFO0(" (8) Set PHY");
- APP_TRACE_INFO0(" (9) TX Frequency Hop");
- APP_TRACE_INFO0(" (e) End transmission -- MUST be used after each (0-3, 9)");
- APP_TRACE_INFO0(" (u) Print usage");
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Process the Console RX
- *
- * \brief State machine for the console inputs.
- *
- * \param rxByte Character received from the console.
- *
- * \return None.
- */
-/*************************************************************************************************/
-static void processConsoleRX(uint8_t rxByte)
-{
- int res;
-
- /* Holds the state of the command and the parameter */
- static uint8_t cmd = 0;
- static uint8_t param = 0;
-
- /* Determines if the incoming character is a command or a parameter */
- if (cmd == 0)
- cmd = rxByte;
- else
- param = rxByte;
-
- switch (cmd) {
- case '0':
-
- APP_TRACE_INFO1("Transmit RF channel 0, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(0, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '1':
-
- APP_TRACE_INFO1("Transmit RF channel 19, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(19, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '2':
-
- APP_TRACE_INFO1("Transmit RF channel 39, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(39, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '3':
-
- APP_TRACE_INFO1("Receive RF channel 39, %s, forever ..", getPhyStr(phy));
- res = LlEnhancedRxTest(39, phy, 0, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '4':
-
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit power");
- APP_TRACE_INFO0(" 0: -10 dBm");
- APP_TRACE_INFO0(" 1: 0 dBm");
- APP_TRACE_INFO0(" 2: 4.5 dBm");
- break;
- }
-
- switch (param) {
- case '0':
- llc_api_set_txpower(-10);
- LlSetAdvTxPower(-10);
- APP_TRACE_INFO0("Power set to -10 dBm");
- break;
- case '1':
- llc_api_set_txpower(0);
- LlSetAdvTxPower(0);
- APP_TRACE_INFO0("Power set to 0 dBm");
- break;
- case '2':
- llc_api_set_txpower(4);
- LlSetAdvTxPower(4);
- APP_TRACE_INFO0("Power set to 4.5 dBm");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
- cmd = 0;
- param = 0;
- break;
-
- case '5':
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit channel");
- APP_TRACE_INFO0(" 0: 0");
- APP_TRACE_INFO0(" 1: 19");
- APP_TRACE_INFO0(" 2: 39");
- break;
- }
-
- switch (param) {
- case '0':
- dbb_seq_select_rf_channel(0);
- APP_TRACE_INFO0("Channel set to 0");
- break;
- case '1':
- dbb_seq_select_rf_channel(19);
- APP_TRACE_INFO0("Channel set to 19");
- break;
- case '2':
- dbb_seq_select_rf_channel(39);
- APP_TRACE_INFO0("Channel set to 39");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- APP_TRACE_INFO0("Starting TX");
-
- PalBbEnable();
-
- llc_api_tx_ldo_setup();
-
- /* Enable constant TX */
- dbb_seq_tx_enable();
-
- cmd = 0;
- param = 0;
- break;
-
- case '6':
- APP_TRACE_INFO0("Disabling TX");
-
- /* Disable constant TX */
- dbb_seq_tx_disable();
-
- PalBbDisable();
-
- cmd = 0;
- break;
-
- case '8':
- if (param == 0) {
- /* Set the PHY */
- APP_TRACE_INFO0("Select PHY");
- APP_TRACE_INFO0("1: 1M");
- APP_TRACE_INFO0("2: 2M");
- APP_TRACE_INFO0("3: S8");
- APP_TRACE_INFO0("4: S2");
- break;
- }
-
- switch (param) {
- case '1':
- phy = LL_TEST_PHY_LE_1M;
- APP_TRACE_INFO0("PHY set to 1M");
- break;
- case '2':
- phy = LL_TEST_PHY_LE_2M;
- APP_TRACE_INFO0("PHY set to 2M");
- break;
- case '3':
- phy = LL_TEST_PHY_LE_CODED_S8;
- APP_TRACE_INFO0("PHY set to S8");
- break;
- case '4':
- phy = LL_TEST_PHY_LE_CODED_S2;
- APP_TRACE_INFO0("PHY set to S2");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- cmd = 0;
- param = 0;
- break;
- case '9':
- /* Frequency hopping TX */
- APP_TRACE_INFO0("Starting frequency hopping");
- NVIC_EnableIRQ(TMR2_IRQn);
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
- MXC_TMR_EnableInt(MXC_TMR2);
- cmd = 0;
- break;
-
- case 'E':
- case 'e':
-
- APP_TRACE_INFO0("End test");
- MXC_TMR_Stop(MXC_TMR2);
- LlEndTest(NULL);
- cmd = 0;
- break;
-
- case 'U':
- case 'u':
- printUsage();
- cmd = 0;
- break;
-
- default:
- APP_TRACE_INFO0("Invalid selection");
- cmd = 0;
- param = 0;
- break;
- }
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Load runtime configuration.
- */
-/*************************************************************************************************/
-static void mainLoadConfiguration(void)
-{
- PalBbLoadCfg((PalBbCfg_t *)&mainBbRtCfg);
- LlGetDefaultRunTimeCfg(&mainLlRtCfg);
- PalCfgLoadData(PAL_CFG_ID_LL_PARAM, &mainLlRtCfg.maxAdvSets, sizeof(LlRtCfg_t) - 9);
- PalCfgLoadData(PAL_CFG_ID_BLE_PHY, &mainLlRtCfg.phy2mSup, 4);
-
- /* Set 5.1 requirements. */
- mainLlRtCfg.btVer = LL_VER_BT_CORE_SPEC_5_0;
-
- /* Set the 32k sleep clock accuracy into one of the following bins, default is 20
- HCI_CLOCK_500PPM
- HCI_CLOCK_250PPM
- HCI_CLOCK_150PPM
- HCI_CLOCK_100PPM
- HCI_CLOCK_75PPM
- HCI_CLOCK_50PPM
- HCI_CLOCK_30PPM
- HCI_CLOCK_20PPM
- */
- mainBbRtCfg.clkPpm = 20;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Initialize WSF.
- */
-/*************************************************************************************************/
-static void mainWsfInit(void)
-{
- /* +12 for message headroom, + 2 event header, +255 maximum parameter length. */
- const uint16_t maxRptBufSize = 12 + 2 + 255;
-
- /* +12 for message headroom, +ISO Data Load, +4 for header. */
- const uint16_t dataBufSize =
- 12 + HCI_ISO_DL_MAX_LEN + mainLlRtCfg.maxAclLen + 4 + BB_DATA_PDU_TAILROOM;
-#if (BT_VER > 9)
- /* Use single pool for data buffers. */
- WSF_ASSERT(mainLlRtCfg.maxAclLen == mainLlRtCfg.maxIsoSduLen);
-#endif
- /* Ensure pool buffers are ordered correctly. */
- WSF_ASSERT(maxRptBufSize < dataBufSize);
-
- wsfBufPoolDesc_t poolDesc[] = {
- { 16, 8 },
- { 32, 4 },
- { 128, mainLlRtCfg.maxAdvReports },
- { maxRptBufSize, mainLlRtCfg.maxAdvReports }, /* Extended reports. */
- { dataBufSize, mainLlRtCfg.numTxBufs + mainLlRtCfg.numRxBufs + mainLlRtCfg.numIsoTxBuf +
- mainLlRtCfg.numIsoRxBuf }
- };
-
- const uint8_t numPools = sizeof(poolDesc) / sizeof(poolDesc[0]);
-
- /* Initial buffer configuration. */
- uint16_t memUsed;
- WsfCsEnter();
- memUsed = WsfBufInit(numPools, poolDesc);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- WsfOsInit();
- WsfTimerInit();
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfTraceRegisterHandler(WsfBufIoWrite);
- WsfTraceEnable(TRUE);
-#endif
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Check and service tokens (Trace and sniffer).
- *
- * \return TRUE if there is token pending.
- */
-/*************************************************************************************************/
-static bool_t mainCheckServiceTokens(void)
-{
- bool_t eventPending = FALSE;
-
-#if (WSF_TOKEN_ENABLED == TRUE) || (BB_SNIFFER_ENABLED == TRUE)
- eventPending = LhciIsEventPending();
-#endif
-
-#if WSF_TOKEN_ENABLED == TRUE
- /* Allow only a single token to be processed at a time. */
- if (!eventPending)
- eventPending = WsfTokenService();
-#endif
-
-#if (BB_SNIFFER_ENABLED == TRUE)
- /* Service one sniffer packet, if in the buffer. */
- if (!eventPending)
- eventPending = LhciSnifferHandler();
-#endif
-
- return eventPending;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Main entry point.
- */
-/*************************************************************************************************/
-int main(void)
-{
- uint32_t memUsed;
-
- mainLoadConfiguration();
- mainWsfInit();
-
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfCsEnter();
- memUsed = WsfBufIoUartInit(WsfHeapGetFreeStartAddress(), PLATFORM_UART_TERMINAL_BUFFER_SIZE);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-#endif
-
- WsfCsEnter();
- LlInitRtCfg_t llCfg = { .pBbRtCfg = &mainBbRtCfg,
- .wlSizeCfg = 4,
- .rlSizeCfg = 4,
- .plSizeCfg = 4,
- .pLlRtCfg = &mainLlRtCfg,
- .pFreeMem = WsfHeapGetFreeStartAddress(),
- .freeMemAvail = WsfHeapCountAvailable() };
-
- memUsed = LlInitControllerInit(&llCfg);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- bdAddr_t bdAddr;
- PalCfgLoadData(PAL_CFG_ID_BD_ADDR, bdAddr, sizeof(bdAddr_t));
- /* Coverity[uninit_use_in_call] */
- LlSetBdAddr((uint8_t *)&bdAddr);
-
- WsfOsRegisterSleepCheckFunc(mainCheckServiceTokens);
- WsfOsRegisterSleepCheckFunc(ChciTrService);
-
- /* Register the UART RX request */
- WsfBufIoUartRegister(processConsoleRX);
-
- printUsage();
-
- WsfOsEnterMainLoop();
-
- /* Does not return. */
- return 0;
-}
diff --git a/Examples/MAX32655/Bluetooth/BLE_fcc/project.mk b/Examples/MAX32655/Bluetooth/BLE_fcc/project.mk
deleted file mode 100644
index 256a1a1131d..00000000000
--- a/Examples/MAX32655/Bluetooth/BLE_fcc/project.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file can be used to set build configuration
-# variables. These variables are defined in a file called
-# "Makefile" that is located next to this one.
-
-# For instructions on how to use this system, see
-# https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-
-# **********************************************************
-
-# Enable Cordio library
-LIB_CORDIO = 1
-
-# TRACE option
-# Set to 0 to disable
-# Set to 2 to enable serial port trace messages
-TRACE = 2
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.cproject b/Examples/MAX32665/Bluetooth/BLE_fcc/.cproject
deleted file mode 100644
index c648cc4106c..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.cproject
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.project b/Examples/MAX32665/Bluetooth/BLE_fcc/.project
deleted file mode 100644
index 2f22644c90e..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- BLE_fcc
-
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
- full,incremental,
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/language.settings.xml b/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/language.settings.xml
deleted file mode 100644
index d32717b6f37..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/language.settings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs b/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
deleted file mode 100644
index 59c0b37ba75..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
+++ /dev/null
@@ -1,93 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.cdt.codan.checkers.errnoreturn=Warning
-org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
-org.eclipse.cdt.codan.checkers.errreturnvalue=Error
-org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
-org.eclipse.cdt.codan.checkers.nocommentinside=-Error
-org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
-org.eclipse.cdt.codan.checkers.nolinecomment=-Error
-org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
-org.eclipse.cdt.codan.checkers.noreturn=Error
-org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")"}
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
-org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
-org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
-org.eclipse.cdt.qt.core.qtproblem=Warning
-org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs b/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index f108fb50bf8..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-eclipse.preferences.version=1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/value=EvKit_V1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/operation=replace
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/value=arm-none-eabi-
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/value=BLE_fcc
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/value=MAX32665
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/appendContributed=true
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/README.md b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/README.md
deleted file mode 100755
index 5b355bd51c9..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# VSCode-Maxim
-
-_(If you're viewing this document from within Visual Studio Code you can press `CTRL+SHIFT+V` to open a Markdown preview window.)_
-
-## Quick Links
-
-* [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)
-* [VSCode-Maxim Github](https://github.com/analogdevicesinc/VSCode-Maxim)
-
-## Introduction
-
-VSCode-Maxim is a set of [Visual Studio Code](https://code.visualstudio.com/) project configurations and utilities for enabling embedded development for [Analog Device's MSDK](https://github.com/analogdevicesinc/msdk) and the [MAX32xxx/MAX78xxx microcontrollers](https://www.analog.com/en/product-category/microcontrollers.html).
-
-The following features are supported:
-
-* Code editing with intellisense down to the register level
-* Code compilation with the ability to easily re-target a project for different microcontrollers and boards
-* Flashing programs
-* GUI and command-line debugging
-
-## Dependencies
-
-* [Visual Studio Code](https://code.visualstudio.com/)
- * [C/C++ VSCode Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
- * [Cortex-Debug Extension](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug)
-* [Analog Devices MSDK](https://analogdevicesinc.github.io/msdk/)
-
-## Installation
-
-Install the MSDK, then set `"MAXIM_PATH"` in your _user_ VS Code settings.
-
-See [Getting Started with Visual Studio Code](https://analogdevicesinc.github.io/msdk/USERGUIDE/#getting-started-with-visual-studio-code) in the MSDK User Guide for detailed instructions.
-
-## Usage
-
-See the [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/#visual-studio-code) for detailed usage info.
-
-## Issue Tracker
-
-Bug reports, feature requests, and contributions are welcome via the [issues](https://github.com/analogdevicesinc/VSCode-Maxim/issues) tracker on Github.
-
-New issues should contain _at minimum_ the following information:
-
-* Visual Studio Code version #s (see `Help -> About`)
-* C/C++ Extension version #
-* Target microcontroller and evaluation platform
-* The projects `.vscode` folder and `Makefile` (where applicable). Standard compression formats such as `.zip`, `.rar`, `.tar.gz`, etc. are all acceptable.
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
deleted file mode 100755
index dfbed47b581..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "configurations": [
- {
- "name": "Win32",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc.exe",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Linux",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Mac",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- }
- ],
- "version": 4
-}
\ No newline at end of file
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/flash.gdb b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/flash.gdb
deleted file mode 100755
index 8f22801a47d..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/flash.gdb
+++ /dev/null
@@ -1,17 +0,0 @@
-define flash_m4
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor reset halt
-end
-
-define flash_m4_run
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor resume
-end
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/launch.json b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/launch.json
deleted file mode 100755
index 01fe5199048..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/launch.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "configurations": [
- {
- "name": "Debug Arm (Cortex-debug)",
- "cwd":"${workspaceRoot}",
- "executable": "${workspaceFolder}/build/${config:program_file}",
- "loadFiles": ["${workspaceFolder}/build/${config:program_file}"],
- "symbolFiles": [{
- "file": "${workspaceFolder}/build/${config:symbol_file}"
- }],
- "request": "launch",
- "type": "cortex-debug",
- "servertype": "openocd",
- "linux": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "serverpath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "searchDir": ["${config:OCD_path}/scripts"],
- "configFiles": ["interface/${config:M4_OCD_interface_file}", "target/${config:M4_OCD_target_file}"],
- "interface": "swd",
- "runToEntryPoint": "main",
- "svdFile": "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include/${config:target}.svd"
- },
- {
- "name": "GDB (Arm M4)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/build/${config:program_file}",
- "args": [],
- "stopAtEntry": true,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3333",
- "debugServerArgs": "-s ${config:OCD_path}/scripts -f interface/${config:M4_OCD_interface_file} -f target/${config:M4_OCD_target_file} -c \"init; reset halt\"",
- "serverStarted": "Info : Listening on port 3333 for gdb connections",
- "filterStderr": true,
- "targetArchitecture": "arm",
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-arm.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text":"exec-file build/${config:program_file}" },
- { "text":"symbol-file build/${config:symbol_file}" },
- { "text":"target remote localhost:3333" },
- { "text":"monitor reset halt" },
- { "text":"set $pc=Reset_Handler"},
- { "text":"b main" }
- ]
- },
- {
- "name": "GDB (RISC-V)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/buildrv/${config:program_file}",
- "args": [],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3334",
- "debugServerArgs": "-c \"gdb_port 3334\" -s ${config:OCD_path}/scripts -f interface/${config:RV_OCD_interface_file} -f target/${config:RV_OCD_target_file}",
- "serverStarted": "Info : Listening on port 3334 for gdb connections",
- "filterStderr": true,
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "targetArchitecture": "arm",
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-riscv.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text": "set architecture riscv:rv32", "ignoreFailures": false },
- { "text":"exec-file build/${config:program_file}", "ignoreFailures": false },
- { "text":"symbol-file buildrv/${config:symbol_file}", "ignoreFailures": false },
- { "text":"target remote localhost:3334" },
- { "text":"b main" },
- { "text": "set $pc=Reset_Handler","ignoreFailures": false }
- ]
- }
- ]
-}
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/settings.json b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/settings.json
deleted file mode 100755
index 94a81d4d5bb..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/settings.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "terminal.integrated.env.windows": {
- "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:MSYS_path}/usr/bin;${config:Make_path};${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.defaultProfile.windows": "Command Prompt",
-
- "terminal.integrated.env.linux": {
- "PATH":"${config:OCD_path}:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.env.osx": {
- "PATH":"${config:OCD_path}/bin:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
-
- "target":"MAX32665",
- "board":"EvKit_V1",
-
- "project_name":"${workspaceFolderBasename}",
-
- "program_file":"${config:project_name}.elf",
- "symbol_file":"${config:program_file}",
-
- "M4_OCD_interface_file":"cmsis-dap.cfg",
- "M4_OCD_target_file":"max32665.cfg",
- "RV_OCD_interface_file":"ftdi/olimex-arm-usb-ocd-h.cfg",
- "RV_OCD_target_file":"${config:target}_riscv.cfg",
-
- "v_Arm_GCC":"10.3",
- "v_xPack_GCC":"12.2.0-3.1",
-
- "OCD_path":"${config:MAXIM_PATH}/Tools/OpenOCD",
- "ARM_GCC_path":"${config:MAXIM_PATH}/Tools/GNUTools/${config:v_Arm_GCC}",
- "xPack_GCC_path":"${config:MAXIM_PATH}/Tools/xPack/riscv-none-elf-gcc/${config:v_xPack_GCC}",
- "Make_path":"${config:MAXIM_PATH}/Tools/GNUTools/Make",
- "MSYS_path":"${config:MAXIM_PATH}/Tools/MSYS2",
-
- "C_Cpp.default.includePath": [
- "${workspaceFolder}",
- "${workspaceFolder}/**",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Include",
- "${config:ARM_GCC_path}/arm-none-eabi/include",
- "${config:ARM_GCC_path}/lib/gcc/arm-none-eabi/${config:v_Arm_GCC}/include",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Include/${config:target}",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/ExtMemory",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/stack/cfg",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/ble",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/common",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/dual_chip",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/exactle",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include/util"
- ],
- "C_Cpp.default.browse.path": [
- "${workspaceFolder}",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Source",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Source",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Source",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/targets/maxim/max32665/sources"
- ],
- "C_Cpp.default.defines": [
-
- ],
- "C_Cpp.default.forcedInclude": [
- "${workspaceFolder}/build/project_defines.h"
- ]
-}
-
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/tasks.json b/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/tasks.json
deleted file mode 100755
index e95445e2b3e..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/.vscode/tasks.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "version": "2.0.0",
- "tasks": [
- {
- "label": "build",
- "type": "shell",
- "command": "make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean",
- "type": "shell",
- "command": "make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean-periph",
- "type": "shell",
- "command": "make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "flash",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4 ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "flash & run",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4_run ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "erase flash",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s", "${config:OCD_path}/scripts",
- "-f", "interface/${config:M4_OCD_interface_file}",
- "-f", "target/${config:M4_OCD_target_file}",
- "-c", "\"init; reset halt; max32xxx mass_erase 0;\"",
- "-c", "exit"
- ],
- "group":"build",
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "openocd (m4)",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s",
- "${config:OCD_path}/scripts",
- "-f",
- "interface/${config:M4_OCD_interface_file}",
- "-f",
- "target/${config:M4_OCD_target_file}",
- "-c",
- "\"init; reset halt\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "gdb (m4)",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--ex=\"cd ${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "--ex=\"target remote localhost:3333\"",
- "--ex=\"monitor reset halt\"",
- "--ex=\"b main\"",
- "--ex=\"c\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- ]
-}
\ No newline at end of file
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/BLE_fcc.launch b/Examples/MAX32665/Bluetooth/BLE_fcc/BLE_fcc.launch
deleted file mode 100644
index 36193f79c66..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/BLE_fcc.launch
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/Makefile b/Examples/MAX32665/Bluetooth/BLE_fcc/Makefile
deleted file mode 100644
index a1375f471f3..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/Makefile
+++ /dev/null
@@ -1,382 +0,0 @@
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-# ** Readme! **
-# Don't edit this file! This is the core Makefile for a MaximSDK
-# project. The available configuration options can be overridden
-# in "project.mk", on the command-line, or with system environment
-# variables.
-
-# See https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-# for more detailed instructions on how to use this system.
-
-# The detailed instructions mentioned above are easier to read than
-# this file, but the comments found in this file also outline the
-# available configuration variables. This file is organized into
-# sub-sections, some of which expose config variables.
-
-
-# *******************************************************************************
-# Set the target microcontroller and board to compile for.
-
-# Every TARGET microcontroller has some Board Support Packages (BSPs) that are
-# available for it under the MaximSDK/Libraries/Boards/TARGET folder. The BSP
-# that gets selected is MaximSDK/Libraries/Boards/TARGET/BOARD.
-
-# Configuration Variables:
-# - TARGET : Override the default target microcontroller. Ex: TARGET=MAX78000
-# - BOARD : Override the default BSP (case sensitive). Ex: BOARD=EvKit_V1, BOARD=FTHR_RevA
-
-
-ifeq "$(TARGET)" ""
-# Default target microcontroller
-TARGET := MAX32665
-TARGET_UC := MAX32665
-TARGET_LC := max32665
-else
-# "TARGET" has been overridden in the environment or on the command-line.
-# We need to calculate an upper and lowercase version of the part number,
-# because paths on Linux and MacOS are case-sensitive.
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-endif
-
-# Default board.
-BOARD ?= EvKit_V1
-
-# *******************************************************************************
-# Locate the MaximSDK
-
-# This Makefile needs to know where to find the MaximSDK, and the MAXIM_PATH variable
-# should point to the root directory of the MaximSDK installation. Setting this manually
-# is usually only required if you're working on the command-line.
-
-# If MAXIM_PATH is not specified, we assume the project still lives inside of the MaximSDK
-# and move up from this project's original location.
-
-# Configuration Variables:
-# - MAXIM_PATH : Tell this Makefile where to find the MaximSDK. Ex: MAXIM_PATH=C:/MaximSDK
-
-
-ifneq "$(MAXIM_PATH)" ""
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-# Locate some other useful paths...
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-endif
-
-# *******************************************************************************
-# Include project Makefile. We do this after formulating TARGET, BOARD, and MAXIM_PATH
-# in case project.mk needs to reference those values. However, we also include
-# this as early as possible in the Makefile so that it can append to or override
-# the variables below.
-
-
-PROJECTMK ?= $(abspath ./project.mk)
-include $(PROJECTMK)
-$(info Loaded project.mk)
-# PROJECTMK is also used by implicit rules and other libraries to add project.mk as a watch file
-
-# *******************************************************************************
-# Final path sanitization and re-calculation. No options here.
-
-ifeq "$(MAXIM_PATH)" ""
-# MAXIM_PATH is still not defined...
-DEPTH := ../../../../
-MAXIM_PATH := $(abspath $(DEPTH))
-$(warning Warning: MAXIM_PATH is not set! Set MAXIM_PATH in your environment or in project.mk to clear this warning.)
-$(warning Warning: Attempting to use $(MAXIM_PATH) calculated from relative path)
-else
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-endif
-
-# Final recalculation of LIBS_DIR/CMSIS_ROOT
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-
-# One final UC/LC check in case user set TARGET in project.mk
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-
-export TARGET
-export TARGET_UC
-export TARGET_LC
-export CMSIS_ROOT
-# TODO: Remove dependency on exports for these variables.
-
-# *******************************************************************************
-# Set up search paths, and auto-detect all source code on those paths.
-
-# The following paths are searched by default, where "./" is the project directory.
-# ./
-# |- *.h
-# |- *.c
-# |-include (optional)
-# |- *.h
-# |-src (optional)
-# |- *.c
-
-# Configuration Variables:
-# - VPATH : Tell this Makefile to search additional locations for source (.c) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - IPATH : Tell this Makefile to search additional locations for header (.h) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - SRCS : Tell this Makefile to explicitly add a source (.c) file to the build.
-# This is really only useful if you want to add a source file that isn't
-# on any VPATH, in which case you can add the full path to the file here.
-# You should use the "+=" operator with this option.
-# Ex: SRCS += your/specific/source/file.c
-# - AUTOSEARCH : Set whether this Makefile should automatically detect .c files on
-# VPATH and add them to the build. This is enabled by default. Set
-# to 0 to disable. If autosearch is disabled, source files must be
-# manually added to SRCS.
-# Ex: AUTOSEARCH = 0
-
-
-# Where to find source files for this project.
-VPATH += .
-VPATH += src
-VPATH := $(VPATH)
-
-# Where to find header files for this project
-IPATH += .
-IPATH += include
-IPATH := $(IPATH)
-
-AUTOSEARCH ?= 1
-ifeq ($(AUTOSEARCH), 1)
-# Auto-detect all C/C++ source files on VPATH
-SRCS += $(wildcard $(addsuffix /*.c, $(VPATH)))
-SRCS += $(wildcard $(addsuffix /*.cpp, $(VPATH)))
-endif
-
-# Collapse SRCS before passing them on to the next stage
-SRCS := $(SRCS)
-
-# *******************************************************************************
-# Set the output filename
-
-# Configuration Variables:
-# - PROJECT : Override the default output filename. Ex: PROJECT=MyProject
-
-
-# The default value creates a file named after the target micro. Ex: MAX78000.elf
-PROJECT ?= $(TARGET_LC)
-
-# *******************************************************************************
-# Compiler options
-
-# Configuration Variables:
-# - DEBUG : Set DEBUG=1 to build explicitly for debugging. This adds some additional
-# symbols and sets -Og as the default optimization level.
-# - MXC_OPTIMIZE_CFLAGS : Override the default compiler optimization level.
-# Ex: MXC_OPTIMIZE_CFLAGS = -O2
-# - PROJ_CFLAGS : Add additional compiler flags to the build.
-# You should use the "+=" operator with this option.
-# Ex: PROJ_CFLAGS += -Wextra
-# - MFLOAT_ABI : Set the floating point acceleration level.
-# The only options are "hard", "soft", or "softfp".
-# Ex: MFLOAT_ABI = hard
-# - LINKERFILE : Override the default linkerfile.
-# Ex: LINKERFILE = customlinkerfile.ld
-# - LINKERPATH : Override the default search location for $(LINKERFILE)
-# The default search location is $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC
-# If $(LINKERFILE) cannot be found at this path, then the root project
-# directory will be used as a fallback.
-
-# Select 'GCC' or 'IAR' compiler
-ifeq "$(COMPILER)" ""
-COMPILER := GCC
-endif
-
-# Set default compiler optimization levels
-ifeq "$(MAKECMDGOALS)" "release"
-# Default optimization level for "release" builds (make release)
-MXC_OPTIMIZE_CFLAGS ?= -O2
-DEBUG = 0
-endif
-
-ifeq ($(DEBUG),1)
-# Optimizes for debugging as recommended
-# by GNU for code-edit-debug cycles
-# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options
-MXC_OPTIMIZE_CFLAGS := -Og
-endif
-
-# Default level if not building for release or explicitly for debug
-MXC_OPTIMIZE_CFLAGS ?= -Og
-
-# Set compiler flags
-PROJ_CFLAGS += -Wall # Enable warnings
-PROJ_CFLAGS += -DMXC_ASSERT_ENABLE
-
-# Set hardware floating point acceleration.
-# Options are:
-# - hard
-# - soft
-# - softfp (default if MFLOAT_ABI is not set)
-MFLOAT_ABI ?= softfp
-# MFLOAT_ABI must be exported to other Makefiles
-export MFLOAT_ABI
-
-# This path contains system-level intialization files for the target micro. Add to the build.
-VPATH += $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source
-
-# *******************************************************************************
-# Secure Boot Tools (SBT)
-
-# This section integrates the Secure Boot Tools. It's intended for use with
-# microcontrollers that have a secure bootloader.
-
-# Enabling SBT integration will add some special rules, such as "make sla", "make scpa", etc.
-
-# Configuration variables:
-# SBT : Toggle SBT integration. Set to 1 to enable, or 0
-# to disable
-# MAXIM_SBT_DIR : Specify the location of the SBT tool binaries. This defaults to
-# Tools/SBT in the MaximSDK. The standalone SBT installer will override
-# this via an environment variable.
-# TARGET_SEC : Specify the part number to be passed into the SBT. This should match
-# the secure variant part #. The default value will depend on TARGET.
-# For example, TARGET=MAX32650 will result in TARGET_SEC=MAX32651, and
-# the default selection happens in Tools/SBT/SBT-config.
-# However, if there are multiple secure part #s for the target
-# microcontroller this variable may need to be changed.
-
-SBT ?= 0
-ifeq ($(SBT), 1)
-MAXIM_SBT_DIR ?= $(MAXIM_PATH)/Tools/SBT
-MAXIM_SBT_DIR := $(subst \,/,$(MAXIM_SBT_DIR))
-# ^ Must sanitize path for \ on Windows, since this may come from an environment
-# variable.
-
-export MAXIM_SBT_DIR # SBTs must have this environment variable defined to work
-
-# SBT-config.mk and SBT-rules.mk are included further down this Makefile.
-
-endif # SBT
-
-# *******************************************************************************
-# Default goal selection. This section allows you to override the default goal
-# that will run if no targets are specified on the command-line.
-# (ie. just running 'make' instead of 'make all')
-
-# Configuration variables:
-# .DEFAULT_GOAL : Set the default goal if no targets were specified on the
-# command-line
-# ** "override" must be used with this variable. **
-# Ex: "override .DEFAULT_GOAL = mygoal"
-
-ifeq "$(.DEFAULT_GOAL)" ""
-ifeq ($(SBT),1)
-override .DEFAULT_GOAL := sla
-else
-override .DEFAULT_GOAL := all
-endif
-endif
-
-# Developer note: 'override' is used above for legacy Makefile compatibility.
-# gcc.mk/gcc_riscv.mk need to hard-set 'all' internally, so this new system
-# uses 'override' to come in over the top without breaking old projects.
-
-# It's also necessary to explicitly set MAKECMDGOALS...
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-# Enable colors when --sync-output is used.
-# See https://www.gnu.org/software/make/manual/make.html#Terminal-Output (section 13.2)
-ifneq ($(MAKE_TERMOUT),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-ifneq ($(FORCE_COLOR),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-# *******************************************************************************
-# Include SBT config. We need to do this here because it needs to know
-# the current MAKECMDGOAL.
-ifeq ($(SBT),1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-config.mk
-endif
-
-# *******************************************************************************
-# Libraries
-
-# This section offers "toggle switches" to include or exclude the libraries that
-# are available in the MaximSDK. Set a configuration variable to 1 to include the
-# library in the build, or 0 to exclude.
-
-# Each library may also have its own library specific configuration variables. See
-# Libraries/libs.mk for more details.
-
-# Configuration variables:
-# - LIB_BOARD : Include the Board-Support Package (BSP) library. (Enabled by default)
-# - LIB_PERIPHDRIVERS : Include the peripheral driver library. (Enabled by default)
-# - LIB_CMSIS_DSP : Include the CMSIS-DSP library.
-# - LIB_CORDIO : Include the Cordio BLE library
-# - LIB_FCL : Include the Free Cryptographic Library (FCL)
-# - LIB_FREERTOS : Include the FreeRTOS and FreeRTOS-Plus-CLI libraries
-# - LIB_LC3 : Include the Low Complexity Communication Codec (LC3) library
-# - LIB_LITTLEFS : Include the "little file system" (littleFS) library
-# - LIB_LWIP : Include the lwIP library
-# - LIB_MAXUSB : Include the MAXUSB library
-# - LIB_SDHC : Include the SDHC library
-
-include $(LIBS_DIR)/libs.mk
-
-
-# *******************************************************************************
-# Rules
-
-# Include the rules for building for this target. All other makefiles should be
-# included before this one.
-include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk
-
-# Include the rules that integrate the SBTs. SBTs are a special case that must be
-# include after the core gcc rules to extend them.
-ifeq ($(SBT), 1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-rules.mk
-endif
-
-
-# Get .DEFAULT_GOAL working.
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-
-all:
-# Extend the functionality of the "all" recipe here
- $(PREFIX)-size --format=berkeley $(BUILD_DIR)/$(PROJECT).elf
-
-libclean:
- $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph
-
-clean:
-# Extend the functionality of the "clean" recipe here
-
-# The rule to clean out all the build products.
-distclean: clean libclean
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/README.md b/Examples/MAX32665/Bluetooth/BLE_fcc/README.md
deleted file mode 100644
index 92ce0923910..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# BLE_fcc
-
-Simple serial port console for FCC testing.
-Refer to [BLE_fcc](../../../../Libraries/Cordio/docs/Applications/BLE_fcc.md) documentation in the Cordio Library.
-
-## Software
-
-### Project Usage
-
-Universal instructions on building, flashing, and debugging this project can be found in the **[MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)**.
-
-## Required Connections
-* Connect a USB cable between the PC and the (USB/PWR - UART) connector.
-
-### Project-Specific Build Notes
-* Setting `TRACE=1` in [**project.mk**](project.mk) initializes the on-board USB-to-UART adapter for
-viewing the trace messages and interacting with the application. Port uses settings:
- - Baud : 115200
- - Char size : 8
- - Parity : None
- - Stop bits : 1
- - HW Flow Control : No
- - SW Flow Control : No
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/main.c b/Examples/MAX32665/Bluetooth/BLE_fcc/main.c
deleted file mode 100644
index afe83939b72..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/main.c
+++ /dev/null
@@ -1,582 +0,0 @@
-/*************************************************************************************************/
-/*!
- * @file main.c
- * @brief BLE project with simple serial console for FCC testing
- *
- * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
- *
- * Copyright (c) 2019-2020 Packetcraft, Inc.
- *
- * Portions Copyright (c) 2022-2023 Analog Devices, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*************************************************************************************************/
-
-#include
-#include
-#include "ll_init_api.h"
-#include "chci_tr.h"
-#include "lhci_api.h"
-#include "hci_defs.h"
-#include "wsf_assert.h"
-#include "wsf_buf.h"
-#include "wsf_cs.h"
-#include "wsf_heap.h"
-#include "wsf_timer.h"
-#include "wsf_trace.h"
-#include "wsf_bufio.h"
-#include "bb_ble_sniffer_api.h"
-#include "pal_bb.h"
-#include "pal_cfg.h"
-#include "tmr.h"
-
-/**************************************************************************************************
- Definitions
-**************************************************************************************************/
-
-/*! \brief UART TX buffer size */
-#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U
-
-#define FREQ_HOP_PERIOD_US 20000
-
-/* Bluetooth DBB registers */
-#define MXC_R_CONST_OUPUT *((volatile uint16_t *)(0x40052040))
-#define MXC_R_PATTERN_GEN *((volatile uint16_t *)(0x4005203C))
-#define MXC_R_TX_CTRL *((volatile uint16_t *)(0x4005101C))
-
-/**************************************************************************************************
- Global Variables
-**************************************************************************************************/
-
-/*! \brief Persistent BB runtime configuration. */
-static BbRtCfg_t mainBbRtCfg;
-
-/*! \brief Persistent LL runtime configuration. */
-static LlRtCfg_t mainLlRtCfg;
-
-static uint8_t phy = LL_PHY_LE_1M;
-static uint8_t phy_str[16];
-static uint8_t txFreqHopCh;
-
-/**************************************************************************************************
- Functions
-**************************************************************************************************/
-
-/*! \brief Physical layer functions. */
-extern void llc_api_set_txpower(int8_t power);
-extern void dbb_seq_select_rf_channel(uint32_t rf_channel);
-extern uint8_t dbb_seq_get_rfpower(int8_t rf_power);
-extern void llc_api_tx_ldo_setup(void);
-extern void llc_api_set_phy(uint8_t phy, uint8_t phy_options);
-
-extern volatile int8_t tx_rfpower_idx;
-extern volatile int8_t tx_rfpower_on;
-
-/*************************************************************************************************/
-/*!
- * \fn Get PHY String.
- *
- * \brief Convert the PHY definition to a string.
- *
- * \param phy PHY definition.
- *
- * \return Pointer to string describing the PHY.
- */
-/*************************************************************************************************/
-static uint8_t *getPhyStr(void)
-{
- switch (phy) {
- case LL_TEST_PHY_LE_1M:
- default:
- memcpy(phy_str, "1M PHY", 7);
- break;
- case LL_TEST_PHY_LE_2M:
- memcpy(phy_str, "2M PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S8:
- memcpy(phy_str, "S8 PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S2:
- memcpy(phy_str, "S2 PHY", 7);
- break;
- }
- return phy_str;
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Timer 2 interrupts handler.
- *
- * \brief Controls the frequency hopping.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void TMR2_IRQHandler(void)
-{
- int res;
-
- MXC_TMR_TO_Clear(MXC_TMR2);
-
- /* Start the next channel */
- res = LlEnhancedTxTest(txFreqHopCh++, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
- if (res != LL_SUCCESS)
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
-
- /* Wrap the channels */
- if (txFreqHopCh == 40)
- txFreqHopCh = 0;
-
- /* Restart the timeout */
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Usage statement
- *
- * \brief Prints the usage statement.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void printUsage(void)
-{
- APP_TRACE_INFO0("Usage: ");
- APP_TRACE_INFO0(" (0) Transmit Continuous Modulated on RF channel 0 (2402 MHz)");
- APP_TRACE_INFO0(" (1) Transmit Continuous Modulated on RF channel 19 (2440 MHz)");
- APP_TRACE_INFO0(" (2) Transmit Continuous Modulated RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (3) Receive on RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (4) Set Transmit power");
- APP_TRACE_INFO0(" (5) Enable Constant Unmodulated TX");
- APP_TRACE_INFO0(" (6) Disable constant TX -- MUST be called after (5)");
- /* APP_TRACE_INFO0(" (7) Set PA value"); */
- APP_TRACE_INFO0(" (8) Set PHY");
- APP_TRACE_INFO0(" (9) TX Frequency Hop");
- APP_TRACE_INFO0(" (e) End transmission -- MUST be used after each (0-3, 9)");
- APP_TRACE_INFO0(" (u) Print usage");
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Process the Console RX
- *
- * \brief State machine for the console inputs.
- *
- * \param rxByte Character received from the console.
- *
- * \return None.
- */
-/*************************************************************************************************/
-static void processConsoleRX(uint8_t rxByte)
-{
- int res;
-
- /* Holds the state of the command and the parameter */
- static uint8_t cmd = 0;
- static uint8_t param = 0;
-
- /* Determines if the incoming character is a command or a parameter */
- if (cmd == 0)
- cmd = rxByte;
- else
- param = rxByte;
-
- switch (cmd) {
- case '0':
-
- APP_TRACE_INFO1("Transmit RF channel 0 (2402M), 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr());
- res = LlEnhancedTxTest(0, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '1':
-
- APP_TRACE_INFO1("Transmit RF channel 19 (2440M), 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr());
- res = LlEnhancedTxTest(19, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '2':
-
- APP_TRACE_INFO1("Transmit RF channel 39 (2480M), 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr());
- res = LlEnhancedTxTest(39, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '3':
-
- APP_TRACE_INFO1("Receive RF channel 39 (2480M), %s, forever ..", getPhyStr());
- res = LlEnhancedRxTest(39, phy, 0, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '4':
-
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit power");
- APP_TRACE_INFO0(" 0: -15 dBm");
- APP_TRACE_INFO0(" 1: -10 dBm");
- APP_TRACE_INFO0(" 2: -5 dBm");
- APP_TRACE_INFO0(" 3: -2 dBm");
- APP_TRACE_INFO0(" 4: 0 dBm");
- APP_TRACE_INFO0(" 5: 2 dBm");
- APP_TRACE_INFO0(" 6: 4.5 dBm");
- break;
- }
-
- switch (param) {
- case '0':
- llc_api_set_txpower(-15);
- LlSetAdvTxPower(-15);
- APP_TRACE_INFO1("Power set to -15, Amp_coef = %x", dbb_seq_get_rfpower(-15));
- break;
- case '1':
- llc_api_set_txpower(-10);
- LlSetAdvTxPower(-10);
- APP_TRACE_INFO1("Power set to -10, Amp_coef = %x", dbb_seq_get_rfpower(-10));
- break;
- case '2':
- llc_api_set_txpower(-5);
- LlSetAdvTxPower(-5);
- APP_TRACE_INFO1("Power set to -5, Amp_coef = %x", dbb_seq_get_rfpower(-5));
- break;
- case '3':
- llc_api_set_txpower(-2);
- LlSetAdvTxPower(-2);
- APP_TRACE_INFO1("Power set to -2, Amp_coef = %x", dbb_seq_get_rfpower(-2));
- break;
- case '4':
- llc_api_set_txpower(0);
- LlSetAdvTxPower(0);
- APP_TRACE_INFO1("Power set to 0, Amp_coef = %x", dbb_seq_get_rfpower(0));
- break;
- case '5':
- llc_api_set_txpower(2);
- LlSetAdvTxPower(2);
- APP_TRACE_INFO1("Power set to 2, Amp_coef = %x", dbb_seq_get_rfpower(2));
- break;
- case '6':
- llc_api_set_txpower(4);
- LlSetAdvTxPower(4);
- APP_TRACE_INFO1("Power set to 4.5, Amp_coef = %x", dbb_seq_get_rfpower(4));
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
- cmd = 0;
- param = 0;
- break;
-
- case '5':
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit channel");
- APP_TRACE_INFO0(" 0: 0 (2402M)");
- APP_TRACE_INFO0(" 1: 19 (2440M)");
- APP_TRACE_INFO0(" 2: 33 (2468M)");
- APP_TRACE_INFO0(" 3: 36 (2474M)");
- APP_TRACE_INFO0(" 4: 39 (2480M)");
- break;
- }
-
- switch (param) {
- case '0':
- dbb_seq_select_rf_channel(0);
- APP_TRACE_INFO0("Channel set to 0 (2402M)");
- break;
- case '1':
- dbb_seq_select_rf_channel(19);
- APP_TRACE_INFO0("Channel set to 19 (2440M)");
- break;
- case '2':
- dbb_seq_select_rf_channel(33);
- APP_TRACE_INFO0("Channel set to 33 (2468M)");
- break;
- case '3':
- dbb_seq_select_rf_channel(36);
- APP_TRACE_INFO0("Channel set to 36 (2474M)");
- break;
- case '4':
- dbb_seq_select_rf_channel(39);
- APP_TRACE_INFO0("Channel set to 39 (2480M)");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- APP_TRACE_INFO0("Starting PRBS9 TX");
-
- PalBbEnable();
-
- llc_api_tx_ldo_setup();
-
- /* Enable constant TX */
- MXC_R_TX_CTRL = 0x1;
-
- /* Enable pattern generator, set PRBS-9 */
- MXC_R_CONST_OUPUT = 0x0;
- MXC_R_PATTERN_GEN = 0x4B;
-
- cmd = 0;
- param = 0;
- break;
-
- case '6':
- APP_TRACE_INFO0("Disabling TX");
-
- /* Disable constant TX */
- MXC_R_TX_CTRL = 0x2;
- MXC_R_PATTERN_GEN = 0x48;
-
- PalBbDisable();
-
- cmd = 0;
- break;
-
- case '8':
- if (param == 0) {
- /* Set the PHY */
- APP_TRACE_INFO0("Select PHY");
- APP_TRACE_INFO0("1: 1M");
- APP_TRACE_INFO0("2: 2M");
- APP_TRACE_INFO0("3: S8");
- APP_TRACE_INFO0("4: S2");
- break;
- }
-
- switch (param) {
- case '1':
- phy = LL_TEST_PHY_LE_1M;
- APP_TRACE_INFO0("PHY set to 1M");
- break;
- case '2':
- phy = LL_TEST_PHY_LE_2M;
- APP_TRACE_INFO0("PHY set to 2M");
- break;
- case '3':
- phy = LL_TEST_PHY_LE_CODED_S8;
- APP_TRACE_INFO0("PHY set to S8");
- break;
- case '4':
- phy = LL_TEST_PHY_LE_CODED_S2;
- APP_TRACE_INFO0("PHY set to S2");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- llc_api_set_phy(phy, BB_PHY_OPTIONS_DEFAULT);
-
- cmd = 0;
- param = 0;
- break;
- case '9':
- /* Frequency hopping TX */
- APP_TRACE_INFO0("Starting frequency hopping");
- NVIC_EnableIRQ(TMR2_IRQn);
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
- cmd = 0;
- break;
-
- case 'E':
- case 'e':
-
- APP_TRACE_INFO0("End test");
- MXC_TMR_Stop(MXC_TMR2);
- LlEndTest(NULL);
- cmd = 0;
- break;
-
- case 'U':
- case 'u':
- printUsage();
- cmd = 0;
- break;
-
- default:
- APP_TRACE_INFO0("Invalid selection");
- cmd = 0;
- param = 0;
- break;
- }
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Load runtime configuration.
- */
-/*************************************************************************************************/
-static void mainLoadConfiguration(void)
-{
- PalBbLoadCfg((PalBbCfg_t *)&mainBbRtCfg);
- LlGetDefaultRunTimeCfg(&mainLlRtCfg);
- PalCfgLoadData(PAL_CFG_ID_LL_PARAM, &mainLlRtCfg.maxAdvSets, sizeof(LlRtCfg_t) - 9);
- PalCfgLoadData(PAL_CFG_ID_BLE_PHY, &mainLlRtCfg.phy2mSup, 4);
-
- /* Set 5.1 requirements. */
- mainLlRtCfg.btVer = LL_VER_BT_CORE_SPEC_5_0;
-
- /* Set the 32k sleep clock accuracy into one of the following bins, default is 20
- HCI_CLOCK_500PPM
- HCI_CLOCK_250PPM
- HCI_CLOCK_150PPM
- HCI_CLOCK_100PPM
- HCI_CLOCK_75PPM
- HCI_CLOCK_50PPM
- HCI_CLOCK_30PPM
- HCI_CLOCK_20PPM
- */
- mainBbRtCfg.clkPpm = 20;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Initialize WSF.
- */
-/*************************************************************************************************/
-static void mainWsfInit(void)
-{
- /* +12 for message headroom, + 2 event header, +255 maximum parameter length. */
- const uint16_t maxRptBufSize = 12 + 2 + 255;
-
- /* +12 for message headroom, +ISO Data Load, +4 for header. */
- const uint16_t dataBufSize =
- 12 + HCI_ISO_DL_MAX_LEN + mainLlRtCfg.maxAclLen + 4 + BB_DATA_PDU_TAILROOM;
-#if (BT_VER > 9)
- /* Use single pool for data buffers. */
- WSF_ASSERT(mainLlRtCfg.maxAclLen == mainLlRtCfg.maxIsoSduLen);
-#endif
- /* Ensure pool buffers are ordered correctly. */
- WSF_ASSERT(maxRptBufSize < dataBufSize);
-
- wsfBufPoolDesc_t poolDesc[] = {
- { 16, 8 },
- { 32, 4 },
- { 128, mainLlRtCfg.maxAdvReports },
- { maxRptBufSize, mainLlRtCfg.maxAdvReports }, /* Extended reports. */
- { dataBufSize, mainLlRtCfg.numTxBufs + mainLlRtCfg.numRxBufs + mainLlRtCfg.numIsoTxBuf +
- mainLlRtCfg.numIsoRxBuf }
- };
-
- const uint8_t numPools = sizeof(poolDesc) / sizeof(poolDesc[0]);
-
- /* Initial buffer configuration. */
- uint16_t memUsed;
- WsfCsEnter();
- memUsed = WsfBufInit(numPools, poolDesc);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- WsfOsInit();
- WsfTimerInit();
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfTraceRegisterHandler(WsfBufIoWrite);
- WsfTraceEnable(TRUE);
-#endif
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Check and service tokens (Trace and sniffer).
- *
- * \return TRUE if there is token pending.
- */
-/*************************************************************************************************/
-static bool_t mainCheckServiceTokens(void)
-{
- bool_t eventPending = FALSE;
-
-#if (WSF_TOKEN_ENABLED == TRUE) || (BB_SNIFFER_ENABLED == TRUE)
- eventPending = LhciIsEventPending();
-#endif
-
-#if WSF_TOKEN_ENABLED == TRUE
- /* Allow only a single token to be processed at a time. */
- if (!eventPending)
- eventPending = WsfTokenService();
-#endif
-
-#if (BB_SNIFFER_ENABLED == TRUE)
- /* Service one sniffer packet, if in the buffer. */
- if (!eventPending)
- eventPending = LhciSnifferHandler();
-#endif
-
- return eventPending;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Main entry point.
- */
-/*************************************************************************************************/
-int main(void)
-{
- uint32_t memUsed;
-
- mainLoadConfiguration();
- mainWsfInit();
-
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfCsEnter();
- memUsed = WsfBufIoUartInit(WsfHeapGetFreeStartAddress(), PLATFORM_UART_TERMINAL_BUFFER_SIZE);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-#endif
-
- WsfCsEnter();
- LlInitRtCfg_t llCfg = { .pBbRtCfg = &mainBbRtCfg,
- .wlSizeCfg = 4,
- .rlSizeCfg = 4,
- .plSizeCfg = 4,
- .pLlRtCfg = &mainLlRtCfg,
- .pFreeMem = WsfHeapGetFreeStartAddress(),
- .freeMemAvail = WsfHeapCountAvailable() };
-
- memUsed = LlInitControllerInit(&llCfg);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- bdAddr_t bdAddr;
- PalCfgLoadData(PAL_CFG_ID_BD_ADDR, bdAddr, sizeof(bdAddr_t));
- /* Coverity[uninit_use_in_call] */
- LlSetBdAddr((uint8_t *)&bdAddr);
-
- WsfOsRegisterSleepCheckFunc(mainCheckServiceTokens);
- WsfOsRegisterSleepCheckFunc(ChciTrService);
-
- /* Register the UART RX request */
- WsfBufIoUartRegister(processConsoleRX);
-
- printUsage();
-
- WsfOsEnterMainLoop();
-
- /* Does not return. */
- return 0;
-}
diff --git a/Examples/MAX32665/Bluetooth/BLE_fcc/project.mk b/Examples/MAX32665/Bluetooth/BLE_fcc/project.mk
deleted file mode 100644
index 8a52cb8ee8b..00000000000
--- a/Examples/MAX32665/Bluetooth/BLE_fcc/project.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file can be used to set build configuration
-# variables. These variables are defined in a file called
-# "Makefile" that is located next to this one.
-
-# For instructions on how to use this system, see
-# https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-
-# **********************************************************
-
-# If you have secure version of MCU (MAX32666), set SBT=1 to generate signed binary
-# For more information on how sing process works, see
-# https://www.analog.com/en/education/education-library/videos/6313214207112.html
-SBT=0
-
-# Enable Cordio library
-LIB_CORDIO = 1
-
-# TRACE option
-# Set to 0 to disable
-# Set to 2 to enable serial port trace messages
-TRACE = 2
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.cproject b/Examples/MAX32690/Bluetooth/BLE_fcc/.cproject
deleted file mode 100644
index c648cc4106c..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.cproject
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.project b/Examples/MAX32690/Bluetooth/BLE_fcc/.project
deleted file mode 100644
index 2f22644c90e..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- BLE_fcc
-
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
- full,incremental,
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/language.settings.xml b/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/language.settings.xml
deleted file mode 100644
index d32717b6f37..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/language.settings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs b/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
deleted file mode 100644
index 59c0b37ba75..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.codan.core.prefs
+++ /dev/null
@@ -1,93 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.cdt.codan.checkers.errnoreturn=Warning
-org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
-org.eclipse.cdt.codan.checkers.errreturnvalue=Error
-org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
-org.eclipse.cdt.codan.checkers.nocommentinside=-Error
-org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
-org.eclipse.cdt.codan.checkers.nolinecomment=-Error
-org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
-org.eclipse.cdt.codan.checkers.noreturn=Error
-org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")"}
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
-org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
-org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error
-org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
-org.eclipse.cdt.qt.core.qtproblem=Warning
-org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs b/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index bf22e374367..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-eclipse.preferences.version=1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/value=EvKit_V1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/operation=replace
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/value=arm-none-eabi-
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/value=BLE_fcc
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/delimiter=;
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/value=MAX32690
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/appendContributed=true
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/README.md b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/README.md
deleted file mode 100755
index 5b355bd51c9..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# VSCode-Maxim
-
-_(If you're viewing this document from within Visual Studio Code you can press `CTRL+SHIFT+V` to open a Markdown preview window.)_
-
-## Quick Links
-
-* [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)
-* [VSCode-Maxim Github](https://github.com/analogdevicesinc/VSCode-Maxim)
-
-## Introduction
-
-VSCode-Maxim is a set of [Visual Studio Code](https://code.visualstudio.com/) project configurations and utilities for enabling embedded development for [Analog Device's MSDK](https://github.com/analogdevicesinc/msdk) and the [MAX32xxx/MAX78xxx microcontrollers](https://www.analog.com/en/product-category/microcontrollers.html).
-
-The following features are supported:
-
-* Code editing with intellisense down to the register level
-* Code compilation with the ability to easily re-target a project for different microcontrollers and boards
-* Flashing programs
-* GUI and command-line debugging
-
-## Dependencies
-
-* [Visual Studio Code](https://code.visualstudio.com/)
- * [C/C++ VSCode Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
- * [Cortex-Debug Extension](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug)
-* [Analog Devices MSDK](https://analogdevicesinc.github.io/msdk/)
-
-## Installation
-
-Install the MSDK, then set `"MAXIM_PATH"` in your _user_ VS Code settings.
-
-See [Getting Started with Visual Studio Code](https://analogdevicesinc.github.io/msdk/USERGUIDE/#getting-started-with-visual-studio-code) in the MSDK User Guide for detailed instructions.
-
-## Usage
-
-See the [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/#visual-studio-code) for detailed usage info.
-
-## Issue Tracker
-
-Bug reports, feature requests, and contributions are welcome via the [issues](https://github.com/analogdevicesinc/VSCode-Maxim/issues) tracker on Github.
-
-New issues should contain _at minimum_ the following information:
-
-* Visual Studio Code version #s (see `Help -> About`)
-* C/C++ Extension version #
-* Target microcontroller and evaluation platform
-* The projects `.vscode` folder and `Makefile` (where applicable). Standard compression formats such as `.zip`, `.rar`, `.tar.gz`, etc. are all acceptable.
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
deleted file mode 100755
index dfbed47b581..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/c_cpp_properties.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "configurations": [
- {
- "name": "Win32",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc.exe",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Linux",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- },
- {
- "name": "Mac",
- "includePath": [
- "${default}"
- ],
- "defines": [
- "${default}"
- ],
- "intelliSenseMode": "gcc-arm",
- "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc",
- "browse": {
- "path": [
- "${default}"
- ]
- }
- }
- ],
- "version": 4
-}
\ No newline at end of file
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/flash.gdb b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/flash.gdb
deleted file mode 100755
index 8f22801a47d..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/flash.gdb
+++ /dev/null
@@ -1,17 +0,0 @@
-define flash_m4
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor reset halt
-end
-
-define flash_m4_run
- set architecture armv7e-m
- set remotetimeout 10
- target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt"
- load
- compare-sections
- monitor resume
-end
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/launch.json b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/launch.json
deleted file mode 100755
index 01fe5199048..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/launch.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "configurations": [
- {
- "name": "Debug Arm (Cortex-debug)",
- "cwd":"${workspaceRoot}",
- "executable": "${workspaceFolder}/build/${config:program_file}",
- "loadFiles": ["${workspaceFolder}/build/${config:program_file}"],
- "symbolFiles": [{
- "file": "${workspaceFolder}/build/${config:symbol_file}"
- }],
- "request": "launch",
- "type": "cortex-debug",
- "servertype": "openocd",
- "linux": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "serverpath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "serverpath": "${config:OCD_path}/openocd",
- },
- "searchDir": ["${config:OCD_path}/scripts"],
- "configFiles": ["interface/${config:M4_OCD_interface_file}", "target/${config:M4_OCD_target_file}"],
- "interface": "swd",
- "runToEntryPoint": "main",
- "svdFile": "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include/${config:target}.svd"
- },
- {
- "name": "GDB (Arm M4)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/build/${config:program_file}",
- "args": [],
- "stopAtEntry": true,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3333",
- "debugServerArgs": "-s ${config:OCD_path}/scripts -f interface/${config:M4_OCD_interface_file} -f target/${config:M4_OCD_target_file} -c \"init; reset halt\"",
- "serverStarted": "Info : Listening on port 3333 for gdb connections",
- "filterStderr": true,
- "targetArchitecture": "arm",
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-arm.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text":"exec-file build/${config:program_file}" },
- { "text":"symbol-file build/${config:symbol_file}" },
- { "text":"target remote localhost:3333" },
- { "text":"monitor reset halt" },
- { "text":"set $pc=Reset_Handler"},
- { "text":"b main" }
- ]
- },
- {
- "name": "GDB (RISC-V)",
- "type": "cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/buildrv/${config:program_file}",
- "args": [],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "linux": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/openocd",
- },
- "windows": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb.exe",
- "debugServerPath": "${config:OCD_path}/openocd.exe",
- },
- "osx": {
- "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
- "debugServerPath": "${config:OCD_path}/bin/openocd",
- },
- "logging": {
- "exceptions": true,
- "trace": false,
- "traceResponse": false,
- "engineLogging": false
- },
- "miDebuggerServerAddress": "localhost:3334",
- "debugServerArgs": "-c \"gdb_port 3334\" -s ${config:OCD_path}/scripts -f interface/${config:RV_OCD_interface_file} -f target/${config:RV_OCD_target_file}",
- "serverStarted": "Info : Listening on port 3334 for gdb connections",
- "filterStderr": true,
- "customLaunchSetupCommands": [
- {"text":"-list-features"}
- ],
- "targetArchitecture": "arm",
- "setupCommands": [
- { "text":"set logging overwrite on"},
- { "text":"set logging file debug-riscv.log"},
- { "text":"set logging on"},
- { "text":"cd ${workspaceFolder}" },
- { "text": "set architecture riscv:rv32", "ignoreFailures": false },
- { "text":"exec-file build/${config:program_file}", "ignoreFailures": false },
- { "text":"symbol-file buildrv/${config:symbol_file}", "ignoreFailures": false },
- { "text":"target remote localhost:3334" },
- { "text":"b main" },
- { "text": "set $pc=Reset_Handler","ignoreFailures": false }
- ]
- }
- ]
-}
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/settings.json b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/settings.json
deleted file mode 100755
index c21b9c37ea4..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/settings.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "terminal.integrated.env.windows": {
- "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:MSYS_path}/usr/bin;${config:Make_path};${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.defaultProfile.windows": "Command Prompt",
-
- "terminal.integrated.env.linux": {
- "PATH":"${config:OCD_path}:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
- "terminal.integrated.env.osx": {
- "PATH":"${config:OCD_path}/bin:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}",
- "MAXIM_PATH":"${config:MAXIM_PATH}"
- },
-
- "target":"MAX32690",
- "board":"EvKit_V1",
-
- "project_name":"${workspaceFolderBasename}",
-
- "program_file":"${config:project_name}.elf",
- "symbol_file":"${config:program_file}",
-
- "M4_OCD_interface_file":"cmsis-dap.cfg",
- "M4_OCD_target_file":"max32690.cfg",
- "RV_OCD_interface_file":"ftdi/olimex-arm-usb-ocd-h.cfg",
- "RV_OCD_target_file":"${config:target}_riscv.cfg",
-
- "v_Arm_GCC":"10.3",
- "v_xPack_GCC":"12.2.0-3.1",
-
- "OCD_path":"${config:MAXIM_PATH}/Tools/OpenOCD",
- "ARM_GCC_path":"${config:MAXIM_PATH}/Tools/GNUTools/${config:v_Arm_GCC}",
- "xPack_GCC_path":"${config:MAXIM_PATH}/Tools/xPack/riscv-none-elf-gcc/${config:v_xPack_GCC}",
- "Make_path":"${config:MAXIM_PATH}/Tools/GNUTools/Make",
- "MSYS_path":"${config:MAXIM_PATH}/Tools/MSYS2",
-
- "C_Cpp.default.includePath": [
- "${workspaceFolder}",
- "${workspaceFolder}/**",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include",
- "${config:MAXIM_PATH}/Libraries/CMSIS/Include",
- "${config:ARM_GCC_path}/arm-none-eabi/include",
- "${config:ARM_GCC_path}/lib/gcc/arm-none-eabi/${config:v_Arm_GCC}/include",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Include/${config:target}",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/ExtMemory",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/stack/cfg",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/ble",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/common",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/dual_chip",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/exactle",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include/util"
- ],
- "C_Cpp.default.browse.path": [
- "${workspaceFolder}",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Source",
- "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Source",
- "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Source",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen",
- "${config:MAXIM_PATH}/Libraries/MiscDrivers",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/controller/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/wsf/sources",
- "${config:MAXIM_PATH}/Libraries/Cordio/platform/targets/maxim/max32665/sources"
- ],
- "C_Cpp.default.defines": [
-
- ],
- "C_Cpp.default.forcedInclude": [
- "${workspaceFolder}/build/project_defines.h"
- ]
-}
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/tasks.json b/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/tasks.json
deleted file mode 100755
index e95445e2b3e..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/.vscode/tasks.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "version": "2.0.0",
- "tasks": [
- {
- "label": "build",
- "type": "shell",
- "command": "make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean",
- "type": "shell",
- "command": "make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "clean-periph",
- "type": "shell",
- "command": "make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}",
- "osx":{
- "command": "source ~/.zshrc && make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}"
- },
- "group": "build",
- "problemMatcher": []
- },
- {
- "label": "flash",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4 ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "flash & run",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--cd=\"${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "-x=\"${workspaceFolder}/.vscode/flash.gdb\"",
- "--ex=\"flash_m4_run ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"",
- "--batch"
- ],
- "group": "build",
- "problemMatcher": [],
- "dependsOn":["build"]
- },
- {
- "label": "erase flash",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s", "${config:OCD_path}/scripts",
- "-f", "interface/${config:M4_OCD_interface_file}",
- "-f", "target/${config:M4_OCD_target_file}",
- "-c", "\"init; reset halt; max32xxx mass_erase 0;\"",
- "-c", "exit"
- ],
- "group":"build",
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "openocd (m4)",
- "type": "shell",
- "command": "openocd",
- "args": [
- "-s",
- "${config:OCD_path}/scripts",
- "-f",
- "interface/${config:M4_OCD_interface_file}",
- "-f",
- "target/${config:M4_OCD_target_file}",
- "-c",
- "\"init; reset halt\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- {
- "label": "gdb (m4)",
- "type": "shell",
- "command": "arm-none-eabi-gdb",
- "args": [
- "--ex=\"cd ${workspaceFolder}\"",
- "--se=\"build/${config:program_file}\"",
- "--symbols=build/${config:symbol_file}",
- "--ex=\"target remote localhost:3333\"",
- "--ex=\"monitor reset halt\"",
- "--ex=\"b main\"",
- "--ex=\"c\""
- ],
- "problemMatcher": [],
- "dependsOn":[]
- },
- ]
-}
\ No newline at end of file
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/Abstract.txt b/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/Abstract.txt
deleted file mode 100644
index c320ebf22ea..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/Abstract.txt
+++ /dev/null
@@ -1 +0,0 @@
-BLE fit example
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/BLE.sct b/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/BLE.sct
deleted file mode 100644
index d2482c178c7..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/ARM/BLE.sct
+++ /dev/null
@@ -1,47 +0,0 @@
-#! armcc -E
-
-
-; *************************************************************
-; *** Scatter-Loading Description File generated by uVision ***
-; *************************************************************
-
-; /*-Memory Regions-*/
-#define IROM_start__ 0x00000000
-#define IROM_size__ 0x00010000
-#define IFLASH_start__ 0x10000000
-#define IFLASH_size__ 0x00080000
-#define pal_nvm_db_start 0x10080000
-#define PAL_NVM_SIZE 0
-#define IRAM_start__ 0x20000000
-#define IRAM_size__ 0x00020000
-
-
-
-; /*-Sizes */
-;#define size_cstack__ 0x6000
-;#define size_heap__ 0x2000
-; /**** End of ICF editor section. ###ICF###*/
-
-#define memory mem with size = 4G;
-
-
-LR_IFLASH IFLASH_start__ IFLASH_size__ { ; load region size_region
-
- ER_IFLASH IFLASH_start__ IFLASH_size__ { ; load address = execution address
- *.o (RESET, +First)
- *(InRoot$$Sections)
- .ANY (+RO)
- .ANY (+XO)
- }
-
- PAL_NVM pal_nvm_db_start PAL_NVM_SIZE { ; RW data
- .ANY (+RO)
- }
-
- RW_IRAM1 IRAM_start__ IRAM_size__ { ; RW data
- .ANY (+RW +ZI)
- }
-
-
-
-}
\ No newline at end of file
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/BLE_fcc.launch b/Examples/MAX32690/Bluetooth/BLE_fcc/BLE_fcc.launch
deleted file mode 100644
index ecec6c86181..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/BLE_fcc.launch
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewd b/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewd
deleted file mode 100644
index c025f0103dd..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewd
+++ /dev/null
@@ -1,3056 +0,0 @@
-
-
- 3
-
- Debug
-
- ARM
-
- 1
-
- C-SPY
- 2
-
- 32
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARMSIM_ID
- 2
-
- 1
- 1
- 1
-
-
-
-
-
-
-
- CADI_ID
- 2
-
- 0
- 1
- 1
-
-
-
-
-
-
-
-
- CMSISDAP_ID
- 2
-
- 4
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GDBSERVER_ID
- 2
-
- 0
- 1
- 1
-
-
-
-
-
-
-
-
-
-
- IJET_ID
- 2
-
- 9
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- JLINK_ID
- 2
-
- 16
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LMIFTDI_ID
- 2
-
- 3
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
- NULINK_ID
- 2
-
- 0
- 1
- 1
-
-
-
-
-
-
- PEMICRO_ID
- 2
-
- 3
- 1
- 1
-
-
-
-
-
-
-
- STLINK_ID
- 2
-
- 7
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- THIRDPARTY_ID
- 2
-
- 0
- 1
- 1
-
-
-
-
-
-
-
- TIFET_ID
- 2
-
- 1
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XDS100_ID
- 2
-
- 8
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9BE.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
- 0
-
-
-
-
- Release
-
- ARM
-
- 0
-
- C-SPY
- 2
-
- 32
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARMSIM_ID
- 2
-
- 1
- 1
- 0
-
-
-
-
-
-
-
- CADI_ID
- 2
-
- 0
- 1
- 0
-
-
-
-
-
-
-
-
- CMSISDAP_ID
- 2
-
- 4
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GDBSERVER_ID
- 2
-
- 0
- 1
- 0
-
-
-
-
-
-
-
-
-
-
- IJET_ID
- 2
-
- 9
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- JLINK_ID
- 2
-
- 16
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LMIFTDI_ID
- 2
-
- 3
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- NULINK_ID
- 2
-
- 0
- 1
- 0
-
-
-
-
-
-
- PEMICRO_ID
- 2
-
- 3
- 1
- 0
-
-
-
-
-
-
-
- STLINK_ID
- 2
-
- 7
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- THIRDPARTY_ID
- 2
-
- 0
- 1
- 0
-
-
-
-
-
-
-
- TIFET_ID
- 2
-
- 1
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XDS100_ID
- 2
-
- 8
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9BE.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
- 0
-
-
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewp b/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewp
deleted file mode 100644
index 742fd29cfcb..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/IAR/BLE_dats.ewp
+++ /dev/null
@@ -1,4399 +0,0 @@
-
-
- 3
-
- Debug
-
- ARM
-
- 1
-
- General
- 3
-
- 33
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ICCARM
- 2
-
- 37
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AARM
- 2
-
- 11
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 1
-
-
-
-
-
-
-
-
- CUSTOM
- 3
-
-
-
- 1
- inputOutputBased
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 25
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 1
-
-
-
-
-
-
-
- Release
-
- ARM
-
- 0
-
- General
- 3
-
- 33
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ICCARM
- 2
-
- 37
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AARM
- 2
-
- 11
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OBJCOPY
- 0
-
- 1
- 1
- 0
-
-
-
-
-
-
-
-
- CUSTOM
- 3
-
-
-
- 0
- inputOutputBased
-
-
-
- BUILDACTION
- 1
-
-
-
-
-
-
- ILINK
- 0
-
- 25
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- IARCHIVE
- 0
-
- 0
- 1
- 0
-
-
-
-
-
-
-
- $PROJ_DIR$\..\fit_main.c
-
-
- $PROJ_DIR$\..\main.c
-
-
- $PROJ_DIR$\..\stack_fit.c
-
-
- CMSIS-Pack
- CMSISPack.Component
-
- Maxim Maxim API _Device.I2C_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/I2C/i2c_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/I2C/i2c_reva.c
-
-
-
- Maxim Maxim API _Device.RTC_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/RTC/rtc_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/RTC/rtc_reva.c
-
-
-
- $PROJ_DIR$\RTE\RTE_Components.h
-
-
- Maxim Maxim API _Device.CTB_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/CTB/ctb_common.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/CTB/ctb_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/CTB/ctb_reva.c
-
-
-
- Maxim Maxim API _Device.ICC_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/ICC/icc_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/ICC/icc_reva.c
-
-
-
- Maxim Maxim API _Device.Low Power_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/LP/lp_me18.c
-
-
-
- Maxim Maxim API _Device.TRNG_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/TRNG/trng_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/TRNG/trng_revb.c
-
-
-
- Maxim Maxim API _Device.WUT_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/WUT/wut_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/WUT/wut_reva.c
-
-
-
- Maxim Maxim BTLE _Bluetooth.Bluetooth LE_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/anpc/anpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_db.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_disc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_hw.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_server.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_terminal.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_ui.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/atpc/atpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/atps/atps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_eatt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_uuid.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_disc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_eatt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_proc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_read.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_sign.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_write.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_ccc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_csf.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_dyn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_eatt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_ind.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_proc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_read.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_sign.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_write.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/bas/bas_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_dtm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_pdufilt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_periodiclist.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_reslist.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_sniffer.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_whitelist.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/common/bb/bb_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/bda.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/blpc/blpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/blps/blps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/bstream.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/calc128.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/cfg/cfg_stack.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/common/chci/chci_tr.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/cpp/cpps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/crc32.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/cscp/cscps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/dis/dis_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_cte.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_dev.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_dev_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_leg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_lesc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sync_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/fcs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/fmpl/fmpl_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/gap/gap_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/gatt/gatt_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glpc/glpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_db.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/sensor/gyro_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_bis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cte.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_enc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/common/hci_core.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_core_ps.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_evt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/hci/hci_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/common/hci_tr.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hid/hid_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-apps/sources/hidapp/hidapp_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hrpc/hrpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hrps/hrps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/htpc/htpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/htps/htps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/init/init.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/init/init_ctr.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_coc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_cs2.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_data.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso_data.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_master_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_slave_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_bis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_enc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_master_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_slave_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_cs2.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_vs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_cs2.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_main_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/BlePhy/MAX32690/IAR/libphy_iar.a
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_cs2.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_master_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_slave_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_diag.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_dtm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_past.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_pc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_math.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_events.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_master_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_slave_ae.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_cis_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_conn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_iso.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_master.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_priv.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_sc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_slave.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_btn.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_cfg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_codec.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_crypto.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_flash.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_i2s.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_led.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_timer.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_twi.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/paspc/paspc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxpc/plxpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_db.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/prand.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/print.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/rscp/rscps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_ble.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/common/sch/sch_list.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/common/sch/sch_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_rm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_tm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/scpps/scpps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_aes.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_aes_rev.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_ccm_hci.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_cmac_hci.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_ecc_hci.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_db.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_non.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_act.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_alert.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_batt.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_bps.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_core.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cps.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cscs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cte.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_dis.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_gls.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_gyro.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hid.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hrs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hts.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_ipss.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_plxs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_px.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_rscs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_scpss.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_temp.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_time.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_uricfg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wdxs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wp.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wss.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/sensor/temp_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/terminal.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/tipc/tipc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/udsc/udsc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/thirdparty/uecc/uECC.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/thirdparty/uecc/uECC_ll.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_console.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_lcd.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_platform.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_timer.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/uribeacon/uricfg_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_ft.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_stream.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_au.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_dc.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_ft.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_phy.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_stream.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wpc/wpc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_assert.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_buf.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_bufio.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_cs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_detoken.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_efs.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_heap_sbrk.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_msg.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_nvm.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_os.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_queue.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_timer.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_trace.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wspc/wspc_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wsps/wsps_main.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Cordio/wsf/sources/util/wstr.c
-
-
-
- Maxim MAX32690 BSP _BSP.EvKit V1_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Boards/MAX32690/EvKit_V1/Source/board.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Boards/MAX32690/Source/led.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Boards/MAX32690/Source/pb.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/Boards/MAX32690/Source/stdio.c
-
-
-
- Maxim Maxim API _Device.DMA_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/DMA/dma_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/DMA/dma_reva.c
-
-
-
- Maxim Maxim API _Device.FLC_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_common.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_reva.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_revb.c
-
-
-
- Maxim Maxim API _Device.GPIO_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_common.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_reva.c
-
-
-
- Maxim Maxim API _Device.Startup_1.0.0
- CMSISPack.Component
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\cmain.s
-
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\heap.c
-
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\low_level_init.c
-
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\max32690.h
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_assert.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_delay.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_lock.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/nvic_table.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/pins_me18.c
-
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\startup_max32690.s
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/sys_me18.c
-
-
- $PROJ_DIR$\RTE\Device\MAX32690_Cortex-M4\system_max32690.c
-
-
-
- Maxim Maxim API _Device.Timers_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_common.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_revb.c
-
-
-
- Maxim Maxim API _Device.UART_1.0.0
- CMSISPack.Component
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_common.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_me18.c
-
-
- ${CMSIS_PACK_PATH_Maxim#MAX32690#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_revb.c
-
-
-
-
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<configuration xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
- <packages/>
- <device Dclock="96000000" Dcore="Cortex-M4" DcoreVersion="r0p1" Dendian="Little-endian" Dfamily="MAX32690-66" Dfpu="SP_FPU" Dmpu="NO_MPU" Dname="MAX32690" Dvendor="Maxim:23" Pname="Cortex-M4" Punits="2" info="ARM Cortex-M4 96 MHz, 512 kB RAM, 1 MB ROM" url="http://www.keil.com/dd2/maxim/max32690">
- <package info="Maxim Integrated MAX32690 Series Device Support, Board Support Package and Examples" name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- </device>
- <toolchain Tcompiler="IAR" Toutput="exe"/>
- <components>
- <component Cbundle="Maxim BTLE" Cbundleversion="1.0.0" Cclass="Bluetooth" Cgroup="Bluetooth LE" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/assettag/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/cycling/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/datc/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/dats/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/fit/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/hidapp/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/locator/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/medc/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/meds/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/tag/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/uribeacon/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/watch/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/cfg/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/hci/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gatt/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/ble/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/common/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/bb/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/platform/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/include/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/"/>
- <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/hidapp/hidapp_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/hci_core.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/hci_tr.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_bis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cte.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_enc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_core_ps.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_evt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_aes.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_aes_rev.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_ccm_hci.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_cmac_hci.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_ecc_hci.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_disc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_eatt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_proc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_read.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_sign.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_write.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_ccc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_csf.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_dyn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_eatt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_ind.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_proc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_read.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_sign.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_write.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_eatt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_uuid.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/cfg/cfg_stack.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_cte.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_dev.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_dev_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_lesc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sync_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/hci/hci_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_coc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_db.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_non.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_act.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_disc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_server.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave_leg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_terminal.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_db.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_hw.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_ui.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_console.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_lcd.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_platform.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_timer.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/anpc/anpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/atpc/atpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/atps/atps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/bas/bas_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/blpc/blpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/blps/blps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/cpp/cpps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/cscp/cscps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/dis/dis_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/fmpl/fmpl_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gap/gap_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gatt/gatt_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glpc/glpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_db.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hid/hid_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hrpc/hrpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hrps/hrps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/htpc/htpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/htps/htps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/paspc/paspc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxpc/plxpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_db.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/rscp/rscps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/scpps/scpps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/sensor/gyro_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/sensor/temp_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/tipc/tipc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/udsc/udsc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/uribeacon/uricfg_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_ft.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_stream.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_au.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_dc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_ft.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_stream.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wpc/wpc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wspc/wspc_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wsps/wsps_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_alert.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_batt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_bps.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_core.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cps.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cscs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cte.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_dis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_gls.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_gyro.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hid.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hrs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hts.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_ipss.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_plxs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_px.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_rscs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_scpss.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_temp.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_time.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_uricfg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wdxs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wp.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wss.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_dtm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_pdufilt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_periodiclist.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_reslist.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_sniffer.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_whitelist.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/init.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/init_ctr.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_cs2.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_data.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso_data.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_master_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_slave_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_bis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_enc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_master_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_slave_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_cs2.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_vs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_cs2.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_main_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_cs2.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_master_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_slave_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_diag.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_dtm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_past.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_pc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_phy.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_math.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_events.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_master_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_slave_ae.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_cis_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_conn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_iso.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_master.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_priv.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_sc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_slave.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_ble.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_rm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_tm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/bb/bb_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/chci/chci_tr.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/sch_list.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/sch_main.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_btn.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_cfg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_codec.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_crypto.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_flash.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_i2s.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_led.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_rtc.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_sys.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_timer.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_twi.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32690/sources/pal_uart.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/uECC_ll.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/uECC.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_assert.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_buf.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_bufio.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_cs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_detoken.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_efs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_heap_sbrk.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_msg.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_nvm.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_os.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_queue.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_timer.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_trace.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/bda.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/bstream.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/calc128.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/crc32.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/fcs.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/prand.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/print.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/terminal.c"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/wstr.c"/>
- <file category="library" condition="Startup IAR" deviceDependent="1" name="Libraries/BlePhy/MAX32690/IAR/libphy_iar.a"/>
- </component>
- <component Cbundle="MAX32690 BSP" Cbundleversion="1.0.0" Cclass="BSP" Cgroup="EvKit V1" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/Boards/MAX32690/EvKit_V1/Include/" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32690/EvKit_V1/Source/board.c" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/Boards/MAX32690/Include/" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32690/Source/led.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32690/Source/pb.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32690/Source/stdio.c" version="1.0.0"/>
- </component>
- <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.2.0">
- <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
- <file category="doc" name="CMSIS/Documentation/Core/html/index.html"/>
- <file category="include" name="CMSIS/Core/Include/"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="CTB" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CTB/ctb_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CTB/ctb_common.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CTB/ctb_reva.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="DMA" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/dma_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/dma_reva.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="FLC" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_common.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_reva.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_revb.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="GPIO" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_reva.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_common.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="I2C" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/i2c_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/i2c_reva.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="ICC" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/icc_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/icc_reva.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Low Power" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/LP/lp_me18.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="RTC" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/RTC/rtc_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/RTC/rtc_reva.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Startup" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Include/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Include/MAX32690/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ADC/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/AES/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CRC/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2S/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/LP/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/RTC/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SPI/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WDT/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/PT/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CTB/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CAN/" version="1.0.0"/>
- <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/LPCMP/" version="1.0.0"/>
- <file attr="config" category="sourceAsm" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Source/IAR/startup_max32690.s" version="1.0.0"/>
- <file attr="config" category="sourceC" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Source/IAR/low_level_init.c" version="1.0.0"/>
- <file attr="config" category="sourceAsm" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Source/IAR/cmain.s" version="1.0.0"/>
- <file attr="config" category="sourceC" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Source/IAR/heap.c" version="1.0.0"/>
- <file attr="config" category="sourceC" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Source/system_max32690.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/nvic_table.c" version="1.0.0"/>
- <file attr="config" category="header" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.h" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_assert.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_delay.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_lock.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/pins_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/sys_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/nvic_table.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Timers" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_revb.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_common.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="TRNG" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/trng_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/trng_revb.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="UART" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_revb.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_common.c" version="1.0.0"/>
- </component>
- <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="WUT" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1">
- <package name="MAX32690" url="https://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/wut_me18.c" version="1.0.0"/>
- <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/wut_reva.c" version="1.0.0"/>
- </component>
- </components>
- <apis/>
-</configuration>
-
-
-
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/Makefile b/Examples/MAX32690/Bluetooth/BLE_fcc/Makefile
deleted file mode 100644
index d6ae4b890bf..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/Makefile
+++ /dev/null
@@ -1,382 +0,0 @@
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-# ** Readme! **
-# Don't edit this file! This is the core Makefile for a MaximSDK
-# project. The available configuration options can be overridden
-# in "project.mk", on the command-line, or with system environment
-# variables.
-
-# See https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-# for more detailed instructions on how to use this system.
-
-# The detailed instructions mentioned above are easier to read than
-# this file, but the comments found in this file also outline the
-# available configuration variables. This file is organized into
-# sub-sections, some of which expose config variables.
-
-
-# *******************************************************************************
-# Set the target microcontroller and board to compile for.
-
-# Every TARGET microcontroller has some Board Support Packages (BSPs) that are
-# available for it under the MaximSDK/Libraries/Boards/TARGET folder. The BSP
-# that gets selected is MaximSDK/Libraries/Boards/TARGET/BOARD.
-
-# Configuration Variables:
-# - TARGET : Override the default target microcontroller. Ex: TARGET=MAX78000
-# - BOARD : Override the default BSP (case sensitive). Ex: BOARD=EvKit_V1, BOARD=FTHR_RevA
-
-
-ifeq "$(TARGET)" ""
-# Default target microcontroller
-TARGET := MAX32690
-TARGET_UC := MAX32690
-TARGET_LC := max32690
-else
-# "TARGET" has been overridden in the environment or on the command-line.
-# We need to calculate an upper and lowercase version of the part number,
-# because paths on Linux and MacOS are case-sensitive.
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-endif
-
-# Default board.
-BOARD ?= EvKit_V1
-
-# *******************************************************************************
-# Locate the MaximSDK
-
-# This Makefile needs to know where to find the MaximSDK, and the MAXIM_PATH variable
-# should point to the root directory of the MaximSDK installation. Setting this manually
-# is usually only required if you're working on the command-line.
-
-# If MAXIM_PATH is not specified, we assume the project still lives inside of the MaximSDK
-# and move up from this project's original location.
-
-# Configuration Variables:
-# - MAXIM_PATH : Tell this Makefile where to find the MaximSDK. Ex: MAXIM_PATH=C:/MaximSDK
-
-
-ifneq "$(MAXIM_PATH)" ""
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-# Locate some other useful paths...
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-endif
-
-# *******************************************************************************
-# Include project Makefile. We do this after formulating TARGET, BOARD, and MAXIM_PATH
-# in case project.mk needs to reference those values. However, we also include
-# this as early as possible in the Makefile so that it can append to or override
-# the variables below.
-
-
-PROJECTMK ?= $(abspath ./project.mk)
-include $(PROJECTMK)
-$(info Loaded project.mk)
-# PROJECTMK is also used by implicit rules and other libraries to add project.mk as a watch file
-
-# *******************************************************************************
-# Final path sanitization and re-calculation. No options here.
-
-ifeq "$(MAXIM_PATH)" ""
-# MAXIM_PATH is still not defined...
-DEPTH := ../../../../
-MAXIM_PATH := $(abspath $(DEPTH))
-$(warning Warning: MAXIM_PATH is not set! Set MAXIM_PATH in your environment or in project.mk to clear this warning.)
-$(warning Warning: Attempting to use $(MAXIM_PATH) calculated from relative path)
-else
-# Sanitize MAXIM_PATH for backslashes
-MAXIM_PATH := $(subst \,/,$(MAXIM_PATH))
-endif
-
-# Final recalculation of LIBS_DIR/CMSIS_ROOT
-LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries)
-CMSIS_ROOT := $(LIBS_DIR)/CMSIS
-
-# One final UC/LC check in case user set TARGET in project.mk
-TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET))))
-TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET))))
-
-export TARGET
-export TARGET_UC
-export TARGET_LC
-export CMSIS_ROOT
-# TODO: Remove dependency on exports for these variables.
-
-# *******************************************************************************
-# Set up search paths, and auto-detect all source code on those paths.
-
-# The following paths are searched by default, where "./" is the project directory.
-# ./
-# |- *.h
-# |- *.c
-# |-include (optional)
-# |- *.h
-# |-src (optional)
-# |- *.c
-
-# Configuration Variables:
-# - VPATH : Tell this Makefile to search additional locations for source (.c) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - IPATH : Tell this Makefile to search additional locations for header (.h) files.
-# You should use the "+=" operator with this option.
-# Ex: VPATH += your/new/path
-# - SRCS : Tell this Makefile to explicitly add a source (.c) file to the build.
-# This is really only useful if you want to add a source file that isn't
-# on any VPATH, in which case you can add the full path to the file here.
-# You should use the "+=" operator with this option.
-# Ex: SRCS += your/specific/source/file.c
-# - AUTOSEARCH : Set whether this Makefile should automatically detect .c files on
-# VPATH and add them to the build. This is enabled by default. Set
-# to 0 to disable. If autosearch is disabled, source files must be
-# manually added to SRCS.
-# Ex: AUTOSEARCH = 0
-
-
-# Where to find source files for this project.
-VPATH += .
-VPATH += src
-VPATH := $(VPATH)
-
-# Where to find header files for this project
-IPATH += .
-IPATH += include
-IPATH := $(IPATH)
-
-AUTOSEARCH ?= 1
-ifeq ($(AUTOSEARCH), 1)
-# Auto-detect all C/C++ source files on VPATH
-SRCS += $(wildcard $(addsuffix /*.c, $(VPATH)))
-SRCS += $(wildcard $(addsuffix /*.cpp, $(VPATH)))
-endif
-
-# Collapse SRCS before passing them on to the next stage
-SRCS := $(SRCS)
-
-# *******************************************************************************
-# Set the output filename
-
-# Configuration Variables:
-# - PROJECT : Override the default output filename. Ex: PROJECT=MyProject
-
-
-# The default value creates a file named after the target micro. Ex: MAX78000.elf
-PROJECT ?= $(TARGET_LC)
-
-# *******************************************************************************
-# Compiler options
-
-# Configuration Variables:
-# - DEBUG : Set DEBUG=1 to build explicitly for debugging. This adds some additional
-# symbols and sets -Og as the default optimization level.
-# - MXC_OPTIMIZE_CFLAGS : Override the default compiler optimization level.
-# Ex: MXC_OPTIMIZE_CFLAGS = -O2
-# - PROJ_CFLAGS : Add additional compiler flags to the build.
-# You should use the "+=" operator with this option.
-# Ex: PROJ_CFLAGS += -Wextra
-# - MFLOAT_ABI : Set the floating point acceleration level.
-# The only options are "hard", "soft", or "softfp".
-# Ex: MFLOAT_ABI = hard
-# - LINKERFILE : Override the default linkerfile.
-# Ex: LINKERFILE = customlinkerfile.ld
-# - LINKERPATH : Override the default search location for $(LINKERFILE)
-# The default search location is $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC
-# If $(LINKERFILE) cannot be found at this path, then the root project
-# directory will be used as a fallback.
-
-# Select 'GCC' or 'IAR' compiler
-ifeq "$(COMPILER)" ""
-COMPILER := GCC
-endif
-
-# Set default compiler optimization levels
-ifeq "$(MAKECMDGOALS)" "release"
-# Default optimization level for "release" builds (make release)
-MXC_OPTIMIZE_CFLAGS ?= -O2
-DEBUG = 0
-endif
-
-ifeq ($(DEBUG),1)
-# Optimizes for debugging as recommended
-# by GNU for code-edit-debug cycles
-# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options
-MXC_OPTIMIZE_CFLAGS := -Og
-endif
-
-# Default level if not building for release or explicitly for debug
-MXC_OPTIMIZE_CFLAGS ?= -Og
-
-# Set compiler flags
-PROJ_CFLAGS += -Wall # Enable warnings
-PROJ_CFLAGS += -DMXC_ASSERT_ENABLE
-
-# Set hardware floating point acceleration.
-# Options are:
-# - hard
-# - soft
-# - softfp (default if MFLOAT_ABI is not set)
-MFLOAT_ABI ?= softfp
-# MFLOAT_ABI must be exported to other Makefiles
-export MFLOAT_ABI
-
-# This path contains system-level intialization files for the target micro. Add to the build.
-VPATH += $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source
-
-# *******************************************************************************
-# Secure Boot Tools (SBT)
-
-# This section integrates the Secure Boot Tools. It's intended for use with
-# microcontrollers that have a secure bootloader.
-
-# Enabling SBT integration will add some special rules, such as "make sla", "make scpa", etc.
-
-# Configuration variables:
-# SBT : Toggle SBT integration. Set to 1 to enable, or 0
-# to disable
-# MAXIM_SBT_DIR : Specify the location of the SBT tool binaries. This defaults to
-# Tools/SBT in the MaximSDK. The standalone SBT installer will override
-# this via an environment variable.
-# TARGET_SEC : Specify the part number to be passed into the SBT. This should match
-# the secure variant part #. The default value will depend on TARGET.
-# For example, TARGET=MAX32650 will result in TARGET_SEC=MAX32651, and
-# the default selection happens in Tools/SBT/SBT-config.
-# However, if there are multiple secure part #s for the target
-# microcontroller this variable may need to be changed.
-
-SBT ?= 0
-ifeq ($(SBT), 1)
-MAXIM_SBT_DIR ?= $(MAXIM_PATH)/Tools/SBT
-MAXIM_SBT_DIR := $(subst \,/,$(MAXIM_SBT_DIR))
-# ^ Must sanitize path for \ on Windows, since this may come from an environment
-# variable.
-
-export MAXIM_SBT_DIR # SBTs must have this environment variable defined to work
-
-# SBT-config.mk and SBT-rules.mk are included further down this Makefile.
-
-endif # SBT
-
-# *******************************************************************************
-# Default goal selection. This section allows you to override the default goal
-# that will run if no targets are specified on the command-line.
-# (ie. just running 'make' instead of 'make all')
-
-# Configuration variables:
-# .DEFAULT_GOAL : Set the default goal if no targets were specified on the
-# command-line
-# ** "override" must be used with this variable. **
-# Ex: "override .DEFAULT_GOAL = mygoal"
-
-ifeq "$(.DEFAULT_GOAL)" ""
-ifeq ($(SBT),1)
-override .DEFAULT_GOAL := sla
-else
-override .DEFAULT_GOAL := all
-endif
-endif
-
-# Developer note: 'override' is used above for legacy Makefile compatibility.
-# gcc.mk/gcc_riscv.mk need to hard-set 'all' internally, so this new system
-# uses 'override' to come in over the top without breaking old projects.
-
-# It's also necessary to explicitly set MAKECMDGOALS...
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-# Enable colors when --sync-output is used.
-# See https://www.gnu.org/software/make/manual/make.html#Terminal-Output (section 13.2)
-ifneq ($(MAKE_TERMOUT),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-ifneq ($(FORCE_COLOR),)
-PROJ_CFLAGS += -fdiagnostics-color=always
-endif
-
-# *******************************************************************************
-# Include SBT config. We need to do this here because it needs to know
-# the current MAKECMDGOAL.
-ifeq ($(SBT),1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-config.mk
-endif
-
-# *******************************************************************************
-# Libraries
-
-# This section offers "toggle switches" to include or exclude the libraries that
-# are available in the MaximSDK. Set a configuration variable to 1 to include the
-# library in the build, or 0 to exclude.
-
-# Each library may also have its own library specific configuration variables. See
-# Libraries/libs.mk for more details.
-
-# Configuration variables:
-# - LIB_BOARD : Include the Board-Support Package (BSP) library. (Enabled by default)
-# - LIB_PERIPHDRIVERS : Include the peripheral driver library. (Enabled by default)
-# - LIB_CMSIS_DSP : Include the CMSIS-DSP library.
-# - LIB_CORDIO : Include the Cordio BLE library
-# - LIB_FCL : Include the Free Cryptographic Library (FCL)
-# - LIB_FREERTOS : Include the FreeRTOS and FreeRTOS-Plus-CLI libraries
-# - LIB_LC3 : Include the Low Complexity Communication Codec (LC3) library
-# - LIB_LITTLEFS : Include the "little file system" (littleFS) library
-# - LIB_LWIP : Include the lwIP library
-# - LIB_MAXUSB : Include the MAXUSB library
-# - LIB_SDHC : Include the SDHC library
-
-include $(LIBS_DIR)/libs.mk
-
-
-# *******************************************************************************
-# Rules
-
-# Include the rules for building for this target. All other makefiles should be
-# included before this one.
-include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk
-
-# Include the rules that integrate the SBTs. SBTs are a special case that must be
-# include after the core gcc rules to extend them.
-ifeq ($(SBT), 1)
-include $(MAXIM_PATH)/Tools/SBT/SBT-rules.mk
-endif
-
-
-# Get .DEFAULT_GOAL working.
-ifeq "$(MAKECMDGOALS)" ""
-MAKECMDGOALS:=$(.DEFAULT_GOAL)
-endif
-
-
-all:
-# Extend the functionality of the "all" recipe here
- $(PREFIX)-size --format=berkeley $(BUILD_DIR)/$(PROJECT).elf
-
-libclean:
- $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph
-
-clean:
-# Extend the functionality of the "clean" recipe here
-
-# The rule to clean out all the build products.
-distclean: clean libclean
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/README.md b/Examples/MAX32690/Bluetooth/BLE_fcc/README.md
deleted file mode 100644
index af372dfeb5d..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# BLE_fcc
-
-Simple serial port console for FCC testing.
-Refer to [BLE_fcc](../../../../Libraries/Cordio/docs/Applications/BLE_fcc.md) documentation in the Cordio Library.
-
-## Software
-
-### Project Usage
-
-Universal instructions on building, flashing, and debugging this project can be found in the **[MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)**.
-
-### Required Connections
-
-If using the MAX32690EVKIT:
-- Connect a USB cable between the PC and the CN2 (USB/PWR) connector.
-- Install headers JP7(RX\_EN) and JP8(TX\_EN).
-- Open a terminal application on the PC and connect to the EV kit's console UART at 115200, 8-N-1.
-
-If using the MAX32690FTHR:
-- Connect a USB cable between the PC and the J5 (USB/PWR) connector.
-- Open a terminal application on the PC and connect to the EV kit's console UART at 115200, 8-N-1.
-
-If using the AD-APARD32690-SL:
-- Connect a USB cable between the PC and the P10 (USB-C) connector.
-- Connect a MAXPICO Debug adapter to P9 (SWD Connector)
-- Open a terminal application on the PC and connect to the MAXPICO's console UART at 115200, 8-N-1.
-
-### Project-Specific Build Notes
-* Setting `TRACE=1` in [**project.mk**](project.mk) initializes the on-board USB-to-UART adapter for
-viewing the trace messages and interacting with the application. Port uses settings:
- - Baud : 115200
- - Char size : 8
- - Parity : None
- - Stop bits : 1
- - HW Flow Control : No
- - SW Flow Control : No
-* Setting `SBT=1` in [**project.mk**](project.mk) enables Secure Boot Tools for the project
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/main.c b/Examples/MAX32690/Bluetooth/BLE_fcc/main.c
deleted file mode 100644
index 3efb2f9dd56..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/main.c
+++ /dev/null
@@ -1,537 +0,0 @@
-/*************************************************************************************************/
-/*!
- * @file main.c
- * @brief BLE project with simple serial console for FCC testing
- *
- * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
- *
- * Copyright (c) 2019-2020 Packetcraft, Inc.
- *
- * Portions Copyright (c) 2022-2023 Analog Devices, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*************************************************************************************************/
-
-#include
-#include
-#include "ll_init_api.h"
-#include "chci_tr.h"
-#include "lhci_api.h"
-#include "hci_defs.h"
-#include "wsf_assert.h"
-#include "wsf_buf.h"
-#include "wsf_cs.h"
-#include "wsf_heap.h"
-#include "wsf_timer.h"
-#include "wsf_trace.h"
-#include "wsf_bufio.h"
-#include "bb_ble_sniffer_api.h"
-#include "pal_bb.h"
-#include "pal_cfg.h"
-#include "tmr.h"
-
-/**************************************************************************************************
- Definitions
-**************************************************************************************************/
-
-/*! \brief UART TX buffer size */
-#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U
-
-#define FREQ_HOP_PERIOD_US 20000
-
-/**************************************************************************************************
- Global Variables
-**************************************************************************************************/
-
-/*! \brief Persistent BB runtime configuration. */
-static BbRtCfg_t mainBbRtCfg;
-
-/*! \brief Persistent LL runtime configuration. */
-static LlRtCfg_t mainLlRtCfg;
-
-static uint8_t phy = LL_PHY_LE_1M;
-static uint8_t phy_str[16];
-static uint8_t txFreqHopCh;
-
-/**************************************************************************************************
- Functions
-**************************************************************************************************/
-
-/*! \brief Physical layer functions. */
-extern void llc_api_set_txpower(int8_t power);
-extern void dbb_seq_select_rf_channel(uint32_t rf_channel);
-extern void llc_api_tx_ldo_setup(void);
-extern void dbb_seq_tx_enable(void);
-extern void dbb_seq_tx_disable(void);
-
-/*************************************************************************************************/
-/*!
- * \fn Get PHY String.
- *
- * \brief Convert the PHY definition to a string.
- *
- * \param phy PHY definition.
- *
- * \return Pointer to string describing the PHY.
- */
-/*************************************************************************************************/
-static uint8_t *getPhyStr(uint8_t phy)
-{
- switch (phy) {
- case LL_TEST_PHY_LE_1M:
- default:
- memcpy(phy_str, "1M PHY", 7);
- break;
- case LL_TEST_PHY_LE_2M:
- memcpy(phy_str, "2M PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S8:
- memcpy(phy_str, "S8 PHY", 7);
- break;
- case LL_TEST_PHY_LE_CODED_S2:
- memcpy(phy_str, "S2 PHY", 7);
- break;
- }
- return phy_str;
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Timer 2 interrupts handler.
- *
- * \brief Controls the frequency hopping.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void TMR2_IRQHandler(void)
-{
- int res;
-
- MXC_TMR_TO_Clear(MXC_TMR2);
-
- /* Start the next channel */
- res = LlEnhancedTxTest(txFreqHopCh++, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
- if (res != LL_SUCCESS)
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
-
- /* Wrap the channels */
- if (txFreqHopCh == 40)
- txFreqHopCh = 0;
-
- /* Restart the timeout */
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
- MXC_TMR_EnableInt(MXC_TMR2);
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Usage statement
- *
- * \brief Prints the usage statement.
- *
- * \param None.
- *
- * \return None.
- */
-/*************************************************************************************************/
-void printUsage(void)
-{
- APP_TRACE_INFO0("Usage: ");
- APP_TRACE_INFO0(" (0) Transmit Continuous Modulated on RF channel 0 (2402 MHz)");
- APP_TRACE_INFO0(" (1) Transmit Continuous Modulated on RF channel 19 (2440 MHz)");
- APP_TRACE_INFO0(" (2) Transmit Continuous Modulated RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (3) Receive on RF channel 39 (2480 MHz)");
- APP_TRACE_INFO0(" (4) Set Transmit power");
- APP_TRACE_INFO0(" (5) Enable Constant Unmodulated TX");
- APP_TRACE_INFO0(" (6) Disable constant TX -- MUST be called after (5)");
- /* APP_TRACE_INFO0(" (7) Set PA value"); */
- APP_TRACE_INFO0(" (8) Set PHY");
- APP_TRACE_INFO0(" (9) TX Frequency Hop");
- APP_TRACE_INFO0(" (e) End transmission -- MUST be used after each (0-3, 9)");
- APP_TRACE_INFO0(" (u) Print usage");
-}
-
-/*************************************************************************************************/
-/*!
- * \fn Process the Console RX
- *
- * \brief State machine for the console inputs.
- *
- * \param rxByte Character received from the console.
- *
- * \return None.
- */
-/*************************************************************************************************/
-static void processConsoleRX(uint8_t rxByte)
-{
- int res;
-
- /* Holds the state of the command and the parameter */
- static uint8_t cmd = 0;
- static uint8_t param = 0;
-
- /* Determines if the incoming character is a command or a parameter */
- if (cmd == 0)
- cmd = rxByte;
- else
- param = rxByte;
-
- switch (cmd) {
- case '0':
-
- APP_TRACE_INFO1("Transmit RF channel 0, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(0, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '1':
-
- APP_TRACE_INFO1("Transmit RF channel 19, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(19, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '2':
-
- APP_TRACE_INFO1("Transmit RF channel 39, 255 bytes/pkt, PRBS15, %s, forever ..",
- getPhyStr(phy));
- res = LlEnhancedTxTest(39, 255, LL_TEST_PKT_TYPE_PRBS15, phy, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '3':
-
- APP_TRACE_INFO1("Receive RF channel 39, %s, forever ..", getPhyStr(phy));
- res = LlEnhancedRxTest(39, phy, 0, 0);
- APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
- cmd = 0;
- break;
-
- case '4':
-
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit power");
- APP_TRACE_INFO0(" 0: -10 dBm");
- APP_TRACE_INFO0(" 1: 0 dBm");
- APP_TRACE_INFO0(" 2: 4.5 dBm");
- break;
- }
-
- switch (param) {
- case '0':
- llc_api_set_txpower(-10);
- LlSetAdvTxPower(-10);
- APP_TRACE_INFO0("Power set to -10 dBm");
- break;
- case '1':
- llc_api_set_txpower(0);
- LlSetAdvTxPower(0);
- APP_TRACE_INFO0("Power set to 0 dBm");
- break;
- case '2':
- llc_api_set_txpower(4);
- LlSetAdvTxPower(4);
- APP_TRACE_INFO0("Power set to 4.5 dBm");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
- cmd = 0;
- param = 0;
- break;
-
- case '5':
- if (param == 0) {
- APP_TRACE_INFO0("Select transmit channel");
- APP_TRACE_INFO0(" 0: 0");
- APP_TRACE_INFO0(" 1: 19");
- APP_TRACE_INFO0(" 2: 39");
- break;
- }
-
- switch (param) {
- case '0':
- dbb_seq_select_rf_channel(0);
- APP_TRACE_INFO0("Channel set to 0");
- break;
- case '1':
- dbb_seq_select_rf_channel(19);
- APP_TRACE_INFO0("Channel set to 19");
- break;
- case '2':
- dbb_seq_select_rf_channel(39);
- APP_TRACE_INFO0("Channel set to 39");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- APP_TRACE_INFO0("Starting TX");
-
- PalBbEnable();
-
- llc_api_tx_ldo_setup();
-
- /* Enable constant TX */
- dbb_seq_tx_enable();
-
- cmd = 0;
- param = 0;
- break;
-
- case '6':
- APP_TRACE_INFO0("Disabling TX");
-
- /* Disable constant TX */
- dbb_seq_tx_disable();
-
- PalBbDisable();
-
- cmd = 0;
- break;
-
- case '8':
- if (param == 0) {
- /* Set the PHY */
- APP_TRACE_INFO0("Select PHY");
- APP_TRACE_INFO0("1: 1M");
- APP_TRACE_INFO0("2: 2M");
- APP_TRACE_INFO0("3: S8");
- APP_TRACE_INFO0("4: S2");
- break;
- }
-
- switch (param) {
- case '1':
- phy = LL_TEST_PHY_LE_1M;
- APP_TRACE_INFO0("PHY set to 1M");
- break;
- case '2':
- phy = LL_TEST_PHY_LE_2M;
- APP_TRACE_INFO0("PHY set to 2M");
- break;
- case '3':
- phy = LL_TEST_PHY_LE_CODED_S8;
- APP_TRACE_INFO0("PHY set to S8");
- break;
- case '4':
- phy = LL_TEST_PHY_LE_CODED_S2;
- APP_TRACE_INFO0("PHY set to S2");
- break;
- default:
- APP_TRACE_INFO0("Invalid selection");
- break;
- }
-
- cmd = 0;
- param = 0;
- break;
- case '9':
- /* Frequency hopping TX */
- APP_TRACE_INFO0("Starting frequency hopping");
- NVIC_EnableIRQ(TMR2_IRQn);
- MXC_TMR_TO_Start(MXC_TMR2, FREQ_HOP_PERIOD_US);
- MXC_TMR_EnableInt(MXC_TMR2);
- cmd = 0;
- break;
-
- case 'E':
- case 'e':
-
- APP_TRACE_INFO0("End test");
- MXC_TMR_Stop(MXC_TMR2);
- LlEndTest(NULL);
- cmd = 0;
- break;
-
- case 'U':
- case 'u':
- printUsage();
- cmd = 0;
- break;
-
- default:
- APP_TRACE_INFO0("Invalid selection");
- cmd = 0;
- param = 0;
- break;
- }
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Load runtime configuration.
- */
-/*************************************************************************************************/
-static void mainLoadConfiguration(void)
-{
- PalBbLoadCfg((PalBbCfg_t *)&mainBbRtCfg);
- LlGetDefaultRunTimeCfg(&mainLlRtCfg);
- PalCfgLoadData(PAL_CFG_ID_LL_PARAM, &mainLlRtCfg.maxAdvSets, sizeof(LlRtCfg_t) - 9);
- PalCfgLoadData(PAL_CFG_ID_BLE_PHY, &mainLlRtCfg.phy2mSup, 4);
-
- /* Set 5.1 requirements. */
- mainLlRtCfg.btVer = LL_VER_BT_CORE_SPEC_5_0;
-
- /* Set the 32k sleep clock accuracy into one of the following bins, default is 20
- HCI_CLOCK_500PPM
- HCI_CLOCK_250PPM
- HCI_CLOCK_150PPM
- HCI_CLOCK_100PPM
- HCI_CLOCK_75PPM
- HCI_CLOCK_50PPM
- HCI_CLOCK_30PPM
- HCI_CLOCK_20PPM
- */
- mainBbRtCfg.clkPpm = 20;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Initialize WSF.
- */
-/*************************************************************************************************/
-static void mainWsfInit(void)
-{
- /* +12 for message headroom, + 2 event header, +255 maximum parameter length. */
- const uint16_t maxRptBufSize = 12 + 2 + 255;
-
- /* +12 for message headroom, +ISO Data Load, +4 for header. */
- const uint16_t dataBufSize =
- 12 + HCI_ISO_DL_MAX_LEN + mainLlRtCfg.maxAclLen + 4 + BB_DATA_PDU_TAILROOM;
-
- /* Use single pool for data buffers. */
-#if (BT_VER > 9)
- WSF_ASSERT(mainLlRtCfg.maxAclLen == mainLlRtCfg.maxIsoSduLen);
-#endif
-
- /* Ensure pool buffers are ordered correctly. */
- WSF_ASSERT(maxRptBufSize < dataBufSize);
-
- wsfBufPoolDesc_t poolDesc[] = {
- { 16, 8 },
- { 32, 4 },
- { 128, mainLlRtCfg.maxAdvReports },
- { maxRptBufSize, mainLlRtCfg.maxAdvReports }, /* Extended reports. */
- { dataBufSize, mainLlRtCfg.numTxBufs + mainLlRtCfg.numRxBufs + mainLlRtCfg.numIsoTxBuf +
- mainLlRtCfg.numIsoRxBuf }
- };
-
- const uint8_t numPools = sizeof(poolDesc) / sizeof(poolDesc[0]);
-
- /* Initial buffer configuration. */
- uint16_t memUsed;
- WsfCsEnter();
- memUsed = WsfBufInit(numPools, poolDesc);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- WsfOsInit();
- WsfTimerInit();
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfTraceRegisterHandler(WsfBufIoWrite);
- WsfTraceEnable(TRUE);
-#endif
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Check and service tokens (Trace and sniffer).
- *
- * \return TRUE if there is token pending.
- */
-/*************************************************************************************************/
-static bool_t mainCheckServiceTokens(void)
-{
- bool_t eventPending = FALSE;
-
-#if (WSF_TOKEN_ENABLED == TRUE) || (BB_SNIFFER_ENABLED == TRUE)
- eventPending = LhciIsEventPending();
-#endif
-
-#if WSF_TOKEN_ENABLED == TRUE
- /* Allow only a single token to be processed at a time. */
- if (!eventPending)
- eventPending = WsfTokenService();
-#endif
-
-#if (BB_SNIFFER_ENABLED == TRUE)
- /* Service one sniffer packet, if in the buffer. */
- if (!eventPending)
- eventPending = LhciSnifferHandler();
-#endif
-
- return eventPending;
-}
-
-/*************************************************************************************************/
-/*!
- * \brief Main entry point.
- */
-/*************************************************************************************************/
-int main(void)
-{
- uint32_t memUsed;
-
- mainLoadConfiguration();
- mainWsfInit();
-
-#if (WSF_TRACE_ENABLED == TRUE)
- WsfCsEnter();
- memUsed = WsfBufIoUartInit(WsfHeapGetFreeStartAddress(), PLATFORM_UART_TERMINAL_BUFFER_SIZE);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-#endif
-
- WsfCsEnter();
- LlInitRtCfg_t llCfg = { .pBbRtCfg = &mainBbRtCfg,
- .wlSizeCfg = 4,
- .rlSizeCfg = 4,
- .plSizeCfg = 4,
- .pLlRtCfg = &mainLlRtCfg,
- .pFreeMem = WsfHeapGetFreeStartAddress(),
- .freeMemAvail = WsfHeapCountAvailable() };
-
- memUsed = LlInitControllerInit(&llCfg);
- WsfHeapAlloc(memUsed);
- WsfCsExit();
-
- bdAddr_t bdAddr;
- PalCfgLoadData(PAL_CFG_ID_BD_ADDR, bdAddr, sizeof(bdAddr_t));
- /* Coverity[uninit_use_in_call] */
- LlSetBdAddr((uint8_t *)&bdAddr);
-
- WsfOsRegisterSleepCheckFunc(mainCheckServiceTokens);
- WsfOsRegisterSleepCheckFunc(ChciTrService);
-
- /* Register the UART RX request */
- WsfBufIoUartRegister(processConsoleRX);
-
- printUsage();
-
- WsfOsEnterMainLoop();
-
- /* Does not return. */
- return 0;
-}
diff --git a/Examples/MAX32690/Bluetooth/BLE_fcc/project.mk b/Examples/MAX32690/Bluetooth/BLE_fcc/project.mk
deleted file mode 100644
index 52c2a5eb9cc..00000000000
--- a/Examples/MAX32690/Bluetooth/BLE_fcc/project.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file can be used to set build configuration
-# variables. These variables are defined in a file called
-# "Makefile" that is located next to this one.
-
-# For instructions on how to use this system, see
-# https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system
-
-# **********************************************************
-
-# If you have secure version of MCU, set SBT=1 to generate signed binary
-# For more information on how sing process works, see
-# https://www.analog.com/en/education/education-library/videos/6313214207112.html
-SBT=0
-
-# Enable Cordio library
-LIB_CORDIO = 1
-
-# TRACE option
-# Set to 0 to disable
-# Set to 2 to enable serial port trace messages
-TRACE = 2
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/gcr_regs.h
index 318bef56ab3..38e9f2e2748 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/gcr_regs.h
@@ -681,75 +681,63 @@ typedef struct {
* @brief BTLE LDO Control Register
* @{
*/
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS 0 /**< BTLELDOCTRL_LDOTXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS)) /**< BTLELDOCTRL_LDOTXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS 0 /**< BTLELDOCTRL_LDOBBEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS)) /**< BTLELDOCTRL_LDOBBEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS 1 /**< BTLELDOCTRL_LDOTXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS)) /**< BTLELDOCTRL_LDOTXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS 1 /**< BTLELDOCTRL_LDOBBPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS)) /**< BTLELDOCTRL_LDOBBPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS 2 /**< BTLELDOCTRL_LDOTXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS)) /**< BTLELDOCTRL_LDOTXVSEL Mask */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDOTXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDOTXVSEL_0_85 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDOTXVSEL_0_9 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_9 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDOTXVSEL_1_1 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_1_1 Setting */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS 2 /**< BTLELDOCTRL_LDOBBVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS)) /**< BTLELDOCTRL_LDOBBVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0_POS 2 /**< BTLELDOCTRL_LDOTXVSEL0 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0_POS)) /**< BTLELDOCTRL_LDOTXVSEL0 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS 4 /**< BTLELDOCTRL_LDORFEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS)) /**< BTLELDOCTRL_LDORFEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1_POS 3 /**< BTLELDOCTRL_LDOTXVSEL1 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1_POS)) /**< BTLELDOCTRL_LDOTXVSEL1 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS 5 /**< BTLELDOCTRL_LDORFPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS)) /**< BTLELDOCTRL_LDORFPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS 4 /**< BTLELDOCTRL_LDORXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS)) /**< BTLELDOCTRL_LDORXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS 6 /**< BTLELDOCTRL_LDORFVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS)) /**< BTLELDOCTRL_LDORFVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDORFVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDORFVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDORFVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDORFVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS 5 /**< BTLELDOCTRL_LDORXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS)) /**< BTLELDOCTRL_LDORXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS 8 /**< BTLELDOCTRL_LDORFBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS)) /**< BTLELDOCTRL_LDORFBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS 6 /**< BTLELDOCTRL_LDORXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS)) /**< BTLELDOCTRL_LDORXVSEL Mask */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDORXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_7 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_7 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDORXVSEL_0_85 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDORXVSEL_0_9 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_9 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDORXVSEL_1_1 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_1_1 Setting */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS 9 /**< BTLELDOCTRL_LDORFDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS)) /**< BTLELDOCTRL_LDORFDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0_POS 6 /**< BTLELDOCTRL_LDORXVSEL0 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0_POS)) /**< BTLELDOCTRL_LDORXVSEL0 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS 10 /**< BTLELDOCTRL_LDOBBBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS)) /**< BTLELDOCTRL_LDOBBBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1_POS 7 /**< BTLELDOCTRL_LDORXVSEL1 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1_POS)) /**< BTLELDOCTRL_LDORXVSEL1 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS 11 /**< BTLELDOCTRL_LDOBBDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS)) /**< BTLELDOCTRL_LDOBBDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS 8 /**< BTLELDOCTRL_LDORXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS)) /**< BTLELDOCTRL_LDORXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS 12 /**< BTLELDOCTRL_LDOBBENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS)) /**< BTLELDOCTRL_LDOBBENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS 9 /**< BTLELDOCTRL_LDORXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS)) /**< BTLELDOCTRL_LDORXDISCH Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS 13 /**< BTLELDOCTRL_LDORFENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS)) /**< BTLELDOCTRL_LDORFENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS 10 /**< BTLELDOCTRL_LDOTXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS)) /**< BTLELDOCTRL_LDOTXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORFBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORFBYPENENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS 11 /**< BTLELDOCTRL_LDOTXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS)) /**< BTLELDOCTRL_LDOTXDISCH Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS 12 /**< BTLELDOCTRL_LDOTXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS)) /**< BTLELDOCTRL_LDOTXENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS 13 /**< BTLELDOCTRL_LDORXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS)) /**< BTLELDOCTRL_LDORXENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORXBYPENENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOTXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOTXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOBBBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOBBBYPENENDLY Mask */
/**@} end of group GCR_BTLELDOCTRL_Register */
@@ -762,11 +750,11 @@ typedef struct {
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS 0 /**< BTLELDODLY_BYPDLYCNT Position */
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT ((uint32_t)(0xFFUL << MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS)) /**< BTLELDODLY_BYPDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS 8 /**< BTLELDODLY_LDORXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS)) /**< BTLELDODLY_LDORXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS 8 /**< BTLELDODLY_LDOBBDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS)) /**< BTLELDODLY_LDOBBDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS 20 /**< BTLELDODLY_LDOTXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS)) /**< BTLELDODLY_LDOTXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS 20 /**< BTLELDODLY_LDORFDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS)) /**< BTLELDODLY_LDORFDLYCNT Mask */
/**@} end of group GCR_BTLELDODLY_Register */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd
index 7e1cd74e8dc..e371f1600cc 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd
+++ b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.svd
@@ -3822,36 +3822,36 @@
0x74
- LDOTXEN
- LDOTX Enable.
+ LDOBBEN
+ LDOBB Enable.
0
1
- LDOTXPULLD
- LDOTX Pull Down.
+ LDOBBPULLD
+ LDOBB Pull Down.
1
1
- LDOTXVSEL
- LDOTX Voltage Setting.
+ LDOBBVSEL
+ LDOBB Voltage Setting.
2
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -3862,36 +3862,36 @@
- LDORXEN
- LDORX Enable.
+ LDORFEN
+ LDORF Enable.
4
1
- LDORXPULLD
- LDOrX Pull Down.
+ LDORFPULLD
+ LDORF Pull Down.
5
1
- LDORXVSEL
- LDORX Voltage Setting.
+ LDORFVSEL
+ LDORF Voltage Setting.
6
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -3902,50 +3902,50 @@
- LDORXBYP
- LDORX Bypass Enable.
+ LDORFBYP
+ LDORF Bypass Enable.
8
1
- LDORXDISCH
- LDORX Discharge.
+ LDORFDISCH
+ LDORF Discharge.
9
1
- LDOTXBYP
- LDOTX Bypass Enable.
+ LDOBBBYP
+ LDOBB Bypass Enable.
10
1
- LDOTXDISCH
- LDOTX Discharge.
+ LDOBBDISCH
+ LDOBB Discharge.
11
1
- LDOTXENDLY
- LDOTX Enable Delay.
+ LDOBBENDLY
+ LDOBB Enable Delay.
12
1
- LDORXENDLY
- LDORX Enable Delay.
+ LDORFENDLY
+ LDORF Enable Delay.
13
1
- LDORXBYPENENDLY
- LDORX Bypass Enable Delay.
+ LDORFBYPENENDLY
+ LDORF Bypass Enable Delay.
14
1
- LDOTXBYPENENDLY
- LDOTX Bypass Enable Delay.
+ LDOBBBYPENENDLY
+ LDOBB Bypass Enable Delay.
15
1
@@ -3963,14 +3963,14 @@
8
- LDORXDLYCNT
- LDORX Delay Count.
+ LDOBBDLYCNT
+ LDOBB Delay Count.
8
9
- LDOTXDLYCNT
- LDOTX Delay Count.
+ LDORFDLYCNT
+ LDOBB Delay Count.
20
9
@@ -9257,16 +9257,16 @@
read-write
- TX
- TX LDO trim value.
- 0
+ RF
+ RF LDO trim value.
+ 16
5
read-write
- RX
- RX LDO trim value.
- 8
+ BB
+ BB LDO trim value.
+ 24
5
read-write
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/sir_regs.h
index 9d58a97e3d1..42173bc2a56 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32655/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32655/Include/sir_regs.h
@@ -130,11 +130,11 @@ typedef struct {
* @brief BTLE LDO Trim register.
* @{
*/
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX_POS 0 /**< BTLE_LDO_TRIM_TX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_TX_POS)) /**< BTLE_LDO_TRIM_TX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF_POS 16 /**< BTLE_LDO_TRIM_RF Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RF_POS)) /**< BTLE_LDO_TRIM_RF Mask */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX_POS 8 /**< BTLE_LDO_TRIM_RX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RX_POS)) /**< BTLE_LDO_TRIM_RX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB_POS 24 /**< BTLE_LDO_TRIM_BB Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_BB_POS)) /**< BTLE_LDO_TRIM_BB Mask */
/**@} end of group SIR_BTLE_LDO_TRIM_Register */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/gcr_regs.h
index a91ec534f80..a79038e7576 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/gcr_regs.h
@@ -953,64 +953,64 @@ typedef struct {
* @brief BTLE LDO Control Register
* @{
*/
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXEN_POS 0 /**< BTLE_LDOCR_LDOTXEN Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXEN_POS)) /**< BTLE_LDOCR_LDOTXEN Mask */
-
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXOPULLD_POS 1 /**< BTLE_LDOCR_LDOTXOPULLD Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXOPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXOPULLD_POS)) /**< BTLE_LDOCR_LDOTXOPULLD Mask */
-
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS 2 /**< BTLE_LDOCR_LDOTXVSEL Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS)) /**< BTLE_LDOCR_LDOTXVSEL Mask */
-#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLE_LDOCR_LDOTXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_0_7 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_7 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLE_LDOCR_LDOTXVSEL_0_85 Value */
-#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLE_LDOCR_LDOTXVSEL_0_9 Value */
-#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_0_9 Setting */
-#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLE_LDOCR_LDOTXVSEL_1_1 Value */
-#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_1_1 Setting */
-
-#define MXC_F_GCR_BTLE_LDOCR_LDORXEN_POS 4 /**< BTLE_LDOCR_LDORXEN Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXEN_POS 0 /**< BTLE_LDOCR_LDORXEN Position */
#define MXC_F_GCR_BTLE_LDOCR_LDORXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXEN_POS)) /**< BTLE_LDOCR_LDORXEN Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXPULLD_POS 5 /**< BTLE_LDOCR_LDORXPULLD Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXPULLD_POS)) /**< BTLE_LDOCR_LDORXPULLD Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXOPULLD_POS 1 /**< BTLE_LDOCR_LDORXOPULLD Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXOPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXOPULLD_POS)) /**< BTLE_LDOCR_LDORXOPULLD Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS 6 /**< BTLE_LDOCR_LDORXVSEL Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS 2 /**< BTLE_LDOCR_LDORXVSEL Position */
#define MXC_F_GCR_BTLE_LDOCR_LDORXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS)) /**< BTLE_LDOCR_LDORXVSEL Mask */
-#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLE_LDOCR_LDORXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLE_LDOCR_LDORXVSEL_0_7 (MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_7 << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS) /**< BTLE_LDOCR_LDORXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLE_LDOCR_LDORXVSEL_0_85 Value */
+#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_85 ((uint32_t)0x0UL) /**< BTLE_LDOCR_LDORXVSEL_0_85 Value */
#define MXC_S_GCR_BTLE_LDOCR_LDORXVSEL_0_85 (MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_85 << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS) /**< BTLE_LDOCR_LDORXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLE_LDOCR_LDORXVSEL_0_9 Value */
+#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_9 ((uint32_t)0x1UL) /**< BTLE_LDOCR_LDORXVSEL_0_9 Value */
#define MXC_S_GCR_BTLE_LDOCR_LDORXVSEL_0_9 (MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_0_9 << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS) /**< BTLE_LDOCR_LDORXVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_1_0 ((uint32_t)0x2UL) /**< BTLE_LDOCR_LDORXVSEL_1_0 Value */
+#define MXC_S_GCR_BTLE_LDOCR_LDORXVSEL_1_0 (MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_1_0 << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS) /**< BTLE_LDOCR_LDORXVSEL_1_0 Setting */
#define MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLE_LDOCR_LDORXVSEL_1_1 Value */
#define MXC_S_GCR_BTLE_LDOCR_LDORXVSEL_1_1 (MXC_V_GCR_BTLE_LDOCR_LDORXVSEL_1_1 << MXC_F_GCR_BTLE_LDOCR_LDORXVSEL_POS) /**< BTLE_LDOCR_LDORXVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXBYP_POS 8 /**< BTLE_LDOCR_LDORXBYP Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXBYP_POS)) /**< BTLE_LDOCR_LDORXBYP Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXEN_POS 4 /**< BTLE_LDOCR_LDOTXEN Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXEN_POS)) /**< BTLE_LDOCR_LDOTXEN Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXDISCH_POS 9 /**< BTLE_LDOCR_LDORXDISCH Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXDISCH_POS)) /**< BTLE_LDOCR_LDORXDISCH Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXPULLD_POS 5 /**< BTLE_LDOCR_LDOTXPULLD Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXPULLD_POS)) /**< BTLE_LDOCR_LDOTXPULLD Mask */
+
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS 6 /**< BTLE_LDOCR_LDOTXVSEL Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS)) /**< BTLE_LDOCR_LDOTXVSEL Mask */
+#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 ((uint32_t)0x0UL) /**< BTLE_LDOCR_LDOTXVSEL_0_85 Value */
+#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_85 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 ((uint32_t)0x1UL) /**< BTLE_LDOCR_LDOTXVSEL_0_9 Value */
+#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_0_9 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_0 ((uint32_t)0x2UL) /**< BTLE_LDOCR_LDOTXVSEL_1_0 Value */
+#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_1_0 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_0 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLE_LDOCR_LDOTXVSEL_1_1 Value */
+#define MXC_S_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 (MXC_V_GCR_BTLE_LDOCR_LDOTXVSEL_1_1 << MXC_F_GCR_BTLE_LDOCR_LDOTXVSEL_POS) /**< BTLE_LDOCR_LDOTXVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYP_POS 10 /**< BTLE_LDOCR_LDOTXBYP Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYP_POS 8 /**< BTLE_LDOCR_LDOTXBYP Position */
#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXBYP_POS)) /**< BTLE_LDOCR_LDOTXBYP Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXDISCH_POS 11 /**< BTLE_LDOCR_LDOTXDISCH Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXDISCH_POS 9 /**< BTLE_LDOCR_LDOTXDISCH Position */
#define MXC_F_GCR_BTLE_LDOCR_LDOTXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXDISCH_POS)) /**< BTLE_LDOCR_LDOTXDISCH Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY_POS 12 /**< BTLE_LDOCR_LDOTXENDLY Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY_POS)) /**< BTLE_LDOCR_LDOTXENDLY Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXBYP_POS 10 /**< BTLE_LDOCR_LDORXBYP Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXBYP_POS)) /**< BTLE_LDOCR_LDORXBYP Mask */
+
+#define MXC_F_GCR_BTLE_LDOCR_LDORXDISCH_POS 11 /**< BTLE_LDOCR_LDORXDISCH Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXDISCH_POS)) /**< BTLE_LDOCR_LDORXDISCH Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXENDLY_POS 13 /**< BTLE_LDOCR_LDORXENDLY Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXENDLY_POS 12 /**< BTLE_LDOCR_LDORXENDLY Position */
#define MXC_F_GCR_BTLE_LDOCR_LDORXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXENDLY_POS)) /**< BTLE_LDOCR_LDORXENDLY Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY_POS 14 /**< BTLE_LDOCR_LDORXBYPENENDLY Position */
-#define MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY_POS)) /**< BTLE_LDOCR_LDORXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY_POS 13 /**< BTLE_LDOCR_LDOTXENDLY Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXENDLY_POS)) /**< BTLE_LDOCR_LDOTXENDLY Mask */
-#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYPENENDLY_POS 15 /**< BTLE_LDOCR_LDOTXBYPENENDLY Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYPENENDLY_POS 14 /**< BTLE_LDOCR_LDOTXBYPENENDLY Position */
#define MXC_F_GCR_BTLE_LDOCR_LDOTXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDOTXBYPENENDLY_POS)) /**< BTLE_LDOCR_LDOTXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY_POS 15 /**< BTLE_LDOCR_LDORXBYPENENDLY Position */
+#define MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLE_LDOCR_LDORXBYPENENDLY_POS)) /**< BTLE_LDOCR_LDORXBYPENENDLY Mask */
+
/**@} end of group GCR_BTLE_LDOCR_Register */
/**
@@ -1022,12 +1022,12 @@ typedef struct {
#define MXC_F_GCR_BTLE_LDODCR_BYPDLYCNT_POS 0 /**< BTLE_LDODCR_BYPDLYCNT Position */
#define MXC_F_GCR_BTLE_LDODCR_BYPDLYCNT ((uint32_t)(0xFFUL << MXC_F_GCR_BTLE_LDODCR_BYPDLYCNT_POS)) /**< BTLE_LDODCR_BYPDLYCNT Mask */
-#define MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT_POS 8 /**< BTLE_LDODCR_LDORXDLYCNT Position */
-#define MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT_POS)) /**< BTLE_LDODCR_LDORXDLYCNT Mask */
-
-#define MXC_F_GCR_BTLE_LDODCR_LDOTXDLYCNT_POS 20 /**< BTLE_LDODCR_LDOTXDLYCNT Position */
+#define MXC_F_GCR_BTLE_LDODCR_LDOTXDLYCNT_POS 8 /**< BTLE_LDODCR_LDOTXDLYCNT Position */
#define MXC_F_GCR_BTLE_LDODCR_LDOTXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLE_LDODCR_LDOTXDLYCNT_POS)) /**< BTLE_LDODCR_LDOTXDLYCNT Mask */
+#define MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT_POS 20 /**< BTLE_LDODCR_LDORXDLYCNT Position */
+#define MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLE_LDODCR_LDORXDLYCNT_POS)) /**< BTLE_LDODCR_LDORXDLYCNT Mask */
+
/**@} end of group GCR_BTLE_LDODCR_Register */
/**
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd
index ff0bf6379a4..095e976e5a5 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd
+++ b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/max32665.svd
@@ -4099,8 +4099,8 @@
0x74
- LDOTXEN
- LDOTX Enable
+ LDORXEN
+ LDORX Enable
0
1
@@ -4117,8 +4117,8 @@
- LDOTXOPULLD
- LDOTX PULL Disable
+ LDORXOPULLD
+ LDORX PULL Disable
1
1
@@ -4135,24 +4135,24 @@
- LDOTXVSEL
- LDOTX Voltage Setting
+ LDORXVSEL
+ LDORX Voltage Setting
2
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -4163,8 +4163,8 @@
- LDORXEN
- LDORX Enable
+ LDOTXEN
+ LDOTX Enable
4
1
@@ -4181,8 +4181,8 @@
- LDORXPULLD
- LDORX Pulldown
+ LDOTXPULLD
+ LDOTX Pulldown
5
1
@@ -4199,24 +4199,24 @@
- LDORXVSEL
- LDORX Output Voltage Setting
+ LDOTXVSEL
+ LDOTX Output Voltage Setting
6
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -4227,8 +4227,8 @@
- LDORXBYP
- LDORX Bypass Enable
+ LDOTXBYP
+ LDOTX Bypass Enable
8
1
@@ -4245,8 +4245,8 @@
- LDORXDISCH
- LDORX Discharge
+ LDOTXDISCH
+ LDOTX Discharge
9
1
@@ -4263,8 +4263,8 @@
- LDOTXBYP
- LDOTX Bypass Enable
+ LDORXBYP
+ LDORX Bypass Enable
10
1
@@ -4281,8 +4281,8 @@
- LDOTXDISCH
- LDOTX Discharge
+ LDORXDISCH
+ LDORX Discharge
11
1
@@ -4299,8 +4299,8 @@
- LDOTXENDLY
- LDOTX Enable Delay
+ LDORXENDLY
+ LDORX Enable Delay
12
1
@@ -4317,8 +4317,8 @@
- LDORXENDLY
- LDORX Enable Delay
+ LDOTXENDLY
+ LDOTX Enable Delay
13
1
@@ -4335,14 +4335,14 @@
- LDORXBYPENENDLY
- LDOTX Bypass Enable Delay
+ LDOTXBYPENENDLY
+ LDORX Bypass Enable Delay
14
1
- LDOTXBYPENENDLY
- LDORX Bypass Enable Delay
+ LDORXBYPENENDLY
+ LDOTX Bypass Enable Delay
15
1
@@ -4360,14 +4360,14 @@
8
- LDORXDLYCNT
- LDORX Delay Count. Count delay base on PCLK/128.
+ LDOTXDLYCNT
+ LDOTX Delay Count. Count delay base on PCLK/128.
8
9
- LDOTXDLYCNT
- LDOTX Delay Count. Count delay base on PCLK/128.
+ LDORXDLYCNT
+ LDORX Delay Count. Count delay base on PCLK/128.
20
9
@@ -13121,7 +13121,8 @@
MAGIC
- Magic Word Validation. This bit is set by the system initialization block following power-up.
+ Magic Word Validation. This bit is set by the system initialization block
+ following power-up.
0
1
read-only
@@ -13141,7 +13142,8 @@
CRCERR
- CRC Error Status. This bit is set by the system initialization block following power-up.
+ CRC Error Status. This bit is set by the system initialization block
+ following power-up.
1
1
read-only
@@ -13154,7 +13156,8 @@
error
- A CRC error occurred while reading the OTP. The address of the failure location in the OTP memory is stored in the ERRADDR register.
+ A CRC error occurred while reading the OTP. The address of the failure
+ location in the OTP memory is stored in the ERRADDR register.
1
@@ -13163,7 +13166,8 @@
ERRADDR
- Read-only field set by the SIB block if a CRC error occurs during the read of the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
+ Read-only field set by the SIB block if a CRC error occurs during the read of
+ the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
0x04
read-only
@@ -13174,6 +13178,36 @@
+
+ BTLE_LDO_TRIM_TX
+ BTLE LDO TX Trim register.
+ 0x54
+ read-write
+
+
+ TX
+ TX LDO trim value.
+ 0
+ 5
+ read-write
+
+
+
+
+ BTLE_LDO_TRIM_RX
+ BTLE LDO RX Trim register.
+ 0x5C
+ read-write
+
+
+ RX
+ RX LDO trim value.
+ 0
+ 5
+ read-write
+
+
+
FSTAT
funcstat register.
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/sir_regs.h
index b9749da3fb8..70db2add187 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32665/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32665/Include/sir_regs.h
@@ -76,7 +76,11 @@ extern "C" {
typedef struct {
__I uint32_t sistat; /**< \b 0x00: SIR SISTAT Register */
__I uint32_t erraddr; /**< \b 0x04: SIR ERRADDR Register */
- __R uint32_t rsv_0x8_0xff[62];
+ __R uint32_t rsv_0x8_0x53[19];
+ __IO uint32_t btle_ldo_trim_tx; /**< \b 0x54: SIR BTLE_LDO_TRIM_TX Register */
+ __R uint32_t rsv_0x58;
+ __IO uint32_t btle_ldo_trim_rx; /**< \b 0x5C: SIR BTLE_LDO_TRIM_RX Register */
+ __R uint32_t rsv_0x60_0xff[40];
__I uint32_t fstat; /**< \b 0x100: SIR FSTAT Register */
__I uint32_t sfstat; /**< \b 0x104: SIR SFSTAT Register */
} mxc_sir_regs_t;
@@ -90,6 +94,8 @@ typedef struct {
*/
#define MXC_R_SIR_SISTAT ((uint32_t)0x00000000UL) /**< Offset from SIR Base Address: 0x0000 */
#define MXC_R_SIR_ERRADDR ((uint32_t)0x00000004UL) /**< Offset from SIR Base Address: 0x0004 */
+#define MXC_R_SIR_BTLE_LDO_TRIM_TX ((uint32_t)0x00000054UL) /**< Offset from SIR Base Address: 0x0054 */
+#define MXC_R_SIR_BTLE_LDO_TRIM_RX ((uint32_t)0x0000005CUL) /**< Offset from SIR Base Address: 0x005C */
#define MXC_R_SIR_FSTAT ((uint32_t)0x00000100UL) /**< Offset from SIR Base Address: 0x0100 */
#define MXC_R_SIR_SFSTAT ((uint32_t)0x00000104UL) /**< Offset from SIR Base Address: 0x0104 */
/**@} end of group sir_registers */
@@ -121,6 +127,28 @@ typedef struct {
/**@} end of group SIR_ERRADDR_Register */
+/**
+ * @ingroup sir_registers
+ * @defgroup SIR_BTLE_LDO_TRIM_TX SIR_BTLE_LDO_TRIM_TX
+ * @brief BTLE LDO TX Trim register.
+ * @{
+ */
+#define MXC_F_SIR_BTLE_LDO_TRIM_TX_TX_POS 0 /**< BTLE_LDO_TRIM_TX_TX Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_TX_TX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_TX_TX_POS)) /**< BTLE_LDO_TRIM_TX_TX Mask */
+
+/**@} end of group SIR_BTLE_LDO_TRIM_TX_Register */
+
+/**
+ * @ingroup sir_registers
+ * @defgroup SIR_BTLE_LDO_TRIM_RX SIR_BTLE_LDO_TRIM_RX
+ * @brief BTLE LDO RX Trim register.
+ * @{
+ */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RX_RX_POS 0 /**< BTLE_LDO_TRIM_RX_RX Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RX_RX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RX_RX_POS)) /**< BTLE_LDO_TRIM_RX_RX Mask */
+
+/**@} end of group SIR_BTLE_LDO_TRIM_RX_Register */
+
/**
* @ingroup sir_registers
* @defgroup SIR_FSTAT SIR_FSTAT
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
index 5a32986853b..ff049258432 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/gcr_regs.h
@@ -681,75 +681,63 @@ typedef struct {
* @brief BTLE LDO Control Register
* @{
*/
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS 0 /**< BTLELDOCTRL_LDOTXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS)) /**< BTLELDOCTRL_LDOTXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS 0 /**< BTLELDOCTRL_LDOBBEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS)) /**< BTLELDOCTRL_LDOBBEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS 1 /**< BTLELDOCTRL_LDOTXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS)) /**< BTLELDOCTRL_LDOTXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS 1 /**< BTLELDOCTRL_LDOBBPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS)) /**< BTLELDOCTRL_LDOBBPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS 2 /**< BTLELDOCTRL_LDOTXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS)) /**< BTLELDOCTRL_LDOTXVSEL Mask */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDOTXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_7 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDOTXVSEL_0_85 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDOTXVSEL_0_9 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_0_9 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDOTXVSEL_1_1 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDOTXVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS) /**< BTLELDOCTRL_LDOTXVSEL_1_1 Setting */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS 2 /**< BTLELDOCTRL_LDOBBVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS)) /**< BTLELDOCTRL_LDOBBVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0_POS 2 /**< BTLELDOCTRL_LDOTXVSEL0 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0_POS)) /**< BTLELDOCTRL_LDOTXVSEL0 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS 4 /**< BTLELDOCTRL_LDORFEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS)) /**< BTLELDOCTRL_LDORFEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1_POS 3 /**< BTLELDOCTRL_LDOTXVSEL1 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1_POS)) /**< BTLELDOCTRL_LDOTXVSEL1 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS 5 /**< BTLELDOCTRL_LDORFPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS)) /**< BTLELDOCTRL_LDORFPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS 4 /**< BTLELDOCTRL_LDORXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS)) /**< BTLELDOCTRL_LDORXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS 6 /**< BTLELDOCTRL_LDORFVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS)) /**< BTLELDOCTRL_LDORFVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDORFVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDORFVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDORFVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDORFVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS 5 /**< BTLELDOCTRL_LDORXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS)) /**< BTLELDOCTRL_LDORXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS 8 /**< BTLELDOCTRL_LDORFBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS)) /**< BTLELDOCTRL_LDORFBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS 6 /**< BTLELDOCTRL_LDORXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS)) /**< BTLELDOCTRL_LDORXVSEL Mask */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_7 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDORXVSEL_0_7 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_7 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_7 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_7 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_85 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDORXVSEL_0_85 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_85 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_9 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDORXVSEL_0_9 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_0_9 Setting */
-#define MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDORXVSEL_1_1 Value */
-#define MXC_S_GCR_BTLELDOCTRL_LDORXVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDORXVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS) /**< BTLELDOCTRL_LDORXVSEL_1_1 Setting */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS 9 /**< BTLELDOCTRL_LDORFDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS)) /**< BTLELDOCTRL_LDORFDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0_POS 6 /**< BTLELDOCTRL_LDORXVSEL0 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0_POS)) /**< BTLELDOCTRL_LDORXVSEL0 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS 10 /**< BTLELDOCTRL_LDOBBBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS)) /**< BTLELDOCTRL_LDOBBBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1_POS 7 /**< BTLELDOCTRL_LDORXVSEL1 Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1 ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1_POS)) /**< BTLELDOCTRL_LDORXVSEL1 Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS 11 /**< BTLELDOCTRL_LDOBBDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS)) /**< BTLELDOCTRL_LDOBBDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS 8 /**< BTLELDOCTRL_LDORXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS)) /**< BTLELDOCTRL_LDORXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS 12 /**< BTLELDOCTRL_LDOBBENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS)) /**< BTLELDOCTRL_LDOBBENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS 9 /**< BTLELDOCTRL_LDORXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS)) /**< BTLELDOCTRL_LDORXDISCH Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS 13 /**< BTLELDOCTRL_LDORFENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS)) /**< BTLELDOCTRL_LDORFENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS 10 /**< BTLELDOCTRL_LDOTXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS)) /**< BTLELDOCTRL_LDOTXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORFBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORFBYPENENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS 11 /**< BTLELDOCTRL_LDOTXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS)) /**< BTLELDOCTRL_LDOTXDISCH Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS 12 /**< BTLELDOCTRL_LDOTXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS)) /**< BTLELDOCTRL_LDOTXENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS 13 /**< BTLELDOCTRL_LDORXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS)) /**< BTLELDOCTRL_LDORXENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORXBYPENENDLY Mask */
-
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOTXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOTXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOBBBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOBBBYPENENDLY Mask */
/**@} end of group GCR_BTLELDOCTRL_Register */
@@ -762,11 +750,11 @@ typedef struct {
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS 0 /**< BTLELDODLY_BYPDLYCNT Position */
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT ((uint32_t)(0xFFUL << MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS)) /**< BTLELDODLY_BYPDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS 8 /**< BTLELDODLY_LDORXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS)) /**< BTLELDODLY_LDORXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS 8 /**< BTLELDODLY_LDOBBDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS)) /**< BTLELDODLY_LDOBBDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS 20 /**< BTLELDODLY_LDOTXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS)) /**< BTLELDODLY_LDOTXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS 20 /**< BTLELDODLY_LDORFDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS)) /**< BTLELDODLY_LDORFDLYCNT Mask */
/**@} end of group GCR_BTLELDODLY_Register */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/max32680.svd b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/max32680.svd
index af2ae925b29..9ee591378cd 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/max32680.svd
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/max32680.svd
@@ -3794,36 +3794,36 @@
0x74
- LDOTXEN
- LDOTX Enable.
+ LDOBBEN
+ LDOBB Enable.
0
1
- LDOTXPULLD
- LDOTX Pull Down.
+ LDOBBPULLD
+ LDOBB Pull Down.
1
1
- LDOTXVSEL
- LDOTX Voltage Setting.
+ LDOBBVSEL
+ LDOBB Voltage Setting.
2
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -3834,36 +3834,36 @@
- LDORXEN
- LDORX Enable.
+ LDORFEN
+ LDORF Enable.
4
1
- LDORXPULLD
- LDOrX Pull Down.
+ LDORFPULLD
+ LDORF Pull Down.
5
1
- LDORXVSEL
- LDORX Voltage Setting.
+ LDORFVSEL
+ LDORF Voltage Setting.
6
2
-
- 0_7
- 0.7V
- 0
-
0_85
0.85V
- 1
+ 0
0_9
0.9V
+ 1
+
+
+ 1_0
+ 1.0V
2
@@ -3874,50 +3874,50 @@
- LDORXBYP
- LDORX Bypass Enable.
+ LDORFBYP
+ LDORF Bypass Enable.
8
1
- LDORXDISCH
- LDORX Discharge.
+ LDORFDISCH
+ LDORF Discharge.
9
1
- LDOTXBYP
- LDOTX Bypass Enable.
+ LDOBBBYP
+ LDOBB Bypass Enable.
10
1
- LDOTXDISCH
- LDOTX Discharge.
+ LDOBBDISCH
+ LDOBB Discharge.
11
1
- LDOTXENDLY
- LDOTX Enable Delay.
+ LDOBBENDLY
+ LDOBB Enable Delay.
12
1
- LDORXENDLY
- LDORX Enable Delay.
+ LDORFENDLY
+ LDORF Enable Delay.
13
1
- LDORXBYPENENDLY
- LDORX Bypass Enable Delay.
+ LDORFBYPENENDLY
+ LDORF Bypass Enable Delay.
14
1
- LDOTXBYPENENDLY
- LDOTX Bypass Enable Delay.
+ LDOBBBYPENENDLY
+ LDOBB Bypass Enable Delay.
15
1
@@ -3935,14 +3935,14 @@
8
- LDORXDLYCNT
- LDORX Delay Count.
+ LDOBBDLYCNT
+ LDOBB Delay Count.
8
9
- LDOTXDLYCNT
- LDOTX Delay Count.
+ LDORFDLYCNT
+ LDOBB Delay Count.
20
9
@@ -9121,16 +9121,16 @@
read-write
- TX
- TX LDO trim value.
- 0
+ RF
+ RF LDO trim value.
+ 16
5
read-write
- RX
- RX LDO trim value.
- 8
+ BB
+ BB LDO trim value.
+ 24
5
read-write
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
index 5f9e67345d2..4f8c04c21dc 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32680/Include/sir_regs.h
@@ -130,11 +130,11 @@ typedef struct {
* @brief BTLE LDO Trim register.
* @{
*/
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX_POS 0 /**< BTLE_LDO_TRIM_TX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_TX_POS)) /**< BTLE_LDO_TRIM_TX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF_POS 16 /**< BTLE_LDO_TRIM_RF Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RF_POS)) /**< BTLE_LDO_TRIM_RF Mask */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX_POS 8 /**< BTLE_LDO_TRIM_RX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RX_POS)) /**< BTLE_LDO_TRIM_RX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB_POS 24 /**< BTLE_LDO_TRIM_BB Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_BB_POS)) /**< BTLE_LDO_TRIM_BB Mask */
/**@} end of group SIR_BTLE_LDO_TRIM_Register */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/gcr_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/gcr_regs.h
index 62aed4afd09..1ab61adfec3 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/gcr_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/gcr_regs.h
@@ -878,47 +878,63 @@ typedef struct {
* @brief BTLE LDO Control Register
* @{
*/
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS 0 /**< BTLELDOCTRL_LDOTXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXEN_POS)) /**< BTLELDOCTRL_LDOTXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS 0 /**< BTLELDOCTRL_LDOBBEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBEN_POS)) /**< BTLELDOCTRL_LDOBBEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS 1 /**< BTLELDOCTRL_LDOTXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXPULLD_POS)) /**< BTLELDOCTRL_LDOTXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS 1 /**< BTLELDOCTRL_LDOBBPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBPULLD_POS)) /**< BTLELDOCTRL_LDOBBPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS 2 /**< BTLELDOCTRL_LDOTXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL_POS)) /**< BTLELDOCTRL_LDOTXVSEL Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS 2 /**< BTLELDOCTRL_LDOBBVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS)) /**< BTLELDOCTRL_LDOBBVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDOBBVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDOBBVSEL_POS) /**< BTLELDOCTRL_LDOBBVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS 4 /**< BTLELDOCTRL_LDORXEN Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXEN_POS)) /**< BTLELDOCTRL_LDORXEN Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS 4 /**< BTLELDOCTRL_LDORFEN Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFEN ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFEN_POS)) /**< BTLELDOCTRL_LDORFEN Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS 5 /**< BTLELDOCTRL_LDORXPULLD Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXPULLD_POS)) /**< BTLELDOCTRL_LDORXPULLD Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS 5 /**< BTLELDOCTRL_LDORFPULLD Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFPULLD ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFPULLD_POS)) /**< BTLELDOCTRL_LDORFPULLD Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS 6 /**< BTLELDOCTRL_LDORXVSEL Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORXVSEL_POS)) /**< BTLELDOCTRL_LDORXVSEL Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS 6 /**< BTLELDOCTRL_LDORFVSEL Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFVSEL ((uint32_t)(0x3UL << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS)) /**< BTLELDOCTRL_LDORFVSEL Mask */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 ((uint32_t)0x0UL) /**< BTLELDOCTRL_LDORFVSEL_0_85 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_85 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_85 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_85 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 ((uint32_t)0x1UL) /**< BTLELDOCTRL_LDORFVSEL_0_9 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_9 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_0_9 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_0_9 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 ((uint32_t)0x2UL) /**< BTLELDOCTRL_LDORFVSEL_1_0 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_0 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_0 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_0 Setting */
+#define MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 ((uint32_t)0x3UL) /**< BTLELDOCTRL_LDORFVSEL_1_1 Value */
+#define MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_1_1 (MXC_V_GCR_BTLELDOCTRL_LDORFVSEL_1_1 << MXC_F_GCR_BTLELDOCTRL_LDORFVSEL_POS) /**< BTLELDOCTRL_LDORFVSEL_1_1 Setting */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS 8 /**< BTLELDOCTRL_LDORXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYP_POS)) /**< BTLELDOCTRL_LDORXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS 8 /**< BTLELDOCTRL_LDORFBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYP_POS)) /**< BTLELDOCTRL_LDORFBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS 9 /**< BTLELDOCTRL_LDORXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXDISCH_POS)) /**< BTLELDOCTRL_LDORXDISCH Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS 9 /**< BTLELDOCTRL_LDORFDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFDISCH_POS)) /**< BTLELDOCTRL_LDORFDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS 10 /**< BTLELDOCTRL_LDOTXBYP Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYP_POS)) /**< BTLELDOCTRL_LDOTXBYP Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS 10 /**< BTLELDOCTRL_LDOBBBYP Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYP ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYP_POS)) /**< BTLELDOCTRL_LDOBBBYP Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS 11 /**< BTLELDOCTRL_LDOTXDISCH Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXDISCH_POS)) /**< BTLELDOCTRL_LDOTXDISCH Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS 11 /**< BTLELDOCTRL_LDOBBDISCH Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBDISCH_POS)) /**< BTLELDOCTRL_LDOBBDISCH Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS 12 /**< BTLELDOCTRL_LDOTXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXENDLY_POS)) /**< BTLELDOCTRL_LDOTXENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS 12 /**< BTLELDOCTRL_LDOBBENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBENDLY_POS)) /**< BTLELDOCTRL_LDOBBENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS 13 /**< BTLELDOCTRL_LDORXENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXENDLY_POS)) /**< BTLELDOCTRL_LDORXENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS 13 /**< BTLELDOCTRL_LDORFENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFENDLY_POS)) /**< BTLELDOCTRL_LDORFENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS 14 /**< BTLELDOCTRL_LDORFBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDORFBYPENENDLY_POS)) /**< BTLELDOCTRL_LDORFBYPENENDLY Mask */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOTXBYPENENDLY Position */
-#define MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOTXBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOTXBYPENENDLY Mask */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS 15 /**< BTLELDOCTRL_LDOBBBYPENENDLY Position */
+#define MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY ((uint32_t)(0x1UL << MXC_F_GCR_BTLELDOCTRL_LDOBBBYPENENDLY_POS)) /**< BTLELDOCTRL_LDOBBBYPENENDLY Mask */
/**@} end of group GCR_BTLELDOCTRL_Register */
@@ -931,11 +947,11 @@ typedef struct {
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS 0 /**< BTLELDODLY_BYPDLYCNT Position */
#define MXC_F_GCR_BTLELDODLY_BYPDLYCNT ((uint32_t)(0xFFUL << MXC_F_GCR_BTLELDODLY_BYPDLYCNT_POS)) /**< BTLELDODLY_BYPDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS 8 /**< BTLELDODLY_LDOTXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOTXDLYCNT_POS)) /**< BTLELDODLY_LDOTXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS 8 /**< BTLELDODLY_LDORFDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDORFDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORFDLYCNT_POS)) /**< BTLELDODLY_LDORFDLYCNT Mask */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS 20 /**< BTLELDODLY_LDORXDLYCNT Position */
-#define MXC_F_GCR_BTLELDODLY_LDORXDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDORXDLYCNT_POS)) /**< BTLELDODLY_LDORXDLYCNT Mask */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS 20 /**< BTLELDODLY_LDOBBDLYCNT Position */
+#define MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT ((uint32_t)(0x1FFUL << MXC_F_GCR_BTLELDODLY_LDOBBDLYCNT_POS)) /**< BTLELDODLY_LDOBBDLYCNT Mask */
/**@} end of group GCR_BTLELDODLY_Register */
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd
index 0846a01a482..56af430f311 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd
+++ b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/max32690.svd
@@ -7334,86 +7334,130 @@ memory.
0x74
- LDOTXEN
- LDOTX Enable.
+ LDOBBEN
+ LDOBB Enable.
0
1
- LDOTXPULLD
- LDOTX Pull Down.
+ LDOBBPULLD
+ LDOBB Pull Down.
1
1
- LDOTXVSEL
- LDOTX Voltage Setting.
+ LDOBBVSEL
+ LDOBB Voltage Setting.
2
2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
- LDORXEN
- LDORX Enable.
+ LDORFEN
+ LDORF Enable.
4
1
- LDORXPULLD
- LDOrX Pull Down.
+ LDORFPULLD
+ LDORF Pull Down.
5
1
- LDORXVSEL
- LDORX Voltage Setting.
+ LDORFVSEL
+ LDORF Voltage Setting.
6
2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
- LDORXBYP
- LDORX Bypass Enable.
+ LDORFBYP
+ LDORF Bypass Enable.
8
1
- LDORXDISCH
- LDORX Discharge.
+ LDORFDISCH
+ LDORF Discharge.
9
1
- LDOTXBYP
- LDOTX Bypass Enable.
+ LDOBBBYP
+ LDOBB Bypass Enable.
10
1
- LDOTXDISCH
- LDOTX Discharge.
+ LDOBBDISCH
+ LDOBB Discharge.
11
1
- LDOTXENDLY
- LDOTX Enable Delay.
+ LDOBBENDLY
+ LDOBB Enable Delay.
12
1
- LDORXENDLY
- LDORX Enable Delay.
+ LDORFENDLY
+ LDORF Enable Delay.
13
1
- LDORXBYPENENDLY
- LDORX Bypass Enable Delay.
+ LDORFBYPENENDLY
+ LDORF Bypass Enable Delay.
14
1
- LDOTXBYPENENDLY
- LDOTX Bypass Enable Delay.
+ LDOBBBYPENENDLY
+ LDOBB Bypass Enable Delay.
15
1
@@ -7431,14 +7475,14 @@ memory.
8
- LDOTXDLYCNT
- LDOTX Delay Count.
+ LDORFDLYCNT
+ LDORF Delay Count.
8
9
- LDORXDLYCNT
- LDORX Delay Count.
+ LDOBBDLYCNT
+ LDOBB Delay Count.
20
9
@@ -13438,7 +13482,8 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se
MAGIC
- Magic Word Validation. This bit is set by the system initialization block following power-up.
+ Magic Word Validation. This bit is set by the system initialization block
+ following power-up.
0
1
read-only
@@ -13458,7 +13503,8 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se
CRCERR
- CRC Error Status. This bit is set by the system initialization block following power-up.
+ CRC Error Status. This bit is set by the system initialization block
+ following power-up.
1
1
read-only
@@ -13471,7 +13517,8 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se
error
- A CRC error occurred while reading the OTP. The address of the failure location in the OTP memory is stored in the ERRADDR register.
+ A CRC error occurred while reading the OTP. The address of the failure
+ location in the OTP memory is stored in the ERRADDR register.
1
@@ -13480,7 +13527,8 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se
SIADDR
- Read-only field set by the SIB block if a CRC error occurs during the read of the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
+ Read-only field set by the SIB block if a CRC error occurs during the read of
+ the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
0x04
read-only
@@ -13498,15 +13546,15 @@ signal(s) on transition(s) from low to high or high to low when PM.USBWKEN is se
read-write
- TX
- TX LDO trim value.
+ RF
+ RF LDO trim value.
0
5
read-write
- RX
- RX LDO trim value.
+ BB
+ BB LDO trim value.
5
5
read-write
diff --git a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/sir_regs.h b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/sir_regs.h
index cb5b357b6cf..d1b5f527224 100644
--- a/Libraries/CMSIS/Device/Maxim/MAX32690/Include/sir_regs.h
+++ b/Libraries/CMSIS/Device/Maxim/MAX32690/Include/sir_regs.h
@@ -130,11 +130,11 @@ typedef struct {
* @brief BTLE LDO Trim register.
* @{
*/
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX_POS 0 /**< BTLE_LDO_TRIM_TX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_TX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_TX_POS)) /**< BTLE_LDO_TRIM_TX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF_POS 0 /**< BTLE_LDO_TRIM_RF Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_RF ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RF_POS)) /**< BTLE_LDO_TRIM_RF Mask */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX_POS 5 /**< BTLE_LDO_TRIM_RX Position */
-#define MXC_F_SIR_BTLE_LDO_TRIM_RX ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_RX_POS)) /**< BTLE_LDO_TRIM_RX Mask */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB_POS 5 /**< BTLE_LDO_TRIM_BB Position */
+#define MXC_F_SIR_BTLE_LDO_TRIM_BB ((uint32_t)(0x1FUL << MXC_F_SIR_BTLE_LDO_TRIM_BB_POS)) /**< BTLE_LDO_TRIM_BB Mask */
/**@} end of group SIR_BTLE_LDO_TRIM_Register */
diff --git a/Libraries/Cordio/platform/include/pal_bb.h b/Libraries/Cordio/platform/include/pal_bb.h
index 0f7008e74d8..5484170dbb6 100644
--- a/Libraries/Cordio/platform/include/pal_bb.h
+++ b/Libraries/Cordio/platform/include/pal_bb.h
@@ -34,110 +34,108 @@ extern "C" {
* \addtogroup PAL_BB
* \{
*/
-
+
/**************************************************************************************************
Macros
**************************************************************************************************/
/*! \brief Protocol types */
-typedef enum
-{
- BB_PROT_NONE, /*!< Non-protocol specific operation. */
- BB_PROT_BLE, /*!< Bluetooth Low Energy normal mode. */
- BB_PROT_BLE_DTM, /*!< Bluetooth Low Energy direct test mode. */
- BB_PROT_PRBS15, /*!< Enable the continuous PRBS15 transmit sequence. */
- BB_PROT_15P4, /*!< 802.15.4. */
- BB_PROT_NUM /*!< Number of protocols. */
+typedef enum {
+ BB_PROT_NONE, /*!< Non-protocol specific operation. */
+ BB_PROT_BLE, /*!< Bluetooth Low Energy normal mode. */
+ BB_PROT_BLE_DTM, /*!< Bluetooth Low Energy direct test mode. */
+ BB_PROT_PRBS15, /*!< Enable the continuous PRBS15 transmit sequence. */
+ BB_PROT_15P4, /*!< 802.15.4. */
+ BB_PROT_NUM /*!< Number of protocols. */
} PalBbProt_t;
/*! \brief Status codes */
-enum PalBbStat_c
-{
- BB_STATUS_SUCCESS, /*!< Operation successful. */
- BB_STATUS_FAILED, /*!< General failure. */
- BB_STATUS_CANCELED, /*!< Receive canceled. */
- BB_STATUS_RX_TIMEOUT, /*!< Receive packet timeout. */
- BB_STATUS_CRC_FAILED, /*!< Receive packet with CRC verification failed. */
- BB_STATUS_FRAME_FAILED, /*!< Receive packet with frame verification failed. */
- BB_STATUS_ACK_FAILED, /*!< ACK packet failure. */
- BB_STATUS_ACK_TIMEOUT, /*!< ACK packet timeout. */
- BB_STATUS_TX_CCA_FAILED, /*!< Transmit CCA failure. */
- BB_STATUS_TX_FAILED /*!< Transmit failure. */
+enum PalBbStat_c {
+ BB_STATUS_SUCCESS, /*!< Operation successful. */
+ BB_STATUS_FAILED, /*!< General failure. */
+ BB_STATUS_CANCELED, /*!< Receive canceled. */
+ BB_STATUS_RX_TIMEOUT, /*!< Receive packet timeout. */
+ BB_STATUS_CRC_FAILED, /*!< Receive packet with CRC verification failed. */
+ BB_STATUS_FRAME_FAILED, /*!< Receive packet with frame verification failed. */
+ BB_STATUS_ACK_FAILED, /*!< ACK packet failure. */
+ BB_STATUS_ACK_TIMEOUT, /*!< ACK packet timeout. */
+ BB_STATUS_TX_CCA_FAILED, /*!< Transmit CCA failure. */
+ BB_STATUS_TX_FAILED /*!< Transmit failure. */
};
/*! \brief PHY types. */
-typedef enum
-{
- BB_PHY_BLE_1M = 1, /*!< Bluetooth Low Energy 1Mbps PHY. */
- BB_PHY_BLE_2M = 2, /*!< Bluetooth Low Energy 2Mbps PHY. */
- BB_PHY_BLE_CODED = 3, /*!< Bluetooth Low Energy Coded PHY (data coding unspecified). */
- BB_PHY_15P4 = 4, /*!< 802.15.4 PHY. */
+typedef enum {
+ BB_PHY_BLE_1M = 1, /*!< Bluetooth Low Energy 1Mbps PHY. */
+ BB_PHY_BLE_2M = 2, /*!< Bluetooth Low Energy 2Mbps PHY. */
+ BB_PHY_BLE_CODED = 3, /*!< Bluetooth Low Energy Coded PHY (data coding unspecified). */
+ BB_PHY_15P4 = 4, /*!< 802.15.4 PHY. */
} PalBbPhy_t;
/*! \brief PHY options. */
-enum PalBbPhy_op
-{
- BB_PHY_OPTIONS_DEFAULT = 0, /*!< BB defined PHY Options behavior. */
- BB_PHY_OPTIONS_BLE_S2 = 1, /*!< Always use S=2 coding when transmitting on LE Coded PHY. */
- BB_PHY_OPTIONS_BLE_S8 = 2 /*!< Always use S=8 coding when transmitting on LE Coded PHY. */
+enum PalBbPhy_op {
+ BB_PHY_OPTIONS_DEFAULT = 0, /*!< BB defined PHY Options behavior. */
+ BB_PHY_OPTIONS_BLE_S2 = 1, /*!< Always use S=2 coding when transmitting on LE Coded PHY. */
+ BB_PHY_OPTIONS_BLE_S8 = 2 /*!< Always use S=8 coding when transmitting on LE Coded PHY. */
};
#ifndef BB_CLK_RATE_HZ
/*! \brief BB clock rate in hertz. */
-#define BB_CLK_RATE_HZ 1000000
+#define BB_CLK_RATE_HZ 1000000
#endif
/*! \brief Binary divide with 1,000,000 divisor (n[max]=0xFFFFFFFF). */
-#define BB_MATH_DIV_10E6(n) ((uint32_t)(((uint64_t)(n) * UINT64_C(4295)) >> 32))
+#define BB_MATH_DIV_10E6(n) ((uint32_t)(((uint64_t)(n)*UINT64_C(4295)) >> 32))
#if (BB_CLK_RATE_HZ == 1000000)
/*! \brief Return microseconds (no conversion required). */
-#define BB_US_TO_BB_TICKS(us) (us)
+#define BB_US_TO_BB_TICKS(us) (us)
#elif (BB_CLK_RATE_HZ == 8000000)
/*! \brief Compute BB ticks from given time in microseconds (max time is interval=1,996s). */
-#define BB_US_TO_BB_TICKS(us) ((uint32_t)((us) << 3))
+#define BB_US_TO_BB_TICKS(us) ((uint32_t)((us) << 3))
#elif (BB_CLK_RATE_HZ == 32768)
/*! \brief Compute BB ticks from given time in microseconds (max time is interval=1,996s). */
-#define BB_US_TO_BB_TICKS(us) ((uint32_t)(((uint64_t)(us) * (uint64_t)(70368745)) >> 31)) /* calculated value may be one tick low */
+#define BB_US_TO_BB_TICKS(us) \
+ ((uint32_t)(((uint64_t)(us) * (uint64_t)(70368745)) >> \
+ 31)) /* calculated value may be one tick low */
#else
/*! \brief Compute BB ticks from given time in microseconds (max time is interval=1,996s). */
-#define BB_US_TO_BB_TICKS(us) BB_MATH_DIV_10E6((uint64_t)(us) * (uint64_t)(BB_CLK_RATE_HZ))
+#define BB_US_TO_BB_TICKS(us) BB_MATH_DIV_10E6((uint64_t)(us) * (uint64_t)(BB_CLK_RATE_HZ))
#endif
-#define RTC_CLOCK_RATE 32768
-#define USE_RTC_BB_CLK (BB_CLK_RATE_HZ == RTC_CLOCK_RATE)
+#define RTC_CLOCK_RATE 32768
+#define USE_RTC_BB_CLK (BB_CLK_RATE_HZ == RTC_CLOCK_RATE)
#if (BB_CLK_RATE_HZ == 1000000)
/*! \brief BB ticks to microseconds (no conversion required). */
-#define BB_TICKS_TO_US(n) (n)
+#define BB_TICKS_TO_US(n) (n)
#elif (BB_CLK_RATE_HZ == 8000000)
/*! \brief BB ticks to microseconds (8MHz). */
-#define BB_TICKS_TO_US(n) ((n) >> 3)
+#define BB_TICKS_TO_US(n) ((n) >> 3)
#elif (BB_CLK_RATE_HZ == 32768)
/*! \brief BB ticks to microseconds (32768 Hz). */
-#define BB_TICKS_TO_US(n) (uint32_t)(((uint64_t)(n) * 15625) >> 9)
+#define BB_TICKS_TO_US(n) (uint32_t)(((uint64_t)(n)*15625) >> 9)
#else
/*! \brief BB ticks to microseconds. */
-#define BB_TICKS_TO_US(n) (uint32_t)((uint64_t)(n) * 1000000 / BB_CLK_RATE_HZ)
+#define BB_TICKS_TO_US(n) (uint32_t)((uint64_t)(n)*1000000 / BB_CLK_RATE_HZ)
#endif
/*! \brief Typical maximum duration to scan in a scan interval (BbRtCfg_t::maxScanPeriodMs). */
-#define BB_MAX_SCAN_PERIOD_MS 1000
+#define BB_MAX_SCAN_PERIOD_MS 1000
/*! \brief Typical RF setup delay (BbRtCfg_t::rfSetupDelayUs). */
-#define BB_RF_SETUP_DELAY_US 150
+#define BB_RF_SETUP_DELAY_US 150
/*! \brief Typical operation setup delay in microseconds (BbRtCfg_t::schSetupDelayUs). */
-#define BB_SCH_SETUP_DELAY_US 500
+#define BB_SCH_SETUP_DELAY_US 500
/*! \brief Maximum time tick for 32 bit timer(1MHz) in microseconds (BbRtCfg_t::schSetupDelayUs). */
-#define BB_TIMER_1MHZ_MAX_VALUE_US 0xFFFFFFFF /* 2^32 - 1 = 0xFFFFFFFF. */
+#define BB_TIMER_1MHZ_MAX_VALUE_US 0xFFFFFFFF /* 2^32 - 1 = 0xFFFFFFFF. */
/*! \brief Maximum time tick for 32 bit timer(8MHz) in microseconds (BbRtCfg_t::schSetupDelayUs). */
-#define BB_TIMER_8MHZ_MAX_VALUE_US 0x1FFFFFFF /* 2^29 - 1 = 0x1FFFFFFF. */
+#define BB_TIMER_8MHZ_MAX_VALUE_US 0x1FFFFFFF /* 2^29 - 1 = 0x1FFFFFFF. */
/*! \brief Maximum time tick for 24 bit RTC counter(32768Hz) in microseconds. (BbRtCfg_t::BbTimerBoundaryUs) */
-#define BB_RTC_MAX_VALUE_US 511999999 /* 2^24 / 32768 * 10^6 - 1 = 512 * 10^6 - 1 = 511999999. */
+#define BB_RTC_MAX_VALUE_US 511999999 /* 2^24 / 32768 * 10^6 - 1 = 512 * 10^6 - 1 = 511999999. */
/**************************************************************************************************
Type Definitions
@@ -147,15 +145,21 @@ enum PalBbPhy_op
typedef void (*bbDrvIrqCback_t)(void);
/*! \brief BB configuration. */
-typedef struct
-{
- uint16_t clkPpm; /*!< Clock accuracy in PPM. */
- uint8_t rfSetupDelayUsec; /*!< RF setup delay in microseconds. */
- uint16_t maxScanPeriodMsec; /*!< Maximum scan period in milliseconds. */
- uint16_t schSetupDelayUsec; /*!< Schedule setup delay in microseconds. */
- uint32_t BbTimerBoundaryUsec; /*!< BB timer boundary translated in microseconds before wraparound. */
+typedef struct {
+ uint16_t clkPpm; /*!< Clock accuracy in PPM. */
+ uint8_t rfSetupDelayUsec; /*!< RF setup delay in microseconds. */
+ uint16_t maxScanPeriodMsec; /*!< Maximum scan period in milliseconds. */
+ uint16_t schSetupDelayUsec; /*!< Schedule setup delay in microseconds. */
+ uint32_t
+ BbTimerBoundaryUsec; /*!< BB timer boundary translated in microseconds before wraparound. */
} PalBbCfg_t;
-
+/*! \brief BB PHY Version. */
+typedef struct {
+ uint8_t major;
+ uint8_t minor;
+ uint8_t patch;
+ char *buildDate;
+} PalBbPhyVersion_t;
/**************************************************************************************************
Function Declarations
**************************************************************************************************/
@@ -268,7 +272,16 @@ void PalBbRegisterProtIrq(uint8_t protId, bbDrvIrqCback_t timerCback, bbDrvIrqCb
/*************************************************************************************************/
void PalBbSetProtId(uint8_t protId);
-/*! \} */ /* PAL_BB */
+/*************************************************************************************************/
+/*!
+ * \brief Get versioning information about phy
+ *
+ * \return Phy version structure
+ */
+/*************************************************************************************************/
+const PalBbPhyVersion_t *PalBbGetPhyVersion(void);
+
+/*! \} */ /* PAL_BB */
#ifdef __cplusplus
};
diff --git a/Libraries/Cordio/platform/include/pal_radio.h b/Libraries/Cordio/platform/include/pal_radio.h
index bfea3badb3c..9ea56ed31a7 100644
--- a/Libraries/Cordio/platform/include/pal_radio.h
+++ b/Libraries/Cordio/platform/include/pal_radio.h
@@ -128,6 +128,17 @@ void PalRadioReadRfPathComp(int16_t *pTxPathComp, int16_t *pRxPathComp);
/*************************************************************************************************/
int8_t PalRadioGetRxRfPathComp(void);
+/*************************************************************************************************/
+/*!
+ * \brief Get available TX Powers.
+ * \param txPowers Return buffer for available TX powers
+ * \param size Return buffer for length of txPowers array
+ * \return Number of available TX Powers
+ */
+/*************************************************************************************************/
+uint8_t PalRadioGetAvailableTxPowers(int8_t *txPowers, uint8_t size);
+uint32_t PalRadioGetNumAvailableTxPowers(void);
+
/*! \} */ /* PAL_RADIO */
#ifdef __cplusplus
diff --git a/Libraries/PeriphDrivers/Source/AFE/hart_uart.c b/Libraries/PeriphDrivers/Source/AFE/hart_uart.c
index c3ab27eb5d8..b167ab88adc 100644
--- a/Libraries/PeriphDrivers/Source/AFE/hart_uart.c
+++ b/Libraries/PeriphDrivers/Source/AFE/hart_uart.c
@@ -643,9 +643,9 @@ int hart_clock_enable(void)
pPTG->intfl = 0x01;
//enable ISO before enabling ERFO
- MXC_GCR->btleldoctrl |= (MXC_F_GCR_BTLELDOCTRL_LDOTXEN | MXC_F_GCR_BTLELDOCTRL_LDORXEN |
- MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL0 | MXC_F_GCR_BTLELDOCTRL_LDOTXVSEL1 |
- MXC_F_GCR_BTLELDOCTRL_LDORXVSEL0 | MXC_F_GCR_BTLELDOCTRL_LDORXVSEL1);
+ MXC_GCR->btleldoctrl |=
+ (MXC_F_GCR_BTLELDOCTRL_LDORFEN | MXC_F_GCR_BTLELDOCTRL_LDOBBEN |
+ MXC_S_GCR_BTLELDOCTRL_LDORFVSEL_0_9 | MXC_S_GCR_BTLELDOCTRL_LDOBBVSEL_0_9);
MXC_GCR->clkctrl |= MXC_F_GCR_CLKCTRL_ISO_EN;
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd
index 018778fdb47..52a915dcf9e 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me14.svd
@@ -1864,281 +1864,281 @@
BTLE LDO Control Register
0x74
-
- LDOTXEN
- LDOTX Enable
- 0
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDOTXOPULLD
- LDOTX PULL Disable
- 1
- 1
-
-
- en
- enabled.
- 0
-
-
- dis
- disabled.
- 1
-
-
-
-
- LDOTXVSEL
- LDOTX Voltage Setting
- 2
- 2
-
-
- 0_7
- 0.7V
- 0
-
-
- 0_85
- 0.85V
- 1
-
-
- 0_9
- 0.9V
- 2
-
-
- 1_1
- 1.1V
- 3
-
-
-
-
- LDORXEN
- LDORX Enable
- 4
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDORXPULLD
- LDORX Pulldown
- 5
- 1
-
-
- en
- enabled.
- 0
-
-
- dis
- disabled.
- 1
-
-
-
-
- LDORXVSEL
- LDORX Output Voltage Setting
- 6
- 2
-
-
- 0_7
- 0.7V
- 0
-
-
- 0_85
- 0.85V
- 1
-
-
- 0_9
- 0.9V
- 2
-
-
- 1_1
- 1.1V
- 3
-
-
-
-
- LDORXBYP
- LDORX Bypass Enable
- 8
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDORXDISCH
- LDORX Discharge
- 9
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDOTXBYP
- LDOTX Bypass Enable
- 10
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDOTXDISCH
- LDOTX Discharge
- 11
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDOTXENDLY
- LDOTX Enable Delay
- 12
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDORXENDLY
- LDORX Enable Delay
- 13
- 1
-
-
- dis
- disabled.
- 0
-
-
- en
- enabled.
- 1
-
-
-
-
- LDORXBYPENENDLY
- LDOTX Bypass Enable Delay
- 14
- 1
-
-
- LDOTXBYPENENDLY
- LDORX Bypass Enable Delay
- 15
- 1
-
+
+ LDORXEN
+ LDORX Enable
+ 0
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDORXOPULLD
+ LDORX PULL Disable
+ 1
+ 1
+
+
+ en
+ enabled.
+ 0
+
+
+ dis
+ disabled.
+ 1
+
+
+
+
+ LDORXVSEL
+ LDORX Voltage Setting
+ 2
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDOTXEN
+ LDOTX Enable
+ 4
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDOTXPULLD
+ LDOTX Pulldown
+ 5
+ 1
+
+
+ en
+ enabled.
+ 0
+
+
+ dis
+ disabled.
+ 1
+
+
+
+
+ LDOTXVSEL
+ LDOTX Output Voltage Setting
+ 6
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDOTXBYP
+ LDOTX Bypass Enable
+ 8
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDOTXDISCH
+ LDOTX Discharge
+ 9
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDORXBYP
+ LDORX Bypass Enable
+ 10
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDORXDISCH
+ LDORX Discharge
+ 11
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDORXENDLY
+ LDORX Enable Delay
+ 12
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDOTXENDLY
+ LDOTX Enable Delay
+ 13
+ 1
+
+
+ dis
+ disabled.
+ 0
+
+
+ en
+ enabled.
+ 1
+
+
+
+
+ LDOTXBYPENENDLY
+ LDORX Bypass Enable Delay
+ 14
+ 1
+
+
+ LDORXBYPENENDLY
+ LDOTX Bypass Enable Delay
+ 15
+ 1
+
-
-
+
+
BTLE_LDODCR
BTLE LDO Delay Register
0x78
-
- BYPDLYCNT
- Bypass Delay Count. Count delay base on PCLK.
- 0
- 8
-
-
- LDORXDLYCNT
- LDORX Delay Count. Count delay base on PCLK/128.
- 8
- 9
-
-
- LDOTXDLYCNT
- LDOTX Delay Count. Count delay base on PCLK/128.
- 20
- 9
-
+
+ BYPDLYCNT
+ Bypass Delay Count. Count delay base on PCLK.
+ 0
+ 8
+
+
+ LDOTXDLYCNT
+ LDOTX Delay Count. Count delay base on PCLK/128.
+ 8
+ 9
+
+
+ LDORXDLYCNT
+ LDORX Delay Count. Count delay base on PCLK/128.
+ 20
+ 9
+
-
+
GP0
General Purpose Register 0
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me17.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me17.svd
index dce8af6339e..06cc96ff50c 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me17.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me17.svd
@@ -1213,165 +1213,141 @@
-
- BTLELDOCTRL
- BTLE LDO Control Register
- 0x74
-
-
- LDOTXEN
- LDOTX Enable.
- 0
- 1
-
-
- LDOTXPULLD
- LDOTX Pull Down.
- 1
- 1
-
-
- LDOTXVSEL
- LDOTX Voltage Setting.
- 2
- 2
-
-
- 0_7
- 0.7V
- 0
-
-
- 0_85
- 0.85V
- 1
-
-
- 0_9
- 0.9V
- 2
-
-
- 1_1
- 1.1V
- 3
-
-
-
-
- LDOTXVSEL0
- LDOTX Voltage Setting.
- 2
- 1
-
-
- LDOTXVSEL1
- LDOTX Voltage Setting.
- 3
- 1
-
-
- LDORXEN
- LDORX Enable.
- 4
- 1
-
-
- LDORXPULLD
- LDOrX Pull Down.
- 5
- 1
-
-
- LDORXVSEL
- LDORX Voltage Setting.
- 6
- 2
-
-
- 0_7
- 0.7V
- 0
-
-
- 0_85
- 0.85V
- 1
-
-
- 0_9
- 0.9V
- 2
-
-
- 1_1
- 1.1V
- 3
-
-
-
-
- LDORXVSEL0
- LDORX Voltage Setting.
- 6
- 1
-
-
- LDORXVSEL1
- LDORX Voltage Setting.
- 7
- 1
-
-
- LDORXBYP
- LDORX Bypass Enable.
- 8
- 1
-
-
- LDORXDISCH
- LDORX Discharge.
- 9
- 1
-
-
- LDOTXBYP
- LDOTX Bypass Enable.
- 10
- 1
-
-
- LDOTXDISCH
- LDOTX Discharge.
- 11
- 1
-
-
- LDOTXENDLY
- LDOTX Enable Delay.
- 12
- 1
-
-
- LDORXENDLY
- LDORX Enable Delay.
- 13
- 1
-
-
- LDORXBYPENENDLY
- LDORX Bypass Enable Delay.
- 14
- 1
-
-
- LDOTXBYPENENDLY
- LDOTX Bypass Enable Delay.
- 15
- 1
-
-
-
+
+ BTLELDOCTRL
+ BTLE LDO Control Register
+ 0x74
+
+
+ LDOBBEN
+ LDOBB Enable.
+ 0
+ 1
+
+
+ LDOBBPULLD
+ LDOBB Pull Down.
+ 1
+ 1
+
+
+ LDOBBVSEL
+ LDOBB Voltage Setting.
+ 2
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDORFEN
+ LDORF Enable.
+ 4
+ 1
+
+
+ LDORFPULLD
+ LDORF Pull Down.
+ 5
+ 1
+
+
+ LDORFVSEL
+ LDORF Voltage Setting.
+ 6
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDORFBYP
+ LDORF Bypass Enable.
+ 8
+ 1
+
+
+ LDORFDISCH
+ LDORF Discharge.
+ 9
+ 1
+
+
+ LDOBBBYP
+ LDOBB Bypass Enable.
+ 10
+ 1
+
+
+ LDOBBDISCH
+ LDOBB Discharge.
+ 11
+ 1
+
+
+ LDOBBENDLY
+ LDOBB Enable Delay.
+ 12
+ 1
+
+
+ LDORFENDLY
+ LDORF Enable Delay.
+ 13
+ 1
+
+
+ LDORFBYPENENDLY
+ LDORF Bypass Enable Delay.
+ 14
+ 1
+
+
+ LDOBBBYPENENDLY
+ LDOBB Bypass Enable Delay.
+ 15
+ 1
+
+
+
BTLELDODLY
BTLE LDO Delay Register
@@ -1384,14 +1360,14 @@
8
- LDORXDLYCNT
- LDORX Delay Count.
+ LDOBBDLYCNT
+ LDOBB Delay Count.
8
9
- LDOTXDLYCNT
- LDOTX Delay Count.
+ LDORFDLYCNT
+ LDOBB Delay Count.
20
9
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me18.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me18.svd
index f0389422257..9d79a039083 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me18.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/gcr_me18.svd
@@ -1596,117 +1596,161 @@
BTLE LDO Control Register
0x74
-
- LDOTXEN
- LDOTX Enable.
- 0
- 1
-
-
- LDOTXPULLD
- LDOTX Pull Down.
- 1
- 1
-
-
- LDOTXVSEL
- LDOTX Voltage Setting.
- 2
- 2
-
-
- LDORXEN
- LDORX Enable.
- 4
- 1
-
-
- LDORXPULLD
- LDOrX Pull Down.
- 5
- 1
-
-
- LDORXVSEL
- LDORX Voltage Setting.
- 6
- 2
-
-
- LDORXBYP
- LDORX Bypass Enable.
- 8
- 1
-
-
- LDORXDISCH
- LDORX Discharge.
- 9
- 1
-
-
- LDOTXBYP
- LDOTX Bypass Enable.
- 10
- 1
-
-
- LDOTXDISCH
- LDOTX Discharge.
- 11
- 1
-
-
- LDOTXENDLY
- LDOTX Enable Delay.
- 12
- 1
-
-
- LDORXENDLY
- LDORX Enable Delay.
- 13
- 1
-
-
- LDORXBYPENENDLY
- LDORX Bypass Enable Delay.
- 14
- 1
-
-
- LDOTXBYPENENDLY
- LDOTX Bypass Enable Delay.
- 15
- 1
-
+
+ LDOBBEN
+ LDOBB Enable.
+ 0
+ 1
+
+
+ LDOBBPULLD
+ LDOBB Pull Down.
+ 1
+ 1
+
+
+ LDOBBVSEL
+ LDOBB Voltage Setting.
+ 2
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDORFEN
+ LDORF Enable.
+ 4
+ 1
+
+
+ LDORFPULLD
+ LDORF Pull Down.
+ 5
+ 1
+
+
+ LDORFVSEL
+ LDORF Voltage Setting.
+ 6
+ 2
+
+
+ 0_85
+ 0.85V
+ 0
+
+
+ 0_9
+ 0.9V
+ 1
+
+
+ 1_0
+ 1.0V
+ 2
+
+
+ 1_1
+ 1.1V
+ 3
+
+
+
+
+ LDORFBYP
+ LDORF Bypass Enable.
+ 8
+ 1
+
+
+ LDORFDISCH
+ LDORF Discharge.
+ 9
+ 1
+
+
+ LDOBBBYP
+ LDOBB Bypass Enable.
+ 10
+ 1
+
+
+ LDOBBDISCH
+ LDOBB Discharge.
+ 11
+ 1
+
+
+ LDOBBENDLY
+ LDOBB Enable Delay.
+ 12
+ 1
+
+
+ LDORFENDLY
+ LDORF Enable Delay.
+ 13
+ 1
+
+
+ LDORFBYPENENDLY
+ LDORF Bypass Enable Delay.
+ 14
+ 1
+
+
+ LDOBBBYPENENDLY
+ LDOBB Bypass Enable Delay.
+ 15
+ 1
+
-
-
+
+
BTLELDODLY
BTLE LDO Delay Register
0x78
-
- BYPDLYCNT
- Bypass Delay Count.
- 0
- 8
-
-
- LDOTXDLYCNT
- LDOTX Delay Count.
- 8
- 9
-
-
- LDORXDLYCNT
- LDORX Delay Count.
- 20
- 9
-
+
+ BYPDLYCNT
+ Bypass Delay Count.
+ 0
+ 8
+
+
+ LDORFDLYCNT
+ LDORF Delay Count.
+ 8
+ 9
+
+
+ LDOBBDLYCNT
+ LDOBB Delay Count.
+ 20
+ 9
+
-
+
GPR0
General Purpose Register 0
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me14.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me14.svd
index 33037b350ed..ee57622c486 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me14.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me14.svd
@@ -1,5 +1,6 @@
-
+
SIR
System Initialization Registers.
@@ -19,7 +20,8 @@
MAGIC
- Magic Word Validation. This bit is set by the system initialization block following power-up.
+ Magic Word Validation. This bit is set by the system initialization block
+ following power-up.
0
1
read-only
@@ -39,7 +41,8 @@
CRCERR
- CRC Error Status. This bit is set by the system initialization block following power-up.
+ CRC Error Status. This bit is set by the system initialization block
+ following power-up.
1
1
read-only
@@ -52,7 +55,8 @@
error
- A CRC error occurred while reading the OTP. The address of the failure location in the OTP memory is stored in the ERRADDR register.
+ A CRC error occurred while reading the OTP. The address of the failure
+ location in the OTP memory is stored in the ERRADDR register.
1
@@ -61,7 +65,8 @@
ERRADDR
- Read-only field set by the SIB block if a CRC error occurs during the read of the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
+ Read-only field set by the SIB block if a CRC error occurs during the read of
+ the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
0x04
read-only
@@ -72,6 +77,40 @@
+
+
+
+ BTLE_LDO_TRIM_TX
+ BTLE LDO TX Trim register.
+ 0x54
+ read-write
+
+
+ TX
+ TX LDO trim value.
+ 0
+ 5
+ read-write
+
+
+
+
+
+ BTLE_LDO_TRIM_RX
+ BTLE LDO RX Trim register.
+ 0x5C
+ read-write
+
+
+ RX
+ RX LDO trim value.
+ 0
+ 5
+ read-write
+
+
+
+
FSTAT
funcstat register.
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me17.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me17.svd
index a3b401cdfd4..e84b71012e6 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me17.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me17.svd
@@ -72,28 +72,28 @@
-
- BTLE_LDO_TRIM
- BTLE LDO Trim register.
- 0x48
- read-write
-
-
- TX
- TX LDO trim value.
- 0
- 5
- read-write
-
-
- RX
- RX LDO trim value.
- 8
- 5
- read-write
-
-
-
+
+ BTLE_LDO_TRIM
+ BTLE LDO Trim register.
+ 0x48
+ read-write
+
+
+ RF
+ RF LDO trim value.
+ 16
+ 5
+ read-write
+
+
+ BB
+ BB LDO trim value.
+ 24
+ 5
+ read-write
+
+
+
FSTAT
funcstat register.
diff --git a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me18.svd b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me18.svd
index 6174cb8c012..da91113183f 100644
--- a/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me18.svd
+++ b/Libraries/PeriphDrivers/Source/SYS/SVD/sir_me18.svd
@@ -1,5 +1,6 @@

-
+
SIR
System Initialization Registers.
@@ -19,7 +20,8 @@
MAGIC
- Magic Word Validation. This bit is set by the system initialization block following power-up.
+ Magic Word Validation. This bit is set by the system initialization block
+ following power-up.
0
1
read-only
@@ -39,7 +41,8 @@
CRCERR
- CRC Error Status. This bit is set by the system initialization block following power-up.
+ CRC Error Status. This bit is set by the system initialization block
+ following power-up.
1
1
read-only
@@ -52,7 +55,8 @@
error
- A CRC error occurred while reading the OTP. The address of the failure location in the OTP memory is stored in the ERRADDR register.
+ A CRC error occurred while reading the OTP. The address of the failure
+ location in the OTP memory is stored in the ERRADDR register.
1
@@ -61,7 +65,8 @@
SIADDR
- Read-only field set by the SIB block if a CRC error occurs during the read of the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
+ Read-only field set by the SIB block if a CRC error occurs during the read of
+ the OTP memory. Contains the failing address in OTP memory (when CRCERR equals 1).
0x04
read-only
@@ -79,15 +84,15 @@
read-write
- TX
- TX LDO trim value.
+ RF
+ RF LDO trim value.
0
5
read-write
- RX
- RX LDO trim value.
+ BB
+ BB LDO trim value.
5
5
read-write
diff --git a/Libraries/PeriphDrivers/Source/SYS/sys_me17.c b/Libraries/PeriphDrivers/Source/SYS/sys_me17.c
index cb9ad4328bc..ff2d5c9288c 100644
--- a/Libraries/PeriphDrivers/Source/SYS/sys_me17.c
+++ b/Libraries/PeriphDrivers/Source/SYS/sys_me17.c
@@ -248,7 +248,7 @@ int MXC_SYS_ClockSourceEnable(mxc_sys_system_clock_t clock)
break;
case MXC_SYS_CLOCK_ERFO:
- MXC_GCR->btleldoctrl |= MXC_F_GCR_BTLELDOCTRL_LDOTXEN | MXC_F_GCR_BTLELDOCTRL_LDORXEN;
+ MXC_GCR->btleldoctrl |= MXC_F_GCR_BTLELDOCTRL_LDORFEN | MXC_F_GCR_BTLELDOCTRL_LDOBBEN;
/* Initialize kickstart circuit
Select Kick start circuit clock source- IPO/ISO
diff --git a/Libraries/PeriphDrivers/Source/SYS/sys_me18.c b/Libraries/PeriphDrivers/Source/SYS/sys_me18.c
index 40a48497888..79aa5c17a87 100644
--- a/Libraries/PeriphDrivers/Source/SYS/sys_me18.c
+++ b/Libraries/PeriphDrivers/Source/SYS/sys_me18.c
@@ -255,7 +255,7 @@ int MXC_SYS_ClockSourceEnable(mxc_sys_system_clock_t clock)
break;
case MXC_SYS_CLOCK_ERFO:
- MXC_GCR->btleldoctrl |= MXC_F_GCR_BTLELDOCTRL_LDOTXEN | MXC_F_GCR_BTLELDOCTRL_LDORXEN;
+ MXC_GCR->btleldoctrl |= MXC_F_GCR_BTLELDOCTRL_LDORFEN | MXC_F_GCR_BTLELDOCTRL_LDOBBEN;
MXC_GCR->clkctrl |= MXC_F_GCR_CLKCTRL_ERFO_EN;
return MXC_SYS_Clock_Timeout(MXC_F_GCR_CLKCTRL_ERFO_RDY);
diff --git a/Tools/Bluetooth/BLE_hci.py b/Tools/Bluetooth/BLE_hci.py
deleted file mode 100644
index a14b1cda9a7..00000000000
--- a/Tools/Bluetooth/BLE_hci.py
+++ /dev/null
@@ -1,1458 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## BLE_hci.py
- #
- # HCI Tool used to control a Bluetooth Controller through a serial port.
- #
-
-import serial
-import sys
-import signal
-import codecs
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import datetime
-import struct
-import threading
-from termcolor import colored
-import readline
-
-
-# Setup the default serial port settings
-defaultBaud=115200
-defaultSP="/dev/ttyUSB0"
-defaultMonSP=""
-
-# Setup the default Bluetooth settings
-defaultAdvInterval="0x60"
-defaultScanInterval="0x100"
-
-defaultConnInterval="0x6" # 7.5 ms
-defaultSupTimeout="0x64" # 1 s
-
-defaultDevAddr="00:11:22:33:44:55"
-defaultInitAddr=defaultDevAddr
-
-# Magic value for the exit function to properly return
-exitFuncMagic=999
-
-## Convert integer to hex.
- #
- # Converts integer to hex with a given number of bits for sign extension.
-################################################################################
-def tohex(val, nbits):
- return hex((val + (1 << nbits)) % (1 << nbits))
-
-## Parse BD address.
- #
- # Reverses a Bluetooth address to bytes, LSB first.
-################################################################################
-def parseBdAddr(addr):
- # Reorder the address
- addr = addr.split(":")
- if(len(addr) != 6):
- print("Address is wrong length, needs to be 6 bytes separated by ':'")
- return ""
- addrBytes = addr[5]+addr[4]+addr[3]+addr[2]+addr[1]+addr[0]
- return addrBytes
-
-## Parse register address.
- #
- # Reverses a hex number to bytes, LSB first.
-################################################################################
-def parseAddr(addr, numNibbles=8):
- # Make sure it's a hex number starting with 0x
- if(addr[:2] != "0x"):
- print("Address must be a hex number starting with 0x")
-
- # Remove the 0x
- addr = addr[2:]
-
- # Make sure this is a 32 bit address
- if(len(addr) != numNibbles):
- print("Address must be 32 bit hex number")
-
- # Split the address into bytes
- chunks, chunk_size = len(addr), 2
- addrBytes = [ addr[i:i+chunk_size] for i in range(0, chunks, chunk_size) ]
-
- # Reverse the bytes to LSB first
-
- addrString = ""
- for i in range (int(numNibbles/2)-1, -1, -1):
- addrString = addrString + addrBytes[i]
-
- return addrString
-
-## Parse bytes string.
- #
- # Parses a string of 4 hex bytes, LSB first. Returns 32 bit int.
-################################################################################
-def parseBytes32(byteString):
- return int(byteString[3]+byteString[2]+byteString[1]+byteString[0], 16)
-
-
-# Namespace class used to create function arguments similar to argparse
-class Namespace:
- def __init__(self, **kwargs):
- self.__dict__.update(kwargs)
-
-class BLE_hci:
-
- port = serial.Serial()
- serialPort = ""
-
- def __init__(self, args):
-
- try:
- if "id" in vars(args).keys():
- self.id = args.id
- else:
- self.id = "-"
-
- # Open serial port
- serialPort = args.serialPort
- self.port = serial.Serial(
- port=str(serialPort),
- baudrate=args.baud,
- parity=serial.PARITY_NONE,
- stopbits=serial.STOPBITS_ONE,
- bytesize=serial.EIGHTBITS,
- rtscts=False,
- dsrdtr=False,
- timeout=2.0
- )
- self.port.isOpen()
-
- if args.monPort == "":
- self.mon_port = None
- else:
- mon_port = serial.Serial()
- self.mon_port = serial.Serial(
- port=str(args.monPort),
- baudrate=args.baud,
- parity=serial.PARITY_NONE,
- stopbits=serial.STOPBITS_ONE,
- bytesize=serial.EIGHTBITS,
- rtscts=False,
- dsrdtr=False,
- timeout=2.0
- )
- self.mon_port.isOpen()
-
- except serial.SerialException as err:
- print(err)
- sys.exit(1)
-
- except OverflowError as err:
- print("baud rate exception, "+str(args.baud)+" is too large")
- print(err)
- sys.exit(1)
-
- if self.mon_port != None:
- monTraceMsgThread = threading.Thread(target=self.monTraceMsg, daemon=True)
- monTraceMsgThread.start()
-
- def closeListenDiscon(self):
- # Close the listener thread if active
- self.listenDisconThread
- self.listenDisconStop
-
- if(self.listenDisconThread.is_alive()):
- self.listenDisconStop = True
- self.listenDisconThread.join()
-
- ## Exit function.
- #
- # Sends an exit code that is handled below.
- ################################################################################
- def exitFunc(self, args):
-
- # Close the serial port
- if self.port.is_open:
- self.port.flush()
- self.port.close()
-
- if self.mon_port is not None:
- if self.mon_port.is_open:
- self.mon_port.flush()
- self.mon_port.close()
-
- print("")
-
- # Close the listener thread if active
- self.closeListenDiscon()
-
- try:
- if(args.returnVal != None):
- sys.exit(int(args.returnVal))
- except AttributeError:
- sys.exit(exitFuncMagic)
-
- sys.exit(exitFuncMagic)
-
- ## Wait for an HCI event.
- #
- # Waits for an HCI event, optionally prints the received event.
- # Will timeout on the serial port if nothing arrives.
- ################################################################################
- def wait_event(self, print_evt = True, timeout=6.0):
-
- # Set the serial port timeout
- self.port.timeout=timeout
-
- # Receive the event
- evt=self.port.read(size=1)
- if(len(evt) == 0):
- # TODO: Read flush
- self.port.flush()
- return ""
-
- evt=int(codecs.encode(evt, 'hex_codec'),16)
- status_string = '%02X'%evt
-
- # ACL data
- if(evt == 2):
- # Receive the rest of the header
- hdr = self.port.read(size=4)
- packet_len = hdr[2] + (hdr[3] << 8)
- hdr=int(codecs.encode(hdr, 'hex_codec'),16)
- status_string+= '%08X'%hdr
-
- # HCI Event
- elif(evt == 4):
- # Receive the rest of the header
- hdr = self.port.read(size=2)
- packet_len = hdr[1]
- hdr=int(codecs.encode(hdr, 'hex_codec'),16)
- status_string+= '%04X'%hdr
-
- else:
- print("Error: unknown evt = "+str(evt))
- return
-
- payload = self.port.read(size=packet_len)
-
- # Print the packet
- if print_evt and len(payload) > 0:
- for i in range(0, len(payload)):
- status_string += '%02X'%payload[i]
-
- if self.id == "-":
- print(str(datetime.datetime.now()) + " <", status_string)
- else:
- print(str(datetime.datetime.now()) + f" {self.id}<", status_string)
-
- return status_string
-
- ## Wait for HCI events.
- #
- # Waits to receive HCI events, prints the timestamp every 30 seconds.
- ################################################################################
- def wait_events(self, seconds = 2, print_evt = True):
- # Read events from the device for a few seconds
- start_time = datetime.datetime.now()
- delta = datetime.datetime.now() - start_time
- while((delta.seconds < seconds) or (seconds == 0)):
- self.wait_event(print_evt = print_evt, timeout=0.1)
- delta = datetime.datetime.now() - start_time
- if((delta.seconds > 30) and ((delta.seconds % 30) == 0)) :
- print(str(datetime.datetime.now()) + " |")
-
- ## Send HCI command.
- #
- # Send a HCI command to the serial port. Will add a small delay and wait for
- # and print an HCI event by default.
- ################################################################################
-
- def send_command(self, packet, resp=True, delay=0.01, print_cmd=True, timeout=6):
- # Send the command and data
- if(print_cmd):
- if self.id == "-":
- print(str(datetime.datetime.now()) + " >", packet)
- else:
- print(str(datetime.datetime.now()) + f" {self.id}>", packet)
-
- arr = bytearray.fromhex(packet)
-
- self.port.write(arr)
-
- sleep(0.2) # for better sync of controller status change and master/slave sync
-
- sleep(delay)
-
- if resp:
- return self.wait_event(timeout=timeout)
-
-
- ## Parse connection stats event.
- #
- # Parses a connection stats event and prints the results.
- ################################################################################
- def parseConnStatsEvt(self, evt):
- """
- Example:
- 2023-01-04 12:41:48.018410 2> 01FDFF00
- 2023-01-04 12:41:48.029006 2< 040E2001FDFF00880000000100000000000000880000000000000000000A0016000700
-
- rxDataOk : 136
- rxDataCRC : 1
- rxDataTO : 0
- txData : 136
- errTrans : 0
- PER : 0.73 %
-
- 2023-01-04 16:04:27.486935 1> 01FDFF00
- 2023-01-04 16:04:27.497405 1< 040E2001FDFF0000000000000000000000000000000000000000000000000000000000
- rxDataOk : 0
- rxDataCRC : 0
- rxDataTO : 0
- txData : 0
- errTrans : 0
- perMaster : 100.0
-
- :param evt:
- :return: per
- """
- try:
- # Offset into the event where the stats start, each stat is 32 bits, or
- # 8 hex nibbles
- i = 14
- rxDataOk = int(evt[6+i:8+i]+evt[4+i:6+i]+evt[2+i:4+i]+evt[0+i:2+i],16)
- i += 8
- rxDataCRC = int(evt[6+i:8+i]+evt[4+i:6+i]+evt[2+i:4+i]+evt[0+i:2+i],16)
- i += 8
- rxDataTO = int(evt[6+i:8+i]+evt[4+i:6+i]+evt[2+i:4+i]+evt[0+i:2+i],16)
- i += 8
- txData = int(evt[6+i:8+i]+evt[4+i:6+i]+evt[2+i:4+i]+evt[0+i:2+i],16)
- i += 8
- errTrans = int(evt[6+i:8+i]+evt[4+i:6+i]+evt[2+i:4+i]+evt[0+i:2+i],16)
- except ValueError as err:
- print(f'{self.id}: {evt}')
- print(err)
- return None
-
- print(f'{self.id}<')
- print("rxDataOk : "+str(rxDataOk))
- print("rxDataCRC : "+str(rxDataCRC))
- print("rxDataTO : "+str(rxDataTO))
- print("txData : "+str(txData))
- print("errTrans : "+str(errTrans))
-
- per = 100.0
- if (rxDataCRC+rxDataTO+rxDataOk) != 0:
- per = round(float((rxDataCRC+rxDataTO)/(rxDataCRC+rxDataTO+rxDataOk))*100, 2)
- print("PER : "+str(per)+" %")
-
- return per
-
-
- ## Monitor the UART0
- #
- # Listen for the trace message from the board UART0
- ################################################################################
- def monTraceMsg(self):
- first = True
- while True:
- if self.mon_port is not None:
- msg = self.mon_port.readline().decode("utf-8")
- msg = msg.replace("\r\n", "")
- if msg != "":
- if first:
- print(f'\n{str(datetime.datetime.now())} {self.id} {msg}')
- first = False
- else:
- print(f'{str(datetime.datetime.now())} {self.id} {msg}')
-
-
- ## Get connection stats.
- #
- # Send the command to get the connection stats, parse the return value, return the PER.
- ################################################################################
- def connStatsFunc(self, args):
-
- per = None
- retries = 5
- while((per == None) and (retries > 0)):
- # Send the command to get the connection stats, save the event
- statEvt = self.send_command("01FDFF00")
-
- if(retries != 5):
- # Delay to clear pending events
- self.wait_events(1)
-
-
- # Parse the connection stats event
- per = self.parseConnStatsEvt(statEvt)
-
- retries = retries - 1
-
- if retries == 0 and per is None:
- print(colored('Warning: Failed to get connection stats', 'yellow'))
-
- return per
-
-
- ## Listen for disconnection events.
- #
- # Listen for events and print them to the terminal. Send command if we get a disconnect event.
- ################################################################################
- def listenDiscon(self):
-
- # TODO: Add a way to cancel this
- if(self.listenDisconCommand != ""):
- self.send_command(listenDisconCommand)
-
- while(True):
- evt = self.wait_event(timeout=0.1)
- if(self.listenDisconStop):
- sys.exit(1)
- if("040504" in evt):
- if(self.listenDisconCommand != ""):
- self.send_command(listenDisconCommand)
- # Thread used to listen for disconnection events
- listenDisconThread = threading.Thread(target=listenDiscon)
- listenDisconStop = False
- listenDisconCommand = ""
-
- ## Set BD address command.
- #
- # Sets the public BD address for the device.
- ################################################################################
- def addrFunc(self, args):
- # Reorder the address
- addrBytes = parseBdAddr(args.addr)
-
- # Send the vendor specific set address command
- self.send_command("01F0FF06"+addrBytes)
-
- ## Start advertising function.
- #
- # Sends HCI commands to start advertising.
- ################################################################################
- def advFunc(self, args):
- if isinstance(args.stats, str):
- #print(f'args.stats type: {type(args.stats)}, value: {args.stats}')
- if args.stats.lower() == "true":
- args.stats = True
- else:
- args.stats = False
-
- # Bogus address to use for commands, allows any peer to connect
- peer_addr = "000000000000"
-
- # Setup the event masks
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01630C08FFFFFFFFFFFFFFFF")
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01012008FFFFFFFFFFFFFFFF")
-
- # Reset the connection stats
- if(args.stats):
- self.send_command("0102FF00")
-
- # Set default PHY to enable all PHYs
- self.send_command("01312003"+"00"+"07"+"07")
-
- advType = "03" # Non connectable undirected advertising (ADV_NONCONN_IND)
- if(args.connect == "True"):
- advType = "00" # Connectable and scannable undirected advertising (ADV_IND)
-
- # Convert advertising interval string to int
- advIntervalInt = int(args.interval, 16)
-
- # Convert int to 2 hex bytes, LSB first
- advInterval = "%0.2X"%(advIntervalInt & 0xFF)
- advInterval+= "%0.2X"%((advIntervalInt & 0xFF00) >> 8)
-
- # LeSetAdvParam(Advertising_Interval_Min=advInterval,
- # Advertising_Interval_Max=advInterval,
- # Advertising_Type=advType,
- # Own_Address_Type=0 (public),
- # Peer_Address_Type=0 (public),
- # Peer_Address=peer_addr,
- # Advertising_Channel_Map=7 (all 3 advertising channels),
- # Advertising_Filter_Policy=0 (don't do any filtering))
- self.send_command("0106200F"+advInterval+advInterval+advType+"0000"+peer_addr+"0700")
-
- # Start advertising
- connCommand = "010A200101"
-
- # Start a thread to listen for disconnection events and restart advertising
- if(args.maintain == True):
- global listenDisconCommand
- global listenDisconStop
- global listenDisconThread
-
- listenDisconThread = threading.Thread(target=listenDiscon)
- listenDisconCommand = connCommand
- listenDisconStop = False
-
- # Start the thread and wait for it to startup
- listenDisconThread.start()
- sleep(1)
-
- return
- else:
- self.send_command(connCommand)
-
- if(args.listen == "False"):
- return
-
- # Listen for events indef
- if(args.stats):
- per = 100.0
- listenTime = int(args.listen)
- while (listenTime > 0):
- self.wait_events(10)
-
- # Send the command to get the connection stats, save the event
- statEvt = self.send_command("01FDFF00")
-
- # Parse the connection stats event
- per = self.parseConnStatsEvt(statEvt)
-
- listenTime = listenTime - 10
-
- return per
-
- # Listen for events for a few seconds
- if(args.listen != "True"):
- self.wait_events(int(args.listen))
- return
- else:
- while True:
- self.wait_events(0)
-
-
- ## Start scanning function.
- #
- # Sends HCI commands to start scanning.
- ################################################################################
- def scanFunc(self, args):
-
- # Setup the event masks
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01630C08FFFFFFFFFFFFFFFF")
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01012008FFFFFFFFFFFFFFFF")
-
- # Set scan parameters
- # Active scanning
- # window and interval 0xA0
- # Own address type is 0, public
- # Not doing any filtering
- self.send_command("010B200701A000A0000000")
-
- # Start scanning, don't filter duplicates
- self.send_command("010C20020100")
-
- while True:
- self.wait_event()
-
- ## Start initiating function.
- #
- # Sends HCI commands to start initiating and create a connection.
- ################################################################################
- def initFunc(self, args):
- if isinstance(args.stats, str):
- #print(f'args.stats type: {type(args.stats)}, value: {args.stats}')
- if args.stats.lower() == "true":
- args.stats = True
- else:
- args.stats = False
-
- # Reorder the address
- addrBytes = parseBdAddr(args.addr)
-
- # Setup the event masks
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01630C08FFFFFFFFFFFFFFFF")
- self.send_command("01010C08FFFFFFFFFFFFFFFF")
- self.send_command("01012008FFFFFFFFFFFFFFFF")
-
- # Reset the connection stats
- if(args.stats):
- self.send_command("0102FF00")
-
- # Set default PHY to enable all PHYs
- self.send_command("01312003"+"00"+"07"+"07")
-
- # Convert connection interval string to int
- connIntervalInt = int(args.interval, 16)
-
- # Convert int to 2 hex bytes, LSB first
- connInterval = "%0.2X"%(connIntervalInt & 0xFF)
- connInterval+= "%0.2X"%((connIntervalInt & 0xFF00) >> 8)
-
- # Convert supervision timeout string to int
- supTimeoutInt = int(args.timeout, 16)
-
- # Convert int to 2 hex bytes, LSB first
- supTimeout = "%0.2X"%(supTimeoutInt & 0xFF)
- supTimeout+= "%0.2X"%((supTimeoutInt & 0xFF00) >> 8)
-
- # Create the connection, using a public address for peer and local
- ownAddrType="00"
- connLatency="0000"
- connCommand="010D2019A000A00000"+"00"+addrBytes+ownAddrType+connInterval+connInterval+connLatency+supTimeout+"0F100F10"
-
- # Start a thread to listen for disconnection events and restart the connection
- if(args.maintain == True):
- global listenDisconCommand
- global listenDisconStop
- global listenDisconThread
-
- listenDisconThread = threading.Thread(target=listenDiscon)
- listenDisconCommand = connCommand
- listenDisconStop = False
-
- # Start the thread and wait for it to startup
- listenDisconThread.start()
- sleep(1)
-
- return
- else:
- self.send_command(connCommand)
-
- if(args.listen == "False"):
- return
-
- # Listen for events indef
- if(args.stats):
- per = 100.0
- listenTime = int(args.listen)
- while (listenTime > 0):
- self.wait_events(10)
-
- # Send the command to get the connection stats, save the event
- statEvt = self.send_command("01FDFF00")
-
- # Parse the connection stats event
- per = self.parseConnStatsEvt(statEvt)
-
- listenTime = listenTime - 10
-
- return per
-
- # Listen for events for a few seconds``
- if(args.listen != "True"):
- self.wait_events(int(args.listen))
- return
- else:
- while True:
- self.wait_events(0)
-
- ## Set the data length.
- #
- # Sets the TX data length in octets and time for handle 0.
- ################################################################################
- def dataLenFunc(self, args):
- # Send the set data length command with max length
- self.send_command("01222006"+"0000"+"FB00"+"9042")
-
- ## Set the length of empty packets.
- #
- # Sets the length of empty packets.
- ################################################################################
- def sendAclFunc(self, args):
-
- packetLen = "%0.2X"%(int(args.packetLen) & 0xFF)
- packetLen+= "%0.2X"%((int(args.packetLen) & 0xFF00) >> 8)
-
- if(args.numPackets == "0"):
- self.send_command("01E5FF02"+packetLen)
- return
-
- numPackets = "%0.2X"%(int(args.numPackets) & 0xFF)
-
- # Send the vendor specific command to send ACL packets, handle 0
- self.send_command("01E4FF05"+"0000"+packetLen+numPackets)
-
- ## Set the length of empty packets.
-
-
- #
- # Sets the length of empty packets.
- ################################################################################
- def sinkAclFunc(self, args):
-
- # Send the vendor specific command to sink ACL packets
- self.send_command("01E3FF0101")
-
- ## PHY switch function.
- #
- # Sends HCI command to switch PHYs. Assumes that we can't do asymmetric PHY settings.
- # Assumes we're using connection handle 0000
- ################################################################################
- def phyFunc(self, args, timeout=3):
- # Convert PHY options to bits
- phy="01"
- phyOptions="0000"
- if(args.phy == "4"):
- phy="04"
- phyOptions="0100"
- elif(args.phy == "3"):
- phy="04"
- phyOptions="0200"
- elif(args.phy == "2"):
- phy="02"
- elif(args.phy != "1"):
- print("Invalid PHY selection, using 1M")
-
- self.send_command("01322007"+"0000"+"00"+phy+phy+phyOptions)
- self.wait_events(timeout)
-
- ## Rest function.
- #
- # Sends HCI reset command.
- ################################################################################
- def resetFunc(self, args):
-
- # Close the listener thread if active
- self.closeListenDiscon()
-
- # Send the HCI command for HCI Reset
- self.send_command("01030C00")
-
- ## Listen for events.
- #
- # Listen for HCI events.
- ################################################################################
- def listenFunc(self, args):
- if isinstance(args.stats, str):
- #print(f'args.stats type: {type(args.stats)}, value: {args.stats}')
- if args.stats.lower() == "true":
- args.stats = True
- else:
- args.stats = False
-
- waitSeconds = int(args.time)
-
- per = 100.0
- if(args.stats):
-
- startTime = datetime.datetime.now()
- while True:
-
- # Wait for at least 10 seconds
- waitPrintSeconds = waitSeconds
- if(waitSeconds == 0):
- waitPrintSeconds = 10
- self.wait_events(waitPrintSeconds)
-
- # Send the command to get the connection stats, save the event
- statEvt = self.send_command("01FDFF00")
-
- # Parse the connection stats event
- per = self.parseConnStatsEvt(statEvt)
-
- timeNow = datetime.datetime.now()
-
- if((waitSeconds != 0) and ((timeNow - startTime).total_seconds() > waitSeconds)):
- return per
-
- else:
- self.wait_events(waitSeconds)
-
- return per
-
-
- ## txTest function.
- #
- # Sends HCI command for the transmitter test.
- ################################################################################
- def txTestFunc(self, args):
- channel="%0.2X"%int(args.channel)
- packetLength="%0.2X"%int(args.packetLength)
- payload="%0.2X"%int(args.payload)
- phy="%0.2X"%int(args.phy)
- self.send_command("01342004"+channel+packetLength+payload+phy)
-
- ## txTestVS function.
- #
- # Sends a vendor specific HCI command for the transmitter test.
- ################################################################################
- def txTestVSFunc(self, args):
-
- if args.channel is not None:
- channel="%0.2X"%int(args.channel)
- else:
- channle = "%0.2X"%int(0)
- if args.packetLength is not None:
- packetLength="%0.2X"%int(args.packetLength)
- else:
- packetLength = '00'
-
- if args.payload is not None:
- payload="%0.2X"%int(args.payload)
- else:
- payload="%0.2X"%int(0)
- if args.phy is not None:
- phy="%0.2X"%int(args.phy)
- else:
- phy = '01'
-
- numPackets = "%0.2X"%(int(args.numPackets) & 0xFF)
- numPackets+= "%0.2X"%((int(args.numPackets) & 0xFF00) >> 8)
-
- self.send_command("0103FF06"+channel+packetLength+payload+phy+numPackets)
-
- ## rxTest function.
- #
- # Sends HCI command for the receiver test.
- ################################################################################
- def rxTestFunc(self, args):
- channel="%0.2X"%int(args.channel)
-
- # Convert S2 to coded PHY
- phy = int(args.phy)
- if(phy == 4):
- phy = 3
-
- phy="%0.2X"%phy
- modulationIndex="00"
- self.send_command("01332003"+channel+phy+modulationIndex)
-
-
- def endTestVSFunc(self, args):
- """
- Vendor specific command to end test\n
- Returns a dictionary of entire test report\n
- Keys:\n
- rxDataTO - Timeouts on receive\n
- rxDataCRC - RX data with CRC errors\n
- rxDataOk - Total RX data received with no issues\n
- txData - Total number of TX packets sent\n
- """
-
- evtString = self.send_command("0104FF00")
-
- if evtString:
- stats = {}
-
- #flip every two character strings to create a big endian string to cast
- stats['rxDataTO'] = int(evtString[-2:] + evtString[-4 :-2],16)
- stats['rxDataCRC'] = int(evtString[-6 :-4] + evtString[-8:-6],16)
- stats['rxDataOk'] = int(evtString[-10 :-8] + evtString[-12:-10] ,16)
- stats['txData'] = int(evtString[-14 :-12] + evtString[-16:-14],16)
-
- # if args is None or args.noPrint is False:
- for item in stats:
- print(item, stats[item])
-
- return stats
- else:
- print(colored('Error: Device Returned No Data. Command may not be supported, or device might not be updated', 'red'))
- return None
-
-
- ## End Test function.
- #
- # Sends HCI command for the end test command.
- ################################################################################
- def endTestFunc(self, args):
- # Send the end test command, store the event
- evtString = self.send_command("011F2000")
-
- # Parse the event and print the number of received packets
- try:
-
- print("evtString", evtString)
-
- evtData = int(evtString, 16)
- except ValueError:
- print('Value Error Has occured. Response most likely empty')
- return 0
-
- rxPackets = int((evtData & 0xFF00)>>8)+int((evtData & 0xFF)<<8)
- if (args is None) or (vars(args).get('noPrint') is not True):
- print("Received PKTS : "+str(rxPackets))
-
- return rxPackets
-
- ## txPower function.
- #
- # Sends HCI command to set the TX power.
- ################################################################################
- def txPowerFunc(self, args):
-
- # Get an 8 bit signed integer
- power="%0.2X"%int(tohex(int(args.power), nbits=8), base=16)
-
- # Set the advertising TX power level
- self.send_command("01F5FF01"+power)
-
- if(args.handle):
- # Convert int handle to 2 hex bytes, LSB first
- handle = "%0.2X"%(int(args.handle) & 0xFF)
- handle+= "%0.2X"%((int(args.handle) & 0xFF00) >> 8)
-
- # Set the connection TX power level
- self.send_command("01F6FF03"+handle+power)
-
- ## Disconnect function.
- #
- # Sends HCI command to disconnect from a connection.
- ################################################################################
- def disconFunc(self, args):
- # Send the disconnect command, handle 0, reason 0x16 Local Host Term
- self.send_command("01060403000016")
-
- ## Set channel map function.
- #
- # Sends vendor specific HCI commands to set the channel map.
- ################################################################################
- def setChMapFunc(self, args):
-
- chMask = 0xFFFFFFFFFF
- if(args.mask == None):
- if(args.chan == None):
- # Use all of the channels
- chMask = 0xFFFFFFFFFF
- elif(args.chan == "0"):
- # Use channels 0 and 1
- chMask = 0x0000000003
- else:
- chMask = 0x0000000001
- chMask = chMask | (1 << int(args.chan))
-
- else:
- chMask = int(args.mask, 16)
-
- # Mask off the advertising channels
- chMask = chMask & ~(0xE000000000)
-
- # Convert to a string
- chMaskString = "0x%0.16X"%(chMask)
- print(chMaskString)
- maskString = parseAddr(chMaskString, numNibbles=16)
-
-
- # Convert int handle to 2 hex bytes, LSB first
- handle = "%0.2X"%(int(args.handle) & 0xFF)
- handle+= "%0.2X"%((int(args.handle) & 0xFF00) >> 8)
-
- print(maskString)
- self.send_command("01F8FF0A"+handle+maskString)
-
- ## Command function.
- #
- # Sends HCI commands.
- ################################################################################
- def cmdFunc(self,args, timeout=None):
- if timeout is None:
- self.send_command(args.cmd)
- else:
- self.send_command(args.cmd, timeout=timeout)
-
- def readReg(self, addr, length):
-
- # Reverse the bytes to LSB first
- addrBytes = parseAddr(addr)
-
- # Get the read length
- readLen = length
- if(readLen[:2] != "0x"):
- print("Length must be a hex number starting with 0x")
- return
- readLen = readLen[2:]
-
-
- readLenString = "%0.2X"%int(readLen, 16)
-
-
- # Calculate the total length, 1 for the read len, 4 for the address length
- totalLen = "%0.2X"%(1+4)
-
- # Send the command and save the event
- evtString = self.send_command("0101FF"+totalLen+readLenString+addrBytes)
-
-
- # Get the data
- evtString = evtString[14:]
-
- # Split the data into bytes
- chunks, chunk_size = len(evtString), 2
- evtBytes = [ evtString[i:i+chunk_size] for i in range(0, chunks, chunk_size) ]
-
- return evtBytes
-
- ## Read register function.
- #
- # Sends HCI command to read a register.
- ################################################################################
- def readRegFunc(self, args):
-
- # Get the addr string
- addr=args.addr
-
- # Reverse the bytes to LSB first
- addrBytes = parseAddr(addr)
-
- # Get the read length
- readLen = args.length
- if(readLen[:2] != "0x"):
- print("Length must be a hex number starting with 0x")
- return
- readLen = readLen[2:]
-
- # assert(readLen < 256)
-
- readLenString = "%0.2X"%int(readLen, 16)
- print(readLenString)
- # Calculate the total length, 1 for the read len, 4 for the address length
- totalLen = "%0.2X"%(1+4)
-
- # Send the command and save the event
- evtString = self.send_command("0101FF"+totalLen+readLenString+addrBytes)
-
- # Get the data
- evtString = evtString[14:]
-
- # Split the data into bytes
- chunks, chunk_size = len(evtString), 2
- evtBytes = [ evtString[i:i+chunk_size] for i in range(0, chunks, chunk_size) ]
-
-
- # Print the data
- startingAddr = int(args.addr, 16)
-
- # Pad the length so we can print 32-bit numbers
- readLen = int(readLen,16)
- readLenPad = readLen
- if(readLen % 4):
- readLenPad += (4-readLen%4)
-
- for i in range (0, readLenPad):
- addr = startingAddr+i
-
- # Print the address every 4 bytes
- if(i%4 == 0):
- print("0x%0.8X"%addr, end=": 0x")
-
- # Print from MSB to LSB in the 32 bit value
- lineAddr = int(i/4)*4 + (4-(i%4)) - 1
-
- # Print spaces if we're padding the length
- if(lineAddr >= readLen):
- print("__", end="")
- else:
- print(evtBytes[lineAddr], end="")
-
- # Print a new line at the end of the 32 bit value
- if(i%4 == 3):
- print()
-
- return evtBytes
-
- ## Write register function.
- #
- # Sends HCI command to write a register.
- ################################################################################
- def writeRegFunc(self, args):
-
- # Get the data string
- data=args.value
-
- # Make sure input value is a hex number starting with 0x
- if(data[:2] != "0x"):
- print("Input value must be a hex number starting with 0x")
-
- data = data[2:]
-
- # Get the total length, minus 2 for the 0x
- writeLen=len(data)
-
- # Make sure the writeLen is an even number
- if(writeLen % 2 != 0):
- print("Input value must be on a byte boundary, even number of digits")
- return
-
- # Convert nibbles to number of bytes
- writeLen = int(writeLen/2)
-
- if((writeLen != 4) and (writeLen != 2) and (writeLen != 1)):
- print("Input value must be either 8, 16, or 32 bits")
- return
-
- # Calculate the length, convert to string
- totalLen="%0.2X"%(writeLen+5)
- writeLen="%0.2X"%(writeLen)
-
- # Get the addr string
- addr=args.addr
-
- # Make sure it's a hex number starting with 0x
- if(addr[:2] != "0x"):
- print("Address must be a hex number starting with 0x")
-
- addr = addr[2:]
-
- if(len(addr) != 8):
- print("Address must be 32 bit hex number")
-
- # Split the address into bytes
- chunks, chunk_size = len(addr), len(addr)//4
- addrBytes = [ addr[i:i+chunk_size] for i in range(0, chunks, chunk_size) ]
-
- # Reverse the bytes to LSB first
- addrBytes = addrBytes[3]+addrBytes[2]+addrBytes[1]+addrBytes[0]
-
- self.send_command("0100FF"+totalLen+writeLen+addrBytes+data)
-
- ## Read RSSI function.
- #
- # Sends HCI command to read RSSI.
- ################################################################################
- def rssiFunc(self, args, timeout=None):
- if timeout is None:
- self.send_command("010514020000", resp=False)
- timeout = 0.1
- else:
- self.send_command("010514020000", resp=False, timeout=timeout)
-
- rssi = 0
- evt = self.wait_event(timeout=timeout)
- if evt is not None:
- rssi_hex_str = evt[-2:]
- byte_data = bytes.fromhex(rssi_hex_str)
- rssi = struct.unpack('>b', byte_data)[0]
-
- if rssi is None:
- rssi = 0
-
- return rssi
-
-## Help function.
- #
- # Prints the help text.
-################################################################################
-def helpFunc(args):
- terminal.print_help()
-
-## Signal handler.
- #
- # Catches OS signals and closes the serial port.
-################################################################################
-def signal_handler(signal, frame):
- print()
- sys.exit(0)
-
-if __name__ == '__main__':
-
- # Setup the signal handler to catch the ctrl-C
- signal.signal(signal.SIGINT, signal_handler)
-
- # Setup the command line description text
- descText = """
- Bluetooth Low Energy HCI tool.
-
- This tool is used in tandem with the BLE controller examples. This tools sends
- HCI commands through the serial port to the target device. It will receive and print
- the HCI events received from the target device.
-
- Serial port is configured as 8N1, no flow control, default baud rate of """+str(defaultBaud)+""".
- """
-
- # Parse the command line arguments
- parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
- parser.add_argument('serial_port', nargs='?', default="",
- help='Serial port path or COM#, default: '+defaultSP)
- parser.add_argument('baud', nargs='?', default=defaultBaud,
- help='Serial port baud rate, default: '+str(defaultBaud))
- parser.add_argument('--monPort', nargs='?', default=defaultMonSP,
- help='Monitor Trace Msg Serial Port path or COM#, default: ' + defaultMonSP)
- parser.add_argument('--serialPort', nargs='?', default=defaultSP,
- help='Serial port path or COM#, default: '+defaultSP)
- parser.add_argument('--baud', nargs='?', default=defaultBaud,
- help='Serial port baud rate, default: '+str(defaultBaud))
- parser.add_argument('-c', '--command', default="", help='Commands to run')
-
- args = parser.parse_args()
- if args.serial_port != "":
- args.serialPort = args.serial_port
- monSP = args.monPort # monitor trace msg serial port
-
- print("Bluetooth Low Energy HCI tool")
- print("Serial port: " + args.serialPort)
- print("Monitor Trace Msg Serial Port: "+monSP)
- print("8N1 "+str(args.baud))
- if(args.command != ""):
- print("running commands: "+args.command)
- print("")
-
- # Create the BLE_hci object
- ble_hci = BLE_hci(args)
-
- # Start the terminal argparse
- terminal = argparse.ArgumentParser(prog="", add_help=True)
- subparsers = terminal.add_subparsers()
-
- addr_parser = subparsers.add_parser('addr', help="Set the device address")
- addr_parser.add_argument('addr',
- help="Set the device address, ex: 00:11:22:33:44:55 ")
- addr_parser.set_defaults(func=ble_hci.addrFunc)
-
- adv_parser = subparsers.add_parser('adv', help="Send the advertising commands", formatter_class=RawTextHelpFormatter)
- adv_parser.add_argument('-i', '--interval', default=str(defaultAdvInterval),
- help="Advertising interval in units of 0.625 ms, 16-bit hex number 0x0020 - 0x4000, default: "+str(defaultAdvInterval))
- adv_parser.add_argument('-c', '--connect', default="True", help="Advertise as a connectable device, default: True")
- adv_parser.add_argument('-l', '--listen', default="False", help="Listen for events \n\t\"True\" for indefinitely, ctrl-c to exit \n\t\"False\" to return \n\tnumber of seconds")
- adv_parser.add_argument('-s', '--stats', action='store_true', help="Periodically print the connection stats if listening")
- adv_parser.add_argument('-m', '--maintain', action='store_true', help="Setup an event listener to restart advertising if we disconnect")
- adv_parser.set_defaults(func=ble_hci.advFunc)
-
- scan_parser = subparsers.add_parser('scan', help="Send the scanning commands and print scan reports. ctrl-c to exit")
- scan_parser.add_argument('-i', '--interval', default=str(defaultAdvInterval),
- help="Advertising interval in units of 0.625 ms, 16-bit hex number 0x0020 - 0x4000, default: "+str(defaultAdvInterval))
- scan_parser.set_defaults(func=ble_hci.scanFunc)
-
- init_parser = subparsers.add_parser('init', help="Send the initiating commands to open a connection", formatter_class=RawTextHelpFormatter)
- init_parser.add_argument('addr', help="Address of peer to connect with, ex: 00:11:22:33:44:55 ")
- init_parser.add_argument('-i', '--interval', default=str(defaultConnInterval),
- help="Connection interval in units of 1.25 ms, 16-bit hex number 0x0006 - 0x0C80, default: "+str(defaultConnInterval))
- init_parser.add_argument('-t', '--timeout', default=str(defaultSupTimeout),
- help="Supervision timeout in units of 10 ms, 16-bit hex number 0x000A - 0x0C80, default: "+str(defaultSupTimeout))
- init_parser.add_argument('-l', '--listen', default="False", help="Listen for events \n\t\"True\" for indefinitely, ctrl-c to exit \n\t\"False\" to return \n\tnumber of seconds")
- init_parser.add_argument('-s', '--stats', action='store_true', help="Periodically print the connection stats if listening")
- init_parser.add_argument('-m', '--maintain', action='store_true', help="Setup an event listener to restart the connection if we disconnect")
- init_parser.set_defaults(func=ble_hci.initFunc)
-
- dataLen_parser = subparsers.add_parser('dataLen', help="Set the max data length", formatter_class=RawTextHelpFormatter)
- dataLen_parser.set_defaults(func=ble_hci.dataLenFunc)
-
- sendAcl_parser = subparsers.add_parser('sendAcl', help="Send ACL packets", formatter_class=RawTextHelpFormatter)
- sendAcl_parser.add_argument('packetLen', help="Number of bytes per ACL packet, 16-bit decimal ex: 128, 0 to disable")
- sendAcl_parser.add_argument('numPackets', help="Number of packets to send, 8-bit decimal ex: 255, 0 to enable auto-generate ")
- sendAcl_parser.set_defaults(func=ble_hci.sendAclFunc)
-
- sinkAcl_parser = subparsers.add_parser('sinkAcl', help="Sink ACL packets, do not send events to host", formatter_class=RawTextHelpFormatter)
- sinkAcl_parser.set_defaults(func=ble_hci.sinkAclFunc)
-
- connStats_parser = subparsers.add_parser('connStats', help="Get the connection stats", formatter_class=RawTextHelpFormatter)
- connStats_parser.set_defaults(func=ble_hci.connStatsFunc)
-
- phy_parser = subparsers.add_parser('phy', help="Update the PHY in the active connection", formatter_class=RawTextHelpFormatter)
- phy_parser.add_argument('phy', help=
- """
- Desired PHY
- 1: 1M
- 2: 2M
- 3: S8
- 4: S2
- default: 1M
- """)
- phy_parser.set_defaults(func=ble_hci.phyFunc)
-
- reset_parser = subparsers.add_parser('reset', help="Sends a HCI reset command")
- reset_parser.set_defaults(func=ble_hci.resetFunc)
-
- listen_parser = subparsers.add_parser('listen', help="Listen for HCI events, print to screen")
- listen_parser.add_argument('-t', '--time', default="0", help="Time to listen in seconds, default: 0(indef)")
- listen_parser.add_argument('-s', '--stats', action='store_true', help="Periodically print the connection stats if listening")
- listen_parser.set_defaults(func=ble_hci.listenFunc)
-
- txTest_parser = subparsers.add_parser('txTest', aliases=['tx'], help="Execute the transmitter test", formatter_class=RawTextHelpFormatter)
- txTest_parser.add_argument('-c', '--channel', default="0", help="TX test channel, 0-39, default: 0")
- txTest_parser.add_argument('--phy', default="1", help=
- """TX test PHY
- 1: 1M
- 2: 2M
- 3: S8
- 4: S2
- default: 1M
- """)
- txTest_parser.add_argument('-p','--payload', default="0", help=
- """TX test Payload
- 0: PRBS9
- 1: 11110000
- 2: 10101010
- 3: PRBS15
- 4: 11111111
- 5: 00000000
- 6: 00001111
- 7: 01010101
- default: PRBS9
- """)
- txTest_parser.add_argument('-pl', '--packetLength', default="0", help=
- """"TX packet length, number of bytes per packet, 0-255
- default: 0
- """)
- txTest_parser.set_defaults(func=ble_hci.txTestFunc)
-
- txTestVS_parser = subparsers.add_parser('txTestVS', aliases=['txvs'], help="Execute the transmitter test", formatter_class=RawTextHelpFormatter)
- txTestVS_parser.add_argument('-c', '--channel', default="0", help="TX test channel, 0-39, default: 0")
- txTestVS_parser.add_argument('--phy', default="1", help=
- """TX test PHY
- 1: 1M
- 2: 2M
- 3: S8
- 4: S2
- default: 1M
- """)
- txTestVS_parser.add_argument('-p','--payload', default="0", help=
- """TX test Payload
- 0: PRBS9
- 1: 11110000
- 2: 10101010
- 3: PRBS15
- 4: 11111111
- 5: 00000000
- 6: 00001111
- 7: 01010101
- default: PRBS9
- """)
- txTestVS_parser.add_argument('-pl', '--packetLength', default="0", help=
- """"TX packet length, number of bytes per packet, 0-255
- default: 0
- """)
- txTestVS_parser.add_argument('-np', '--numPackets', default="0", help=
- """"Number of packets to TX, 2 bytes hex, 0 equals inf.
- default: 0
- """)
- txTestVS_parser.set_defaults(func=ble_hci.txTestVSFunc)
-
- rxTest_parser = subparsers.add_parser('rxTest', aliases=['rx'], help="Execute the receiver test")
- rxTest_parser.add_argument('-c', '--channel', default="0", help="RX test channel, 0-39, default: 0")
- rxTest_parser.add_argument('--phy', default="1", help=
- """RX test PHY
- 1: 1M
- 2: 2M
- 3: S8
- 4: S2
- default: 1M
- """)
- rxTest_parser.set_defaults(func=ble_hci.rxTestFunc)
-
- endTest_parser = subparsers.add_parser('endTest', aliases=['end'],
- help="End the TX/RX test, print the number of correctly received packets")
- endTest_parser.set_defaults(func=ble_hci.endTestFunc)
-
- endTestVS_parser = subparsers.add_parser('endTestVS', aliases=['endvs'],
- help="End the TX/RX test, print the full test report, and return the report as a dictionary")
- endTestVS_parser.set_defaults(func=ble_hci.endTestVSFunc)
-
- txPower_parser = subparsers.add_parser('txPower', aliases=['txp'], help="Set the TX power", formatter_class=RawTextHelpFormatter)
- txPower_parser.add_argument('power', help="""Integer power setting in units of dBm""")
- txPower_parser.add_argument('--handle', help="Connection handle, integer")
- txPower_parser.set_defaults(func=ble_hci.txPowerFunc)
-
- discon_parser = subparsers.add_parser('discon', aliases=['dc'],
- help="Send the command to disconnect")
- discon_parser.set_defaults(func=ble_hci.disconFunc)
-
- setChMap_parser = subparsers.add_parser('setChMap', formatter_class=RawTextHelpFormatter,
- help="""Set the connection channel map to a given channel.""")
- setChMap_parser.add_argument('chan', help="""Channel to use in channel map
- Will set the channel map to the given channel, plus one additional channel.""", nargs="?")
- setChMap_parser.add_argument('-m','--mask', help="""40 bit hex number to use a channel map
- 0xFFFFFFFFFF will use all channels, 0x000000000F will use channels 0-3""")
- setChMap_parser.add_argument('--handle', help="Connection handle, integer", default="0")
- setChMap_parser.set_defaults(func=ble_hci.setChMapFunc)
-
- cmd_parser = subparsers.add_parser('cmd', formatter_class=RawTextHelpFormatter,
- help="Send raw HCI commands")
- cmd_parser.add_argument('cmd', help="String of hex bytes LSB first\nex: \"01030C00\" to send HCI Reset command")
- cmd_parser.add_argument('-l', '--listen', action='store_true', help="Listen for events indefinitely, ctrl-c to exit")
- cmd_parser.set_defaults(func=ble_hci.cmdFunc)
-
- readReg_parser = subparsers.add_parser('readReg', formatter_class=RawTextHelpFormatter,
- help="Read register, device performs a memcpy from address and returns the value")
- readReg_parser.add_argument('addr', help="Address to read, 32-bit hex value\nex: \"0x20000000\"")
- readReg_parser.add_argument('length', help="Number of bytes to read, hex value\nex: \"0x2\"")
- readReg_parser.set_defaults(func=ble_hci.readRegFunc)
-
- readWrite_parser = subparsers.add_parser('writeReg', formatter_class=RawTextHelpFormatter,
- help="Write register, device performs a memcpy to memory address")
- readWrite_parser.add_argument('addr', help="Address to write, 32-bit hex value\nex: \"0x20000000\"")
- readWrite_parser.add_argument('value', help="Data to write, 8,16, or 32 bit hex value,\nex: \"0x12\"")
- readWrite_parser.set_defaults(func=ble_hci.writeRegFunc)
-
- rssi_parser = subparsers.add_parser('rssi', formatter_class=RawTextHelpFormatter,
- help="read rssi")
- rssi_parser.add_argument('-t', '--timeout', default="0.1",
- help="read RSSI timeout in seconds, default 0.1 secs.")
- rssi_parser.set_defaults(func=ble_hci.rssiFunc)
-
- # Exit function defined above
- exit_parser = subparsers.add_parser('exit', aliases=['quit'], help="Exit the program")
- exit_parser.set_defaults(func=ble_hci.exitFunc)
-
- help_parser = subparsers.add_parser('help', aliases=['h'], help="Show help message")
- help_parser.set_defaults(func=helpFunc)
-
- # Parse the command input and execute the appropriate function
- if(args.command != ""):
- commands=args.command.split(";")
- for i in range (0,len(commands)):
- # Remove leading and trailing white space
- command = commands[i].strip()
-
- # Split the command into its arguments
- command = command.split()
-
- # Run the commands
- try:
- args = terminal.parse_args(command)
- args.func(args)
- except AttributeError:
- continue
-
- # Catch SystemExit, allows user to ctrl-c to quit the current command
- except SystemExit as err:
- if("{0}".format(err) != "0"):
- # Catch the magic exit value, return 0
- if("{0}".format(err) == str(exitFuncMagic)):
- sys.exit(0)
-
- # Return error
- sys.exit(int("{0}".format(err)))
-
- # Continue if we get a different code
-
-
- # Start the terminal
- while True:
- # Get the terminal input
- astr = input('>>> ')
- try:
- # Parse the input and execute the appropriate function
- args = terminal.parse_args(astr.split())
- try:
- args.func(args)
- except AttributeError:
- continue
-
- # Catch SystemExit, allows user to ctrl-c to quit the current command
- except SystemExit as err:
- if("{0}".format(err) != "0"):
- # Catch the magic exit value, return 0
- if("{0}".format(err) == str(exitFuncMagic)):
- sys.exit(0)
-
- # Return error
- sys.exit(int("{0}".format(err)))
-
- # Continue if we get a different code
diff --git a/Tools/Bluetooth/README.md b/Tools/Bluetooth/README.md
index 51eb02653e7..4b72dcc9923 100644
--- a/Tools/Bluetooth/README.md
+++ b/Tools/Bluetooth/README.md
@@ -1,62 +1,5 @@
# Bluetooth Tools
-These python tools are used for Bluetooth development and debugging.
+All BLE tools have been removed from the MSDK in favor of their own repository
-## BLE_hci
-Host Controller Interface for controlling Bluetooth Controller devices. Uses a serial port and the HCI interface to send commands and receive events.
-
-```
-usage: BLE_hci.py [-h] [--monPort [MONPORT]] [--serialPort [SERIALPORT]] [--baud [BAUD]] [-c COMMAND] [serial_port] [baud]
-
- Bluetooth Low Energy HCI tool.
-
- This tool is used in tandem with the BLE controller examples. This tools sends
- HCI commands through the serial port to the target device. It will receive and print
- the HCI events received from the target device.
-
- Serial port is configured as 8N1, no flow control, default baud rate of 115200.
-
-
-positional arguments:
- serial_port Serial port path or COM#, default: /dev/ttyUSB0
- baud Serial port baud rate, default: 115200
-
-options:
- -h, --help show this help message and exit
- --monPort [MONPORT] Monitor Trace Msg Serial Port path or COM#, default:
- --serialPort [SERIALPORT]
- Serial port path or COM#, default: /dev/ttyUSB0
- --baud [BAUD] Serial port baud rate, default: 115200
- -c COMMAND, --command COMMAND
- Commands to run
-
-commands:
- addr Set the device address
- adv Send the advertising commands
- scan Send the scanning commands and print scan reports. ctrl-c to exit
- init Send the initiating commands to open a connection
- dataLen Set the max data length
- sendAcl Send ACL packets
- sinkAcl Sink ACL packets, do not send events to host
- connStats Get the connection stats
- phy Update the PHY in the active connection
- reset Sends a HCI reset command
- listen Listen for HCI events, print to screen
- txTest (tx) Execute the transmitter test
- txTestVS (tx) Execute the transmitter test
- rxTest (rx) Execute the receiver test
- endTest (end) End the TX/RX test, print the number of correctly received packets
- txPower (txp) Set the TX power
- discon (dc) Send the command to disconnect
- setChMap Set the connection channel map to a given channel.
- cmd Send raw HCI commands
- readReg Read register, device performs a memcpy from address and returns the value
- writeReg Write register, device performs a memcpy to memory address
- exit (quit) Exit the program
- help (h) Show help message
-```
-
-## Mini RCDAT USB
-Control a Minicircuits attenuator over USB.
-
-## RS FSL
-Control a Rhode and Schwartz FSL Spectrum analyzer over ethernet.
+- [MAX-BLE-HCI](https://github.com/Analog-Devices-MSDK/MAX-BLE-HCI)
+- [BLE-Toolkit](https://github.com/Analog-Devices-MSDK/MAX-BLE-Toolkit)
diff --git a/Tools/Bluetooth/RS_fsl3.py b/Tools/Bluetooth/RS_fsl3.py
deleted file mode 100644
index 7e004128adb..00000000000
--- a/Tools/Bluetooth/RS_fsl3.py
+++ /dev/null
@@ -1,256 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## RS_fsl3.py
- #
- # Remote control a Rohde&Schwarz,FSL-3
- #
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import pyvisa
-
-OBW_LIMIT=5000000
-
-# Namespace class used to create function arguments similar to argparse
-class Namespace:
- def __init__(self, **kwargs):
- self.__dict__.update(kwargs)
-
-class RS_fsl3:
-
- # Create the resource manager object
- rm = pyvisa.ResourceManager()
- sa = ""
-
- def __init__(self, args):
-
- try:
- # Connect to the instrument
- queryString = "TCPIP::"+args.ipAddress+"::inst0::INSTR"
- print(f'query: {queryString}')
- self.sa = self.rm.open_resource(queryString)
- except ConnectionRefusedError as err:
- print("Error connecting to instrument at IP:",args.ipAddress)
- sys.exit(1)
-
- print('query: *IDN?')
- print(self.sa.query('*IDN?'))
-
- # Leave the display on when remote controlling
- self.sa.write(':SYST:DISP:UPD ON')
-
- # Reset the device
- self.sa.write('*RST')
-
- def testOBW(self, ch=39):
- self.sa.write('*RST')
- # Test occupied bandwidth
- self.sa.write(':CALC:MARK:FUNC:POW:SEL OBW')
- self.sa.write(':SENS:POW:BWID 99PCT')
- self.sa.write(':SENS:POW:ACH:PRES OBW')
-
- # Map the channel to the frequency
- freq = 2402000000 + (ch * 2000000)
- print("CH :",ch)
- print("freq:",freq)
-
- self.sa.write(':FREQ:CENT ',str(freq))
- self.sa.write(':FREQ:SPAN 20000000')
- self.sa.write(':BAND:AUTO ON')
- self.sa.write(':BAND:RES 30000')
- self.sa.write(':BAND:VID 100000')
- self.sa.write(':TRIG:SOUR IMM')
- self.sa.write(':DISP:TRAC:MODE MAXH')
- self.sa.write(':AVER:COUN 0')
-
- # Set the marker
- self.sa.write(':CALC:MARK1:MAX')
- self.sa.write(':CALC:MARK1:X ',str(freq))
-
- # Set the reference level
- self.sa.write(':DISP:TRAC:Y:RLEV 10dBm')
-
- while not (self.sa.query('*OPC?')): pass
- self.sa.write('INIT')
-
- sleep(10)
-
- obwString = self.sa.query(':CALC:MARK:FUNC:POW:RES? OBW')
- print("OBW:",obwString)
- obwFloat = float(obwString)
-
- txPowerString = self.sa.query(':CALC:MARK1:Y?')
- txPowerFloat = float(txPowerString)
- print("TX Power :",txPowerString)
-
- if(obwFloat > OBW_LIMIT):
- print("OBW too large >",OBW_LIMIT)
- return False
-
- return True
-
- def testRB2(self):
- self.sa.write('*RST')
- # Test RB2
- self.sa.write(':FREQ:CENT 2480000000')
- self.sa.write(':FREQ:SPAN 20000000')
- self.sa.write(':BAND:AUTO ON')
- self.sa.write(':BAND:RES 1000000')
- self.sa.write(':TRIG:SOUR IMM')
- self.sa.write(':DISP:TRAC:MODE MAXH')
- self.sa.write(':AVER:COUN 0')
-
- # Set the reference level
- self.sa.write(':DISP:TRAC:Y:RLEV 10dBm')
-
- # Set the markers
- self.sa.write(':CALC:MARK1:MAX')
- self.sa.write(':CALC:MARK1:X 2483500000')
-
- self.sa.write(':CALC:MARK2:MAX')
- self.sa.write(':CALC:MARK2:X 2480000000')
-
- while not (self.sa.query('*OPC?')): pass
- self.sa.write('INIT')
-
- sleep(10)
-
- txPowerString = self.sa.query(':CALC:MARK2:Y?')
- txPowerFloat = float(txPowerString)
- print("TX Power :",txPowerString)
-
- rb2PowerString = self.sa.query(':CALC:MARK1:Y?')
- rb2PowerFloat = float(rb2PowerString)
- print("RB2 Power:",rb2PowerString)
-
- if(rb2PowerFloat > -20):
- print("rb2Power too high")
- return False
-
- return True
-
- def testRB1(self):
- self.sa.write('*RST')
- # Test RB1
- self.sa.write(':FREQ:CENT 2395000000')
- self.sa.write(':FREQ:SPAN 20000000')
- self.sa.write(':BAND:AUTO ON')
- self.sa.write(':BAND:RES 1000000')
- self.sa.write(':BAND:VID 3000000')
- self.sa.write(':TRIG:SOUR IMM')
- self.sa.write(':DISP:TRAC:MODE MAXH')
- self.sa.write(':AVER:COUN 0')
-
- # Set the reference level
- self.sa.write(':DISP:TRAC:Y:RLEV 10dBm')
-
- # Set the markers
- self.sa.write(':CALC:MARK1:MAX')
- self.sa.write(':CALC:MARK1:X 2390000000')
-
- self.sa.write(':CALC:MARK2:MAX')
- self.sa.write(':CALC:MARK2:X 2402000000')
-
- while not (self.sa.query('*OPC?')): pass
- self.sa.write('INIT')
-
- sleep(10)
-
- txPowerString = self.sa.query(':CALC:MARK2:Y?')
- txPowerFloat = float(txPowerString)
- print("TX Power :",txPowerString)
-
- rb1PowerString = self.sa.query(':CALC:MARK1:Y?')
- rb1PowerFloat = float(rb1PowerString)
- print("RB1 Power:",rb1PowerString)
-
- if(rb1PowerFloat > -20):
- print("rb1Power too high")
- return False
-
- return True
-
-
-if __name__ == '__main__':
-
- # Setup the command line description text
- descText = """
- Rohde&Schwarz,FSL-3 automation tools.
-
- This tool will setup a signal analyzer over IP to take measurements verifying
- FCC Restricted band 2 : < -20 dBm at 2.4835 GHz
- FCC Restricted band 1 : < -20 dBm at 2.3900 GHz
- Occupied bandwidth : 99% power less than """+str(OBW_LIMIT/1000000)+""" MHz
- """
-
- # Parse the command line arguments
- parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
- parser.add_argument('ipAddress',help='Instrument IP address')
- parser.add_argument('cmd',help='Command to run: rb2, rb1, obw')
-
- args = parser.parse_args()
-
- print("IP :",args.ipAddress)
- print("cmd:",args.cmd)
-
- # make sure we only have one command
- commands = 0
- channel = 0
- if("obw" in args.cmd):
- commands = commands+1
- try:
- channel = int(args.cmd.split("obw")[1])
- except ValueError as err:
- print("Error parsing channel")
- print("obw is the expected command, e.g. obw39")
- sys.exit(1)
-
- if("rb1" in args.cmd):
- commands = commands+1
- if("rb2" in args.cmd):
- commands = commands+1
-
- if((commands != 1) or (len(args.cmd) > 5) or (len(args.cmd) < 3)):
- print("cmd not formatted properly:",args.cmd)
- parser.print_help()
- sys.exit(1)
-
- # Create the object
- rs_fsl3 = RS_fsl3(args)
-
- if ("obw" in args.cmd):
- # Run the OBW test
- if (rs_fsl3.testOBW(channel) == False):
- sys.exit(1)
-
- if ("rb2" in args.cmd):
- if (rs_fsl3.testRB2() == False):
- sys.exit(1)
-
- if ("rb1" in args.cmd):
- if (rs_fsl3.testRB1() == False):
- sys.exit(1)
-
- sys.exit(0)
diff --git a/Tools/Bluetooth/RS_fsl3_sweep.py b/Tools/Bluetooth/RS_fsl3_sweep.py
deleted file mode 100644
index 9fbc253e810..00000000000
--- a/Tools/Bluetooth/RS_fsl3_sweep.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## RS_fsl3_sweep.py
- #
- # Sweep through tests executed by RS_fsl3.py
- #
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from pprint import pprint
-from time import sleep
-from BLE_hci import BLE_hci
-from BLE_hci import Namespace
-from RS_fsl3 import RS_fsl3
-
-# Setup the command line description text
-descText = """
-RS_fsl3.py test sweep.
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('ipAddress',help='Instrument IP address')
-parser.add_argument('serialPort',help='DUT HCI serial port')
-parser.add_argument("--tx_pwr", default=4, help="TX POWE (0, 4)")
-
-args = parser.parse_args()
-pprint(args)
-
-# Create the BLE_hci objects
-hciDUT = BLE_hci(Namespace(serialPort=args.serialPort, monPort="", baud=115200))
-hciDUT.resetFunc(None)
-
-# Wait for calibration
-sleep(1)
-
-# Create the RS_FSL3 spectrum analyzer object
-sa = RS_fsl3(Namespace(ipAddress=args.ipAddress))
-
-# Setup the DUT to TX at max power
-hciDUT.txPowerFunc(Namespace(power=int(args.tx_pwr), handle=None))
-
-channels = [0,1,2,10,19,30,36,37,38,39]
-
-for channel in channels:
- # Start transmitting
- hciDUT.txTestFunc(Namespace(channel=channel, packetLength=255, payload=0, phy=1))
- sleep(1)
-
- if(channel > 36):
- # Start the OB2 test
- retval = sa.testRB2()
-
- if(retval != True):
- print("RB2 test failed")
- sys.exit(1)
- else:
- # Start the OBW test
- retval = sa.testOBW(ch=channel)
-
- if(retval != True):
- print("OBW test failed")
- sys.exit(1)
-
- if(channel == 0):
- # Start the OB1 test
- retval = sa.testRB1()
-
- if(retval != True):
- print("RB1 test failed")
- sys.exit(1)
-
-print("Test passed!")
-sys.exit(0)
diff --git a/Tools/Bluetooth/__init__.py b/Tools/Bluetooth/__init__.py
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/Tools/Bluetooth/conn_sweep.py b/Tools/Bluetooth/conn_sweep.py
deleted file mode 100755
index 9d735286137..00000000000
--- a/Tools/Bluetooth/conn_sweep.py
+++ /dev/null
@@ -1,454 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## conn_sweep.py
- #
- # Sweep connection parameters.
- #
- # Ensure that both targets are built with BT_VER := 9
- #
-
-
-from datetime import datetime as dt
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import itertools
-import json
-from mini_RCDAT_USB import mini_RCDAT_USB
-from BLE_hci import BLE_hci
-from BLE_hci import Namespace
-import os
-from pprint import pprint
-import socket
-from subprocess import call, Popen, PIPE, CalledProcessError, STDOUT
-import time
-
-total_retry_times = 0
-RESET_CNT = 1
-
-if socket.gethostname() == "wall-e":
- rf_switch = True
-else:
- rf_switch = False
-
-
-def run_script_reset_board(sh_file):
- """call a prepared script file to reset a board"""
- sh_file = os.path.realpath(sh_file)
- print(f"Run script file {sh_file}.")
- p = Popen([f'{sh_file}'], stdout=PIPE, stderr=PIPE, shell=True)
-
- for line in iter(p.stdout.readline, b''):
- print(f'{dt.now()} - {line.strip().decode("utf-8")}')
-
- p.stdout.close()
- p.wait()
- result = p.returncode
- print(f'Exit: {result}')
- return result
-
-
-# Setup the command line description text
-descText = """
-Connection sweep.
-
-This tool uses a Mini Circuits RCDAT to control attenuation between two devices
-running DTM software. A connection is created and PER data is gathered based on a
-combination of parameters.
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('slaveSerial',help='Serial port for slave device')
-parser.add_argument('masterSerial',help='Serial port for master device')
-parser.add_argument('results',help='CSV files to store the results')
-parser.add_argument('-d', '--delay', default=5,help='Number of seconds to wait before ending the test')
-parser.add_argument('-l', '--limit', default=0,help='PER limit for return value')
-parser.add_argument('-p', '--phys', default="1",help='PHYs to test with, comma separated list with 1-4.')
-parser.add_argument('-t', '--txpows', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-a', '--attens', help='Attenuation settings to use, comma separated list.')
-parser.add_argument('-s', '--step', default=10, help='Attenuation sweep step size in dBm.')
-parser.add_argument('-e', '--pktlen', default="250", help="packet length, comma separated list.")
-parser.add_argument('--mtp', default="", help="master TRACE serial port")
-parser.add_argument('--stp', default="", help="slave TRACE serial port")
-parser.add_argument('--loss', default=0, help="Calibrated path loss, -15.7 dBm (-16.4+0.7)")
-parser.add_argument('--brd1_reset', default="", help="script file to reset board1")
-parser.add_argument('--brd2_reset', default="", help="script file to reset board2")
-parser.add_argument('--retry_limit', default=3, help="limit of retry times after fail")
-parser.add_argument('--chip', default="", help="DUT chip")
-parser.add_argument('--min_pwrs', default="90,90,90,90", help="abs min power")
-
-args = parser.parse_args()
-
-print("--------------------------------------------------------------------------------------------")
-pprint(vars(args))
-
-# PER mask
-CONFIG_FILE=os.path.expanduser("~/Workspace/ci_config/RF-PHY-closed.json")
-obj = json.load(open(CONFIG_FILE))
-use_per_mask = obj['tests']["simple_per.yml"]["use_per_mask"]
-per_mask_margin = int(obj['tests']['per_mask']['per_mask_margin'])
-per_corr_dtm_to_cm = int(obj['tests']['per_mask']['per_corr_dtm_to_cm'])
-
-phy_str = [
- "",
- "1M",
- "2M",
- "S8",
- "S2"
-]
-
-per_mask = {
- "1M": [
- [-20, per_mask_margin],
- [-90, per_mask_margin],
- [-93+per_corr_dtm_to_cm, 5+per_mask_margin],
- [-96+per_corr_dtm_to_cm, 30+per_mask_margin],
- [-99+per_corr_dtm_to_cm, 100],
- [-114, 100]
- ],
-
- "2M": [
- [-20, per_mask_margin],
- [-87, per_mask_margin],
- [-90+per_corr_dtm_to_cm, 5+per_mask_margin],
- [-93+per_corr_dtm_to_cm, 30+per_mask_margin],
- [-96+per_corr_dtm_to_cm, 100],
- [-111, 100]
- ],
-
- "S2": [
- [-20, per_mask_margin],
- [-95, per_mask_margin],
- [-98+per_corr_dtm_to_cm, 5+per_mask_margin],
- [-101+per_corr_dtm_to_cm, 30+per_mask_margin],
- [-104+per_corr_dtm_to_cm, 100],
- [-119, 100]
- ],
-
- "S8": [
- [-20, per_mask_margin],
- [-98, per_mask_margin],
- [-101+per_corr_dtm_to_cm, 5+per_mask_margin],
- [-104+per_corr_dtm_to_cm, 30+per_mask_margin],
- [-107+per_corr_dtm_to_cm, 100],
- [-122, 100]
- ]
-}
-
-print(f' use_per_mask: {use_per_mask}')
-print(f' per_mask_margin: {per_mask_margin}')
-print(f'per_corr_dtm_to_cm: {per_corr_dtm_to_cm}')
-print('per_mask:')
-pprint(per_mask)
-
-# default minimum power
-min_pwrs = [90, 90, 90, 90] # for PHY 1, 2, 3, 4
-
-temp = args.min_pwrs.replace(" ", "")
-pwrs = temp.split(",")
-if len(pwrs) == 4:
- min_pwrs = [int(x) for x in pwrs]
- print(f'abs min pwr for each PHY: {min_pwrs}')
-
-packetLengths = args.pktlen.strip().split(",")
-phys = args.phys.strip().split(",")
-txPowers = args.txpows.strip().split(",")
-
-print("slaveSerial :", args.slaveSerial)
-print("masterSerial :", args.masterSerial)
-print("slave TRACE :", args.stp)
-print("master TRACE :", args.mtp)
-print("results :", args.results)
-print("delay :", args.delay)
-print("packetLengths :", packetLengths)
-print("phys :", phys)
-print("txPowers :", txPowers)
-print("PER limit :", args.limit)
-
-# Open the results file, write the parameters
-results = open(args.results, "a")
-rssi_file_name = args.results.replace(".csv", "_rssi.csv")
-rssi_results = open(rssi_file_name, "a")
-
-print("\nReset the attenuation to 30.")
-if rf_switch:
- set_val = 30 + float(args.loss)
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=set_val))
-sleep(1)
-
-# Create the BLE_hci objects
-hciSlave = BLE_hci(Namespace(serialPort=args.slaveSerial, monPort=args.stp, baud=115200, id=2))
-hciMaster = BLE_hci(Namespace(serialPort=args.masterSerial, monPort=args.mtp, baud=115200, id=1))
-
-ABORTED = False
-perMax = 0
-RETRY = int(args.retry_limit)
-need_to_setup = True # only do it at the beginning or after flash
-
-testing = 1
-for packetLen, phy, txPower in itertools.product(packetLengths, phys, txPowers):
-
- if args.attens is None:
- if int(args.step) == 0 or int(args.step) == -1:
- attens = [20, 70]
- else:
- attens = list(range(20, min_pwrs[int(phy)-1], int(args.step)))
-
- # Add the max attenuation
- if int(args.step) != -1:
- attens.append(min_pwrs[int(phy)-1])
- else:
- temp = args.attens.replace(" ", "")
- attens = temp.split(",")
- attens = [float(x) for x in attens]
-
- # check if use PER mask
- if use_per_mask == "1" and False:
- attens = list()
- for item in per_mask[phy_str[int(phy)]]:
- attens.append(item[0]*(-1))
-
- print(f'attens: {attens}')
-
- for atten in attens:
- per_100 = 0
- while per_100 < RETRY:
- if need_to_setup:
- need_to_setup = False
-
- start_secs = time.time()
-
- print(f"{dt.now()} ----- sleep extra 2 secs\n")
- sleep(2)
- print(f"\n{dt.now()} ----- end of the sleep")
-
- print("\n\n\nReset the devices at the beginning of the test or after flash the board again.")
-
- print("\nslave reset")
- hciSlave.resetFunc(None)
- print("\nmaster reset")
- hciMaster.resetFunc(None)
- sleep(0.2)
-
- print("\nSet addresses.")
- txAddr = "00:12:34:88:77:33"
- rxAddr = "11:12:34:88:77:33"
- print(f"\nslave set txAddr: {txAddr}")
- hciSlave.addrFunc(Namespace(addr=txAddr))
- print(f"\nmaster set rxAddr: {rxAddr}")
- hciMaster.addrFunc(Namespace(addr=rxAddr))
- sleep(0.2)
-
- print("\n----------------------------------")
- print("pre-test setup")
- print("----------------------------------")
-
- print("\nslave start advertising.")
- hciSlave.advFunc(Namespace(interval="60", stats="False", connect="True", maintain=False, listen="False"))
-
- print("\nmaster start connection.")
- hciMaster.initFunc(Namespace(interval="6", timeout="64", addr=txAddr, stats="False", maintain=False, listen="False"))
-
- print("\nSlave and master listenFunc")
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
- hciMaster.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nSlave and master dataLenFunc")
- hciSlave.dataLenFunc(None)
- hciMaster.dataLenFunc(None)
-
- print("\nSlave listenFunc")
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nMaster set PHY and listenFunc.")
- hciMaster.phyFunc(Namespace(phy=str(phy)), timeout=1)
- hciMaster.listenFunc(Namespace(time=2, stats="False"))
-
- print("\nSlave and master set the txPower.")
- hciSlave.txPowerFunc(Namespace(power=txPower, handle="0"))
- hciMaster.txPowerFunc(Namespace(power=txPower, handle="0"))
-
- print("\nSlave listenFunc")
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nSlave and master sinkAclFunc")
- hciSlave.sinkAclFunc(None)
- hciMaster.sinkAclFunc(None)
-
- print("\nslave listenFunc, 1 sec")
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nSlave and master sendAclFunc, slave listenFunc")
- hciSlave.sendAclFunc(Namespace(packetLen=str(packetLen), numPackets=str(0)))
- hciMaster.sendAclFunc(Namespace(packetLen=str(packetLen), numPackets=str(0)))
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nSlave and master sendAclFunc, slave listenFunc")
- hciSlave.sendAclFunc(Namespace(packetLen=str(packetLen), numPackets=str(1)))
- hciMaster.sendAclFunc(Namespace(packetLen=str(packetLen), numPackets=str(1)))
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
-
- start_secs = time.time()
-
- print('\n-----------------------------------------------------------------------------------------')
- print(f'{args.chip} - packetLen: {packetLen}, phy: {phy}, atten: {atten}, txPower: {txPower}, testing point: {testing}')
- print('-------------------------------------------------------------------------------------------')
-
- print(f"\nSet the requested attenuation: {atten}.")
- if rf_switch:
- set_val = atten + float(args.loss)
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=set_val))
-
- sleep(0.1)
-
- print("\nReset the packet stats.")
- hciSlave.cmdFunc(Namespace(cmd="0102FF00"), timeout=10.0)
- hciMaster.cmdFunc(Namespace(cmd="0102FF00"), timeout=10.0)
-
- print(f"\nsleep args.delay {args.delay} secs")
- sleep(int(args.delay))
-
- print("\nslave read any pending events")
- hciSlave.listenFunc(Namespace(time=1, stats="False"))
- print("\nmaster read any pending events")
- hciMaster.listenFunc(Namespace(time=1, stats="False"))
-
- print("\nMaster: read RSSI")
- #hciMaster.cmdFunc(Namespace(cmd="010514020000"))
- mst_rssi = hciMaster.rssiFunc(None)
- print(f'master rssi: {mst_rssi}')
- sleep(0.2)
-
- print("\nSlave: read RSSI")
- #hciSlave.cmdFunc(Namespace(cmd="010514020000"))
- slv_rssi = hciSlave.rssiFunc(None)
- print(f'slave rssi: {slv_rssi}')
- sleep(0.2)
-
- print("\nMaster collects results.")
- perMaster = hciMaster.connStatsFunc(None)
-
- print("\nSlave collects results.")
- perSlave = hciSlave.connStatsFunc(None)
-
- reset_master = False
- if perMaster is None:
- print("perMaster is None. Reset the master.")
- reset_master = True
- elif perMaster >= 99.99:
- print(f"perMaster {perMaster}% invalid. Reset the master.")
- reset_master = True
- else:
- print(f"\n\nperMaster : {perMaster:.2f} %")
-
- reset_slave = False
- if perSlave is None:
- print("perSlave is None. Flash the slave.")
- reset_slave = True
- elif perSlave >= 99.99:
- print(f"perSlave {perSlave}% invalid. Flash the slave.")
- reset_slave = True
- else:
- print(f"perSlave : {perSlave:.2f} %")
-
- if reset_slave or reset_master:
- run_script_reset_board(args.brd1_reset)
- run_script_reset_board(args.brd2_reset)
-
- per_100 += 1
- total_retry_times += 1
-
- print("\nReset the attenuation to 30.")
- if rf_switch:
- set_val = 30 + float(args.loss)
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=set_val))
-
- sleep(10)
-
- need_to_setup = True
- type_string = 1
-
- continue
-
- # Record max per
- if perMaster > perMax:
- perMax = perMaster
- if perSlave > perMax:
- perMax = perSlave
- print(f"\nperMax : {perMax:.2f} %")
-
- break # no retry
-
- if per_100 >= RETRY:
- print(f'Tried {per_100} times, give up.')
- perMaster = 100
- perSlave = 100
- perMax = 100
-
- if not use_per_mask:
- ABORTED = True
-
- break
-
- # Save the results to file
- results.write(f'{packetLen},{phy},{atten},{txPower},{perMaster},{perSlave},{mst_rssi},{slv_rssi}\n')
- rssi_results.write(f'{packetLen},{phy},{atten},{txPower},{perMaster},{perSlave},{mst_rssi},{slv_rssi}\n')
-
- end_secs = time.time()
- print(f'\nTotally used time for this point (secs): {(end_secs - start_secs):.0f}')
-
- #if testing >= RESET_CNT:
- # testing = RESET_CNT
- #
- # hciMaster.cmdFunc(Namespace(cmd="01060403000013")) # close connection
- # need_to_setup = True
- #else:
- # testing += 1
- testing += 1
-
-
-print('--------------------------------------------------------------------------------------------')
-print("Reset the devices.")
-hciSlave.resetFunc(None)
-hciMaster.resetFunc(None)
-sleep(0.1)
-
-results.write("\n")
-results.close()
-rssi_results.close()
-
-print("perMax: ", perMax)
-
-print(f'total_retry_times: {total_retry_times}')
-
-if float(args.limit) != 0.0:
- if perMax > float(args.limit):
- print("PER too high!")
- sys.exit(1)
-
-if ABORTED:
- sys.exit(2)
-
-sys.exit(0)
diff --git a/Tools/Bluetooth/dtm_plotter.py b/Tools/Bluetooth/dtm_plotter.py
deleted file mode 100644
index c26964e048b..00000000000
--- a/Tools/Bluetooth/dtm_plotter.py
+++ /dev/null
@@ -1,240 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-# plot_per_results.py
-#
-# Create plots of the CI PER test results
-#
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import matplotlib.pyplot as plt
-import numpy as np
-import os
-import pandas
-import itertools
-
-RES_DIR = '/home/btm-ci/Workspace/ci_results/per'
-
-SPEC = 30 # per spec in %
-phy_str = ["", "1M", "2M", "S8", "S2"]
-
-# Setup the command line description text
-descText = """
-PER plotting tools.
-
-Takes .csv file arguments and creates PDF plots.
-
-First row in each file should be a header row with the following columns:
-packetLen,phy,atten,txPower,perMaster,perSlave
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(
- description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('csvFile', help='csv file containing PER data.')
-parser.add_argument('desc', help='Description of data.')
-parser.add_argument('basename', help='PDF file base name.')
-
-args = parser.parse_args()
-
-print("csvFile :", args.csvFile)
-
-csv_full_path = f'{args.csvFile}'
-csv_full_path = os.path.expanduser(csv_full_path)
-print(f'csv full: {csv_full_path}')
-
-pdf_file_name = args.csvFile.replace('.csv', '.pdf')
-pdf_file_name = os.path.expanduser(pdf_file_name)
-
-# Create the plots
-phys = []
-lens = []
-attens = []
-txPowers = []
-
-df = pandas.read_csv(csv_full_path,comment='#')
-lens = df["packetLen"].unique()
-phys = df["phy"].unique()
-attens = df["atten"].unique()
-txPowers = df["txPower"].unique()
-
-print("lens :", lens)
-print("phys :", phys)
-print("attens :", attens)
-print("txPowers :", txPowers)
-
-print("--------------------------------------------------------------------------------------------")
-row = len(lens) * len(txPowers)
-col = len(phys)
-print(f'row: {row}, col: {col}')
-
-if row > 1 or col > 1:
- fig, axs = plt.subplots(row, col)
-
- name = pdf_file_name.split('/')[-1]
- board = name.split('.')[0].replace('.pdf', '').upper()
- fig.suptitle(f'Packet Error Rate vs Receive Power\n{board}', fontsize=10)
-
- if axs.ndim == 1:
- plt.subplots_adjust(top=0.83, hspace=0.5)
- else:
- fig.tight_layout()
- plt.subplots_adjust(top=0.80, bottom=0.1, hspace=0.5)
-
- case = 0
- for packetLen, phy, txPower in itertools.product(lens, phys, txPowers):
- print(f'CASE: {case + 1}')
- col = case % len(phys)
- row = int(case / len(phys))
- print(f'row: {row}, col: {col}')
-
-
-
-
- # Create line plot with atten to perSlave
- print("len :", packetLen)
- print("phy :", phy)
- print("txPower :", txPower)
- tempDf = df.loc[(df['packetLen'] == packetLen) & (
- df['phy'] == phy) & (df['txPower'] == txPower)]
-
- name = pdf_file_name.split('/')[-1]
- board = name.split('_')[2].replace('.pdf', '').upper()
- fig.suptitle(f'Packet Error Rate vs Receive Power\n{board}', fontsize=10)
- fig.tight_layout()
- plt.subplots_adjust(bottom=0.1)
-
- title = f'packet len: {packetLen}\nphy: {phy_str[phy]}\ntxPower:{txPower}'
- if axs.ndim == 1:
- axs[row].set_title(title, fontdict={'fontsize': 6, 'fontweight': 'medium'})
- axs[row].set_xlabel('Receive Power, dBm', fontdict={"fontsize": 5})
- axs[row].set_ylabel('PER (%)', fontdict={"fontsize": 5})
- axs[row].tick_params(axis='both', which='major', labelsize=4)
- axs[row].plot(tempDf["atten"], tempDf["perSlave"], "-x", linewidth=0.25, ms=0.5)
- axs[row].axhline(y=SPEC, color='r', linestyle=':', linewidth=0.5)
- else:
- axs[row, col].set_title(title, fontdict={'fontsize': 6, 'fontweight': 'medium'})
- axs[row, col].set_xlabel('Receive Power, dBm', fontdict={"fontsize": 5})
- axs[row, col].set_ylabel('PER (%)', fontdict={"fontsize": 5})
- axs[row, col].tick_params(axis='both', which='major', labelsize=4)
- axs[row, col].plot(tempDf["atten"], tempDf["perSlave"], "-x", linewidth=0.25, ms=0.5)
- axs[row, col].axhline(y=SPEC, color='r', linestyle=':', linewidth=0.5)
-
- a = list(tempDf['atten'])
- p = list(tempDf['perSlave'])
- for i in range(len(a)):
- if p[i] > SPEC:
- print(f'{a[i]}, {p[i]}')
- if axs.ndim == 1:
- axs[row].axvline(x=a[i], color='r', linestyle=':', linewidth=0.5)
- axs[row].text(a[i], p[i], f' {p[i]}% @ {a[i]} dBm', horizontalalignment='left',
- verticalalignment='center', fontsize=3)
- else:
- axs[row, col].axvline(x=a[i], color='r', linestyle=':', linewidth=0.5)
- axs[row, col].text(a[i], p[i], f' {p[i]}% @ {a[i]} dBm', horizontalalignment='left',
- verticalalignment='center', fontsize=3)
- break
-
- # note
- fig.text(.5, .01, "Run using DTM on Channel 0", ha='center',
- fontdict={"fontsize": 5})
-
- print()
- case += 1
-
- saved_file = pdf_file_name
- print(saved_file)
-
- plt.savefig(saved_file)
-
- # save to a png file
- png_file = pdf_file_name.replace(".pdf", ".png")
- print(f'Save to file: {png_file}.')
- plt.savefig(png_file)
- # plt.show()
-
-# -------------------------------------------------------------------------------------------------
-# Save each test into separated PDF files.
-# -------------------------------------------------------------------------------------------------
-case = 0
-for packetLen, phy, txPower in itertools.product(lens, phys, txPowers):
- print(f'CASE: {case + 1}')
-
- # Create line plot with atten to perSlave
- print("len :", packetLen)
- print("phy :", phy)
- print("txPower :", txPower)
- tempDf = df.loc[(df['packetLen'] == packetLen) & (
- df['phy'] == phy) & (df['txPower'] == txPower)]
-
- name = pdf_file_name.split('/')[-1]
-
- board = name.split('.')[0].replace('.pdf', '').upper()
-
- fig = plt.figure()
- ax1 = fig.add_axes((0.1, 0.2, 0.8, 0.7))
-
- title = f'Packet Error Rate vs Receive Power\n'\
- f'\n{board}\n'\
- f'Packet length: {packetLen}, PHY: {phy_str[phy]}, txPower:{txPower}'
- ax1.set_title(title)
- ax1.set_xlabel('Receive Power, dBm')
- ax1.set_ylabel('PER, Percentage')
-
- ax1.plot(tempDf["atten"], tempDf["perSlave"], "-x", linewidth=1, ms=2)
-
- a = list(tempDf['atten'])
- p = list(tempDf['perSlave'])
- plt.axhline(y=SPEC, color='r', linestyle=':', linewidth=0.75)
- for i in range(len(a)):
- if p[i] > SPEC:
- print(f'{a[i]}, {p[i]}')
- plt.axvline(x=a[i], color='r', linestyle=':', linewidth=0.75)
- plt.text(a[i], p[i], f' {p[i]}% @ {a[i]} dBm', horizontalalignment='left',
- verticalalignment='center', fontsize=8)
- break
-
- # resize the figure to match the aspect ratio of the Axes
- fig.set_size_inches(7, 8, forward=True)
- #fig.text(.5, .10, args.desc, ha='center', fontdict={"fontsize": 12})
- fig.text(.5, .05, "Run using DTM (Channel 0).", ha='center',
- fontdict={"fontsize": 12})
-
- filename = csv_full_path.replace('.csv', '')
- filename += f'_{packetLen}_{phy_str[phy]}_{txPower}.pdf'
- print(f'Save to file: {filename}.')
- plt.savefig(filename)
- plt.show()
- # save to a png file
- png_file = filename.replace(".pdf", ".png")
- print(f'Save to file: {png_file}.')
- plt.savefig(png_file)
-
- print()
- case += 1
-
-print("DONE!")
-
-sys.exit(0)
diff --git a/Tools/Bluetooth/dtm_sweep.py b/Tools/Bluetooth/dtm_sweep.py
deleted file mode 100644
index 5e54eb3b81d..00000000000
--- a/Tools/Bluetooth/dtm_sweep.py
+++ /dev/null
@@ -1,240 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## dtm_sweep.py
- #
- # Sweep connection parameters.
- #
- # Ensure that both targets are built with BT_VER := 9
- #
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import itertools
-from mini_RCDAT_USB import mini_RCDAT_USB
-from BLE_hci import BLE_hci
-from BLE_hci import Namespace
-import socket
-import time
-
-if socket.gethostname() == "wall-e":
- rf_switch = True
-else:
- rf_switch = False
-
-# Setup the command line description text
-descText = """
-DTM sweep.
-
-This tool uses a Mini Circuits RCDAT to control attenuation between two devices
-running DTM software. The Packet error rate (PER) of the master will be collected by setting the slave device in tx test mode and the master in rx test mode.
-A vendor specific command is sent which sets the total number of packets which shoule be transmitted.
-The total number of packets transmitted will be compared to the number of packtes received and the PER will be
-calculated as numPacketsReceived/numPacketsTransmitted * 100
-
-IMPORTANT:
-The tx test command is vendor specific and is only guarenteed to work on MAX32 BLE devices running the latest stack.
-The command is also supported by Nordic SoCs
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('slaveSerial',help='Serial port for slave device')
-parser.add_argument('masterSerial',help='Serial port for master device')
-parser.add_argument('results',help='CSV files to store the results')
-parser.add_argument('-d', '--delay', default=5,help='Number of seconds to wait before ending the test')
-parser.add_argument('-l', '--limit', default=0,help='PER limit for return value')
-parser.add_argument('-p', '--phys', default="1",help='PHYs to test with, comma separated list with 1-4.')
-parser.add_argument('-c', '--channel', default="0", help="Test channel, 0-39")
-parser.add_argument('-t', '--txpows', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-a', '--attens', help='Attenuation settings to use, comma separated list.')
-parser.add_argument('-s', '--step', default=10, help='Attenuation sweep step size in dBm.')
-parser.add_argument('-e', '--pktlen', default="250", help="packet length, comma separated list.")
-
-parser.add_argument('-n', '--numpkt', default='5000',help='Number of packets in test.')
-
-parser.add_argument('--mtp', default="", help="master TRACE serial port")
-parser.add_argument('--stp', default="", help="slave TRACE serial port")
-
-args = parser.parse_args()
-print(args)
-
-print("--------------------------------------------------------------------------------------------")
-packetLengths = args.pktlen.strip().split(",")
-numPackets = args.numpkt.strip().split(",")
-phys = args.phys.strip().split(",")
-txPowers = args.txpows.strip().split(",")
-chan = args.channel.strip().split(",")
-
-if args.attens is None:
- if int(args.step) == 0:
- attens = [20, 70]
- else:
- attens = list(range(20, 90, int(args.step)))
-
- # Add the max attenuation
- attens.append(90)
-else:
- attens = args.attens.strip().split(",")
-
-print("slaveSerial :", args.slaveSerial)
-print("masterSerial :", args.masterSerial)
-print("results :", args.results)
-print("delay :", args.delay)
-print("packetLengths :", packetLengths)
-print("numPackets :", numPackets)
-print("phys :", phys)
-print("attens :", attens)
-print("txPowers :", txPowers)
-print("Channel :", chan)
-print("PER limit :", args.limit)
-
-# Open the results file, write the parameters
-results = open(args.results, "a")
-if 0:
- results.write("# slaveSerial : "+str(args.slaveSerial)+"\n")
- results.write("# masterSerial : "+str(args.masterSerial)+"\n")
- results.write("# results : "+str(args.results)+"\n")
- results.write("# delay : "+str(args.delay)+"\n")
- results.write("# packetLengths : "+str(packetLengths)+"\n")
- results.write("# numPackets : "+str(numPackets)+"\n")
- results.write("# phys : "+str(phys)+"\n")
- results.write("# attens : "+str(attens)+"\n")
- results.write("# txPower : "+str(txPower)+"\n")
- results.write("# Channel : "+str(chan)+"\n")
- results.write("# PER limit : "+str(args.limit)+"\n")
-
- # Write the header line
- results.write("packetLen,numPkt,phy,atten,txPower,channel,perMaster,perSlave\n")
-
-# Create the BLE_hci objects
-hciSlave = BLE_hci(Namespace(serialPort=args.slaveSerial, monPort=args.stp, baud=115200, id=2))
-hciMaster = BLE_hci(Namespace(serialPort=args.masterSerial, monPort=args.mtp, baud=115200, id=1))
-
-perMax = 0
-
-for packetLen, numPkt, phy, txPower, chan in itertools.product(packetLengths, numPackets, phys, txPowers, chan):
- per_100 = 0
- for atten in attens:
- RETRY = 2
- while per_100 < RETRY:
- start_secs = time.time()
- print(f'\n---------------------------------------------------------------------------------------')
- print(f'packetLen: {packetLen}, numPackets: {numPkt}, phy: {phy}, atten: {atten}, txPower: {txPower}, Channel: {chan}\n')
-
- print("Set the requested attenuation.")
- if rf_switch:
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=atten))
- sleep(0.1)
-
- print("\nReset the devices.")
- hciSlave.resetFunc(None)
- hciMaster.resetFunc(None)
- sleep(0.1)
-
- print("\nSet the PHY.")
- hciMaster.phyFunc(Namespace(phy=phy), timeout=1)
-
- print("\nSet the txPower.")
- hciSlave.txPowerFunc(Namespace(power=txPower, handle="0"))
- hciMaster.txPowerFunc(Namespace(power=txPower, handle="0"))
-
-
- print('--------------')
- print("\nSet slave to RX.")
- print(chan)
- hciSlave.rxTestFunc(Namespace(channel=chan, phy=phy))
- print("\nSet master to TX, start test.")
- hciMaster.txTestVSFunc(Namespace(channel=chan, phy=phy, packetLength=packetLen, numPackets=numPkt,payload=0))
- print(f"\nWait {args.delay} secs for the DTM Test to complete.")
- sleep(int(args.delay))
-
- print("\nEnd test.")
- hciMaster.endTestFunc(None)
- perSlave = hciSlave.endTestFunc(None) / int(numPkt) * 100
-
- print('--------------')
- print("\nReset the devices.")
- hciSlave.resetFunc(None)
- hciMaster.resetFunc(None)
- sleep(0.1)
- print(chan)
- print("\nSet master to RX.")
- hciMaster.rxTestFunc(Namespace(channel=chan, phy=phy))
- print("\nSet slave to TX, start test.")
- hciSlave.txTestVSFunc(Namespace(channel=chan, phy=phy, packetLength=packetLen, numPackets=numPkt,payload=0))
-
- print(f"\nWait {args.delay} secs for the DTM Test to complete.")
- sleep(int(args.delay))
-
- print("\nEnd test.")
- hciSlave.endTestFunc(None)
- perMaster = hciMaster.endTestFunc(None) / int(numPkt) * 100
-
- print("\nCollect results.")
- print("perMaster : ", perMaster)
- print("perSlave : ", perSlave)
-
- if perMaster is None or perSlave is None:
- per_100 += 1
- print(f'Retry: {per_100}')
- continue
-
- # Record max per
- if perMaster > perMax:
- perMax = perMaster
- if perSlave > perMax:
- perMax = perSlave
- print("perMax : ", perMax)
-
- break
-
- if per_100 >= RETRY:
- print(f'Tried {per_100} times, give up.')
- perMaster = 100
- perSlave = 100
- perMax = 100
-
- # Save the results to file
- results.write(str(packetLen)+","+str(numPkt)+","+str(phy)+",-"+str(atten)+","+str(txPower)+","+str(chan)+","+str(perMaster)+","+str(perSlave)+"\n")
- end_secs = time.time()
- print(f'\nUsed {(end_secs - start_secs):.0f} seconds.')
-
-print('--------------------------------------------------------------------------------------------')
-print("Reset the devices.")
-hciSlave.resetFunc(None)
-hciMaster.resetFunc(None)
-sleep(0.1)
-
-results.write("\n")
-results.close()
-
-print("perMax: ", perMax)
-
-if float(args.limit) != 0.0:
- if perMax > float(args.limit):
- print("PER too high!")
- sys.exit(1)
-
-sys.exit(0)
diff --git a/Tools/Bluetooth/dtm_sweep_vs.py b/Tools/Bluetooth/dtm_sweep_vs.py
deleted file mode 100644
index c8b08860fe8..00000000000
--- a/Tools/Bluetooth/dtm_sweep_vs.py
+++ /dev/null
@@ -1,309 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## dtm_sweep.py
- #
- # Sweep connection parameters.
- #
- # Ensure that both targets are built with BT_VER := 9
- #
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import itertools
-from mini_RCDAT_USB import mini_RCDAT_USB
-from BLE_hci import BLE_hci
-from BLE_hci import Namespace
-from termcolor import colored
-import math
-
-verbose=True
-
-TRACE_INFO = 2
-TRACE_WARNING = 1
-TRACE_ERROR = 0
-
-traceLevel = TRACE_INFO
-
-def printTrace(label, msg,callerLevel, color='white'):
- if callerLevel <= traceLevel:
- print(colored(label + ": ", color), colored(msg, color))
-
-def printWarning(msg):
- printTrace('Warning', msg, TRACE_WARNING, 'yellow')
-
-def printInfo(msg):
- printTrace('Info', msg, TRACE_INFO, 'green')
-
-def printError(msg):
- printTrace('Error', msg, TRACE_ERROR, 'red')
-
-
-LL_CRC_LEN = 3 # CRC length.
-LL_AA_LEN = 4 # Access address length.
-LL_PREAMBLE_LEN_1M = 1 # Preamble length (LE 1M PHY)
-LL_PREAMBLE_LEN_2M = 2 # Preamble length (LE 2M PHY)
-LL_PREAMBLE_LEN_CODED_BITS = 10 # Preamble length (LE Coded PHY)
-LL_CI_LEN_BITS = 2 # Coding indicator length (LE Coded PHY)
-LL_TERM1_LEN_BITS = 3 # TERM1 length (LE Coded PHY)
-LL_TERM2_LEN_BITS = 3 # TERM2 length (LE Coded PHY)
-LL_BLE_BIT_PER_US = 1 # BLE PHY rate
-LL_BLE_US_PER_BYTE_1M = 8 # BLE PHY speed (LE 1M PHY)
-LL_BLE_US_PER_BYTE_2M = 4 # BLE PHY speed (LE 2M PHY)
-LL_BLE_US_PER_BYTE_CODED_S8 = 64 # BLE PHY speed (LE Coded PHY, S=8)
-LL_BLE_US_PER_BIT_CODED_S8 = 8 # BLE PHY speed (LE Coded PHY, S=8)
-LL_BLE_US_PER_BYTE_CODED_S2 = 16 # BLE PHY speed (LE Coded PHY, S=2)
-LL_BLE_US_PER_BIT_CODED_S2 = 2 # BLE PHY speed (LE Coded PHY, S=2)
-LL_DTM_HDR_LEN = 2 # Direct Test Mode PDU header length
-
-# Calculate the duration of the test
-def calcTestTime(packetLen, phy, numPackets):
-
- packetLen=int(packetLen)
- phy=int(phy)
- numPackets=int(numPackets)
- totalTime = 0
-
- # 1: 1M
- # 2: 2M
- # 3: S8
- # 4: S2
-
- # Calculate the length of each packet
- if (phy == 3 or phy == 4):
- totalTime = (LL_PREAMBLE_LEN_CODED_BITS + (LL_AA_LEN * 8) + LL_CI_LEN_BITS + LL_TERM1_LEN_BITS) * LL_BLE_US_PER_BIT_CODED_S8
- if (phy == 4):
- totalTime = totalTime + ((LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_CODED_S2) + (LL_TERM2_LEN_BITS * LL_BLE_US_PER_BIT_CODED_S2)
- else:
- totalTime = totalTime + ((LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_CODED_S8) + (LL_TERM2_LEN_BITS * LL_BLE_US_PER_BIT_CODED_S8)
-
- elif (phy == 2):
- totalTime = (LL_PREAMBLE_LEN_2M + LL_AA_LEN + LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_2M
- else:
- totalTime = (LL_PREAMBLE_LEN_1M + LL_AA_LEN + LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_1M
-
- # Add the inter frame spacing
- totalTime = math.ceil((totalTime + 249) / 625) * 625
-
- # Multiply by the number of packets we're sending
- totalTime = totalTime * numPackets
-
- # Add a constant 10 ms
- totalTime = totalTime + 10000
-
- return totalTime
-
-
-
-# Setup the command line description text
-descText = """
-Direct Test Mode Sweep
-
-This tool uses a Mini Circuits RCDAT to control attenuation between two devices
-running DTM software. The Packet error rate (PER) of the slave will be collected by setting the master device in tx test mode and the slave in rx test mode.
-A vendor specific command will be sent to end the test.
-The total number of packets transmitted will be compared to the number of packtes received and the PER will be
-calculated as numPacketsReceived/numPacketsTransmitted * 100
-
-IMPORTANT: The end test command is vendor specific,
-meaning it will only work with MAX32 BLE devices using the latest stack.
-
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('slaveSerial',help='Serial port for slave device')
-parser.add_argument('masterSerial',help='Serial port for master device')
-parser.add_argument('results',help='CSV files to store the results')
-parser.add_argument('-d', '--delay', default=5,help='Number of seconds to wait before ending the test')
-parser.add_argument('-n', '--numPackets', default=0,help='Number of packets to send per test')
-parser.add_argument('-l', '--limit', default=0,help='PER limit for return value')
-parser.add_argument('-p', '--phys', default="1",help='PHYs to test with, comma separated list with 1-4.')
-parser.add_argument('-t', '--txpows', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-a', '--attens', help='Attenuation settings to use, comma separated list.')
-parser.add_argument('-da', '--disable-atten', action='store_true',help='Disbale Attenuator For Testing Purposes')
-parser.add_argument('-cl', '--channel-loss', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-as', '--atten-step', default="10",help='Attenuation Step Size.')
-
-
-args = parser.parse_args()
-print(args)
-
-packetLengths = [250]
-phys = args.phys.strip().split(",")
-txPowers = args.txpows.strip().split(",")
-numPackets = args.numPackets
-
-
-
-
-
-if(args.attens == None):
- attens = list(range(20,90,int(args.atten_step)))
-
- # Add the max attenuation
- attens.append(90)
-else:
- attens = args.attens.strip().split(",")
-
-
-if args.disable_atten:
- attens=[0]
- printInfo('Disabling Attenuator')
- disableAttenuator = True
-else:
- printInfo('Attenuator active')
- disableAttenuator = False
-
-print("slaveSerial :",args.slaveSerial)
-print("masterSerial :",args.masterSerial)
-print("results :",args.results)
-print("delay :",args.delay)
-print("numPackets :",numPackets)
-print("packetLengths :",packetLengths)
-print("phys :",phys)
-print("attens :",attens)
-print("txPowers :",txPowers)
-print("PER limit :",args.limit)
-
-# Open the results file, write the parameters
-results = open(args.results, "a")
-results.write("# slaveSerial : "+str(args.slaveSerial)+"\n")
-results.write("# masterSerial : "+str(args.masterSerial)+"\n")
-results.write("# results : "+str(args.results)+"\n")
-results.write("# delay : "+str(args.delay)+"\n")
-results.write("# numPackets : "+str(numPackets)+"\n")
-results.write("# packetLengths : "+str(packetLengths)+"\n")
-results.write("# phys : "+str(phys)+"\n")
-results.write("# attens : "+str(attens)+"\n")
-results.write("# PER limit : "+str(args.limit)+"\n")
-
-# Write the header line
-results.write("packetLen,phy,atten,txPower,perMaster,perSlave\n")
-
-assert(args.slaveSerial != args.masterSerial)
-
-# Create the BLE_hci objects
-hciSlave = BLE_hci(Namespace(serialPort=args.slaveSerial, monPort="", baud=115200))
-hciMaster = BLE_hci(Namespace(serialPort=args.masterSerial, monPort="", baud=115200))
-
-perMax = 0
-
-# Reset the devices
-hciSlave.resetFunc(None)
-hciMaster.resetFunc(None)
-sleep(0.1)
-
-for packetLen,phy,txPower in itertools.product(packetLengths,phys,txPowers):
-
- # # Reset the attenuation
- if not disableAttenuator:
- print('Setting attenuation')
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=30))
- sleep(0.1)
-
- # Set the TX Power
- printInfo('Setting TX Power')
- hciSlave.txPowerFunc(Namespace(power=txPower, handle="0"))
- hciMaster.txPowerFunc(Namespace(power=txPower, handle="0"))
-
- for atten in attens:
- print(packetLen," ",phy," ",atten," ",txPower)
-
- # Set the attenuation
- if not disableAttenuator:
- printInfo(f'Setting attenuation {atten}')
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=atten))
- sleep(0.1)
-
- hciMaster.resetFunc(None)
- hciSlave.resetFunc(None)
- sleep(0.1)
-
- #start the test
- hciSlave.rxTestFunc(Namespace(channel=0, phy=phy))
- hciMaster.txTestVSFunc(Namespace(channel=0, phy=phy,payload=0,packetLength=packetLen,numPackets=numPackets))
-
-
-
- if(numPackets == 0):
- sleep(int(args.delay))
- else:
- # Sleep based on the amount of time it takes to complete the test
- # Convert us to seconds
- sleep(calcTestTime(packetLen, phy, numPackets) / 1000000)
-
- stats = hciMaster.endTestVSFunc(Namespace(noPrint=True))
- packetsReceived = hciSlave.endTestFunc(Namespace(noPrint=True))
-
-
- packetsTransmitted = 0
- perMaster = 0
- if(numPackets == 0):
- if stats is not None:
- packetsTransmitted = stats['txData']
-
- if packetsTransmitted != 0:
- perSlave = round(100 * (1 - packetsReceived / packetsTransmitted), 2)
-
- else:
- printWarning('End Test stats returned invalid data. (Packets Transmitted = 0) PER rate being set to 100')
- perSlave = 100
- else:
- perSlave = round(100 * (1 - packetsReceived / int(numPackets)), 2)
-
- if(packetsReceived == 0):
- printWarning('Did not receive any packets')
-
- if(perSlave >= 50.0):
- printWarning('Unusually high PER ', perSlave)
-
- if(perSlave > perMax):
- perMax = perSlave
-
- # Save the results to file
- results.write(str(packetLen)+","+str(phy)+",-"+str(atten+float(args.channel_loss))+","+str(txPower)+","+str(perMaster)+","+str(perSlave)+"\n")
-
-# Reset the devices
-hciSlave.resetFunc(None)
-hciMaster.resetFunc(None)
-sleep(0.1)
-
-results.write("\n")
-results.close()
-# Set the attenuation
-if not disableAttenuator:
- printInfo(f'Setting attenuation {10}')
- mini_RCDAT = mini_RCDAT_USB(Namespace(atten=10))
- sleep(0.1)
-
-
-print("perMax: ",perMax)
-
-if(float(args.limit) != 0.0):
- if(perMax > float(args.limit)):
- print("PER too high!")
- sys.exit(1)
-
-sys.exit(0)
diff --git a/Tools/Bluetooth/dtm_sweep_vs_allCh.py b/Tools/Bluetooth/dtm_sweep_vs_allCh.py
deleted file mode 100644
index 75fc9d5b2d7..00000000000
--- a/Tools/Bluetooth/dtm_sweep_vs_allCh.py
+++ /dev/null
@@ -1,426 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## dtm_sweep.py
- #
- # Sweep connection parameters.
- #
- # Ensure that both targets are built with BT_VER := 9
- #
-
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-import itertools
-
-
-## mc_rcdat_6000 can be found in msdk-test-and measurenent
-## mini_rcdat_usb.py can be used to sub this
-from mc_rcdat_6000 import McRcdat9000
-
-
-
-from BLE_hci import BLE_hci
-from BLE_hci import Namespace
-from termcolor import colored
-import math
-import numpy as np
-import pandas as pd
-import seaborn as sns
-import matplotlib.ticker as ticker
-from matplotlib.colors import LogNorm, Normalize
-from matplotlib.ticker import MaxNLocator
-import matplotlib.pyplot as plt
-from matplotlib import colors,cm
-from matplotlib.colors import ListedColormap
-
-verbose=True
-
-TRACE_INFO = 2
-TRACE_WARNING = 1
-TRACE_ERROR = 0
-
-traceLevel = TRACE_INFO
-
-def printTrace(label, msg,callerLevel, color='white'):
- if callerLevel <= traceLevel:
- print(colored(label + ": ", color), colored(msg, color))
-
-def printWarning(msg):
- printTrace('Warning', msg, TRACE_WARNING, 'yellow')
-
-def printInfo(msg):
- printTrace('Info', msg, TRACE_INFO, 'green')
-
-def printError(msg):
- printTrace('Error', msg, TRACE_ERROR, 'red')
-
-
-LL_CRC_LEN = 3 # CRC length.
-LL_AA_LEN = 4 # Access address length.
-LL_PREAMBLE_LEN_1M = 1 # Preamble length (LE 1M PHY)
-LL_PREAMBLE_LEN_2M = 2 # Preamble length (LE 2M PHY)
-LL_PREAMBLE_LEN_CODED_BITS = 10 # Preamble length (LE Coded PHY)
-LL_CI_LEN_BITS = 2 # Coding indicator length (LE Coded PHY)
-LL_TERM1_LEN_BITS = 3 # TERM1 length (LE Coded PHY)
-LL_TERM2_LEN_BITS = 3 # TERM2 length (LE Coded PHY)
-LL_BLE_BIT_PER_US = 1 # BLE PHY rate
-LL_BLE_US_PER_BYTE_1M = 8 # BLE PHY speed (LE 1M PHY)
-LL_BLE_US_PER_BYTE_2M = 4 # BLE PHY speed (LE 2M PHY)
-LL_BLE_US_PER_BYTE_CODED_S8 = 64 # BLE PHY speed (LE Coded PHY, S=8)
-LL_BLE_US_PER_BIT_CODED_S8 = 8 # BLE PHY speed (LE Coded PHY, S=8)
-LL_BLE_US_PER_BYTE_CODED_S2 = 16 # BLE PHY speed (LE Coded PHY, S=2)
-LL_BLE_US_PER_BIT_CODED_S2 = 2 # BLE PHY speed (LE Coded PHY, S=2)
-LL_DTM_HDR_LEN = 2 # Direct Test Mode PDU header length
-NUM_CHANNELS = 40 # Number of testing channels
-
-# Calculate the duration of the test
-def calcTestTime(packetLen, phy, numPackets):
-
- packetLen=int(packetLen)
- phy=int(phy)
- numPackets=int(numPackets)
- totalTime = 0
-
- # 1: 1M
- # 2: 2M
- # 3: S8
- # 4: S2
-
- # Calculate the length of each packet
- if (phy == 3 or phy == 4):
- totalTime = (LL_PREAMBLE_LEN_CODED_BITS + (LL_AA_LEN * 8) + LL_CI_LEN_BITS + LL_TERM1_LEN_BITS) * LL_BLE_US_PER_BIT_CODED_S8
- if (phy == 4):
- totalTime = totalTime + ((LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_CODED_S2) + (LL_TERM2_LEN_BITS * LL_BLE_US_PER_BIT_CODED_S2)
- else:
- totalTime = totalTime + ((LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_CODED_S8) + (LL_TERM2_LEN_BITS * LL_BLE_US_PER_BIT_CODED_S8)
-
- elif (phy == 2):
- totalTime = (LL_PREAMBLE_LEN_2M + LL_AA_LEN + LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_2M
- else:
- totalTime = (LL_PREAMBLE_LEN_1M + LL_AA_LEN + LL_DTM_HDR_LEN + packetLen + LL_CRC_LEN) * LL_BLE_US_PER_BYTE_1M
-
- # Add the inter frame spacing
- totalTime = math.ceil((totalTime + 249) / 625) * 625
-
- # Multiply by the number of packets we're sending
- totalTime = totalTime * numPackets
-
- # Add a constant 10 ms
- totalTime = totalTime + 10000
-
- return totalTime
-
-def plottable_3d_info(df: pd.DataFrame):
- """
- Transform Pandas data into a format that's compatible with
- Matplotlib's surface and wireframe plotting.
- """
- index = df.index
- columns = df.columns
-
- x, y = np.meshgrid(np.arange(len(columns)), np.arange(len(index)))
- z = np.array([[df[c][i] for c in columns] for i in index])
-
- xticks = dict(ticks=np.arange(len(columns)), labels=columns)
- yticks = dict(ticks=np.arange(len(index)), labels=index)
-
- return x, y, z, xticks, yticks
-
-MAP_COLORS = [[181/255.0, 213/255.0, 227/255.0],
- [66/255.0, 131/255.0, 231/255.0],
- [128/255.0, 251/255.0, 96/255.0],
- [58/255.0, 125/255.0, 39/255.0],
- [254/255.0, 255/255.0, 84/255.0],
- [241/255.0, 167/255.0, 61/255.0],
- [233/255.0, 53/255.0, 40/255.0],
- [126/255.0, 30/255.0, 22/255.0],
- [0/255.0, 0/255.0, 0/0255.0]]
-
-def create_heatmap(df, annot=False):
- cmap = ListedColormap(MAP_COLORS, name='adi-heatmap')
-
- bounds = [0.0, 0.0001, 0.1, 0.3, 1, 3, 10, 30, 99.9999, 105]
- norm = colors.BoundaryNorm(bounds, cmap.N)
- hm = sns.heatmap(df, cmap=cmap, norm=norm, annot=annot, xticklabels=True, linecolor=[237/255.0, 237/255.0, 237/255.0, 0.2], linewidth=0.35)
-
- old_ticks = hm.collections[0].colorbar.get_ticks()
- new_ticks = []
-
- for i in range(len(old_ticks) - 1):
- new_ticks.append(old_ticks[i] + (old_ticks[i+1] - old_ticks[i])/2)
-
- labels = ['0%', '0%-0.1%', '0.1%-0.3%', '0.3%-1%', '1%-3%', '3%-10%', '10%-30%', '30%-100%', '100%']
- hm.collections[0].colorbar.set_ticks(new_ticks, labels=labels)
- hm.collections[0].colorbar.ax.set_ylabel('Packet Error Rate')
- hm.set(xlabel="Channels", ylabel="Rx Power [dBm]", title="Rx Sensitivity -- No interference")
-
- return hm
-
-
-# Setup the command line description text
-descText = """
-Direct Test Mode Sweep
-
-This tool uses a Mini Circuits RCDAT to control attenuation between two devices
-running DTM software. The Packet error rate (PER) of the slave will be collected by setting the master device in tx test mode and the slave in rx test mode.
-A vendor specific command will be sent to end the test.
-The total number of packets transmitted will be compared to the number of packtes received and the PER will be
-calculated as numPacketsReceived/numPacketsTransmitted * 100
-
-IMPORTANT: The end test command is vendor specific,
-meaning it will only work with MAX32 BLE devices using the latest stack.
-
-"""
-
-# Parse the command line arguments
-parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
-parser.add_argument('slaveSerial',help='Serial port for slave device')
-parser.add_argument('masterSerial',help='Serial port for master device')
-parser.add_argument('results',help='CSV files to store the results')
-parser.add_argument('-d', '--delay', default=0.5,help='Number of seconds to wait before ending the test')
-parser.add_argument('-n', '--numPackets', default=0,help='Number of packets to send per test')
-parser.add_argument('-l', '--limit', default=0,help='PER limit for return value')
-parser.add_argument('-p', '--phys', default="1",help='PHYs to test with, comma separated list with 1-4.')
-parser.add_argument('-t', '--txpows', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-a', '--attens', help='Attenuation settings to use, comma separated list.')
-parser.add_argument('-da', '--disable-atten', action='store_true',help='Disbale Attenuator For Testing Purposes')
-parser.add_argument('-cl', '--channel-loss', default="0",help='TX powers to test with, comma separated list.')
-parser.add_argument('-as', '--atten-step', default="20",help='Attenuation Step Size.')
-
-
-args = parser.parse_args()
-print(args)
-
-packetLengths = [250]
-phys = args.phys.strip().split(",")
-txPowers = args.txpows.strip().split(",")
-numPackets = args.numPackets
-
-
-
-
-
-if(args.attens == None):
- attens = list(range(20,90,int(args.atten_step)))
-
- # Add the max attenuation
- attens.append(90)
-else:
- attens = args.attens.strip().split(",")
-
-
-if args.disable_atten:
- attens=[0]
- printInfo('Disabling Attenuator')
- disableAttenuator = True
-else:
- printInfo('Attenuator active')
- disableAttenuator = False
-
-print("slaveSerial :",args.slaveSerial)
-print("masterSerial :",args.masterSerial)
-print("results :",args.results)
-print("delay :",args.delay)
-print("numPackets :",numPackets)
-print("packetLengths :",packetLengths)
-print("phys :",phys)
-print("attens :",attens)
-print("txPowers :",txPowers)
-print("PER limit :",args.limit)
-
-
-# Open the results file, write the parameters
-results = args.results
-results = open(args.results, "w")
-results.write("# slaveSerial : "+str(args.slaveSerial)+"\n")
-results.write("# masterSerial : "+str(args.masterSerial)+"\n")
-results.write("# results : "+str(args.results)+"\n")
-results.write("# delay : "+str(args.delay)+"\n")
-results.write("# numPackets : "+str(numPackets)+"\n")
-results.write("# packetLengths : "+str(packetLengths)+"\n")
-results.write("# phys : "+str(phys)+"\n")
-results.write("# attens : "+str(attens)+"\n")
-results.write("# PER limit : "+str(args.limit)+"\n")
-# Write the header line
-
-results.close()
-
-mini_RCDAT = McRcdat9000()
-
-
-results_df = pd.DataFrame()
-
-assert(args.slaveSerial != args.masterSerial)
-
-# Create the BLE_hci objects
-hciSlave = BLE_hci(Namespace(serialPort=args.slaveSerial, monPort="", baud=115200))
-hciMaster = BLE_hci(Namespace(serialPort=args.masterSerial, monPort="", baud=115200))
-
-perMax = 0
-
-# Reset the devices
-hciSlave.resetFunc(None)
-hciMaster.resetFunc(None)
-sleep(0.1)
-for ch in range(NUM_CHANNELS):
- temp_results = []
- print('Channel Num', ch)
- print(f'{ch / NUM_CHANNELS *100}% complete')
- printInfo('Setting TX Power')
- hciSlave.txPowerFunc(Namespace(power=0, handle="0"))
- hciMaster.txPowerFunc(Namespace(power=0, handle="0"))
-
- for packetLen,phy,txPower in itertools.product(packetLengths,phys,txPowers):
-
-
-
- # Set the TX Power
-
-
- for atten in attens:
- print(packetLen," ",phy," ",atten," ",txPower)
-
- # Set the attenuation
- if not disableAttenuator:
- mini_RCDAT.setAttenuation(atten)
-
-
- # sleep(0.1)
-
- #start the test
- printInfo("RX Starting")
- hciSlave.rxTestFunc(Namespace(channel=ch, phy=phy))
- printInfo('TX Starting')
- hciMaster.txTestVSFunc(Namespace(channel=ch, phy=phy,payload=0,packetLength=packetLen,numPackets=numPackets))
-
-
-
- if(numPackets == 0):
- sleep(int(args.delay))
- else:
- # Sleep based on the amount of time it takes to complete the test
- # Convert us to seconds
- sleep(calcTestTime(packetLen, phy, numPackets) / 1000000)
-
- printInfo('Endding master')
- stats = hciMaster.endTestVSFunc(Namespace(noPrint=True))
- printInfo('Edning slave')
- packetsReceived = hciSlave.endTestFunc(Namespace(noPrint=True))
-
-
- packetsTransmitted = 0
- perMaster = 0
-
- if(numPackets == 0):
- if stats is not None:
- packetsTransmitted = stats['txData']
-
- if packetsTransmitted != 0:
- perSlave = round(100 * (1 - packetsReceived / packetsTransmitted), 2)
-
- else:
- printWarning('End Test stats returned invalid data. (Packets Transmitted = 0) PER rate being set to 100')
- perSlave = 100
- else:
- perSlave = round(100 * (1 - packetsReceived / int(numPackets)), 2)
-
- if(packetsReceived == 0):
- printWarning('Did not receive any packets')
-
- if perSlave >= 50.0:
- printWarning(f'Unusually high PER {perSlave}')
-
-
- if(perSlave > perMax):
- perMax = perSlave
- elif(perSlave < 0):
- perSlave = 0
-
- # Gather the results
- temp_results.append(perSlave)
-
-
- # Save the results to dataframe
-
-
- col_name = f'ch{ch}'
- results_df[col_name] = temp_results
-
-
-
- print("perMax: ",perMax)
-
- if(float(args.limit) != 0.0):
- if(perMax > float(args.limit)):
- print("PER too high!")
- sys.exit(1)
-
-
-# Create the master dataframe
-results_df.index = [str(-(x+int(args.channel_loss))) for x in attens]
-
-print(results_df)
-results_df.to_csv(args.results,mode='a')
-
-hm = create_heatmap(results_df)
-plt.savefig('heatmap.png')
-
-
-
-x,y,z,xticks,yticks = plottable_3d_info(results_df)
-
-
-for i,row in enumerate(y):
- y[i] = [i * int(args.atten_step) + attens[0]] * len(row)
-
-# print(y)
-cmap = ListedColormap(MAP_COLORS, name='adi-heatmap')
-bounds = [0.0, 0.0001, 0.1, 0.3, 1, 3, 10, 30, 99.9999, 105]
-norm = colors.BoundaryNorm(bounds, cmap.N)
-mappable = cm.ScalarMappable(norm=norm, cmap=cmap)
-
-fig = plt.figure(figsize=(10,5))
-cb = fig.colorbar(mappable)
-
-
-old_ticks = cb.get_ticks()
-new_ticks = []
-
-for i in range(len(old_ticks) - 1):
- new_ticks.append(old_ticks[i] + (old_ticks[i+1] - old_ticks[i])/2)
-
-labels = ['0%', '0%-0.1%', '0.1%-0.3%', '0.3%-1%', '1%-3%', '3%-10%', '10%-30%', '30%-100%', '100%']
-cb.set_ticks(new_ticks, labels=labels)
-cb.ax.set_ylabel("Packet Error Rate")
-
-axes = fig.add_subplot(projection='3d')
-axes.plot_surface(x, y, z,cmap='gnuplot')
-axes.set(title='PER Across Channels', xlabel='Channel', ylabel='RX Power',zlabel='PER %')
-
-plt.savefig('surfaceplt.png')
-
-
-
-
-sys.exit(0)
diff --git a/Tools/Bluetooth/mc_rf_sw.py b/Tools/Bluetooth/mc_rf_sw.py
deleted file mode 100644
index 62d68beaffa..00000000000
--- a/Tools/Bluetooth/mc_rf_sw.py
+++ /dev/null
@@ -1,307 +0,0 @@
-#! /usr/bin/env python3
-
-################################################################################
-# Copyright (C) 2023 Analog Devices, Inc., All Rights Reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
-# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of Maxim Integrated
-# Products, Inc. shall not be used except as stated in the Maxim Integrated
-# Products, Inc. Branding Policy.
-#
-# The mere transfer of this software does not imply any licenses
-# of trade secrets, proprietary technology, copyrights, patents,
-# trademarks, maskwork rights, or any other form of intellectual
-# property whatsoever. Maxim Integrated Products, Inc. retains all
-# ownership rights.
-#
-###############################################################################
-
-import argparse
-from argparse import RawTextHelpFormatter
-from datetime import datetime
-import fcntl
-import logging
-import os
-from pprint import pprint
-import subprocess
-import usb.core
-import usb.util
-import sys
-
-logging.basicConfig(filename=os.path.expanduser('~/Workspace/Resource_Share/Logs/mc_rf_sw.log'),
- level=logging.DEBUG,
- format='%(message)s')
-
-
-WITH_PRINT = False
-
-# Equivalent of the _IO('U', 20) constant in the linux kernel.
-USBDEVFS_RESET = ord('U') << (4*2) | 20
-
-
-def PRINT(msg):
- if WITH_PRINT:
- print(msg)
- logging.debug(f'{datetime.now()} {msg}')
-
-
-class Namespace:
- def __init__(self, **kwargs):
- self.__dict__.update(kwargs)
-
-
-class McRfSw:
- """
- class for Mini-Circuits Solid State RF Switches.
- model: USB-1SP16T-83H
- model: USB-1SP8T-63H
- """
- available_models = ("USB-1SP16T-83H", "USB-1SP8T-63H")
- sw_type = ("SP16T", "SP8T")
-
- def __init__(self, args):
- global WITH_PRINT
-
- if args.debug:
- WITH_PRINT = True
- else:
- WITH_PRINT = False
-
- PRINT(f'{args}')
-
- if args.model not in McRfSw.available_models:
- msg = f"Invalid model: {args.model}"
- raise Exception(msg)
- self.model = args.model
-
- # find the right device by the model name
- self.dev = self.find_the_device(self.model)
- if self.dev is None:
- msg = f"Fail to find the device for {args.model}"
- raise Exception(msg)
-
- # get device sn
- self.sn = ""
- cmd = "*:SN?"
- PRINT(f'cmd: {cmd}')
- self.dev.write(1, cmd)
- sn = self.dev.read(0x81, 64)
- PRINT(f'Received: {sn}')
- i = 1
- while 255 > sn[i] > 0 and i <= len(sn):
- self.sn = self.sn + chr(sn[i])
- i = i + 1
- PRINT(f'Device SN: {self.sn}\n') # 12210300026
-
- if self.model == McRfSw.available_models[0]:
- self.model_index = 0
- else:
- self.model_index = 1
-
- # get firmware
- self.firmware = ""
- cmd = "*:FIRMWARE?"
- PRINT(f'cmd: {cmd}')
- self.dev.write(1, cmd)
- fw = self.dev.read(0x81, 64)
- PRINT(f'Received: {fw}')
- i = 1
- while 255 > fw[i] > 0 and i <= len(fw):
- self.firmware = self.firmware + chr(fw[i])
- i = i + 1
- PRINT(f'Firmware: {self.firmware}\n')
-
- if args.op is None:
- exit(0)
-
- self.dev.reset()
-
- if args.op.lower() == "get":
- state = self.get_sw_state()
- msg = f'Current state: {state}'
- logging.debug(msg)
- print(msg)
- elif args.op.lower() == "set":
- self.set_sw_state(args.state)
- elif args.op.lower() == "reset":
- PRINT("")
- PRINT("Reset the device.")
- #self.reset_device()
- else:
- raise ValueError("Invalid op.")
-
- usb.util.release_interface(self.dev, 0)
-
- def find_the_device(self, model):
- """find the right device by its model name
- """
- all_devs = usb.core.find(idVendor=0x20ce, idProduct=0x0022, find_all=True)
- for d in all_devs:
- # check configuration in this device
- self.dettach_and_config(d)
-
- # get model name
- model_name = ""
- cmd = "*:MN?"
- PRINT(f'cmd: {cmd}')
- d.write(1, cmd)
- mn = d.read(0x81, 64)
- PRINT(f"Received: {mn}")
- i = 1
- while 255 > mn[i] > 0 and i <= len(mn):
- model_name = model_name + chr(mn[i])
- i = i + 1
- PRINT(f'Model name: {model_name}\n')
-
- if model_name == model:
- return d
- else:
- PRINT('--- NOT THIS DEVICE ---')
- return None
-
- def dettach_and_config(self, d):
- for configuration in d:
- PRINT("")
- PRINT("configuration:")
- PRINT(configuration)
-
- for interface in configuration:
- PRINT("")
- PRINT("interface:")
- PRINT(interface)
- if_num = interface.bInterfaceNumber
- if not d.is_kernel_driver_active(if_num):
- continue
-
- try:
- d.detach_kernel_driver(if_num)
- except usb.core.USBError as e:
- print(f'Interface Number: {if_num}')
- print(e)
-
- # set the active configuration. with no args we use first config.
- d.set_configuration()
-
- def set_sw_state(self, state):
- """Switch State Commands / Queries
- :[Sw_Type]:[Sw_Channel]:STATE:[Sw_State]
-
- :arg
- state
- :return
- status 0:command failed, 1: command completed successfully
- """
- curr_state = self.get_sw_state()
- PRINT("")
- msg = f'Current state: {curr_state}'
- logging.debug(msg)
- print(msg)
-
- if curr_state == str(state):
- return curr_state
-
- cmd = f'*:{McRfSw.sw_type[self.model_index]}:STATE:{state}'
- PRINT(f'cmd: {cmd}')
- self.dev.write(1, cmd)
- resp = self.dev.read(0x81, 64)
- PRINT(f'Received: {resp}')
- i = 1
- set_resp = ""
- while 255 > resp[i] > 0 and i <= len(resp):
- set_resp = set_resp + chr(resp[i])
- i = i + 1
- if set_resp == "1":
- PRINT("Success")
-
- new_state = self.get_sw_state()
- PRINT("")
- msg = f' New state: {new_state}'
- else:
- msg = 'FAILED!'
-
- logging.debug(msg)
- print(msg)
-
- return set_resp
-
- def get_sw_state(self):
- """get switch state
-
- """
- cmd = f'*:{McRfSw.sw_type[self.model_index]}:STATE?'
- PRINT(f'cmd: {cmd}')
- self.dev.write(1, cmd)
- state_ret = self.dev.read(0x81, 64)
- PRINT(f'Received: {state_ret}')
- i = 1
- resp = ""
- while 255 > state_ret[i] > 0 and i <= len(state_ret):
- resp = resp + chr(state_ret[i])
- i = i + 1
- PRINT(f'Resp: {resp}')
- return resp
-
- def reset_device(self):
- """reset the RF switch
- """
- proc = subprocess.Popen(['lsusb'], stdout=subprocess.PIPE)
- out = proc.communicate()[0]
- out = out.decode('utf-8')
- lines = out.split('\n')
- for line in lines:
- if "Minicircuits I/O Controller" in line:
- parts = line.split()
- bus = parts[1]
- dev = parts[3][:3]
- dev_path = '/dev/bus/usb/%s/%s' % (bus, dev)
- PRINT(f'dev_path: {dev_path}')
-
- fd = os.open(dev_path, os.O_WRONLY)
- try:
- fcntl.ioctl(fd, USBDEVFS_RESET, 0)
- finally:
- os.close(fd)
-
-
-if __name__ == "__main__":
- WITH_PRINT = 1
-
- # Setup the command line description text
- descText = """
- Mini-Circuits RF Switch control.
- """
-
- # Parse the command line arguments
- parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
- parser.add_argument('--model', help='Model: USB-1SP16T-83H, or USB-1SP8T-63H')
- parser.add_argument('--op', help='get, set, reset')
- parser.add_argument('--state', help='state')
- parser.add_argument('--debug', action="store_true", help='display debug info')
-
- args = parser.parse_args()
-
- if args.debug:
- PRINT("\n\n\n")
- print("Mini-Circuits RF Switch Control Tool")
- print(f'Input arguments: {args}')
-
- McRfSw(args)
-
-
diff --git a/Tools/Bluetooth/mini_RCDAT_USB.py b/Tools/Bluetooth/mini_RCDAT_USB.py
deleted file mode 100644
index 8254f8ee4a6..00000000000
--- a/Tools/Bluetooth/mini_RCDAT_USB.py
+++ /dev/null
@@ -1,169 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## mini_RCDAT_USB.py
- #
- # Sets the attenuation of a Mini-Circuits RCDAT USB attenuator
- #
-
-import usb.core
-import usb.util
-import argparse
-from argparse import RawTextHelpFormatter
-import sys
-
-# Set the VID and PID that we're going to try and connect to
-vid=0x20ce
-pid=0x0023
-
-# Define the min and max attenuation values
-minDbm=0
-maxDbm=90
-
-# Namespace class used to create function arguments similar to argparse
-class Namespace:
- def __init__(self, **kwargs):
- self.__dict__.update(kwargs)
-
-class mini_RCDAT_USB:
-
- def __init__(self, args):
-
- # Make sure attenuation is within the defined limits
- try:
- if(float(args.atten) > maxDbm) :
- print("Attenuation parameter is too high, max attenuation: "+str(maxDbm))
- print(descText)
- sys.exit(1)
- if(float(args.atten) < minDbm) :
- print("Attenuation parameter is too low, min attenuation: "+str(minDbm))
- print(descText)
- sys.exit(1)
- except ValueError as err:
- print("Error with attenuation value")
- print(descText)
- sys.exit(1)
-
- # Find our device
- dev = usb.core.find(idVendor=vid, idProduct=pid)
-
- if dev is None:
- raise ValueError('Device not found')
-
- for configuration in dev:
- for interface in configuration:
- ifnum = interface.bInterfaceNumber
- if not dev.is_kernel_driver_active(ifnum):
- continue
- try:
- dev.detach_kernel_driver(ifnum)
- except usb.core.USBError as e:
- pass
-
- # set the active configuration. with no args we use first config.
- dev.set_configuration()
-
- dev.reset()
-
- # Get the SN
- SerialN=""
- dev.write(1,"*:SN?")
- sn=dev.read(0x81,64)
- i=1
- while (sn[i]<255 and sn[i]>0):
- SerialN=SerialN+chr(sn[i])
- i=i+1
-
- # Get the model number
- ModelN=""
- dev.write(1,"*:MN?")
- mn=dev.read(0x81,64)
- i=1
- while (mn[i]<255 and mn[i]>0):
- ModelN=ModelN+chr(mn[i])
- i=i+1
-
- # Get the firmware version
- Fw=""
- dev.write(1,"*:FIRMWARE?")
- sn=dev.read(0x81,64)
- i=1
- while (sn[i]<255 and sn[i]>0):
- Fw=Fw+chr(sn[i])
- i=i+1
-
- retval=0
-
- # Set the attenuation
- attenCmdString="*:SETATT="+str(args.atten)+";"
- print(attenCmdString)
- dev.write(1,attenCmdString)
- resp=dev.read(0x81,64)
- i=1
- AttResp=""
- while (resp[i]<255 and resp[i]>0):
- AttResp=AttResp+chr(resp[i])
- i=i+1
- if (AttResp != "1"):
- print("Error setting attenuation")
- retval=1
-
- # Check the attenuation
- getAttenString="*:ATT?"
- print(getAttenString)
- dev.write(1,getAttenString) # return attenuation value
- resp=dev.read(0x81,64)
- i=1
- AttResp=""
- while (resp[i]<255 and resp[i]>0):
- AttResp=AttResp+chr(resp[i])
- i=i+1
- print("Attenuation: " + AttResp)
-
- usb.util.release_interface(dev, 0)
- # dev.close()
-
-if __name__ == '__main__':
-
- # Setup the command line description text
- descText = """
- Mini-Circuits RCDAT USB configuration tool.
-
- This tool is used to set the attenuation of a Mini Circuits RCDAT, using the USB interface.
- Attenuation value must be a decimal number between """+str(minDbm)+""" and """+str(maxDbm)+"""
-
- VID=0x"""+'%04X'%vid+"""
- PID=0x"""+'%04X'%pid
-
- # Parse the command line arguments
- parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
- parser.add_argument('atten',help='attenuation in dBm, 0.25 dB resolution')
-
- args = parser.parse_args()
-
- print("Mini-Circuits RCDAT USB configuration tool")
- print("Attenuation: "+str(args.atten))
-
- # Set the attenuation
- atten = mini_RCDAT_USB(args)
-
- sys.exit(0)
diff --git a/Tools/Bluetooth/py_requirements.txt b/Tools/Bluetooth/py_requirements.txt
deleted file mode 100644
index 2c1e22c718a..00000000000
--- a/Tools/Bluetooth/py_requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-pyserial
-pyusb
-termcolor
-readline
\ No newline at end of file
diff --git a/Tools/Bluetooth/rf_switch.py b/Tools/Bluetooth/rf_switch.py
deleted file mode 100644
index 2311895b776..00000000000
--- a/Tools/Bluetooth/rf_switch.py
+++ /dev/null
@@ -1,117 +0,0 @@
-#! /usr/bin/env python3
-
-###############################################################################
- #
- # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
- # Analog Devices, Inc.),
- # Copyright (C) 2023-2024 Analog Devices, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ##############################################################################
-
-## rf_switch.py
- #
- # Tool used to control an RF switch with a simple UART interface
- #
-
-import serial
-import sys
-import argparse
-from argparse import RawTextHelpFormatter
-from time import sleep
-
-# Setup the default serial port settings
-defaultBaud=115200
-defaultSP="/dev/ttyUSB0"
-
-# Namespace class used to create function arguments similar to argparse
-class Namespace:
- def __init__(self, **kwargs):
- self.__dict__.update(kwargs)
-
-class rf_switch:
-
- port = serial.Serial()
- serialPort = ""
-
- def __init__(self, args):
-
- try:
- # Open serial port
- serialPort = args.serialPort
- self.port = serial.Serial(
- port=str(serialPort),
- baudrate=args.baud,
- parity=serial.PARITY_NONE,
- stopbits=serial.STOPBITS_ONE,
- bytesize=serial.EIGHTBITS,
- rtscts=False,
- dsrdtr=False,
- timeout=1.0
- )
- self.port.isOpen()
- except serial.SerialException as err:
- print(err)
- sys.exit(1)
-
- except OverflowError as err:
- print("baud rate exception, "+str(args.baud)+" is too large")
- print(err)
- sys.exit(1)
-
- # Send the command, adding carriage return
- commandString = args.command+"\r"
- for char in commandString:
- b = bytearray()
- b.extend(map(ord, char))
- self.port.write(b)
- sleep(0.01)
-
- # Receive the status
- response = self.port.read_until("\n")
- print(response.decode())
-
-if __name__ == '__main__':
-
-
- # Setup the command line description text
- descText = """
- RF Switch tool.
-
- This tool is used to control an RF switch. The switch has two sides (L and R), each with
- 4 inputs.
-
- Serial port is configured as 8N1, no flow control, default baud rate of """+str(defaultBaud)+""".
- """
-
- # Parse the command line arguments
- parser = argparse.ArgumentParser(description=descText, formatter_class=RawTextHelpFormatter)
- parser.add_argument('serialPort', default=defaultSP,
- help='Serial port path or COM#, default: '+defaultSP)
- parser.add_argument('command', help="""Set the left or right switch: L or R, followed by 0-4. 0 indicating closed.
- Example: l1""")
-
- parser.add_argument('--baud', '-b', default=defaultBaud,
- help='Serial port baud rate, default: '+str(defaultBaud))
-
- args = parser.parse_args()
- serialPort = args.serialPort
- print("RF Switch tool")
- print("Serial port: "+serialPort)
- print("8N1 "+str(args.baud))
- print("")
-
- # Run the command
- ble_hci = rf_switch(args)
-