a5s:custom-firmware-developer-info

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
a5s:custom-firmware-developer-info [2019/03/22 19:37] โ€“ created samuelpinchesa5s:custom-firmware-developer-info [2019/03/24 22:19] โ€“ samuelpinches
Line 1: Line 1:
 ===== Developer Information for A5S & A1 Custom Firmware ===== ===== Developer Information for A5S & A1 Custom Firmware =====
  
-**This document provides more detailed developer info on the custom firmware, as well as info on how to setup a build environment and build your own version of the firmware from scratch. Due to compiler differences resulting on error message on mac, these instructions are currently PC only.**+**This document provides more detailed developer info on the [[a5s:firmware|custom firmware]], as well as info on how to setup a build environment and build your own version of the firmware from scratch. Due to compiler differences resulting on error message on mac, these instructions are currently PC only.**
  
 === A5S & A1: Printer Firmware Differences === === A5S & A1: Printer Firmware Differences ===
Line 10: Line 10:
  
 === Step 2. Configure your files for the correct printer. === === Step 2. Configure your files for the correct printer. ===
-These differences are all contained within the main configuration.h files for these printers. To configure the build for the correct printer, the correct configuration files can be copied from the [[https://github.com/pinchies/Marlin/tree/jgaurora_a5s_a1_with_lcd_buttons/Marlin/src/config/examples/JGAurora|config/examples/JGAurora]] directory, into the main [[https://github.com/pinchies/Marlin/tree/jgaurora_a5s_a1_with_lcd_buttons/Marlin|/Marlin/]] folder, to be placed alongside Marlin.h.+These differences are all contained within the main configuration.h files for these printers. To configure the build for the correct printer, the correct configuration files can be copied from the [[https://github.com/pinchies/Marlin/tree/jgaurora_a5s_a1_with_lcd_buttons/Marlin/src/config/examples/JGAurora|config/examples/JGAurora]] directory, into the main [[https://github.com/pinchies/Marlin/tree/jgaurora_a5s_a1_with_lcd_buttons/Marlin|/Marlin/Marlin/]] folder, to be placed alongside Marlin.h.
  
 === Step 3. Install a platformio-compatible code editor of your choice. === === Step 3. Install a platformio-compatible code editor of your choice. ===
Line 18: Line 18:
 === Step 4. Install Platformio === === Step 4. Install Platformio ===
 Install instructions for Platformio are [[https://platformio.org/platformio-ide|here]]. Install instructions for Platformio are [[https://platformio.org/platformio-ide|here]].
-Should look have the square icon on the left toolbar like this after installing:+
 {{:a5s:platformio-ide-vscode-pkg-installer.png?direct&600|}} {{:a5s:platformio-ide-vscode-pkg-installer.png?direct&600|}}
  
 NOTE: Installing takes some time, and happens in the background. You may want to leave this running for an hour to fully setup. If you find your projects don't compile, and seem to be frozen, don't worry, PlatformIO probably hasn't finished fully installing all the internal components. NOTE: Installing takes some time, and happens in the background. You may want to leave this running for an hour to fully setup. If you find your projects don't compile, and seem to be frozen, don't worry, PlatformIO probably hasn't finished fully installing all the internal components.
- 
- 
  
 === Step 5. Setup Workspace === === Step 5. Setup Workspace ===
 Add the entire Marlin root folder to your workspace in Platformio. Add the entire Marlin root folder to your workspace in Platformio.
 +
 {{:a5s:platformio-ide-vscode-welcome.png?direct&600|}} {{:a5s:platformio-ide-vscode-welcome.png?direct&600|}}
- 
  
 === Step 6. Build Project === === Step 6. Build Project ===
 +Click the build button in the toolbar, like shown below. Platformio will download the correct packages and libraries for the firmware, so this may take some time.
 +{{:a5s:platformio-ide-vscode-build-project.png?direct&600|}}
 +
 +=== Step 7. Install Firmware ===
 +The compiled firmware files will be found in the main folder, located in an invisible folder in ./.pioenvs/jgaurora_ax/
 +
 +There will be two files:
 +  * firmware_with_bootloader.bin
 +  * firmware_for_sd_upload.bin.
 +
 +The file with bootloader is to be used if flashing a blank motherboard, as it includes the bootloader that is responsible for handling the SD card upload process. This means there is nothing to worry about if you want to experiment with creating your own firmware without the bootloader, as you can reinstall it later on. To flash the full firmware you will need a SWD programmer (a ST-link clone off ebay costs $5 or less).
 +
 +If you don't have a programmer device available, then you will have to flash using the SD card method:
 +  - Place the bin "firmware_for_sd_upload.bin" onto the SD card.
 +  - Turn off the printer, and unplug it from the wall.
 +  - Wait 30 seconds. 
 +  - Insert the SD card.
 +  - Plug in and turn on the printer. Flashing will occur automatically.
 +
 +Flashing via SD card doesn't change the bootloader at all, so going back to factory firmware is simply following the instructions above, but using the [[https://jgaurorawiki.com/a5s/firmware#official-original-manufacturer-firmware|OEM firmware files linked to here]].
 +
 +
 +==== Original A5S Source Code ====
 +JGAurora released the source code for the A5S in late 2018. These files can be download here:
 +
 +  * [[https://www.dropbox.com/s/tfgaksnd7nf0q55/Source%20of%20A5S_20181122090929.zip?dl=0|A5S Firmware Code source from JGAURORA]]
 +
 +This firmware is based off the open source Dlion firmware project. That project which was an implementation of (a very old version of) the Marlin firmware, within a OpenRTOS project, with a touch interface. JGAurora created their current firmware from this project, but changed the interface side substantially. For more into this topic, you may want to read [[https://samuelpinches.com.au/3d-printer/today-pigs-are-flying-and-%e5%a4%aa%e9%99%bd%e5%be%9e%e8%a5%bf%e9%82%8a%e5%8d%87%e8%b5%b7-the-sun-rises-in-the-west-or-a-32-bit-mess/|this blog post]]. 
 +
 +==== Pinout ====
 +(**Click image to enlarge**)
 +
 +{{:a5s:pinout.png?direct&300|}}
 +
a5s/custom-firmware-developer-info.txt ยท Last modified: 2020/12/25 02:13 by 127.0.0.1