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) -