diff --git a/ble/.cproject b/ble/.cproject deleted file mode 100644 index 620b8679aa500cb6e6ecdbd596813adca48d49cd..0000000000000000000000000000000000000000 --- a/ble/.cproject +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> - <storageModule moduleId="org.eclipse.cdt.core.settings"> - <cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"> - <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" moduleId="org.eclipse.cdt.core.settings" name="Debug"> - <externalSettings/> - <extensions> - <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> - <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - </extensions> - </storageModule> - <storageModule moduleId="cdtBuildSystem" version="4.0.0"> - <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"> - <folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962." name="/" resourcePath=""> - <toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.548125692" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1448195934" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.989348626" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.573934961" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1195068176" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1035348629" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.31679983" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1676901946" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1729767352" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1708484008" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.178519983" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3" valueType="enumerated"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.956545422" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1580514969" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1246670973" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1674926322" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2051566192" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.408066731" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1900584936" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1096852527" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.937347953" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1468247042" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1529750846" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.667765305" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/> - <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.786533016" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/> - <builder arguments="-r ECLIPSE=1" buildPath="${workspace_loc:/BLE_fit}" command="make" id="ilg.gnuarmeclipse.managedbuild.cross.builder.592880777" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1648672385" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1969112665" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/> - <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.507854261" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/> - </tool> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1576427906" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath"> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Device/Maxim/MAX32665/Include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/Libraries/MAX32665PeriphDriver/Include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/EvKit_V1/Include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/Include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Toolchain/arm-none-eabi/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Toolchain/arm-none-eabi/include/sys""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Toolchain/lib/gcc/arm-none-eabi/6.3.1/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include/util""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/platform/common/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/controller/sources/mac/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-host/include""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/include/app""/> - <listOptionValue builtIn="false" value=""${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/sources/profiles/include""/> - </option> - <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/> - </tool> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.794996645" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"/> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.675776866" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.185399645" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/> - <inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.246156916" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input"> - <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> - <additionalInput kind="additionalinput" paths="$(LIBS)"/> - </inputType> - </tool> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.391142733" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.2099090970" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/> - </tool> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.399743328" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.822983655" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1050446219" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.335976671" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.964898349" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.972868647" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.890608562" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1669392057" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/> - </tool> - <tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.403251962" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize"> - <option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1919947275" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/> - </tool> - </toolChain> - </folderInfo> - </configuration> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> - </cconfiguration> - </storageModule> - <storageModule moduleId="cdtBuildSystem" version="4.0.0"> - <project id="BLE_fit.ilg.gnuarmeclipse.managedbuild.cross.target.elf.737306620" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/> - </storageModule> - <storageModule moduleId="scannerConfiguration"> - <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> - <scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223"> - <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> - </scannerConfigBuildInfo> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> - <storageModule moduleId="refreshScope" versionNumber="2"> - <configuration configurationName="Debug"> - <resource resourceType="PROJECT" workspacePath="/BLE_fit"/> - </configuration> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> - <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> -</cproject> diff --git a/ble/.project b/ble/.project deleted file mode 100644 index f87dce9ca24d97fb9eedab424b85796010af452e..0000000000000000000000000000000000000000 --- a/ble/.project +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>BLE_fit</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> - <triggers>clean,full,incremental,</triggers> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> - <triggers>full,incremental,</triggers> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.cdt.core.cnature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> - </natures> -</projectDescription> diff --git a/ble/.settings/language.settings.xml b/ble/.settings/language.settings.xml deleted file mode 100644 index e5a1647610f97197abe406e8ef1bb9e62065f5a1..0000000000000000000000000000000000000000 --- a/ble/.settings/language.settings.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<project> - <configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" name="Debug"> - <extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> - <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> - <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> - <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - </extension> - </configuration> -</project> diff --git a/ble/BLE_fit.launch b/ble/BLE_fit.launch deleted file mode 100644 index 61aab03847a6bacc23c49b9379148c245aaf522b..0000000000000000000000000000000000000000 --- a/ble/BLE_fit.launch +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.openocd.launchConfigurationType"> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doContinue" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doDebugInRam" value="false"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doFirstReset" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateConsole" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateTelnetConsole" value="false"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doSecondReset" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doStartGdbServer" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.enableSemihosting" value="false"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.firstResetType" value="init"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="openocd"/> -<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerOther" value="-s ${env_var:TOOLCHAIN_PATH}/share/openocd/scripts -f interface/ftdi/olimex-arm-usb-ocd-h.cfg -f interface/ftdi/olimex-arm-jtag-swd.cfg -f target/max32665.cfg"/> -<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerTelnetPortNumber" value="4444"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherInitCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherRunCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.secondResetType" value="halt"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM OpenOCD"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/> -<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/> -<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/> -<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/> -<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> -<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> -<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/> -<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/max32665.elf"/> -<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="BLE_fit"/> -<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/> -<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"/> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/BLE_fit"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> -<listEntry value="4"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> -<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> -</listAttribute> -<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="Context string"> <memoryBlockExpression address="536918388" label="0x2000b974"/> </memoryBlockExpressionList> "/> -<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/> -</launchConfiguration> diff --git a/ble/Makefile b/ble/Makefile deleted file mode 100644 index 608b057f9617eb0b7ce4497da63374a8476a3699..0000000000000000000000000000000000000000 --- a/ble/Makefile +++ /dev/null @@ -1,138 +0,0 @@ -################################################################################ -# Copyright (C) 2014 Maxim Integrated Products, 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. -# -# $Id: Makefile 38694 2018-10-24 20:41:14Z zach.metzinger $ -# -################################################################################ - -# This is the name of the build output file -ifeq "$(PROJECT)" "" -PROJECT=max32665 -endif - -# Specify the target processor -ifeq "$(TARGET)" "" -TARGET=MAX32665 -endif - -# Create Target name variables -TARGET_UC:=$(shell echo $(TARGET) | tr a-z A-Z) -TARGET_LC:=$(shell echo $(TARGET) | tr A-Z a-z) - -# Select 'GCC' or 'IAR' compiler -COMPILER=GCC - -# Specify the board used -ifeq "$(BOARD)" "" -#BOARD=EvKit_V1 -BOARD=card10 -endif - -# Last octet address modifier -ifneq "$(BLE_ADDR_LSB)" "" -PROJ_CFLAGS+=-DBLE_ADDR_LSB=$(BLE_ADDR_LSB) -endif - -## Subsitute WSF critical section entry for default MAXUSB -#PROJ_CFLAGS+=-DMAXUSB_ENTER_CRITICAL=WsfCsEnter -#PROJ_CFLAGS+=-DMAXUSB_EXIT_CRITICAL=WsfCsExit - -# This is the path to the CMSIS root directory -ifeq "$(MAXIM_PATH)" "" -LIBS_DIR=../lib/sdk/Libraries -NDALIBS_DIR=../lib/sdk/NDALibraries -else -LIBS_DIR=/$(subst \,/,$(subst :,,$(MAXIM_PATH))/Firmware/$(TARGET_UC)/Libraries) -NDALIBS_DIR=/$(subst \,/,$(subst :,,$(MAXIM_PATH))/Firmware/$(TARGET_UC)/NDALibraries) -endif -CMSIS_ROOT=$(LIBS_DIR)/CMSIS - -# Source files for this test (add path to VPATH below) -SRCS = main.c -SRCS += stack_fit.c -SRCS += fit_main.c -SRCS += svc_dis.c - -# Where to find source files for this test -VPATH = . - -# Where to find header files for this test -IPATH = . - -# Enable assertion checking for development -PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE - -# Specify the target revision to override default -# "A2" in ASCII -# TARGET_REV=0x4132 - -# Use this variables to specify and alternate tool path -#TOOL_DIR=/opt/gcc-arm-none-eabi-4_8-2013q4/bin - -# Use these variables to add project specific tool options -#PROJ_CFLAGS+=--specs=nano.specs -#PROJ_LDFLAGS+=--specs=nano.specs - -PROJ_CFLAGS+=-std=c99 - -# Point this variable to a startup file to override the default file -#STARTUPFILE=start.S - -# Override the default optimization level using this variable -#MXC_OPTIMIZE_CFLAGS=-O1 - -# Point this variable to a linker file to override the default file -#LINKERFILE=$(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC/$(TARGET_LC).ld - -################################################################################ -# Include external library makefiles here - -# Include the BSP -BOARD_DIR=$(LIBS_DIR)/Boards/$(BOARD) -include $(BOARD_DIR)/board.mk - -# Include the Peripheral Driver Library -PERIPH_DRIVER_DIR=$(LIBS_DIR)/$(TARGET)PeriphDriver -include ${PERIPH_DRIVER_DIR}/periphdriver.mk - -# Include Cordio BTLE Library -TRACE=1 -CORDIO_DIR=$(NDALIBS_DIR)/BTLE -include ${CORDIO_DIR}/btle.mk - -# Include MAXUSB library -MAXUSB_DIR=$(LIBS_DIR)/MAXUSB -include $(MAXUSB_DIR)/maxusb.mk - -################################################################################ -# 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 diff --git a/ble/build_image b/ble/build_image deleted file mode 100755 index 4d08a4f62eeb906e4a37c1a31b57789a12002e6e..0000000000000000000000000000000000000000 --- a/ble/build_image +++ /dev/null @@ -1,5 +0,0 @@ -make clean -make -make build/max32665.bin -cp build/max32665.bin card10.bin -../bootloader/crc_patch.py card10.bin diff --git a/ble/fit.launch b/ble/fit.launch deleted file mode 100644 index 8626291bfd99c08b8112481bb886daddc3c586d9..0000000000000000000000000000000000000000 --- a/ble/fit.launch +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.openocd.launchConfigurationType"> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doContinue" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doDebugInRam" value="false"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doFirstReset" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateConsole" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateTelnetConsole" value="false"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doSecondReset" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doStartGdbServer" value="true"/> -<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.enableSemihosting" value="false"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.firstResetType" value="init"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="openocd"/> -<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerOther" value="-s ${env_var:TOOLCHAIN_PATH}/share/openocd/scripts -f interface/ftdi/olimex-arm-usb-tiny-h.cfg -f target/MAX32650.cfg"/> -<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerTelnetPortNumber" value="4444"/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherInitCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherRunCommands" value=""/> -<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.secondResetType" value="halt"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM OpenOCD"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/> -<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/> -<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/> -<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/> -<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard (Windows)"/> -<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/> -<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/> -<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/> -<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/> -<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> -<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/> -<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/> -<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/fit.elf"/> -<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fit"/> -<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/> -<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"/> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/fit"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> -<listEntry value="4"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> -<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> -</listAttribute> -<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="Context string"/> "/> -<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/> -</launchConfiguration> diff --git a/ble/fit_api.h b/ble/fit_api.h deleted file mode 100644 index aade452df891b30a71d5d968294600a4bbb22da2..0000000000000000000000000000000000000000 --- a/ble/fit_api.h +++ /dev/null @@ -1,76 +0,0 @@ -/*************************************************************************************************/ -/*! - * \file - * - * \brief Fitness sample application interface. - * - * Copyright (c) 2011-2018 Arm Ltd. All Rights Reserved. - * ARM Ltd. confidential and proprietary. - * - * IMPORTANT. Your use of this file is governed by a Software License Agreement - * ("Agreement") that must be accepted in order to download or otherwise receive a - * copy of this file. You may not use or copy this file for any purpose other than - * as described in the Agreement. If you do not agree to all of the terms of the - * Agreement do not use this file and delete all copies in your possession or control; - * if you do not have a copy of the Agreement, you must contact ARM Ltd. prior - * to any use, copying or further distribution of this software. - */ -/*************************************************************************************************/ -#ifndef FIT_API_H -#define FIT_API_H - -#include "wsf_os.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/************************************************************************************************** - Macros -**************************************************************************************************/ - -#ifndef FIT_CONN_MAX -#define FIT_CONN_MAX 1 -#endif - -/************************************************************************************************** - Function Declarations -**************************************************************************************************/ -/*************************************************************************************************/ -/*! - * \brief Start the application. - * - * \return None. - */ -/*************************************************************************************************/ -void FitStart(void); - -/*************************************************************************************************/ -/*! - * \brief Application handler init function called during system initialization. - * - * \param handlerID WSF handler ID for App. - * - * \return None. - */ -/*************************************************************************************************/ -void FitHandlerInit(wsfHandlerId_t handlerId); - - -/*************************************************************************************************/ -/*! - * \brief WSF event handler for the application. - * - * \param event WSF event mask. - * \param pMsg WSF message. - * - * \return None. - */ -/*************************************************************************************************/ -void FitHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg); - -#ifdef __cplusplus -}; -#endif - -#endif /* FIT_API_H */ diff --git a/ble/fit_main.c b/ble/fit_main.c deleted file mode 100644 index 6691b4eb94f4a8317720f4b418e1de14e1d410ec..0000000000000000000000000000000000000000 --- a/ble/fit_main.c +++ /dev/null @@ -1,750 +0,0 @@ -/*************************************************************************************************/ -/*! - * \file - * - * \brief Fitness sample application for the following profiles: - * Heart Rate profile - * - * Copyright (c) 2011-2018 Arm Ltd. All Rights Reserved. - * ARM Ltd. confidential and proprietary. - * - * IMPORTANT. Your use of this file is governed by a Software License Agreement - * ("Agreement") that must be accepted in order to download or otherwise receive a - * copy of this file. You may not use or copy this file for any purpose other than - * as described in the Agreement. If you do not agree to all of the terms of the - * Agreement do not use this file and delete all copies in your possession or control; - * if you do not have a copy of the Agreement, you must contact ARM Ltd. prior - * to any use, copying or further distribution of this software. - */ -/*************************************************************************************************/ - -#include <string.h> -#include "wsf_types.h" -#include "util/bstream.h" -#include "wsf_msg.h" -#include "wsf_trace.h" -#include "hci_api.h" -#include "dm_api.h" -#include "att_api.h" -#include "smp_api.h" -#include "app_api.h" -#include "app_db.h" -#include "app_ui.h" -#include "app_hw.h" -#include "svc_ch.h" -#include "svc_core.h" -#include "svc_hrs.h" -#include "svc_dis.h" -#include "svc_batt.h" -#include "svc_rscs.h" -#include "bas/bas_api.h" -#include "hrps/hrps_api.h" -#include "rscp/rscp_api.h" -#include "fit_api.h" - -/************************************************************************************************** - Macros -**************************************************************************************************/ - -/*! WSF message event starting value */ -#define FIT_MSG_START 0xA0 - -/* Default Running Speed and Cadence Measurement period (seconds) */ -#define FIT_DEFAULT_RSCM_PERIOD 1 - -/*! WSF message event enumeration */ -enum -{ - FIT_HR_TIMER_IND = FIT_MSG_START, /*! Heart rate measurement timer expired */ - FIT_BATT_TIMER_IND, /*! Battery measurement timer expired */ - FIT_RUNNING_TIMER_IND /*! Running speed and cadence measurement timer expired */ -}; - -/************************************************************************************************** - Data Types -**************************************************************************************************/ - -/*! Application message type */ -typedef union -{ - wsfMsgHdr_t hdr; - dmEvt_t dm; - attsCccEvt_t ccc; - attEvt_t att; -} fitMsg_t; - -/************************************************************************************************** - Configurable Parameters -**************************************************************************************************/ - -/*! configurable parameters for advertising */ -/* These intervals directly impact energy usage during the non-connected/advertising mode */ -static const appAdvCfg_t fitAdvCfg = -{ - { 1000, 0, 0}, /*! Advertising durations in ms */ - { 96, 200, 0} /*! Advertising intervals in 0.625 ms units */ -}; - -/*! configurable parameters for slave */ -static const appSlaveCfg_t fitSlaveCfg = -{ - FIT_CONN_MAX, /*! Maximum connections */ -}; - -/*! configurable parameters for security */ -static const appSecCfg_t fitSecCfg = -{ - DM_AUTH_BOND_FLAG | DM_AUTH_SC_FLAG, /*! Authentication and bonding flags */ - 0, /*! Initiator key distribution flags */ - DM_KEY_DIST_LTK, /*! Responder key distribution flags */ - FALSE, /*! TRUE if Out-of-band pairing data is present */ - TRUE /*! TRUE to initiate security upon connection */ -}; - -/*! configurable parameters for connection parameter update */ -static const appUpdateCfg_t fitUpdateCfg = -{ - 6000, /*! Connection idle period in ms before attempting - connection parameter update; set to zero to disable */ - 640, /*! Minimum connection interval in 1.25ms units */ - 800, /*! Maximum connection interval in 1.25ms units */ - 0, /*! Connection latency */ - 900, /*! Supervision timeout in 10ms units */ - 5 /*! Number of update attempts before giving up */ -}; - -/*! heart rate measurement configuration */ -static const hrpsCfg_t fitHrpsCfg = -{ - 2000 /*! Measurement timer expiration period in ms */ -}; - -/*! battery measurement configuration */ -static const basCfg_t fitBasCfg = -{ - 30, /*! Battery measurement timer expiration period in seconds */ - 1, /*! Perform battery measurement after this many timer periods */ - 100 /*! Send battery level notification to peer when below this level. */ -}; - -/*! SMP security parameter configuration */ -static const smpCfg_t fitSmpCfg = -{ - 3000, /*! 'Repeated attempts' timeout in msec */ - SMP_IO_NO_IN_NO_OUT, /*! I/O Capability */ - 7, /*! Minimum encryption key length */ - 16, /*! Maximum encryption key length */ - 3, /*! Attempts to trigger 'repeated attempts' timeout */ - 0, /*! Device authentication requirements */ -}; - -/************************************************************************************************** - Advertising Data -**************************************************************************************************/ - -/*! advertising data, discoverable mode */ -static const uint8_t fitAdvDataDisc[] = -{ - /*! flags */ - 2, /*! length */ - DM_ADV_TYPE_FLAGS, /*! AD type */ - DM_FLAG_LE_GENERAL_DISC | /*! flags */ - DM_FLAG_LE_BREDR_NOT_SUP, - - /*! tx power */ - 2, /*! length */ - DM_ADV_TYPE_TX_POWER, /*! AD type */ - 0, /*! tx power */ - - /*! service UUID list */ - 9, /*! length */ - DM_ADV_TYPE_16_UUID, /*! AD type */ - UINT16_TO_BYTES(ATT_UUID_HEART_RATE_SERVICE), - UINT16_TO_BYTES(ATT_UUID_RUNNING_SPEED_SERVICE), - UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE), - UINT16_TO_BYTES(ATT_UUID_BATTERY_SERVICE) -}; - -/*! scan data, discoverable mode */ -static const uint8_t fitScanDataDisc[] = -{ - /*! device name */ - 4, /*! length */ - DM_ADV_TYPE_LOCAL_NAME, /*! AD type */ - 'F', - 'i', - 't' -}; - -/************************************************************************************************** - Client Characteristic Configuration Descriptors -**************************************************************************************************/ - -/*! enumeration of client characteristic configuration descriptors */ -enum -{ - FIT_GATT_SC_CCC_IDX, /*! GATT service, service changed characteristic */ - FIT_HRS_HRM_CCC_IDX, /*! Heart rate service, heart rate monitor characteristic */ - FIT_BATT_LVL_CCC_IDX, /*! Battery service, battery level characteristic */ - FIT_RSCS_SM_CCC_IDX, /*! Runninc speed and cadence measurement characteristic */ - FIT_NUM_CCC_IDX -}; - -/*! client characteristic configuration descriptors settings, indexed by above enumeration */ -static const attsCccSet_t fitCccSet[FIT_NUM_CCC_IDX] = -{ - /* cccd handle value range security level */ - {GATT_SC_CH_CCC_HDL, ATT_CLIENT_CFG_INDICATE, DM_SEC_LEVEL_NONE}, /* FIT_GATT_SC_CCC_IDX */ - {HRS_HRM_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE}, /* FIT_HRS_HRM_CCC_IDX */ - {BATT_LVL_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE}, /* FIT_BATT_LVL_CCC_IDX */ - {RSCS_RSM_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE} /* FIT_RSCS_SM_CCC_IDX */ -}; - -/************************************************************************************************** - Global Variables -**************************************************************************************************/ - -/*! WSF handler ID */ -wsfHandlerId_t fitHandlerId; - -/* WSF Timer to send running speed and cadence measurement data */ -wsfTimer_t fitRscmTimer; - -/* Running Speed and Cadence Measurement period - Can be changed at runtime to vary period */ -static uint16_t fitRscmPeriod = FIT_DEFAULT_RSCM_PERIOD; - -/* Heart Rate Monitor feature flags */ -static uint8_t fitHrmFlags = CH_HRM_FLAGS_VALUE_8BIT | CH_HRM_FLAGS_ENERGY_EXP; - -/*************************************************************************************************/ -/*! - * \brief Application DM callback. - * - * \param pDmEvt DM callback event - * - * \return None. - */ -/*************************************************************************************************/ -static void fitDmCback(dmEvt_t *pDmEvt) -{ - dmEvt_t *pMsg; - uint16_t len; - - len = DmSizeOfEvt(pDmEvt); - - if ((pMsg = WsfMsgAlloc(len)) != NULL) - { - memcpy(pMsg, pDmEvt, len); - WsfMsgSend(fitHandlerId, pMsg); - } -} - -/*************************************************************************************************/ -/*! - * \brief Application ATT callback. - * - * \param pEvt ATT callback event - * - * \return None. - */ -/*************************************************************************************************/ -static void fitAttCback(attEvt_t *pEvt) -{ - attEvt_t *pMsg; - - if ((pMsg = WsfMsgAlloc(sizeof(attEvt_t) + pEvt->valueLen)) != NULL) - { - memcpy(pMsg, pEvt, sizeof(attEvt_t)); - pMsg->pValue = (uint8_t *) (pMsg + 1); - memcpy(pMsg->pValue, pEvt->pValue, pEvt->valueLen); - WsfMsgSend(fitHandlerId, pMsg); - } -} - -/*************************************************************************************************/ -/*! - * \brief Application ATTS client characteristic configuration callback. - * - * \param pDmEvt DM callback event - * - * \return None. - */ -/*************************************************************************************************/ -static void fitCccCback(attsCccEvt_t *pEvt) -{ - attsCccEvt_t *pMsg; - appDbHdl_t dbHdl; - - /* if CCC not set from initialization and there's a device record */ - if ((pEvt->handle != ATT_HANDLE_NONE) && - ((dbHdl = AppDbGetHdl((dmConnId_t) pEvt->hdr.param)) != APP_DB_HDL_NONE)) - { - /* store value in device database */ - AppDbSetCccTblValue(dbHdl, pEvt->idx, pEvt->value); - } - - if ((pMsg = WsfMsgAlloc(sizeof(attsCccEvt_t))) != NULL) - { - memcpy(pMsg, pEvt, sizeof(attsCccEvt_t)); - WsfMsgSend(fitHandlerId, pMsg); - } -} - - -/*************************************************************************************************/ -/*! -* \brief Send a Running Speed and Cadence Measurement Notification. -* -* \param connId connection ID -* -* \return None. -*/ -/*************************************************************************************************/ -static void fitSendRunningSpeedMeasurement(dmConnId_t connId) -{ - if (AttsCccEnabled(connId, FIT_RSCS_SM_CCC_IDX)) - { - static uint8_t walk_run = 1; - - /* TODO: Set Running Speed and Cadence Measurement Parameters */ - - RscpsSetParameter(RSCP_SM_PARAM_SPEED, 1); - RscpsSetParameter(RSCP_SM_PARAM_CADENCE, 2); - RscpsSetParameter(RSCP_SM_PARAM_STRIDE_LENGTH, 3); - RscpsSetParameter(RSCP_SM_PARAM_TOTAL_DISTANCE, 4); - - /* Toggle running/walking */ - walk_run = walk_run? 0 : 1; - RscpsSetParameter(RSCP_SM_PARAM_STATUS, walk_run); - - RscpsSendSpeedMeasurement(connId); - } - - /* Configure and start timer to send the next measurement */ - fitRscmTimer.msg.event = FIT_RUNNING_TIMER_IND; - fitRscmTimer.msg.status = FIT_RSCS_SM_CCC_IDX; - fitRscmTimer.handlerId = fitHandlerId; - fitRscmTimer.msg.param = connId; - - WsfTimerStartSec(&fitRscmTimer, fitRscmPeriod); -} - -/*************************************************************************************************/ -/*! - * \brief Process CCC state change. - * - * \param pMsg Pointer to message. - * - * \return None. - */ -/*************************************************************************************************/ -static void fitProcCccState(fitMsg_t *pMsg) -{ - APP_TRACE_INFO3("ccc state ind value:%d handle:%d idx:%d", pMsg->ccc.value, pMsg->ccc.handle, pMsg->ccc.idx); - - /* handle heart rate measurement CCC */ - if (pMsg->ccc.idx == FIT_HRS_HRM_CCC_IDX) - { - if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY) - { - HrpsMeasStart((dmConnId_t) pMsg->ccc.hdr.param, FIT_HR_TIMER_IND, FIT_HRS_HRM_CCC_IDX); - } - else - { - HrpsMeasStop((dmConnId_t) pMsg->ccc.hdr.param); - } - return; - } - - /* handle running speed and cadence measurement CCC */ - if (pMsg->ccc.idx == FIT_RSCS_SM_CCC_IDX) - { - if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY) - { - fitSendRunningSpeedMeasurement((dmConnId_t)pMsg->ccc.hdr.param); - } - else - { - WsfTimerStop(&fitRscmTimer); - } - return; - } - - /* handle battery level CCC */ - if (pMsg->ccc.idx == FIT_BATT_LVL_CCC_IDX) - { - if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY) - { - BasMeasBattStart((dmConnId_t) pMsg->ccc.hdr.param, FIT_BATT_TIMER_IND, FIT_BATT_LVL_CCC_IDX); - } - else - { - BasMeasBattStop((dmConnId_t) pMsg->ccc.hdr.param); - } - return; - } -} - -/*************************************************************************************************/ -/*! - * \brief Perform UI actions on connection close. - * - * \param pMsg Pointer to message. - * - * \return None. - */ -/*************************************************************************************************/ -static void fitClose(fitMsg_t *pMsg) -{ - /* stop heart rate measurement */ - HrpsMeasStop((dmConnId_t) pMsg->hdr.param); - - /* stop battery measurement */ - BasMeasBattStop((dmConnId_t) pMsg->hdr.param); - - /* Stop running speed and cadence timer */ - WsfTimerStop(&fitRscmTimer); -} - -/*************************************************************************************************/ -/*! - * \brief Set up advertising and other procedures that need to be performed after - * device reset. - * - * \param pMsg Pointer to message. - * - * \return None. - */ -/*************************************************************************************************/ -static void fitSetup(fitMsg_t *pMsg) -{ - /* set advertising and scan response data for discoverable mode */ - AppAdvSetData(APP_ADV_DATA_DISCOVERABLE, sizeof(fitAdvDataDisc), (uint8_t *) fitAdvDataDisc); - AppAdvSetData(APP_SCAN_DATA_DISCOVERABLE, sizeof(fitScanDataDisc), (uint8_t *) fitScanDataDisc); - - /* set advertising and scan response data for connectable mode */ - AppAdvSetData(APP_ADV_DATA_CONNECTABLE, 0, NULL); - AppAdvSetData(APP_SCAN_DATA_CONNECTABLE, 0, NULL); - - /* start advertising; automatically set connectable/discoverable mode and bondable mode */ - AppAdvStart(APP_MODE_AUTO_INIT); -} - -/*************************************************************************************************/ -/*! - * \brief Button press callback. - * - * \param btn Button press. - * - * \return None. - */ -/*************************************************************************************************/ -static void fitBtnCback(uint8_t btn) -{ - dmConnId_t connId; - static uint8_t heartRate = 78; /* for testing/demonstration */ - - /* button actions when connected */ - if ((connId = AppConnIsOpen()) != DM_CONN_ID_NONE) - { - switch (btn) - { - case APP_UI_BTN_1_SHORT: - /* increment the heart rate */ - AppHwHrmTest(++heartRate); - break; - - case APP_UI_BTN_1_MED: - break; - - case APP_UI_BTN_1_LONG: - AppConnClose(connId); - break; - - case APP_UI_BTN_2_SHORT: - /* decrement the heart rate */ - AppHwHrmTest(--heartRate); - break; - - case APP_UI_BTN_2_MED: - /* Toggle HRM Sensor DET flags */ - if (!(fitHrmFlags & (CH_HRM_FLAGS_SENSOR_DET | CH_HRM_FLAGS_SENSOR_NOT_DET))) - { - fitHrmFlags |= CH_HRM_FLAGS_SENSOR_DET; - } - else if (fitHrmFlags & CH_HRM_FLAGS_SENSOR_DET) - { - fitHrmFlags &= ~CH_HRM_FLAGS_SENSOR_DET; - fitHrmFlags |= CH_HRM_FLAGS_SENSOR_NOT_DET; - } - else - { - fitHrmFlags &= ~CH_HRM_FLAGS_SENSOR_NOT_DET; - } - - HrpsSetFlags(fitHrmFlags); - break; - - case APP_UI_BTN_2_LONG: - /* Toggle HRM RR Interval feature flag */ - if (fitHrmFlags & CH_HRM_FLAGS_RR_INTERVAL) - { - fitHrmFlags &= ~CH_HRM_FLAGS_RR_INTERVAL; - } - else - { - fitHrmFlags |= CH_HRM_FLAGS_RR_INTERVAL; - } - - HrpsSetFlags(fitHrmFlags); - break; - - default: - break; - } - } - /* button actions when not connected */ - else - { - switch (btn) - { - case APP_UI_BTN_1_SHORT: - /* start or restart advertising */ - AppAdvStart(APP_MODE_AUTO_INIT); - break; - - case APP_UI_BTN_1_MED: - /* enter discoverable and bondable mode mode */ - AppSetBondable(TRUE); - AppAdvStart(APP_MODE_DISCOVERABLE); - break; - - case APP_UI_BTN_1_LONG: - /* clear bonded device info and restart advertising */ - AppDbDeleteAllRecords(); - AppAdvStart(APP_MODE_AUTO_INIT); - break; - - case APP_UI_BTN_2_SHORT: - /* Toggle HRM Flag for 8 and 16 bit values */ - if (fitHrmFlags & CH_HRM_FLAGS_VALUE_16BIT) - { - fitHrmFlags &= ~CH_HRM_FLAGS_VALUE_16BIT; - } - else - { - fitHrmFlags |= CH_HRM_FLAGS_VALUE_16BIT; - } - - HrpsSetFlags(fitHrmFlags); - break; - - default: - break; - } - } -} - -/*************************************************************************************************/ -/*! - * \brief Process messages from the event handler. - * - * \param pMsg Pointer to message. - * - * \return None. - */ -/*************************************************************************************************/ -static void fitProcMsg(fitMsg_t *pMsg) -{ - uint8_t uiEvent = APP_UI_NONE; - - switch(pMsg->hdr.event) - { - case FIT_RUNNING_TIMER_IND: - fitSendRunningSpeedMeasurement((dmConnId_t)pMsg->ccc.hdr.param); - break; - - case FIT_HR_TIMER_IND: - HrpsProcMsg(&pMsg->hdr); - break; - - case FIT_BATT_TIMER_IND: - BasProcMsg(&pMsg->hdr); - break; - - case ATTS_HANDLE_VALUE_CNF: - HrpsProcMsg(&pMsg->hdr); - BasProcMsg(&pMsg->hdr); - break; - - case ATTS_CCC_STATE_IND: - fitProcCccState(pMsg); - break; - - case DM_RESET_CMPL_IND: - DmSecGenerateEccKeyReq(); - fitSetup(pMsg); - uiEvent = APP_UI_RESET_CMPL; - break; - - case DM_ADV_START_IND: - uiEvent = APP_UI_ADV_START; - break; - - case DM_ADV_STOP_IND: - uiEvent = APP_UI_ADV_STOP; - break; - - case DM_CONN_OPEN_IND: - HrpsProcMsg(&pMsg->hdr); - BasProcMsg(&pMsg->hdr); - uiEvent = APP_UI_CONN_OPEN; - break; - - case DM_CONN_CLOSE_IND: - fitClose(pMsg); - uiEvent = APP_UI_CONN_CLOSE; - break; - - case DM_SEC_PAIR_CMPL_IND: - uiEvent = APP_UI_SEC_PAIR_CMPL; - break; - - case DM_SEC_PAIR_FAIL_IND: - uiEvent = APP_UI_SEC_PAIR_FAIL; - break; - - case DM_SEC_ENCRYPT_IND: - uiEvent = APP_UI_SEC_ENCRYPT; - break; - - case DM_SEC_ENCRYPT_FAIL_IND: - uiEvent = APP_UI_SEC_ENCRYPT_FAIL; - break; - - case DM_SEC_AUTH_REQ_IND: - AppHandlePasskey(&pMsg->dm.authReq); - break; - - case DM_SEC_ECC_KEY_IND: - DmSecSetEccKey(&pMsg->dm.eccMsg.data.key); - break; - - case DM_SEC_COMPARE_IND: - AppHandleNumericComparison(&pMsg->dm.cnfInd); - break; - - case DM_HW_ERROR_IND: - uiEvent = APP_UI_HW_ERROR; - break; - - default: - break; - } - - if (uiEvent != APP_UI_NONE) - { - AppUiAction(uiEvent); - } -} - -/*************************************************************************************************/ -/*! - * \brief Application handler init function called during system initialization. - * - * \param handlerID WSF handler ID. - * - * \return None. - */ -/*************************************************************************************************/ -void FitHandlerInit(wsfHandlerId_t handlerId) -{ - APP_TRACE_INFO0("FitHandlerInit"); - - /* store handler ID */ - fitHandlerId = handlerId; - - /* Set configuration pointers */ - pAppAdvCfg = (appAdvCfg_t *) &fitAdvCfg; - pAppSlaveCfg = (appSlaveCfg_t *) &fitSlaveCfg; - pAppSecCfg = (appSecCfg_t *) &fitSecCfg; - pAppUpdateCfg = (appUpdateCfg_t *) &fitUpdateCfg; - - /* Initialize application framework */ - AppSlaveInit(); - - /* Set stack configuration pointers */ - pSmpCfg = (smpCfg_t *) &fitSmpCfg; - - /* initialize heart rate profile sensor */ - HrpsInit(handlerId, (hrpsCfg_t *) &fitHrpsCfg); - HrpsSetFlags(fitHrmFlags); - - /* initialize battery service server */ - BasInit(handlerId, (basCfg_t *) &fitBasCfg); -} - -/*************************************************************************************************/ -/*! - * \brief WSF event handler for application. - * - * \param event WSF event mask. - * \param pMsg WSF message. - * - * \return None. - */ -/*************************************************************************************************/ -void FitHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg) -{ - if (pMsg != NULL) - { - APP_TRACE_INFO1("Fit got evt %d", pMsg->event); - - if (pMsg->event >= DM_CBACK_START && pMsg->event <= DM_CBACK_END) - { - /* process advertising and connection-related messages */ - AppSlaveProcDmMsg((dmEvt_t *) pMsg); - - /* process security-related messages */ - AppSlaveSecProcDmMsg((dmEvt_t *) pMsg); - } - - /* perform profile and user interface-related operations */ - fitProcMsg((fitMsg_t *) pMsg); - } -} - -/*************************************************************************************************/ -/*! - * \brief Start the application. - * - * \return None. - */ -/*************************************************************************************************/ -void FitStart(void) -{ - /* Register for stack callbacks */ - DmRegister(fitDmCback); - DmConnRegister(DM_CLIENT_ID_APP, fitDmCback); - AttRegister(fitAttCback); - AttConnRegister(AppServerConnCback); - AttsCccRegister(FIT_NUM_CCC_IDX, (attsCccSet_t *) fitCccSet, fitCccCback); - - /* Register for app framework callbacks */ - AppUiBtnRegister(fitBtnCback); - - /* Initialize attribute server database */ - SvcCoreAddGroup(); - SvcHrsCbackRegister(NULL, HrpsWriteCback); - SvcHrsAddGroup(); - SvcDisAddGroup(); - SvcBattCbackRegister(BasReadCback, NULL); - SvcBattAddGroup(); - SvcRscsAddGroup(); - - /* Set running speed and cadence features */ - RscpsSetFeatures(RSCS_ALL_FEATURES); - - /* Reset the device */ - DmDevReset(); -} diff --git a/ble/init.gdb b/ble/init.gdb deleted file mode 100644 index 6f676707935d2c07950ad806b15b5695756f7e6c..0000000000000000000000000000000000000000 --- a/ble/init.gdb +++ /dev/null @@ -1,3 +0,0 @@ -source ../init.gdb - -file build/max32665.elf diff --git a/ble/main.c b/ble/main.c deleted file mode 100644 index a1dd73a843969e1afb892d38df94cb87b9719d93..0000000000000000000000000000000000000000 --- a/ble/main.c +++ /dev/null @@ -1,246 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2018 Maxim Integrated Products, 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. - * - * $Date: 2019-02-11 23:36:35 +0000 (Mon, 11 Feb 2019) $ - * $Revision: 40967 $ - * - ******************************************************************************/ - -#include <stdio.h> -#include <string.h> -#include "wsf_types.h" -#include "wsf_os.h" -#include "wsf_buf.h" -#include "wsf_timer.h" -#include "wsf_trace.h" -#include "app_ui.h" -#include "ll_api.h" -#include "sch_api.h" -#include "fit/fit_api.h" -#include "mxc_config.h" -#include "gcr_regs.h" -#include "mcr_regs.h" -#include "hci_core.h" - -/************************************************************************************************** - Macros -**************************************************************************************************/ - -/* Number of WSF buffer pools */ -#define WSF_BUF_POOLS 6 - -/* Size of buffer for stdio functions */ -#define PRINTF_BUF_SIZE 128 - -/************************************************************************************************** - Local Variables -**************************************************************************************************/ - -/*! Buffer for stdio functions */ -char printf_buffer[PRINTF_BUF_SIZE]; - -/*! Free memory for pool buffers (use word elements for word alignment). */ -static uint32_t mainBufMem[3584/sizeof(uint32_t)+96]; - -/*! Default pool descriptor. */ -static wsfBufPoolDesc_t mainPoolDesc[WSF_BUF_POOLS] = -{ - { 16, 8 }, - { 32, 4 }, - { 64, 4 }, - { 128, 4 }, - { 256, 4 }, - { 384, 4 } -}; - -/************************************************************************************************** - Functions -**************************************************************************************************/ - -/*! \brief Stack initialization for app. */ -extern void StackInitFit(void); - -void HciVsSetPublicAddr(uint8_t *bdAddr); - -/*************************************************************************************************/ -void SysTick_Handler(void) -{ - WsfTimerUpdate(1); -} - -/*************************************************************************************************/ -static void myTrace(const char *pStr, va_list args) -{ - extern uint8_t wsfCsNesting; - - if (wsfCsNesting == 0) - { - vprintf(pStr, args); - printf("\r\n"); - } -} - -/*************************************************************************************************/ -/*! - * \brief Initialize WSF. - * - * \return None. - */ -/*************************************************************************************************/ -static void WsfInit(void) -{ - WsfTimerInit(); - WsfBufInit(sizeof(mainBufMem), (uint8_t*)mainBufMem, WSF_BUF_POOLS, mainPoolDesc); - WsfTraceRegister(myTrace); -} - -/*************************************************************************************************/ -/*! - * \brief Initialize platform. - * - * \param msPerTick Milliseconds per timer tick. - * - * \return None. - */ -/*************************************************************************************************/ -void PlatformInit(void) -{ - /* Change the pullup on the RST pin to 25K */ - MXC_MCR->ctrl = 0x202; - - /* Set VREGO_D to 1.3V */ - *((volatile uint32_t*)0x40004410) = 0x50; - - /* Set TX LDO to 1.1V and enable LDO. Set RX LDO to 0.9V and enable LDO */ - MXC_GCR->btleldocn = 0xD9; // TX 1.1V RX 0.9V - - /* Power up the 32MHz XO */ - MXC_GCR->clkcn |= MXC_F_GCR_CLKCN_X32M_EN; - - /* Enable peripheral clocks */ - MXC_GCR->perckcn0 &= ~(MXC_F_GCR_PERCKCN0_GPIO0D | MXC_F_GCR_PERCKCN0_GPIO1D); // Clear GPIO0 and GPIO1 Disable - MXC_GCR->perckcn1 &= ~(MXC_F_GCR_PERCKCN1_BTLED | MXC_F_GCR_PERCKCN1_TRNGD ); // Clear BTLE and ICACHE0 disable - - /* setup the systick */ - SysTick->LOAD = (SystemCoreClock / 1000) * WSF_MS_PER_TICK; - SysTick->VAL = 0; - SysTick->CTRL |= (SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_TICKINT_Msk); - -#ifndef __IAR_SYSTEMS_ICC__ - /* Added to prevent printf() and friends from using malloc() */ - setvbuf(stdout, printf_buffer, _IOLBF, PRINTF_BUF_SIZE); -#endif -} - - -/* - * In two-chip solutions, setting the address must wait until the HCI interface is initialized. - * This handler can also catch other Application events, but none are currently implemented. - * See ble-profiles/sources/apps/app/common/app_ui.c for further details. - * - */ -void SetAddress(uint8_t event) -{ - uint8_t bdAddr[6] = {0x02, 0x02, 0x44, 0x8B, 0x05, 0x00}; - - switch (event) { - case APP_UI_RESET_CMPL: - printf("Setting address -- MAC %02X:%02X:%02X:%02X:%02X:%02X\n", bdAddr[5], bdAddr[4], bdAddr[3], bdAddr[2], bdAddr[1], bdAddr[0]); - LlSetBdAddr((uint8_t*)&bdAddr); - LlGetBdAddr(hciCoreCb.bdAddr); - break; - default: - break; - } -} - -/*************************************************************************************************/ -/*! - * \brief Initialize MAC layer. - * - * \param None. - * - * \return None. - */ -/*************************************************************************************************/ -extern int8_t tx_rfpower_on; -void MacInit(void) -{ - wsfHandlerId_t handlerId; - - /* Initialize link layer. */ - BbInit(); - handlerId = WsfOsSetNextHandler(SchHandler); - SchInit(handlerId); - LlAdvSlaveInit(); - LlConnSlaveInit(); - handlerId = WsfOsSetNextHandler(LlHandler); - LlHandlerInit(handlerId); -} - -/*************************************************************************************************/ -/*! - * \fn main - * - * \brief Entry point for demo software. - * - * \param None. - * - * \return None. - */ -/*************************************************************************************************/ -int main(void) -{ - printf("\n\n***** MAX32665 BLE Fitness Profile *****\n"); - - PlatformInit(); - WsfInit(); - MacInit(); - StackInitFit(); - FitStart(); - - printf("tx_rfpower_on = %d\n", tx_rfpower_on); - HciVsSetTxPower(-20); - //HciVsSetTxPower(-30); - //tx_rfpower_on = 10; - //LlSetTxPower(10); - printf("tx_rfpower_on = %d\n", tx_rfpower_on); - - /* Register a handler for Application events */ - AppUiActionRegister(SetAddress); - - printf("Setup Complete\n"); - - while (1) - { - wsfOsDispatcher(); - } -} diff --git a/ble/stack_fit.c b/ble/stack_fit.c deleted file mode 100644 index db5f59997c59a2240c7588859a09e8a387bb112b..0000000000000000000000000000000000000000 --- a/ble/stack_fit.c +++ /dev/null @@ -1,94 +0,0 @@ -/*************************************************************************************************/ -/*! - * \file - * - * \brief Stack initialization for fit. - * - * Copyright (c) 2016-2017 ARM Ltd. All Rights Reserved. - * ARM Ltd. confidential and proprietary. - * - * IMPORTANT. Your use of this file is governed by a Software License Agreement - * ("Agreement") that must be accepted in order to download or otherwise receive a - * copy of this file. You may not use or copy this file for any purpose other than - * as described in the Agreement. If you do not agree to all of the terms of the - * Agreement do not use this file and delete all copies in your possession or control; - * if you do not have a copy of the Agreement, you must contact ARM Ltd. prior - * to any use, copying or further distribution of this software. - */ -/*************************************************************************************************/ - -#include "wsf_types.h" -#include "wsf_os.h" -#include "util/bstream.h" -#include "fit/fit_api.h" -#include "hci_handler.h" -#include "dm_handler.h" -#include "l2c_handler.h" -#include "att_handler.h" -#include "smp_handler.h" -#include "l2c_api.h" -#include "att_api.h" -#include "smp_api.h" -#include "app_api.h" -#include "svc_dis.h" -#include "svc_core.h" -#include "sec_api.h" - -/*************************************************************************************************/ -/*! - * \brief Initialize stack. - * - * \return None. - */ -/*************************************************************************************************/ -void StackInitFit(void) -{ - wsfHandlerId_t handlerId; - uint8_t features[sizeof(uint64_t)]; - uint8_t mask[sizeof(uint64_t)]; - - SecInit(); - SecAesInit(); - SecCmacInit(); - SecEccInit(); - - // Only use legacy API. - Uint64ToBstream(features, 0); - Uint64ToBstream(mask, HCI_LE_SUP_FEAT_LE_EXT_ADV); - HciVsSetFeatures(features, mask); - - handlerId = WsfOsSetNextHandler(HciHandler); - HciHandlerInit(handlerId); - - handlerId = WsfOsSetNextHandler(DmHandler); - DmDevVsInit(0); - DmAdvInit(); - DmConnInit(); - DmConnSlaveInit(); - DmSecInit(); - DmSecLescInit(); - DmPrivInit(); - DmHandlerInit(handlerId); - - handlerId = WsfOsSetNextHandler(L2cSlaveHandler); - L2cSlaveHandlerInit(handlerId); - L2cInit(); - L2cSlaveInit(); - - handlerId = WsfOsSetNextHandler(AttHandler); - AttHandlerInit(handlerId); - AttsInit(); - AttsIndInit(); - - handlerId = WsfOsSetNextHandler(SmpHandler); - SmpHandlerInit(handlerId); - SmprInit(); - SmprScInit(); - HciSetMaxRxAclLen(100); - - handlerId = WsfOsSetNextHandler(AppHandler); - AppHandlerInit(handlerId); - - handlerId = WsfOsSetNextHandler(FitHandler); - FitHandlerInit(handlerId); -} diff --git a/ble/svc_dis.c b/ble/svc_dis.c deleted file mode 100644 index bbdf8cc18a0b8cbadf3077c80c61c41a9511277f..0000000000000000000000000000000000000000 --- a/ble/svc_dis.c +++ /dev/null @@ -1,297 +0,0 @@ -/*************************************************************************************************/ -/*! - * \file svc_dis.c - * - * \brief Example Device Information Service implementation. - * - * $Date: 2018-04-17 23:02:20 +0000 (Tue, 17 Apr 2018) $ - * $Revision: 34673 $ - * - * Copyright (c) 2011 Wicentric, Inc., all rights reserved. - * Wicentric confidential and proprietary. - * - * IMPORTANT. Your use of this file is governed by a Software License Agreement - * ("Agreement") that must be accepted in order to download or otherwise receive a - * copy of this file. You may not use or copy this file for any purpose other than - * as described in the Agreement. If you do not agree to all of the terms of the - * Agreement do not use this file and delete all copies in your possession or control; - * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior - * to any use, copying or further distribution of this software. - */ -/*************************************************************************************************/ - -#include "wsf_types.h" -#include "att_api.h" -#include "wsf_trace.h" -#include "util/bstream.h" -#include "svc_dis.h" -#include "svc_cfg.h" - -/************************************************************************************************** - Macros -**************************************************************************************************/ - -/*! Characteristic read permissions */ -#ifndef DIS_SEC_PERMIT_READ -#define DIS_SEC_PERMIT_READ SVC_SEC_PERMIT_READ -#endif - -/************************************************************************************************** - Service variables -**************************************************************************************************/ - -/* Device information service declaration */ -static const uint8_t disValSvc[] = {UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE)}; -static const uint16_t disLenSvc = sizeof(disValSvc); - -/* Manufacturer name string characteristic */ -static const uint8_t disValMfrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_MFR_HDL), UINT16_TO_BYTES(ATT_UUID_MANUFACTURER_NAME)}; -static const uint16_t disLenMfrCh = sizeof(disValMfrCh); - -/* Manufacturer name string */ -static const uint8_t disUuMfr[] = {UINT16_TO_BYTES(ATT_UUID_MANUFACTURER_NAME)}; -static const uint8_t disValMfr[] = "Maxim Integrated"; -static const uint16_t disLenMfr = sizeof(disValMfr) - 1; - -/* System ID characteristic */ -static const uint8_t disValSidCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SID_HDL), UINT16_TO_BYTES(ATT_UUID_SYSTEM_ID)}; -static const uint16_t disLenSidCh = sizeof(disValSidCh); - -/* System ID */ -static const uint8_t disUuSid[] = {UINT16_TO_BYTES(ATT_UUID_SYSTEM_ID)}; -static uint8_t disValSid[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; -static const uint16_t disLenSid = sizeof(disValSid); - -/* Model number string characteristic */ -static const uint8_t disValMnCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_MN_HDL), UINT16_TO_BYTES(ATT_UUID_MODEL_NUMBER)}; -static const uint16_t disLenMnCh = sizeof(disValMnCh); - -/* Model number string */ -static const uint8_t disUuMn[] = {UINT16_TO_BYTES(ATT_UUID_MODEL_NUMBER)}; -static const uint8_t disValMn[] = "MAX32565"; -static const uint16_t disLenMn = sizeof(disValMn) - 1; - -/* Serial number string characteristic */ -static const uint8_t disValSnCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SN_HDL), UINT16_TO_BYTES(ATT_UUID_SERIAL_NUMBER)}; -static const uint16_t disLenSnCh = sizeof(disValSnCh); - -/* Serial number string */ -static const uint8_t disUuSn[] = {UINT16_TO_BYTES(ATT_UUID_SERIAL_NUMBER)}; -static const uint8_t disValSn[] = "serial num"; -static const uint16_t disLenSn = sizeof(disValSn) - 1; - -/* Firmware revision string characteristic */ -static const uint8_t disValFwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_FWR_HDL), UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)}; -static const uint16_t disLenFwrCh = sizeof(disValFwrCh); - -/* Firmware revision string */ -static const uint8_t disUuFwr[] = {UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)}; -static const uint8_t disValFwr[] = "fw rev"; -static const uint16_t disLenFwr = sizeof(disValFwr) - 1; - -/* Hardware revision string characteristic */ -static const uint8_t disValHwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_HWR_HDL), UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)}; -static const uint16_t disLenHwrCh = sizeof(disValHwrCh); - -/* Hardware revision string */ -static const uint8_t disUuHwr[] = {UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)}; -static const uint8_t disValHwr[] = "hw rev"; -static const uint16_t disLenHwr = sizeof(disValHwr) - 1; - -/* Software revision string characteristic */ -static const uint8_t disValSwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SWR_HDL), UINT16_TO_BYTES(ATT_UUID_SOFTWARE_REV)}; -static const uint16_t disLenSwrCh = sizeof(disValSwrCh); - -/* Software revision string */ -static const uint8_t disUuSwr[] = {UINT16_TO_BYTES(ATT_UUID_SOFTWARE_REV)}; -static const uint8_t disValSwr[] = "sw rev"; -static const uint16_t disLenSwr = sizeof(disValSwr) - 1; - -/* Registration certificate data characteristic */ -static const uint8_t disValRcdCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_RCD_HDL), UINT16_TO_BYTES(ATT_UUID_11073_CERT_DATA)}; -static const uint16_t disLenRcdCh = sizeof(disValRcdCh); - -/* Registration certificate data */ -static const uint8_t disUuRcd[] = {UINT16_TO_BYTES(ATT_UUID_11073_CERT_DATA)}; -static const uint8_t disValRcd[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -static const uint16_t disLenRcd = sizeof(disValRcd); - -/* Attribute list for dis group */ -static const attsAttr_t disList[] = -{ - { - attPrimSvcUuid, - (uint8_t *) disValSvc, - (uint16_t *) &disLenSvc, - sizeof(disValSvc), - 0, - ATTS_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValMfrCh, - (uint16_t *) &disLenMfrCh, - sizeof(disValMfrCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuMfr, - (uint8_t *) disValMfr, - (uint16_t *) &disLenMfr, - sizeof(disValMfr) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValSidCh, - (uint16_t *) &disLenSidCh, - sizeof(disValSidCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuSid, - disValSid, - (uint16_t *) &disLenSid, - sizeof(disValSid), - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValMnCh, - (uint16_t *) &disLenMnCh, - sizeof(disValMnCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuMn, - (uint8_t *) disValMn, - (uint16_t *) &disLenMn, - sizeof(disValMn) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValSnCh, - (uint16_t *) &disLenSnCh, - sizeof(disValSnCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuSn, - (uint8_t *) disValSn, - (uint16_t *) &disLenSn, - sizeof(disValSn) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValFwrCh, - (uint16_t *) &disLenFwrCh, - sizeof(disValFwrCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuFwr, - (uint8_t *) disValFwr, - (uint16_t *) &disLenFwr, - sizeof(disValFwr) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValHwrCh, - (uint16_t *) &disLenHwrCh, - sizeof(disValHwrCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuHwr, - (uint8_t *) disValHwr, - (uint16_t *) &disLenHwr, - sizeof(disValHwr) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValSwrCh, - (uint16_t *) &disLenSwrCh, - sizeof(disValSwrCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuSwr, - (uint8_t *) disValSwr, - (uint16_t *) &disLenSwr, - sizeof(disValSwr) - 1, - 0, - DIS_SEC_PERMIT_READ - }, - { - attChUuid, - (uint8_t *) disValRcdCh, - (uint16_t *) &disLenRcdCh, - sizeof(disValRcdCh), - 0, - ATTS_PERMIT_READ - }, - { - disUuRcd, - (uint8_t *) disValRcd, - (uint16_t *) &disLenRcd, - sizeof(disValRcd), - 0, - DIS_SEC_PERMIT_READ - }, -}; - -/* DIS group structure */ -static attsGroup_t svcDisGroup = -{ - NULL, - (attsAttr_t *) disList, - NULL, - NULL, - DIS_START_HDL, - DIS_END_HDL -}; - -/*************************************************************************************************/ -/*! - * \fn SvcDisAddGroup - * - * \brief Add the services to the attribute server. - * - * \return None. - */ -/*************************************************************************************************/ -void SvcDisAddGroup(void) -{ - AttsAddGroup(&svcDisGroup); -} - -/*************************************************************************************************/ -/*! - * \fn SvcDisRemoveGroup - * - * \brief Remove the services from the attribute server. - * - * \return None. - */ -/*************************************************************************************************/ -void SvcDisRemoveGroup(void) -{ - AttsRemoveGroup(DIS_START_HDL); -} diff --git a/tools/code-style.sh b/tools/code-style.sh index 295b77b9204b7427d8e663999942a0f1ec1980a2..c02d0ff453f75f9eae7787c5c29a0db069f387f2 100755 --- a/tools/code-style.sh +++ b/tools/code-style.sh @@ -41,8 +41,7 @@ for source_file in "$@"; do # Check if file is actually one which we want to check rel_path="$(realpath --relative-to="$script_dir/.." "$source_file")" if [[ ( "$rel_path" == lib/* && "$rel_path" != lib/card10/* ) || - ( "$rel_path" == openocd/* ) || - ( "$rel_path" == ble/* ) ]]; then + ( "$rel_path" == openocd/* ) ]]; then echo " - Ignoring $source_file" continue fi