diff --git a/NHC-Link042/.gitignore b/NHC-Link042/.gitignore
deleted file mode 100644
index 3e0dfe4318574654667fbba47d9b9750ec94c74e..0000000000000000000000000000000000000000
--- a/NHC-Link042/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-# Prerequisites
-*.d
-
-# Compiled Object files
-*.slo
-*.lo
-*.o
-*.obj
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Compiled Dynamic libraries
-*.so
-*.dylib
-*.dll
-
-# Fortran module files
-*.mod
-*.smod
-
-# Compiled Static libraries
-*.lai
-*.la
-*.a
-*.lib
-
-# Executables
-*.exe
-*.out
-*.app
-
-NHC-Link042.*
-NHC-Link042
-Firmware/lst/*.*
-Firmware/obj/*.*
-*.bin
\ No newline at end of file
diff --git a/NHC-Link042/Firmware/DebugConfig/NHC-Link042_STM32F042F6.dbgconf b/NHC-Link042/Firmware/DebugConfig/NHC-Link042_STM32F042F6.dbgconf
deleted file mode 100644
index 003699fffd454a4c63da60fc271b66d85530ab66..0000000000000000000000000000000000000000
--- a/NHC-Link042/Firmware/DebugConfig/NHC-Link042_STM32F042F6.dbgconf
+++ /dev/null
@@ -1,45 +0,0 @@
-// File: STM32F0x1_0x2_0x8.dbgconf
-// Version: 1.0.0
-// Note: refer to STM32F0x1/STM32F0x2/STM32F0x8 Reference manual (RM0091)
-//       refer to STM32F031x4/x6, STM32F051x4/x6/x8, STM32F071x8/xB datasheets
-//                STM32F091xB/xC, STM32F042x4/x6, STM32F072x8/xB, STM32F038x6 datasheets
-//                STM32F048x6, STM32F058x8, STM32F078xB, STM32F098xC datasheets
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-// <h> Debug MCU configuration register (DBGMCU_CR)
-//   <o.2>  DBG_STANDBY              <i> Debug standby mode
-//   <o.1>  DBG_STOP                 <i> Debug stop mode
-// </h>
-DbgMCU_CR = 0x00000006;
-
-// <h> Debug MCU APB1 freeze register (DBGMCU_APB1_FZ)
-//                                   <i> Reserved bits must be kept at reset value
-//   <o.25> DBG_CAN_STOP             <i> CAN stopped when core is halted
-//   <o.21> DBG_I2C1_TIMEOUT         <i> I2C1 SMBUS timeout mode stopped when core is halted
-//   <o.12> DBG_IWDG_STOP            <i> Independent watchdog stopped when core is halted
-//   <o.11> DBG_WWDG_STOP            <i> Window watchdog stopped when core is halted
-//   <o.10> DBG_RTC_STOP             <i> RTC stopped when core is halted
-//   <o.8>  DBG_TIM14_STOP           <i> TIM14 counter stopped when core is halted
-//   <o.5>  DBG_TIM7_STOP            <i> TIM7 counter stopped when core is halted
-//   <o.4>  DBG_TIM6_STOP            <i> TIM6 counter stopped when core is halted
-//   <o.1>  DBG_TIM3_STOP            <i> TIM3 counter stopped when core is halted
-//   <o.0>  DBG_TIM2_STOP            <i> TIM2 counter stopped when core is halted
-// </h>
-DbgMCU_APB1_Fz = 0x00000000;
-
-// <h> Debug MCU APB2 freeze register (DBGMCU_APB2_FZ)
-//                                   <i> Reserved bits must be kept at reset value
-//   <o.18> DBG_TIM17_STOP           <i> TIM17 counter stopped when core is halted
-//   <o.17> DBG_TIM16_STOP           <i> TIM16 counter stopped when core is halted
-//   <o.16> DBG_TIM15_STOP           <i> TIM15 counter stopped when core is halted
-//   <o.11> DBG_TIM1_STOP            <i> TIM1 counter stopped when core is halted
-// </h>
-DbgMCU_APB2_Fz = 0x00000000;
-
-// <h> Flash Download Options
-//   <o.0> Option Byte Loading       <i> Launch the Option Byte Loading after a Flash Download by setting the OBL_LAUNCH bit (causes a reset)
-// </h>
-DoOptionByteLoading = 0x00000000;
-
-// <<< end of configuration section >>>
diff --git a/NHC-Link042/KT_BinIO.cpp b/NHC-Link042/KT_BinIO.cpp
deleted file mode 100644
index 46842cbf4a5c12157680bb96a9620df06c222c23..0000000000000000000000000000000000000000
--- a/NHC-Link042/KT_BinIO.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#include "KT_BinIO.h"
-
-uint32_t KT_BinIO::Read(char *pszInput)
-{
-    FILE *f;
-
-    f = fopen(pszInput, "rb");
-    if (f == NULL)
-    {
-        return 0;
-    }
-    fseek(f, 0, SEEK_END);
-    uint32_t lSize;
-    lSize = ftell(f);
-    rewind(f);
-    if (fread(pReadBuff, 1, lSize, f) != lSize)
-    {
-        fclose(f);
-        return 0;
-    }
-    fclose(f);
-
-    return 1;
-}
-
-uint32_t KT_BinIO::Write(char *pszOutput)
-{
-    FILE *f;
-
-    f = fopen(pszOutput, "wb");
-    if (f == NULL)
-    {
-        return 0;
-    }
-    if (!fwrite(pWriteBuff, u32Size, 1, f))
-    {
-        fclose(f);
-        return 0;
-    }
-    fclose(f);
-
-    return 1;
-}
-
-uint32_t KT_BinIO::InitBuffer()
-{
-
-    pReadBuff = (uint8_t *)malloc(u32Size);
-    if (pReadBuff == NULL)
-    {
-        return 0;
-    }
-    memset(pReadBuff, 0xFF, u32Size);
-    pWriteBuff = (uint8_t *)malloc(u32Size);
-    if (pWriteBuff == NULL)
-    {
-        return 0;
-    }
-    memset(pWriteBuff, 0xFF, u32Size);
-
-    return 1;
-}
-
-void KT_BinIO::FreeBuffer()
-{
-
-    free(pReadBuff);
-    free(pWriteBuff);
-}
diff --git a/NHC-Link042/KT_BinIO.h b/NHC-Link042/KT_BinIO.h
deleted file mode 100644
index dd83787e13128dff6150947eff7146c86de58c00..0000000000000000000000000000000000000000
--- a/NHC-Link042/KT_BinIO.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef KT_BIN_IO_H_
-#define KT_BIN_IO_H_
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-class KT_BinIO {
-private:
-    
-public:
-    uint8_t *pReadBuff;
-    uint8_t *pWriteBuff;
-    uint32_t Read(char *pszInput);
-    uint32_t Write(char *pszOutput);
-    uint32_t InitBuffer();
-    void FreeBuffer();
-    uint32_t u32Size;
-protected:
-};
-
-#endif
diff --git a/NHC-Link042/LICENSE b/NHC-Link042/LICENSE
deleted file mode 100644
index e0515e730e03482522094747bfca6d950eaf4d30..0000000000000000000000000000000000000000
--- a/NHC-Link042/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 Ngô Hùng Cường
-
-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 THE
-AUTHORS OR COPYRIGHT HOLDERS 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.
diff --git a/NHC-Link042/Firmware/LibUSB/LibUSB.c b/NHC-Link042/LibUSB/LibUSB.c
similarity index 96%
rename from NHC-Link042/Firmware/LibUSB/LibUSB.c
rename to NHC-Link042/LibUSB/LibUSB.c
index 501821b6019e727aae4b36eda26877cc97df97c3..548bdbc5abb85e54a349e48207921cffaacd7102 100644
--- a/NHC-Link042/Firmware/LibUSB/LibUSB.c
+++ b/NHC-Link042/LibUSB/LibUSB.c
@@ -312,6 +312,7 @@ uint8_t u8Buff[4 * 1024];
 #define WCH_SDI_WRITE 0xA3
 #define WCH_SDI_READ_MEM 0xA4
 #define WCH_SDI_WRITE_MEM 0xA5
+#define DELAY_US_CMD	0xA6
 
 /**
   * @brief  USBD_HID_DataOut
@@ -355,6 +356,8 @@ void u32tou8(uint32_t u32In, uint8_t *p)
     p[3] = u32In;
 }
 
+void NHC_Delay_Us(uint16_t u16Delay);
+
 static uint8_t  USBD_HID_DataOut (void  *pdev,
                               uint8_t epnum)
 {
@@ -362,8 +365,8 @@ static uint8_t  USBD_HID_DataOut (void  *pdev,
     //uint32_t u32Len;
     uint32_t u32Tmp;
     //uint32_t *pu32;
-    //uint32_t i;
-    //uint32_t n;
+    uint32_t i;
+    uint32_t n;
     //uint8_t *p;
 	
 	busy_on;
@@ -396,6 +399,26 @@ static uint8_t  USBD_HID_DataOut (void  *pdev,
 			u32Tmp = u8tou32(rxBuff + 5);
 			NHC_WchSdi_WriteMem(u32Address, u32Tmp, rxBuff[9]);
 			break;
+		case DELAY_US_CMD:
+			u32Tmp = u8tou32(rxBuff + 1);
+			if (u32Tmp < 50000)
+			{
+				NHC_Delay_Us(u32Tmp);
+			}
+			else
+			{
+				n = u32Tmp / 50000;
+				for (i = 0; i < n; ++i)
+				{
+					NHC_Delay_Us(50000);
+				}
+				n = u32Tmp % 50000;
+				if (n)
+				{
+					NHC_Delay_Us(n);
+				}
+			}
+			break;
 	}
 	
 	busy_off;
diff --git a/NHC-Link042/Firmware/LibUSB/LibUSB.h b/NHC-Link042/LibUSB/LibUSB.h
similarity index 100%
rename from NHC-Link042/Firmware/LibUSB/LibUSB.h
rename to NHC-Link042/LibUSB/LibUSB.h
diff --git a/NHC-Link042/NHC-Link042.uvprojx b/NHC-Link042/NHC-Link042.uvprojx
new file mode 100644
index 0000000000000000000000000000000000000000..b35aa43076a06fc0c6ff09bff5bd4333a696aecd
--- /dev/null
+++ b/NHC-Link042/NHC-Link042.uvprojx
@@ -0,0 +1,564 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+  <SchemaVersion>2.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>NHC-Link042</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060960::V5.06 update 7 (build 960)::.\v6</pCCUsed>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>STM32F042F6</Device>
+          <Vendor>STMicroelectronics</Vendor>
+          <PackID>Keil.STM32F0xx_DFP.2.1.1</PackID>
+          <PackURL>https://www.keil.com/pack/</PackURL>
+          <Cpu>IROM(0x08000000,0x8000) IRAM(0x20000000,0x1800) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_32 -FS08000000 -FL08000 -FP0($$Device:STM32F042F6$Flash\STM32F0xx_32.FLM))</FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>$$Device:STM32F042F6$Device\Include\stm32f0xx.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>$$Device:STM32F042F6$SVD\STM32F042x.svd</SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\obj\</OutputDirectory>
+          <OutputName>NHC-Link042</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\lst\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments> </SimDllArguments>
+          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments> </TargetDllArguments>
+          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4096</DriverSelection>
+          </Flash1>
+          <bUseTDR>1</bUseTDR>
+          <Flash2>BIN\UL2CM3.DLL</Flash2>
+          <Flash3></Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M0"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
+            <RvdsCdeCp>0</RvdsCdeCp>
+            <nBranchProt>0</nBranchProt>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x1800</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x8000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x4000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x2000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>4</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <uC99>0</uC99>
+            <uGnu>0</uGnu>
+            <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <v6Rtti>0</v6Rtti>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>USE_STDPERIPH_DRIVER,STM32F042, INTERNAL_PULLUP, USB_CLOCK_SOURCE_CRS</Define>
+              <Undefine></Undefine>
+              <IncludePath>.\User;.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\CMSIS\Device\ST\STM32F0xx\Include;.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\inc;.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Driver\inc;.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Library\Core\inc;.\LibUSB;.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\CMSIS\Include</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <useXO>0</useXO>
+            <ClangAsOpt>1</ClangAsOpt>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x08000000</TextAddressRange>
+            <DataAddressRange>0x20000000</DataAddressRange>
+            <pXoBase></pXoBase>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>User</GroupName>
+          <Files>
+            <File>
+              <FileName>it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\it.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>usb_bsp.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\usb_bsp.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_pwr.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\usbd_pwr.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_desc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\usbd_desc.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_usr.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\usbd_usr.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32_it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\stm32_it.c</FilePath>
+            </File>
+            <File>
+              <FileName>NHC_WCH_SDI.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\NHC_WCH_SDI.c</FilePath>
+            </File>
+            <File>
+              <FileName>NHC_WCH_SDI.h</FileName>
+              <FileType>5</FileType>
+              <FilePath>.\User\NHC_WCH_SDI.h</FilePath>
+            </File>
+            <File>
+              <FileName>config.h</FileName>
+              <FileType>5</FileType>
+              <FilePath>.\User\config.h</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_desc.h</FileName>
+              <FileType>5</FileType>
+              <FilePath>.\User\usbd_desc.h</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>USB_Class</GroupName>
+          <Files>
+            <File>
+              <FileName>LibUSB.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\LibUSB\LibUSB.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>CMSIS</GroupName>
+          <Files>
+            <File>
+              <FileName>system_stm32f0xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\User\system_stm32f0xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>startup_stm32f042.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm\startup_stm32f042.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>LIB</GroupName>
+          <Files>
+            <File>
+              <FileName>stm32f0xx_crs.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crs.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_exti.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_syscfg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_tim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f0xx_misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>USB_Lib</GroupName>
+          <Files>
+            <File>
+              <FileName>usb_core.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Driver\src\usb_core.c</FilePath>
+            </File>
+            <File>
+              <FileName>usb_dcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Driver\src\usb_dcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>usb_dcd_int.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Driver\src\usb_dcd_int.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_core.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Library\Core\src\usbd_core.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_ioreq.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Library\Core\src\usbd_ioreq.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd_req.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\STM32F0x2_USB-FS-Device_Lib V1.0.0\Libraries\STM32_USB_Device_Library\Core\src\usbd_req.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+  <RTE>
+    <apis/>
+    <components/>
+    <files/>
+  </RTE>
+
+  <LayerInfo>
+    <Layers>
+      <Layer>
+        <LayName>Template</LayName>
+        <LayTarg>0</LayTarg>
+        <LayPrjMark>1</LayPrjMark>
+      </Layer>
+    </Layers>
+  </LayerInfo>
+
+</Project>
diff --git a/NHC-Link042/README.md b/NHC-Link042/README.md
deleted file mode 100644
index da6daa30bff371b82ef1cf8a3cdde21dd1854eec..0000000000000000000000000000000000000000
--- a/NHC-Link042/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# NHC-Link042
-CH32V003 flash programming. Firmware based on STM32F042
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Release_Notes.html b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Release_Notes.html
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Release_Notes.html
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Release_Notes.html
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f030.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f030.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f030.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f030.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f031.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f031.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f031.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f031.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f042.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f042.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f042.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f042.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f051.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f051.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f051.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f051.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f072.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f072.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f072.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f072.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx_ld.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx_ld.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx_ld.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/TrueSTUDIO/startup_stm32f0xx_ld.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx_ld.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx_ld.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx_ld.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx_ld.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f030.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f030.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f030.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f030.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f031.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f031.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f031.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f031.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f042.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f042.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f042.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f042.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f051.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f051.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f051.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f051.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f072.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f072.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f072.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f072.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f0xx.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f0xx.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f0xx.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7/startup_stm32f0xx.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx_ld.s b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx_ld.s
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx_ld.s
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f0xx_ld.s
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_common_tables.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_common_tables.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_common_tables.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_common_tables.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_const_structs.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_const_structs.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_const_structs.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_const_structs.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_math.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_math.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_math.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/arm_math.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0plus.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0plus.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0plus.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm0plus.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm3.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm3.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm3.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm3.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4_simd.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4_simd.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4_simd.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cm4_simd.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmFunc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmFunc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmFunc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmFunc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmInstr.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmInstr.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmInstr.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_cmInstr.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc000.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc000.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc000.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc000.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc300.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc300.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc300.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/CMSIS/Include/core_sc300.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_adc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_adc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_adc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_adc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_can.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_can.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_can.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_can.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_cec.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_cec.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_cec.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_cec.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_comp.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_comp.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_comp.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_comp.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crs.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crs.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crs.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_crs.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dac.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dac.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dac.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dac.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dbgmcu.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dbgmcu.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dbgmcu.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dbgmcu.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dma.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dma.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dma.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dma.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_exti.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_exti.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_exti.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_exti.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_flash.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_flash.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_flash.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_flash.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_gpio.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_gpio.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_gpio.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_gpio.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_i2c.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_i2c.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_i2c.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_i2c.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_iwdg.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_iwdg.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_iwdg.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_iwdg.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_misc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_misc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_misc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_misc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_pwr.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_pwr.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_pwr.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_pwr.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rcc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rcc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rcc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rcc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rtc.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rtc.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rtc.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_rtc.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_spi.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_spi.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_spi.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_spi.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_syscfg.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_syscfg.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_syscfg.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_syscfg.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_tim.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_tim.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_tim.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_tim.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_usart.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_usart.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_usart.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_usart.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_wwdg.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_wwdg.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_wwdg.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_wwdg.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_adc.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_adc.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_adc.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_adc.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_can.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_can.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_can.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_can.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_cec.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_cec.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_cec.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_cec.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_comp.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_comp.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_comp.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_comp.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crc.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crc.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crc.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crc.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crs.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crs.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crs.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crs.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dac.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dac.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dac.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dac.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dbgmcu.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dbgmcu.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dbgmcu.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dbgmcu.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dma.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dma.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dma.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dma.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_exti.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_exti.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_exti.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_exti.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_flash.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_flash.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_flash.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_flash.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_gpio.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_gpio.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_gpio.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_gpio.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_i2c.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_i2c.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_i2c.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_i2c.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_iwdg.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_iwdg.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_iwdg.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_iwdg.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_misc.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_misc.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_misc.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_misc.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_pwr.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_pwr.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_pwr.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_pwr.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rcc.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rcc.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rcc.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rcc.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rtc.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rtc.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rtc.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rtc.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_spi.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_spi.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_spi.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_spi.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_syscfg.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_syscfg.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_syscfg.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_syscfg.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_tim.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_tim.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_tim.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_tim.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_usart.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_usart.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_usart.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_usart.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_wwdg.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_wwdg.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_wwdg.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_wwdg.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_bsp.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_bsp.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_bsp.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_bsp.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_conf_template.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_conf_template.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_conf_template.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_conf_template.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd_int.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd_int.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd_int.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_dcd_int.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_regs.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_regs.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_regs.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/inc/usb_regs.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_bsp_template.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_bsp_template.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_bsp_template.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_bsp_template.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd_int.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd_int.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd_int.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Driver/src/usb_dcd_int.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/inc/usbd_audio_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/inc/usbd_audio_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/inc/usbd_audio_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/inc/usbd_audio_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/src/usbd_audio_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/src/usbd_audio_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/src/usbd_audio_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/audio/src/usbd_audio_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_cmd.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_cmd.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_cmd.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_cmd.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_if.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_if.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_if.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/inc/usbd_ccid_if.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_cmd.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_cmd.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_cmd.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_cmd.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_if.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_if.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_if.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/ccid/src/usbd_ccid_if.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_if_template.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_if_template.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_if_template.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_if_template.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_if_template.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_if_template.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_if_template.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_if_template.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_mal.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_mal.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_mal.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_dfu_mal.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_flash_if.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_flash_if.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_flash_if.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_flash_if.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_mem_if_template.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_mem_if_template.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_mem_if_template.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_mem_if_template.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_mal.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_mal.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_mal.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_dfu_mal.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_flash_if.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_flash_if.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_flash_if.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_flash_if.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_mem_if_template.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_mem_if_template.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_mem_if_template.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/dfu/src/usbd_mem_if_template.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_custom_hid_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_custom_hid_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_custom_hid_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_custom_hid_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_hid_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_hid_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_hid_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_hid_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_custom_hid_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_custom_hid_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_custom_hid_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_custom_hid_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_hid_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_hid_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_hid_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid/src/usbd_hid_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/inc/usbd_hid_cdc_wrapper.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/inc/usbd_hid_cdc_wrapper.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/inc/usbd_hid_cdc_wrapper.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/inc/usbd_hid_cdc_wrapper.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/src/usbd_hid_cdc_wrapper.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/src/usbd_hid_cdc_wrapper.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/src/usbd_hid_cdc_wrapper.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_cdc_wrapper/src/usbd_hid_cdc_wrapper.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/inc/usbd_hid_msc_wrapper.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/inc/usbd_hid_msc_wrapper.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/inc/usbd_hid_msc_wrapper.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/inc/usbd_hid_msc_wrapper.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/src/usbd_hid_msc_wrapper.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/src/usbd_hid_msc_wrapper.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/src/usbd_hid_msc_wrapper.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/hid_msc_wrapper/src/usbd_hid_msc_wrapper.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_bot.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_bot.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_bot.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_bot.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_data.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_data.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_data.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_data.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_mem.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_mem.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_mem.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_mem.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_scsi.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_scsi.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_scsi.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_scsi.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_scsi.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_scsi.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_scsi.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_msc_scsi.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Class/msc/src/usbd_storage_template.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_conf_template.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_conf_template.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_conf_template.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_conf_template.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_core.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_core.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_core.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_core.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_def.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_def.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_def.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_def.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_ioreq.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_ioreq.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_ioreq.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_ioreq.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_pwr.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_pwr.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_pwr.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_pwr.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_req.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_req.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_req.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_req.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_usr.h b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_usr.h
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_usr.h
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_usr.h
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_core.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_core.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_core.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_core.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_ioreq.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_ioreq.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_ioreq.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_ioreq.c
diff --git a/NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_req.c b/NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_req.c
similarity index 100%
rename from NHC-Link042/Firmware/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_req.c
rename to NHC-Link042/STM32F0x2_USB-FS-Device_Lib V1.0.0/Libraries/STM32_USB_Device_Library/Core/src/usbd_req.c
diff --git a/NHC-Link042/Firmware/User/NHC_WCH_SDI.c b/NHC-Link042/User/NHC_WCH_SDI.c
similarity index 100%
rename from NHC-Link042/Firmware/User/NHC_WCH_SDI.c
rename to NHC-Link042/User/NHC_WCH_SDI.c
diff --git a/NHC-Link042/Firmware/User/NHC_WCH_SDI.h b/NHC-Link042/User/NHC_WCH_SDI.h
similarity index 100%
rename from NHC-Link042/Firmware/User/NHC_WCH_SDI.h
rename to NHC-Link042/User/NHC_WCH_SDI.h
diff --git a/NHC-Link042/Firmware/User/config.h b/NHC-Link042/User/config.h
similarity index 100%
rename from NHC-Link042/Firmware/User/config.h
rename to NHC-Link042/User/config.h
diff --git a/NHC-Link042/Firmware/User/it.c b/NHC-Link042/User/it.c
similarity index 100%
rename from NHC-Link042/Firmware/User/it.c
rename to NHC-Link042/User/it.c
diff --git a/NHC-Link042/Firmware/User/main.c b/NHC-Link042/User/main.c
similarity index 100%
rename from NHC-Link042/Firmware/User/main.c
rename to NHC-Link042/User/main.c
diff --git a/NHC-Link042/Firmware/User/stm32_it.c b/NHC-Link042/User/stm32_it.c
similarity index 100%
rename from NHC-Link042/Firmware/User/stm32_it.c
rename to NHC-Link042/User/stm32_it.c
diff --git a/NHC-Link042/Firmware/User/stm32_it.h b/NHC-Link042/User/stm32_it.h
similarity index 100%
rename from NHC-Link042/Firmware/User/stm32_it.h
rename to NHC-Link042/User/stm32_it.h
diff --git a/NHC-Link042/Firmware/User/stm32f0xx_conf.h b/NHC-Link042/User/stm32f0xx_conf.h
similarity index 100%
rename from NHC-Link042/Firmware/User/stm32f0xx_conf.h
rename to NHC-Link042/User/stm32f0xx_conf.h
diff --git a/NHC-Link042/Firmware/User/system_stm32f0xx.c b/NHC-Link042/User/system_stm32f0xx.c
similarity index 100%
rename from NHC-Link042/Firmware/User/system_stm32f0xx.c
rename to NHC-Link042/User/system_stm32f0xx.c
diff --git a/NHC-Link042/Firmware/User/usb_bsp.c b/NHC-Link042/User/usb_bsp.c
similarity index 100%
rename from NHC-Link042/Firmware/User/usb_bsp.c
rename to NHC-Link042/User/usb_bsp.c
diff --git a/NHC-Link042/Firmware/User/usb_conf.h b/NHC-Link042/User/usb_conf.h
similarity index 100%
rename from NHC-Link042/Firmware/User/usb_conf.h
rename to NHC-Link042/User/usb_conf.h
diff --git a/NHC-Link042/Firmware/User/usbd_conf.h b/NHC-Link042/User/usbd_conf.h
similarity index 100%
rename from NHC-Link042/Firmware/User/usbd_conf.h
rename to NHC-Link042/User/usbd_conf.h
diff --git a/NHC-Link042/Firmware/User/usbd_desc.c b/NHC-Link042/User/usbd_desc.c
similarity index 100%
rename from NHC-Link042/Firmware/User/usbd_desc.c
rename to NHC-Link042/User/usbd_desc.c
diff --git a/NHC-Link042/Firmware/User/usbd_desc.h b/NHC-Link042/User/usbd_desc.h
similarity index 100%
rename from NHC-Link042/Firmware/User/usbd_desc.h
rename to NHC-Link042/User/usbd_desc.h
diff --git a/NHC-Link042/Firmware/User/usbd_pwr.c b/NHC-Link042/User/usbd_pwr.c
similarity index 100%
rename from NHC-Link042/Firmware/User/usbd_pwr.c
rename to NHC-Link042/User/usbd_pwr.c
diff --git a/NHC-Link042/Firmware/User/usbd_usr.c b/NHC-Link042/User/usbd_usr.c
similarity index 100%
rename from NHC-Link042/Firmware/User/usbd_usr.c
rename to NHC-Link042/User/usbd_usr.c
diff --git a/NHC-Link042/compile.cmd b/NHC-Link042/compile.cmd
deleted file mode 100644
index 63234daebff7e74d70d4f235128f6ab974297bc0..0000000000000000000000000000000000000000
--- a/NHC-Link042/compile.cmd
+++ /dev/null
@@ -1 +0,0 @@
-g++ main.cpp KT_BinIO.cpp -o NHC-Link042 -lusb-1.0
diff --git a/NHC-Link042/compile.sh b/NHC-Link042/compile.sh
deleted file mode 100644
index 63234daebff7e74d70d4f235128f6ab974297bc0..0000000000000000000000000000000000000000
--- a/NHC-Link042/compile.sh
+++ /dev/null
@@ -1 +0,0 @@
-g++ main.cpp KT_BinIO.cpp -o NHC-Link042 -lusb-1.0
diff --git a/NHC-Link042/main.cpp b/NHC-Link042/main.cpp
deleted file mode 100644
index 1545e5bfb2a514b647c53c0cc6e2af2c9f65b53b..0000000000000000000000000000000000000000
--- a/NHC-Link042/main.cpp
+++ /dev/null
@@ -1,932 +0,0 @@
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "KT_BinIO.h"
-#include "libusb-1.0/libusb.h"
-
-uint32_t u8tou32(uint8_t *p)
-{
-    uint32_t u32Tmp;
-
-    u32Tmp = p[3];
-    u32Tmp <<= 8;
-    u32Tmp += p[2];
-    u32Tmp <<= 8;
-    u32Tmp += p[1];
-    u32Tmp <<= 8;
-    u32Tmp += p[0];
-
-    return u32Tmp;
-}
-
-void u32tou8(uint32_t u32Data, uint8_t *p)
-{
-
-    p[0] = u32Data;
-    u32Data >>= 8;
-    p[1] = u32Data;
-    u32Data >>= 8;
-    p[2] = u32Data;
-    u32Data >>= 8;
-    p[3] = u32Data;
-}
-
-uint32_t nhc_usb_open(void);
-void nhc_usb_close(void);
-uint32_t nhc_usb_write(uint8_t u8Ep, uint8_t *pu8Data, uint32_t u32Len);
-uint32_t nhc_usb_read(uint8_t u8Ep, uint8_t *pu8Data, uint32_t u32Len);
-
-libusb_device_handle *h;
-
-uint32_t nhc_usb_open(void)
-{
-
-    libusb_init(NULL);
-    h = libusb_open_device_with_vid_pid(NULL, 0x1986, 0x0034);
-    if (h == NULL)
-    {
-        return 0;
-    }
-
-    libusb_claim_interface(h, 0);
-
-    return 1;
-}
-
-void nhc_usb_close(void)
-{
-
-    libusb_close(h);
-    libusb_exit(NULL);
-}
-
-uint32_t nhc_usb_write(uint8_t u8Ep, uint8_t *pu8Data, uint32_t u32Len)
-{
-    uint32_t u32Tmp;
-
-    u32Tmp = u32Len;
-    if (libusb_bulk_transfer(h, u8Ep, pu8Data, u32Len, (int *)&u32Tmp, 5000) != 0)
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t nhc_usb_read(uint8_t u8Ep, uint8_t *pu8Data, uint32_t u32Len)
-{
-    uint32_t u32Tmp;
-
-    u32Tmp = u32Len;
-    if (libusb_bulk_transfer(h, u8Ep | 0x80, pu8Data, u32Len, (int *)&u32Tmp, 5000) != 0)
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t Init(void)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA0;
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t Exit(void)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA1;
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t ReadReg(uint8_t u8Address, uint32_t *pu32Data)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA2;
-    u8Buff[1] = u8Address;
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    if (!nhc_usb_read(0x81, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    if (!u8Buff[0])
-    {
-        return 0;
-    }
-
-    *pu32Data = u8tou32(u8Buff + 1);
-
-    return 1;
-}
-
-uint32_t WriteReg(uint8_t u8Address, uint32_t u32Data)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA3;
-    u8Buff[1] = u8Address;
-    u32tou8(u32Data, u8Buff + 2);
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t ReadMem(uint32_t u32Address, uint32_t *pu32Data, uint8_t u8Width)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA4;
-    u32tou8(u32Address, u8Buff + 1);
-    u8Buff[5] = u8Width;
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    if (!nhc_usb_read(0x81, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    if (!u8Buff[0])
-    {
-        *pu32Data = u8tou32(u8Buff + 1);
-        return 0;
-    }
-
-    *pu32Data = u8tou32(u8Buff + 1);
-
-    return 1;
-}
-
-uint32_t WriteMem(uint32_t u32Address, uint32_t u32Data, uint8_t u8Width)
-{
-    uint8_t u8Buff[64];
-
-    u8Buff[0] = 0xA5;
-    u32tou8(u32Address, u8Buff + 1);
-    u32tou8(u32Data, u8Buff + 5);
-    u8Buff[9] = u8Width;
-
-    if (!nhc_usb_write(0x01, u8Buff, 64))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-#define WCH_SDI_DATA0 0x04
-#define WCH_SDI_DATA1 0x05
-#define WCH_SDI_DMCONTROL 0x10
-#define WCH_SDI_DMSTATUS 0x11
-#define WCH_SDI_HARTINFO 0x12
-#define WCH_SDI_ABSTRACTCS 0x16
-#define WCH_SDI_COMMAND 0x17
-#define WCH_SDI_ABSTRACTAUTO 0x18
-#define WCH_SDI_PROGBUFF0 0x20
-#define WCH_SDI_PROGBUFF1 0x21
-#define WCH_SDI_PROGBUFF2 0x22
-#define WCH_SDI_PROGBUFF3 0x23
-#define WCH_SDI_PROGBUFF4 0x24
-#define WCH_SDI_PROGBUFF5 0x25
-#define WCH_SDI_PROGBUFF6 0x26
-#define WCH_SDI_PROGBUFF7 0x27
-#define WCH_SDI_HALTSUM0 0x40
-
-#define WCH_SDI_CPBR 0x7C
-#define WCH_SDI_CFGR 0x7D
-#define WCH_SDI_SHDWCFGR 0x7E
-
-#define FLASH_BASE 0x40022000
-#define R32_FLASH_ACTLR 0x40022000
-#define R32_FLASH_KEYR 0x40022004
-#define R32_FLASH_OBKEYR 0x40022008
-#define R32_FLASH_STATR 0x4002200C
-#define R32_FLASH_CTLR 0x40022010
-#define R32_FLASH_ADDR 0x40022014
-#define R32_FLASH_OBR 0x4002201C
-#define R32_FLASH_WPR 0x40022020
-#define R32_FLASH_MODEKEYR 0x40022024
-#define R32_FLASH_BOOT_MODEKEYR 0x40022028
-
-uint32_t sdi_flash_protocol_init(void);
-uint32_t sdi_flash_init(void);
-void sdi_flash_exit(void);
-uint32_t sdi_flash_unlock(void);
-uint32_t sdi_flash_lock(void);
-uint32_t sdi_flash_erase_chip(void);
-uint32_t sdi_flash_erase_option_bytes(void);
-uint32_t sdi_flash_write_half_word(uint32_t u32Address, uint16_t u16Data);
-uint32_t sdi_flash_unlock_fast(void);
-uint32_t sdi_flash_lock_fast(void);
-uint32_t sdi_flash_unlock_option_bytes(void);
-uint32_t sdi_flash_buff_reset(void);
-uint32_t sdi_flash_buff_load(uint32_t u32Address, uint32_t u32Data);
-uint32_t sdi_flash_write_page_fast(uint32_t u32Address, uint8_t *pu8Data);
-uint32_t sdi_flash_system_reset(void);
-uint32_t sdi_flash_write_option_bytes(uint32_t u32Value);
-
-void NHC_Delay_Ms(uint32_t u32Delay)
-{
-
-    // usleep(u32Delay * 1000);
-}
-
-uint32_t sdi_flash_protocol_init(void)
-{
-    uint32_t u32Tmp;
-
-    if (!Init())
-    {
-        return 0;
-    }
-
-    if (!WriteReg(WCH_SDI_SHDWCFGR, 0x5aa50400))
-    {
-        return 0;
-    }
-
-    if (!WriteReg(WCH_SDI_CFGR, 0x5aa50400))
-    {
-        return 0;
-    }
-
-    if (!ReadReg(WCH_SDI_CPBR, &u32Tmp))
-    {
-        return 0;
-    }
-
-    if (u32Tmp != 0x00010403)
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_init(void)
-{
-    uint32_t i;
-    uint32_t u32Tmp;
-
-    if (!ReadReg(WCH_SDI_DMSTATUS, &u32Tmp))
-    {
-        return 0;
-    }
-
-    if ((u32Tmp & (3 << 8)) != (3 << 8))
-    {
-        for (i = 0; i < 10; ++i)
-        {
-            if (!WriteReg(0x10, 0x80000001))
-            {
-                return 0;
-            }
-
-            if (!WriteReg(0x10, 0x80000001))
-            {
-                return 0;
-            }
-
-            if (!ReadReg(WCH_SDI_DMSTATUS, &u32Tmp))
-            {
-                return 0;
-            }
-
-            if ((u32Tmp & (3 << 8)) == (3 << 8))
-            {
-                break;
-            }
-        }
-
-        if (i == 10)
-        {
-            return 0;
-        }
-    }
-
-    return 1;
-}
-
-void sdi_flash_exit(void)
-{
-
-    Exit();
-}
-
-uint32_t sdi_flash_unlock(void)
-{
-    uint32_t u32Tmp;
-
-    if (!WriteMem(R32_FLASH_KEYR, 0x45670123, 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_KEYR, 0xCDEF89AB, 32))
-    {
-        return 0;
-    }
-
-    if (!ReadMem(R32_FLASH_CTLR, &u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    if (u32Tmp & (1 << 7))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_lock(void)
-{
-
-    return 1;
-}
-
-uint32_t sdi_flash_erase_chip(void)
-{
-    uint32_t u32Tmp;
-    uint32_t i;
-
-    if (!WriteMem(R32_FLASH_CTLR, 1 << 2, 32))
-    {
-        return 0;
-    }
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 2) | (1 << 6), 32))
-    {
-        return 0;
-    }
-
-    for (i = 0; i < 10; ++i)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (i == 10)
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_erase_option_bytes(void)
-{
-    uint32_t u32Tmp;
-    uint32_t i;
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 5) | (1 << 9), 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 5) | (1 << 6) | (1 << 9), 32))
-    {
-        return 0;
-    }
-
-    for (i = 0; i < 10; ++i)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (i == 10)
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_STATR, u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    if (!ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    if (u32Tmp & (1 << 5))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_write_option_bytes(uint32_t u32Value)
-{
-    uint32_t u32Tmp;
-    uint32_t i;
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 4) | (1 << 9), 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(0x1ffff800, u32Value, 16))
-    {
-        return 0;
-    }
-
-    for (i = 0; i < 10; ++i)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (i == 10)
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_write_half_word(uint32_t u32Address, uint16_t u16Data)
-{
-
-    return 1;
-}
-
-uint32_t sdi_flash_unlock_fast(void)
-{
-    uint32_t u32Tmp;
-
-    if (!WriteMem(R32_FLASH_MODEKEYR, 0x45670123, 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_MODEKEYR, 0xCDEF89AB, 32))
-    {
-        return 0;
-    }
-
-    if (!ReadMem(R32_FLASH_CTLR, &u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    if (u32Tmp & (1 << 15))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_unlock_option_bytes(void)
-{
-    uint32_t u32Tmp;
-
-    if (!WriteMem(R32_FLASH_OBKEYR, 0x45670123, 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_OBKEYR, 0xCDEF89AB, 32))
-    {
-        return 0;
-    }
-
-    if (!ReadMem(R32_FLASH_CTLR, &u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    if (!(u32Tmp & (1 << 9)))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_lock_fast(void)
-{
-
-    return 1;
-}
-
-uint32_t sdi_flash_buff_reset(void)
-{
-    uint32_t u32Tmp;
-    uint32_t k;
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 16), 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 16) | (1 << 19), 32))
-    {
-        return 0;
-    }
-
-    for (k = 0; k < 10; ++k)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (k == 10)
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_STATR, u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_buff_load(uint32_t u32Address, uint32_t u32Data)
-{
-    uint32_t u32Tmp;
-    uint32_t k;
-
-    if (!WriteMem(u32Address, u32Data, 32))
-    {
-        return 0;
-    }
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 16) | (1 << 18), 32))
-    {
-        return 0;
-    }
-    for (k = 0; k < 10; ++k)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (k == 10)
-    {
-        return 0;
-    }
-    if (!WriteMem(R32_FLASH_STATR, u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_write_page_fast(uint32_t u32Address, uint8_t *pu8Data)
-{
-    uint32_t u32Tmp;
-    uint32_t k;
-
-    if (!sdi_flash_buff_reset())
-    {
-        return 0;
-    }
-
-    for (k = 0; k < 16; ++k)
-    {
-        if (!sdi_flash_buff_load(u32Address + k * 4, u8tou32(pu8Data + k * 4)))
-        {
-            return 0;
-        }
-    }
-
-    if (!WriteMem(R32_FLASH_ADDR, u32Address, 32))
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_CTLR, (1 << 16) | (1 << 6), 32))
-    {
-        return 0;
-    }
-    for (k = 0; k < 10; ++k)
-    {
-        if (ReadMem(R32_FLASH_STATR, &u32Tmp, 32))
-        {
-            if (!(u32Tmp & 1))
-            {
-                break;
-            }
-        }
-        NHC_Delay_Ms(1);
-    }
-    if (k == 10)
-    {
-        return 0;
-    }
-
-    if (!WriteMem(R32_FLASH_STATR, u32Tmp, 32))
-    {
-        return 0;
-    }
-
-    return 1;
-}
-
-uint32_t sdi_flash_system_reset(void)
-{
-
-    return WriteMem(0xe000ed10, (1 << 31), 32);
-}
-
-int main(int argc, char **argv)
-{
-    uint32_t u32Tmp;
-    char szMsg[100];
-    uint32_t u32Len = 16 * 1024;
-    uint32_t u32Fail;
-    uint32_t n;
-    uint32_t i;
-    KT_BinIO ktFlash;
-
-    printf("NHC-Link042 for CH32V003\n");
-    if (argc != 2)
-    {
-        printf("Usage: NHC-Link042 flash.bin\n");
-        return 0;
-    }
-
-    if (!nhc_usb_open())
-    {
-        printf("Found no NHC-Link042\n");
-        return 0;
-    }
-
-    ktFlash.u32Size = 16 * 1024;
-    ktFlash.InitBuffer();
-    if (!ktFlash.Read(argv[1]))
-    {
-        printf("Open flash file: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-
-    if (!sdi_flash_protocol_init())
-    {
-        printf("Init protocol: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-    if (!sdi_flash_init())
-    {
-        printf("Init: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-
-    if (!ReadMem(R32_FLASH_OBR, &u32Tmp, 32))
-    {
-        printf("Read: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-    if (u32Tmp & (1 << 1))
-    {
-        /* locked */
-        if (!sdi_flash_unlock())
-        {
-            printf("Unlock: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_fast())
-        {
-            printf("Unlock fast: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_option_bytes())
-        {
-            printf("Unlock option bytes: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_erase_option_bytes())
-        {
-            printf("Erase option bytes: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_write_option_bytes(0x5aa5))
-        {
-            printf("Write option bytes: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_system_reset())
-        {
-            printf("System Reset: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        NHC_Delay_Ms(10);
-        if (!sdi_flash_protocol_init())
-        {
-            printf("Init protocol: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_init())
-        {
-            printf("Init: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!ReadMem(R32_FLASH_OBR, &u32Tmp, 32))
-        {
-            printf("Read: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (u32Tmp & (1 << 1))
-        {
-            printf("Check: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock())
-        {
-            printf("Unlock: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_fast())
-        {
-            printf("Unlock fast: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_option_bytes())
-        {
-            printf("Unlock option bytes: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-    }
-    else
-    {
-        /* no lock */
-        if (!sdi_flash_unlock())
-        {
-            printf("Unlock: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_fast())
-        {
-            printf("Unlock fast: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_unlock_option_bytes())
-        {
-            printf("Unlock option bytes: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-        if (!sdi_flash_erase_chip())
-        {
-            printf("Erase: FAIL\n");
-            nhc_usb_close();
-            return 0;
-        }
-    }
-
-    /* write page */
-    n = u32Len / 64;
-    u32Fail = 0;
-    printf("Write: ");
-    for (i = 0; i < n; ++i)
-    {
-        if (!sdi_flash_write_page_fast(0x08000000 + i * 64, ktFlash.pReadBuff + i * 64))
-        {
-            u32Fail = 1;
-            break;
-        }
-        printf(".");
-        fflush(stdout);
-    }
-    if (u32Fail)
-    {
-        printf("Write: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-    printf("\n");
-    fflush(stdout);
-
-    /* read and verify */
-    printf("Read ");
-    n = u32Len / 4;
-    u32Fail = 0;
-    for (i = 0; i < n; ++i)
-    {
-        if (!ReadMem(0x08000000 + i * 4, &u32Tmp, 32))
-        {
-            u32Fail = 1;
-            break;
-        }
-        u32tou8(u32Tmp, ktFlash.pWriteBuff + i * 4);
-        if ((i % 16) == 0)
-        {
-            printf(".");
-            fflush(stdout);
-        }
-    }
-
-    printf("\n");
-    fflush(stdout);
-
-    if (u32Fail)
-    {
-        printf("Read: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-    u32Fail = 0;
-    for (i = 0; i < u32Len; ++i)
-    {
-        if (ktFlash.pReadBuff[i] != ktFlash.pWriteBuff[i])
-        {
-            u32Fail = 1;
-            break;
-        }
-    }
-    if (u32Fail)
-    {
-        printf("Verify: FAIL\n");
-        nhc_usb_close();
-        return 0;
-    }
-
-    sdi_flash_system_reset();
-
-    sdi_flash_exit();
-
-    printf("Done\n");
-    nhc_usb_close();
-
-    return 0;
-}
diff --git a/minichlink/Makefile b/minichlink/Makefile
index 26a4024a445817fa1aa4a8b0dafa976ca3eec374..741b8e112f99b40779d329bca4ebf2774614bef8 100644
--- a/minichlink/Makefile
+++ b/minichlink/Makefile
@@ -3,9 +3,14 @@ TOOLS:=minichlink
 all : $(TOOLS)
 
 CFLAGS:=-O0 -g3 -Wall
-LDFLAGS:=-lpthread -lusb-1.0 -ludev
 
-minichlink : minichlink.c pgm-wch-linke.c pgm-esp32s2-ch32xx.c
+ifeq ($(OS),Windows_NT)
+	LDFLAGS:=-lpthread -lusb-1.0 -lsetupapi
+else
+	LDFLAGS:=-lpthread -lusb-1.0 -ludev
+endif
+
+minichlink : minichlink.c pgm-wch-linke.c pgm-esp32s2-ch32xx.c nhc-link042.c
 	gcc -o $@ $^ $(LDFLAGS) $(CFLAGS)
 
 install_udev_rules :
@@ -18,6 +23,3 @@ inspect_bootloader : minichlink
 
 clean :
 	rm -rf $(TOOLS)
-	
-
-
diff --git a/minichlink/Makefile.macos b/minichlink/Makefile.macos
deleted file mode 100644
index d19f24dc30ea754dc989fbeed9e3721b364b4607..0000000000000000000000000000000000000000
--- a/minichlink/Makefile.macos
+++ /dev/null
@@ -1,19 +0,0 @@
-TOOLS:=minichlink
-
-all : $(TOOLS)
-
-CFLAGS:=-O0 -Wall -Wno-asm-operand-widths -Wno-deprecated-declarations -Wno-deprecated-non-prototype -D__MACOSX__
-LDFLAGS:=-lpthread -lusb-1.0 -framework CoreFoundation -framework IOKit
-
-INCLUDES=-I /opt/homebrew/Cellar/libusb/1.0.26/include/libusb-1.0
-LIBINCLUDES=-L /opt/homebrew/Cellar/libusb/1.0.26/lib
-
-minichlink : minichlink.c pgm-wch-linke.c pgm-esp32s2-ch32xx.c
-	gcc -o $@ $^ $(LDFLAGS) $(CFLAGS) $(INCLUDES) $(LIBINCLUDES)
-
-inspect_bootloader : minichlink
-	./minichlink -r test.bin launcher 0x780
-	riscv64-unknown-elf-objdump -S -D test.bin -b binary -m riscv:rv32 | less
-
-clean :
-	rm -rf $(TOOLS)
diff --git a/minichlink/README.md b/minichlink/README.md
index 0c3cbce2304f00379f7181785a695f0799ea220b..6b8d8c6533af2502a3947fd3641a9fdc95299f7e 100644
--- a/minichlink/README.md
+++ b/minichlink/README.md
@@ -6,9 +6,7 @@ If on Linux, be sure to type make sure to install the `99-WCH-LinkE.rules` build
 
 On Windows, if you need to you can install the WinUSB driver over the WCH interface 1.
 
-The exe here is about 18kB and contains everything except for the libusb driver.  In Linux you need `libusb-1.0-dev`.
-
-On macOS compile using `make -f Makefile.macos`, you need libusb installed which can be done with homebrew `brew install libusb`.
+The exe here is about 12kB and contains everything except for the libusb driver.  In Linux you need `libusb-1.0-dev`.
 
 ## Usage
 
@@ -16,20 +14,16 @@ On macOS compile using `make -f Makefile.macos`, you need libusb installed which
 Usage: minichlink [args]
  single-letter args may be combined, i.e. -3r
  multi-part args cannot.
- -3 Enable 3.3V
- -5 Enable 5V
- -t Disable 3.3V
- -f Disable 5V
- -u Clear all code flash - by power off (also can unbrick)
- -b Reboot out of Halt
- -e Resume from halt
- -h Place into Halt
- -D Configure NRST as GPIO
- -d Configure NRST as NRST
- -w [binary image to write] [address, decimal or 0x, try0x08000000]
- -r [output binary image] [memory address, decimal or 0x, try 0x08000000] [size, decimal or 0x, try 16384]
-   Note: for memory addresses, you can use 'flash' 'launcher' 'bootloader' 'option' 'ram' and say "ram+0x10" for instance
-   For filename, you can use - for raw or + for hex.
- -T is a terminal. This MUST be the last argument if used.
+	-3 Enable 3.3V
+	-5 Enable 5V
+	-t Disable 3.3V
+	-f Disable 5V
+	-r Release from reest
+	-R Place into Reset
+	-D Configure NRST as GPIO **WARNING** If you do this and you reconfig
+		the SWIO pin (PD1) on boot, your part can never again be programmed!
+	-d Configure NRST as NRST
+	-w [binary image to write]
+	-o [memory address, decimal or 0x, try 0x08000000] [size, decimal or 0x, try 16384] [output binary image]
 ```
  
diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c
index d0fc80f23417c6753e9ccee1b01f77436ac72a8a..10eab02e6ea07909119df0ddae19586c98d30076 100644
--- a/minichlink/minichlink.c
+++ b/minichlink/minichlink.c
@@ -29,6 +29,10 @@ int main( int argc, char ** argv )
 	{
 		fprintf( stderr, "Found ESP32S2 Programmer\n" );
 	}
+    else if ((dev = TryInit_NHCLink042()))
+    {
+        fprintf( stderr, "Found NHC-Link042 Programmer\n" );
+    }
 	else
 	{
 		fprintf( stderr, "Error: Could not initialize any supported programmers\n" );
@@ -407,7 +411,7 @@ help:
 	fprintf( stderr, " -r [output binary image] [memory address, decimal or 0x, try 0x08000000] [size, decimal or 0x, try 16384]\n" );
 	fprintf( stderr, "   Note: for memory addresses, you can use 'flash' 'launcher' 'bootloader' 'option' 'ram' and say \"ram+0x10\" for instance\n" );
 	fprintf( stderr, "   For filename, you can use - for raw or + for hex.\n" );
-	fprintf( stderr, " -T is a terminal. This MUST be the last argument if used.\n" );
+	fprintf( stderr, " -T is a terminal. This MUST be the last argument.  You MUST have resumed or \n" );
 
 	return -1;	
 
@@ -720,7 +724,7 @@ static int DefaultWriteWord( void * dev, uint32_t address_to_write, uint32_t dat
 
 	iss->currentstateval += 4;
 
-	return ret;
+	return 0;
 }
 
 
diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe
index 05e4ddbc24be74047c668bd55ffc4e90bf9ca2e8..0aeca0fe443026a4d437c1502dbc8cf3eee4444d 100644
Binary files a/minichlink/minichlink.exe and b/minichlink/minichlink.exe differ
diff --git a/minichlink/minichlink.h b/minichlink/minichlink.h
index 934016e7a926260303532b0398125a79f1ed266f..9a0e1e64a66479a0b405c6603c16e290c8865af4 100644
--- a/minichlink/minichlink.h
+++ b/minichlink/minichlink.h
@@ -115,6 +115,7 @@ extern struct MiniChlinkFunctions MCF;
 // Returns 'dev' on success, else 0.
 void * TryInit_WCHLinkE();
 void * TryInit_ESP32S2CHFUN();
+void * TryInit_NHCLink042(void);
 
 // Returns 0 if ok, populated, 1 if not populated.
 int SetupAutomaticHighLevelFunctions( void * dev );
diff --git a/minichlink/nhc-link042.c b/minichlink/nhc-link042.c
new file mode 100644
index 0000000000000000000000000000000000000000..e66345b34a7102c6f3f0aebdc36666e93179ca4a
--- /dev/null
+++ b/minichlink/nhc-link042.c
@@ -0,0 +1,162 @@
+#include <stdint.h>
+#include <stdio.h>
+
+#include "minichlink.h"
+#include "libusb.h"
+
+void * TryInit_NHCLink042(void);
+
+static int NHCLinkWriteReg32(void * dev, uint8_t reg_7_bit, uint32_t command);
+static int NHCLinkReadReg32(void * dev, uint8_t reg_7_bit, uint32_t * commandresp);
+static int NHCLinkFlushLLCommands(void * dev);
+static int NHCLinkDelayUS(void * dev, int microseconds);
+static int NHCLinkExit(void * dev);
+
+static libusb_device_handle *hdev = 0;
+
+int NHCLinkWriteReg32(void * dev, uint8_t reg_7_bit, uint32_t command)
+{
+    uint8_t buff[64];
+    int32_t len;
+    int status;
+
+    buff[0] = 0xa3;
+    buff[1] = reg_7_bit;
+    buff[2] = (command >> 0);
+    buff[3] = (command >> 8);
+    buff[4] = (command >> 16);
+    buff[5] = (command >> 24);
+
+    status = libusb_bulk_transfer(dev, 0x01, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return status;
+    }
+
+    return 0;
+}
+
+int NHCLinkReadReg32(void * dev, uint8_t reg_7_bit, uint32_t * commandresp)
+{
+    uint8_t buff[64];
+    int32_t len;
+    uint32_t tmp;
+    int status;
+
+    buff[0] = 0xa2;
+    buff[1] = reg_7_bit;
+
+    status = libusb_bulk_transfer(dev, 0x01, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return status;
+    }
+
+    status = libusb_bulk_transfer(dev, 0x81, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return status;
+    }
+
+    if (!buff[0])
+    {
+        return 1;
+    }
+
+    tmp = buff[4];
+    tmp <<= 8;
+    tmp += buff[3];
+    tmp <<= 8;
+    tmp += buff[2];
+    tmp <<= 8;
+    tmp += buff[1];
+
+    *commandresp = tmp;
+
+    return 0;
+}
+
+int NHCLinkFlushLLCommands(void * dev)
+{
+
+    return 0;
+}
+
+int NHCLinkDelayUS(void * dev, int microseconds)
+{
+    uint8_t buff[64];
+    int32_t len;
+    uint32_t tmp;
+    int status;
+
+    tmp = microseconds;
+    buff[0] = 0xa6;
+    buff[1] = (tmp >> 0);
+    buff[2] = (tmp >> 8);
+    buff[3] = (tmp >> 16);
+    buff[4] = (tmp >> 24);
+
+    status = libusb_bulk_transfer(dev, 0x01, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return status;
+    }
+
+    return 0;
+}
+
+int NHCLinkExit(void * dev)
+{
+    uint8_t buff[64];
+    int32_t len;
+    int status;
+
+    buff[0] = 0xa1;
+
+    status = libusb_bulk_transfer(dev, 0x01, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return status;
+    }
+
+    return 0;
+}
+
+void * TryInit_NHCLink042(void)
+{
+    libusb_context * ctx = 0;
+	int status;
+    uint8_t buff[64];
+    int32_t len;
+
+	status = libusb_init(&ctx);
+	if (status < 0) {
+		fprintf( stderr, "Error: libusb_init_context() returned %d\n", status );
+		exit( status );
+	}
+	
+	hdev = libusb_open_device_with_vid_pid(ctx, 0x1986, 0x0034);
+
+	if( !hdev )
+	{
+		return 0;
+	}
+		
+	libusb_claim_interface(hdev, 0);
+
+    buff[0] = 0xa0;
+
+    status = libusb_bulk_transfer(hdev, 0x01, buff, 64, &len, 5000);
+    if ((status) || (len != 64))
+    {
+        return 0;
+    }
+
+    MCF.WriteReg32 = NHCLinkWriteReg32;
+	MCF.ReadReg32 = NHCLinkReadReg32;
+    MCF.DelayUS = NHCLinkDelayUS;
+    MCF.FlushLLCommands = NHCLinkFlushLLCommands;
+	MCF.Exit = NHCLinkExit;
+
+	return hdev;
+}