diff --git a/README.md b/README.md
index 78c6e8b..af72ae7 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ See http://furrtek.free.fr/index.php?a=esl for more details.
***What can this be used for ?***
-To have fun experimenting with mass produced hardware ! Compatible ESLs can be found on eBay, or sometimes from stores directly if dumpster diving is your thing.
+To have fun experimenting with mass produced devices ! Compatible ESLs can be found on eBay, or sometimes from stores directly if dumpster diving is your thing.
The e-paper ones make cool badges :)
@@ -27,7 +27,7 @@ The e-paper ones make cool badges :)
***Which brands of ESLs are compatible ?***
-You'll have to guess. Hint: there's only one.
+You'll have to guess from the picture. Hint: there's only one.
***Can my phone/tablet/handheld/IrDA-capable device work as a transmitter ?***
@@ -41,4 +41,4 @@ No. For two reasons:
***Is possession and use of such devices legal ?***
-There's no cracking, exploit, patent or copyright infrigement going on so IMO it's safe to assume this is perfectly legal. Just don't try changing price displays so you can get discounts, the price in the store's database obviously remains unaffected so you'll end up having to pay the correct price anyways.
+There's no cracking, exploit, patent or copyright infrigement going on so IMO it's safe to assume this is perfectly legal. Just don't try changing price displays so you can get discounts, the price in the store's database obviously remains unchanged so you'll end up having to pay the correct price anyways.
diff --git a/esl_blaster/FW/.settings/language.settings.xml b/esl_blaster/FW/.settings/language.settings.xml
deleted file mode 100644
index 556e766..0000000
--- a/esl_blaster/FW/.settings/language.settings.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/esl_blaster/FW/Release/makefile b/esl_blaster/FW/Release/makefile
deleted file mode 100644
index f2ea0a4..0000000
--- a/esl_blaster/FW/Release/makefile
+++ /dev/null
@@ -1,75 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
--include ../makefile.init
-
-RM := rm -rf
-
-# All of the sources participating in the build are defined here
--include sources.mk
--include Startup/subdir.mk
--include Src/subdir.mk
--include Middlewares/ST/STM32_USB_Device_Library/Core/Src/subdir.mk
--include Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/subdir.mk
--include Drivers/STM32F0xx_HAL_Driver/Src/subdir.mk
--include subdir.mk
--include objects.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(strip $(C_DEPS)),)
--include $(C_DEPS)
-endif
-endif
-
--include ../makefile.defs
-
-# Add inputs and outputs from these tool invocations to the build variables
-EXECUTABLES += \
-ESLBlaster.elf \
-
-SIZE_OUTPUT += \
-default.size.stdout \
-
-OBJDUMP_LIST += \
-ESLBlaster.list \
-
-OBJCOPY_BIN += \
-ESLBlaster.bin \
-
-
-# All Target
-all: ESLBlaster.elf secondary-outputs
-
-# Tool invocations
-ESLBlaster.elf: $(OBJS) $(USER_OBJS) C:\Users\furrtek\Documents\Electro\ESLBlaster\FW\STM32F070F6PX_FLASH.ld
- arm-none-eabi-gcc -o "ESLBlaster.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m0 -T"C:\Users\furrtek\Documents\Electro\ESLBlaster\FW\STM32F070F6PX_FLASH.ld" --specs=nosys.specs -Wl,-Map="ESLBlaster.map" -Wl,--gc-sections -static --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
- @echo 'Finished building target: $@'
- @echo ' '
-
-default.size.stdout: $(EXECUTABLES)
- arm-none-eabi-size $(EXECUTABLES)
- @echo 'Finished building: $@'
- @echo ' '
-
-ESLBlaster.list: $(EXECUTABLES)
- arm-none-eabi-objdump -h -S $(EXECUTABLES) > "ESLBlaster.list"
- @echo 'Finished building: $@'
- @echo ' '
-
-ESLBlaster.bin: $(EXECUTABLES)
- arm-none-eabi-objcopy -O binary $(EXECUTABLES) "ESLBlaster.bin"
- @echo 'Finished building: $@'
- @echo ' '
-
-# Other Targets
-clean:
- -$(RM) *
- -@echo ' '
-
-secondary-outputs: $(SIZE_OUTPUT) $(OBJDUMP_LIST) $(OBJCOPY_BIN)
-
-.PHONY: all clean dependents
-.SECONDARY:
-
--include ../makefile.targets
diff --git a/esl_blaster/FW/Release/objects.mk b/esl_blaster/FW/Release/objects.mk
deleted file mode 100644
index dc31e16..0000000
--- a/esl_blaster/FW/Release/objects.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
-USER_OBJS :=
-
-LIBS :=
-
diff --git a/esl_blaster/FW/Release/program.bat b/esl_blaster/FW/Release/program.bat
deleted file mode 100644
index 1ee9ed8..0000000
--- a/esl_blaster/FW/Release/program.bat
+++ /dev/null
@@ -1 +0,0 @@
-..\dfu-util-0.9-win64\dfu-util --device 0483:df11 -a 0 -s 0x08000000:leave --download ESLBlaster.bin
\ No newline at end of file
diff --git a/esl_blaster/FW/Release/sources.mk b/esl_blaster/FW/Release/sources.mk
deleted file mode 100644
index 6b7b658..0000000
--- a/esl_blaster/FW/Release/sources.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
-ELF_SRCS :=
-OBJ_SRCS :=
-S_SRCS :=
-C_SRCS :=
-S_UPPER_SRCS :=
-O_SRCS :=
-SIZE_OUTPUT :=
-OBJDUMP_LIST :=
-EXECUTABLES :=
-OBJS :=
-C_DEPS :=
-OBJCOPY_BIN :=
-
-# Every subdirectory with source files must be described here
-SUBDIRS := \
-Drivers/STM32F0xx_HAL_Driver/Src \
-Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src \
-Middlewares/ST/STM32_USB_Device_Library/Core/Src \
-Src \
-Startup \
-
diff --git a/esl_blaster/FW/.cproject b/hardware/esl_blaster/FW/.cproject
similarity index 100%
rename from esl_blaster/FW/.cproject
rename to hardware/esl_blaster/FW/.cproject
diff --git a/esl_blaster/FW/.mxproject b/hardware/esl_blaster/FW/.mxproject
similarity index 100%
rename from esl_blaster/FW/.mxproject
rename to hardware/esl_blaster/FW/.mxproject
diff --git a/esl_blaster/FW/.project b/hardware/esl_blaster/FW/.project
similarity index 100%
rename from esl_blaster/FW/.project
rename to hardware/esl_blaster/FW/.project
diff --git a/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/arm_common_tables.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_common_tables.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/arm_common_tables.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_common_tables.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/arm_const_structs.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_const_structs.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/arm_const_structs.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_const_structs.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/arm_math.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_math.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/arm_math.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/arm_math.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc_V6.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc_V6.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc_V6.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_armcc_V6.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_gcc.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_gcc.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/cmsis_gcc.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/cmsis_gcc.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cm0.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0plus.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0plus.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cm0plus.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm0plus.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cm3.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm3.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cm3.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm3.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cm4.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm4.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cm4.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm4.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cm7.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm7.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cm7.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cm7.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cmFunc.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmFunc.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cmFunc.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmFunc.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cmInstr.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmInstr.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cmInstr.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmInstr.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_cmSimd.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmSimd.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_cmSimd.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_cmSimd.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_sc000.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_sc000.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_sc000.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_sc000.h
diff --git a/esl_blaster/FW/Drivers/CMSIS/Include/core_sc300.h b/hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_sc300.h
similarity index 100%
rename from esl_blaster/FW/Drivers/CMSIS/Include/core_sc300.h
rename to hardware/esl_blaster/FW/Drivers/CMSIS/Include/core_sc300.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
diff --git a/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c b/hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
similarity index 100%
rename from esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
rename to hardware/esl_blaster/FW/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
diff --git a/esl_blaster/FW/ESLBlaster.ioc b/hardware/esl_blaster/FW/ESLBlaster.ioc
similarity index 100%
rename from esl_blaster/FW/ESLBlaster.ioc
rename to hardware/esl_blaster/FW/ESLBlaster.ioc
diff --git a/esl_blaster/FW/Release/ESLBlaster.bin b/hardware/esl_blaster/FW/ESLBlasterB0.bin
similarity index 100%
rename from esl_blaster/FW/Release/ESLBlaster.bin
rename to hardware/esl_blaster/FW/ESLBlasterB0.bin
diff --git a/esl_blaster/FW/Inc/gpio.h b/hardware/esl_blaster/FW/Inc/gpio.h
similarity index 100%
rename from esl_blaster/FW/Inc/gpio.h
rename to hardware/esl_blaster/FW/Inc/gpio.h
diff --git a/esl_blaster/FW/Inc/main.h b/hardware/esl_blaster/FW/Inc/main.h
similarity index 100%
rename from esl_blaster/FW/Inc/main.h
rename to hardware/esl_blaster/FW/Inc/main.h
diff --git a/esl_blaster/FW/Inc/stm32_assert.h b/hardware/esl_blaster/FW/Inc/stm32_assert.h
similarity index 100%
rename from esl_blaster/FW/Inc/stm32_assert.h
rename to hardware/esl_blaster/FW/Inc/stm32_assert.h
diff --git a/esl_blaster/FW/Inc/stm32f0xx_hal_conf.h b/hardware/esl_blaster/FW/Inc/stm32f0xx_hal_conf.h
similarity index 100%
rename from esl_blaster/FW/Inc/stm32f0xx_hal_conf.h
rename to hardware/esl_blaster/FW/Inc/stm32f0xx_hal_conf.h
diff --git a/esl_blaster/FW/Inc/stm32f0xx_it.h b/hardware/esl_blaster/FW/Inc/stm32f0xx_it.h
similarity index 100%
rename from esl_blaster/FW/Inc/stm32f0xx_it.h
rename to hardware/esl_blaster/FW/Inc/stm32f0xx_it.h
diff --git a/esl_blaster/FW/Inc/usb_device.h b/hardware/esl_blaster/FW/Inc/usb_device.h
similarity index 100%
rename from esl_blaster/FW/Inc/usb_device.h
rename to hardware/esl_blaster/FW/Inc/usb_device.h
diff --git a/esl_blaster/FW/Inc/usbd_cdc_if.h b/hardware/esl_blaster/FW/Inc/usbd_cdc_if.h
similarity index 100%
rename from esl_blaster/FW/Inc/usbd_cdc_if.h
rename to hardware/esl_blaster/FW/Inc/usbd_cdc_if.h
diff --git a/esl_blaster/FW/Inc/usbd_conf.h b/hardware/esl_blaster/FW/Inc/usbd_conf.h
similarity index 100%
rename from esl_blaster/FW/Inc/usbd_conf.h
rename to hardware/esl_blaster/FW/Inc/usbd_conf.h
diff --git a/esl_blaster/FW/Inc/usbd_desc.h b/hardware/esl_blaster/FW/Inc/usbd_desc.h
similarity index 100%
rename from esl_blaster/FW/Inc/usbd_desc.h
rename to hardware/esl_blaster/FW/Inc/usbd_desc.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
diff --git a/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c b/hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
similarity index 100%
rename from esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
rename to hardware/esl_blaster/FW/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
diff --git a/esl_blaster/FW/STM32F070F6PX_FLASH.ld b/hardware/esl_blaster/FW/STM32F070F6PX_FLASH.ld
similarity index 100%
rename from esl_blaster/FW/STM32F070F6PX_FLASH.ld
rename to hardware/esl_blaster/FW/STM32F070F6PX_FLASH.ld
diff --git a/esl_blaster/FW/Src/gpio.c b/hardware/esl_blaster/FW/Src/gpio.c
similarity index 100%
rename from esl_blaster/FW/Src/gpio.c
rename to hardware/esl_blaster/FW/Src/gpio.c
diff --git a/esl_blaster/FW/Src/main.c b/hardware/esl_blaster/FW/Src/main.c
similarity index 96%
rename from esl_blaster/FW/Src/main.c
rename to hardware/esl_blaster/FW/Src/main.c
index a473901..657a500 100644
--- a/esl_blaster/FW/Src/main.c
+++ b/hardware/esl_blaster/FW/Src/main.c
@@ -359,7 +359,6 @@ int main(void) {
comm_state = STATE_GET_FRAME_DATA;
} else if (comm_state == STATE_GET_FRAME_DATA) {
ram_frame_data[ram_frame_data_counter++] = byte;
- if (byte == 0x85) for(;;) {}
if (ram_frame_data_counter == ram_frame_size)
comm_state = STATE_IDLE;
} else if (comm_state == STATE_FLASH_LOAD) {
diff --git a/esl_blaster/FW/Src/stm32f0xx_hal_msp.c b/hardware/esl_blaster/FW/Src/stm32f0xx_hal_msp.c
similarity index 100%
rename from esl_blaster/FW/Src/stm32f0xx_hal_msp.c
rename to hardware/esl_blaster/FW/Src/stm32f0xx_hal_msp.c
diff --git a/esl_blaster/FW/Src/stm32f0xx_it.c b/hardware/esl_blaster/FW/Src/stm32f0xx_it.c
similarity index 100%
rename from esl_blaster/FW/Src/stm32f0xx_it.c
rename to hardware/esl_blaster/FW/Src/stm32f0xx_it.c
diff --git a/esl_blaster/FW/Src/system_stm32f0xx.c b/hardware/esl_blaster/FW/Src/system_stm32f0xx.c
similarity index 100%
rename from esl_blaster/FW/Src/system_stm32f0xx.c
rename to hardware/esl_blaster/FW/Src/system_stm32f0xx.c
diff --git a/esl_blaster/FW/Src/usb_device.c b/hardware/esl_blaster/FW/Src/usb_device.c
similarity index 100%
rename from esl_blaster/FW/Src/usb_device.c
rename to hardware/esl_blaster/FW/Src/usb_device.c
diff --git a/esl_blaster/FW/Src/usbd_cdc_if.c b/hardware/esl_blaster/FW/Src/usbd_cdc_if.c
similarity index 100%
rename from esl_blaster/FW/Src/usbd_cdc_if.c
rename to hardware/esl_blaster/FW/Src/usbd_cdc_if.c
diff --git a/esl_blaster/FW/Src/usbd_conf.c b/hardware/esl_blaster/FW/Src/usbd_conf.c
similarity index 100%
rename from esl_blaster/FW/Src/usbd_conf.c
rename to hardware/esl_blaster/FW/Src/usbd_conf.c
diff --git a/esl_blaster/FW/Src/usbd_desc.c b/hardware/esl_blaster/FW/Src/usbd_desc.c
similarity index 100%
rename from esl_blaster/FW/Src/usbd_desc.c
rename to hardware/esl_blaster/FW/Src/usbd_desc.c
diff --git a/esl_blaster/FW/Startup/startup_stm32f070f6px.s b/hardware/esl_blaster/FW/Startup/startup_stm32f070f6px.s
similarity index 100%
rename from esl_blaster/FW/Startup/startup_stm32f070f6px.s
rename to hardware/esl_blaster/FW/Startup/startup_stm32f070f6px.s
diff --git a/esl_blaster/README.md b/hardware/esl_blaster/README.md
similarity index 53%
rename from esl_blaster/README.md
rename to hardware/esl_blaster/README.md
index 2bbb0f5..77949f9 100644
--- a/esl_blaster/README.md
+++ b/hardware/esl_blaster/README.md
@@ -23,3 +23,15 @@ Don't forget to disconnect the pads once done.
Disconnect the two solder pads next to the push-button to disable the charging circuit:

+
+## Protocol info
+
+This is the top-level serial protocol info to communicate with the ESL Blaster, not the ESL IR protocol itself.
+
+Commands are a single character (byte):
+* `?`: Ask for ID string. Replies with `ESLBlasterXY`. X is the hardware revision (B), Y is the firmware version (0).
+* `L`: Load frame data. Format: `LsdrRx...`. s: frame size in bytes. d: delay between repeats. r: repeat count low byte. R: repeat count high byte. x: frame data...
+* `T`: Transmit loaded frame. Returns `K` when done.
+* `S`: Emergency stop. Stops any IR transmit operation.
+* `W`: Start user flash write sequence. Send 1024 bytes in 128 byte blocks, wait for `K` (ok) or `N` (error) reply after each block, and one last reply for program ok/fail.
+* `R`: Read user flash (starts at 0x8007C00). Replies with 512 bytes.
diff --git a/esl_blaster/eslblaster_b_schematic.png b/hardware/esl_blaster/eslblaster_b_schematic.png
similarity index 100%
rename from esl_blaster/eslblaster_b_schematic.png
rename to hardware/esl_blaster/eslblaster_b_schematic.png
diff --git a/esl_blaster/jp_boot.png b/hardware/esl_blaster/jp_boot.png
similarity index 100%
rename from esl_blaster/jp_boot.png
rename to hardware/esl_blaster/jp_boot.png
diff --git a/esl_blaster/jp_charge.png b/hardware/esl_blaster/jp_charge.png
similarity index 100%
rename from esl_blaster/jp_charge.png
rename to hardware/esl_blaster/jp_charge.png
diff --git a/ir_tx_serial/README.md b/hardware/ir_tx_serial/README.md
similarity index 100%
rename from ir_tx_serial/README.md
rename to hardware/ir_tx_serial/README.md
diff --git a/ir_tx_serial/default/Makefile b/hardware/ir_tx_serial/default/Makefile
similarity index 100%
rename from ir_tx_serial/default/Makefile
rename to hardware/ir_tx_serial/default/Makefile
diff --git a/ir_tx_serial/default/ir_tx_serial.hex b/hardware/ir_tx_serial/default/ir_tx_serial.hex
similarity index 95%
rename from ir_tx_serial/default/ir_tx_serial.hex
rename to hardware/ir_tx_serial/default/ir_tx_serial.hex
index aa33c37..db82639 100644
--- a/ir_tx_serial/default/ir_tx_serial.hex
+++ b/hardware/ir_tx_serial/default/ir_tx_serial.hex
@@ -38,7 +38,7 @@
:100250000F900FBE0F901F90189584B7877F84BFB3
:1002600088E181BD11BC12BA92E091BB18BA84E05A
:1002700087BB88E98AB986E083B912B88AE089B970
-:1002800083E086BF90BF81E083BF80ED97E09BBD98
+:1002800083E086BF90BF81E083BF80EA9FE09BBD93
:100290008ABD1FBC8CE08EBD80E489BF78948091BC
:1002A00060008823E1F3F894CDDE18BE1BB8789483
:0602B000F6CFF894FFCF29
diff --git a/ir_tx_serial/ir_tx_serial.aps b/hardware/ir_tx_serial/ir_tx_serial.aps
similarity index 100%
rename from ir_tx_serial/ir_tx_serial.aps
rename to hardware/ir_tx_serial/ir_tx_serial.aps
diff --git a/hardware/ir_tx_serial/ir_tx_serial.aws b/hardware/ir_tx_serial/ir_tx_serial.aws
new file mode 100644
index 0000000..af4d586
--- /dev/null
+++ b/hardware/ir_tx_serial/ir_tx_serial.aws
@@ -0,0 +1 @@
+
diff --git a/ir_tx_serial/ir_tx_serial.c b/hardware/ir_tx_serial/ir_tx_serial.c
similarity index 100%
rename from ir_tx_serial/ir_tx_serial.c
rename to hardware/ir_tx_serial/ir_tx_serial.c
diff --git a/ir_tx_serial/schem.jpg b/hardware/ir_tx_serial/schem.jpg
similarity index 100%
rename from ir_tx_serial/schem.jpg
rename to hardware/ir_tx_serial/schem.jpg
diff --git a/ir_tx_serial/ir_tx_serial.aws b/ir_tx_serial/ir_tx_serial.aws
deleted file mode 100644
index 2f55119..0000000
--- a/ir_tx_serial/ir_tx_serial.aws
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/flashtest.py b/tools_python/flashtest.py
similarity index 100%
rename from flashtest.py
rename to tools_python/flashtest.py
diff --git a/img2dm.py b/tools_python/img2dm.py
similarity index 100%
rename from img2dm.py
rename to tools_python/img2dm.py
diff --git a/pr.py b/tools_python/pr.py
similarity index 100%
rename from pr.py
rename to tools_python/pr.py
diff --git a/rawcmd.py b/tools_python/rawcmd.py
similarity index 100%
rename from rawcmd.py
rename to tools_python/rawcmd.py
diff --git a/tx.py b/tools_python/tx.py
similarity index 91%
rename from tx.py
rename to tools_python/tx.py
index 184084d..fb85a39 100644
--- a/tx.py
+++ b/tools_python/tx.py
@@ -18,7 +18,10 @@ def search_esl_blaster():
print("Found ESL Blaster on " + comport)
found = 1
break
+ else:
+ print("Timeout on " + comport)
except serial.SerialException:
+ print("SerialException on " + comport)
continue
if (found == 0):