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="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Device/Maxim/MAX32665/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/MAX32665PeriphDriver/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/EvKit_V1/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include/sys&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/lib/gcc/arm-none-eabi/6.3.1/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include/util&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/platform/common/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/controller/sources/mac/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-host/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/include/app&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/sources/profiles/include&quot;"/>
-									</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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;&gt;&#13;&#10;&lt;memoryBlockExpression address=&quot;536918388&quot; label=&quot;0x2000b974&quot;/&gt;&#13;&#10;&lt;/memoryBlockExpressionList&gt;&#13;&#10;"/>
-<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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;/&gt;&#13;&#10;"/>
-<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