Home JGAurora A5S, A1 & A3S-V2 Modifications & Upgrades

How To: Compile your own custom Marlin 2.0 firmware for JGAurora A5S and A1

Samuel PinchesSamuel Pinches Posts: 2,955Administrator

Custom Marlin 2.0 Firmware for JGAurora A5S & A1

(updated Dec 1 2019!)
Here's a quick guide how to compile your own Marlin 2.0 firmware for the A5S and A1.
This guide is for PC only. Need help for Mac? Post below and I'll guide you.
  1. Download and install Python 2.7.
  2. Download and install Git.
  3. Download and install GitHub Desktop.
  4. Download and install VSCode.
  5. Open Github desktop, and clone a new repository.
  6. Use the URL: https://github.com/pinchies/Marlin.git Broken!
  7. Use the URL to clone: https://github.com/MarlinFirmware/Marlin.git
  8. After cloning, switch the branch, and choose the "bugfix-2.0" branch (important!!)
  9. Copy the correct "Configuration.h" and "Configuration_Adv.h" files for your printer, from the /Github/Marlin/config/examples/JGAurora/ folder, and place them in the /Github/Marlin/Marlin/ folder (alongside the Marlin.ino file), replacing the existing files.
  10. The firmware source code will then start to download. When finished, you should now have a folder:
    /My Documents/Github/Marlin
  11. Open VSCode, and install the PlatformIO plugin. Detailed instructions are here. It may take some time to complete the installation as various components are download and compiled. You will need to restart VSCode once this is completed.


  12. Open the Marlin folder as your workspace.


  13. Edit the file "platformio.ini", which is found in the Marlin . Change line 16, from  "default_envs = mega2560" to "default_envs = jgaurora_a5s_a1".
  14. Compile your project, using the Build button. It may take some time as various components are download and compiled.


  15. You will now have compiled firmware, ready for use! You can find the compiled firmware in the main Marlin folder, inside an hidden folder: \Documents\GitHub\Marlin\.pio\build\jgaurora_a5s_a1

Installing the custom firmware

After compiling the firmware, there will be two files:
  • firmware_with_bootloader.bin
  • firmware_for_sd_upload.bin.

Installing the firmware via SD Card

The file firmware_for_sd_upload.bin, is ready to go, and can be put onto an SD card for automatic flashing. This process is 100% reversible, and you can load the factory firmware back on, at any time.

  1. Place the bin “firmware_for_sd_upload.bin” onto the SD card.
  2. Turn off the printer, and unplug it from the wall.
  3. Wait 30 seconds.
  4. Insert the SD card.
  5. Plug in and turn on the printer. Flashing will occur automatically.

The file with bootloader is only 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). 

Flash Firmware via ST-Link

To use an ST-link to upload firmware:

  1. Connect the GND, SWDIO, SWCLK pins on the motherboard, with the ST-Link. Do not connect the 3.3V pins.


  2. Then, plug the printer into your computer with a USB cable.
  3. Download and then install the ST-Link software tool (STSW-LINK004). Free registration is required.
  4. Open the program, STM32 ST-LINK UTILITY.
  5. Load the desired .BIN file, with bootloader.
  6. Connect to the board.


  7. Select the option to start flashing.


  8. Wait for flashing to complete...
  9. Success! You've flashed your firmware.


More Info

The A5S and A1 are powered by the same motherboard. The only difference between these printers, is that the x-axis is reversed on the A1, so the motor directions must be changed. This also means that homing occurs to X-max, rather than the traditional X-min. The only other differences are minor geometry changes since the A5S and A1 differ in build volume.

Original A5S Source Code

JGAurora released the source code for the A5S in late 2018. These files can be download here.

The original factory JGAurora 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 this blog post about the Dlion firmware. It is still actively used in some 3D printer models today! 















Post edited by Samuel Pinches on

Comments

  • PedroAPedroA Posts: 3Member

    Hello Samuel,
    I have a Mac and wanted to update the firmware to make some physical changes to my printer. Would you help me with the steps for Mac?

    I also noticed that step 13 is missing from the pc guide😅

    Thanked by 1Samuel Pinches
  • Samuel PinchesSamuel Pinches Posts: 2,955Administrator
    edited May 20

    Hi and welcome @PedroA !
    Thanks for picking that up -- I'll add step 13 right away!

    Regarding compiling on mac, I think most of the steps should work the same way. Please ask further questions if there is anything unclear. For flashing, you will need to use the SD method, as I do not think there is an ST-link software equivalent for Mac.

    Post edited by Samuel Pinches on
  • PedroAPedroA Posts: 3Member

    Hey Samuel!!
    Thank you very much for your response.
    I was able to follow the steps and edit the part of the code that I wanted, but I couldn't compile the project, every time I tried an error message would show the terminal.

    This is the Full Terminal code:

    Executing task: platformio run <

    Processing jgaurora_a5s_a1 (platform: ststm32@~12.1; board: genericSTM32F103ZE; framework: arduino)

    Verbose mode can be enabled via -v, --verbose option
    CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103ZE.html
    PLATFORM: ST STM32 (12.1.1) > STM32F103ZE (64k RAM. 512k Flash)
    HARDWARE: STM32F103ZET6 72MHz, 64KB RAM, 512KB Flash
    DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
    PACKAGES:
    - framework-arduinoststm32-maple 3.10000.201129 (1.0.0)
    - tool-stm32duino 1.0.1
    - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
    Converting Marlin.ino
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 28 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.0.0
    |-- 0.4.4
    | |-- 1.0
    |-- 1.0
    |--
    |-- 0.99
    |-- 1.0
    |-- <Servo(STM32F1)> 1.1.2
    Building in release mode
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/HAL.cpp.o
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/HAL_SPI.cpp.o
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/MarlinSerial.cpp.o
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/SPI.cpp.o
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/Servo.cpp.o
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp.o
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/HAL.cpp:30:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/HAL_SPI.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/eeprom_bl24cxx.cpp.o
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/MarlinSerial.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    Compiling .pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/eeprom_flash.cpp.o
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/Servo.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/dogm/../../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/dogm/../../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp:21:
    Marlin/src/HAL/STM32F1/dogm/../../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/eeprom_flash.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp:29:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfigPre.h:49:0,
    from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:28,
    from Marlin/src/HAL/STM32F1/SPI.cpp:43:
    Marlin/src/HAL/STM32F1/../../inc/Conditionals_LCD.h:311:4: warning: #warning "Don't forget to update your TFT settings in Configuration.h." [-Wcpp]
    #warning "Don't forget to update your TFT settings in Configuration.h."
    ^~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL_SPI.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL_SPI.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL.cpp:30:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL.cpp:30:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL.cpp:30:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/MarlinSerial.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/MarlinSerial.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/MarlinSerial.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/HAL.cpp.o] Error 1
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/HAL_SPI.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/MarlinSerial.cpp.o] Error 1
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/HAL_SPI.cpp.o] Error 1
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/Servo.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/Servo.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/Servo.cpp:25:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/SPI.cpp:43:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/SPI.cpp:43:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/Servo.cpp.o] Error 1
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/SPI.cpp:43:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/SPI.cpp.o] Error 1
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_flash.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_flash.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_flash.cpp:32:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp:29:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp:29:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    In file included from Marlin/src/HAL/STM32F1/../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp:29:
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/dogm/../../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp:21:
    Marlin/src/HAL/STM32F1/dogm/../../../inc/SanityCheck.h:72:4: error: #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    #error "Your Configuration.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration.h."
    ^~~~~
    In file included from Marlin/src/HAL/STM32F1/dogm/../../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp:21:
    Marlin/src/HAL/STM32F1/dogm/../../../inc/SanityCheck.h:77:4: error: #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    #error "Your Configuration_adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your Configuration_adv.h."
    ^~~~~
    Marlin/src/HAL/STM32F1/dogm/../../../inc/SanityCheck.h:103:4: error: #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    #error "SD_DETECT_INVERTED is now SD_DETECT_STATE (HIGH)."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/eeprom_flash.cpp.o] Error 1
    In file included from Marlin/src/HAL/STM32F1/dogm/../../../inc/MarlinConfig.h:49:0,
    from Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp:21:
    Marlin/src/HAL/STM32F1/dogm/../../../inc/SanityCheck.h:835:6: error: #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    #error "BABYSTEPPING requires BABYSTEP_MULTIPLICATOR_Z."
    ^~~~~
    Marlin/src/HAL/STM32F1/dogm/../../../inc/SanityCheck.h:902:6: error: #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."
    ^~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/eeprom_bl24cxx.cpp.o] Error 1
    *** [.pio/build/jgaurora_a5s_a1/src/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp.o] Error 1
    ================================================ [FAILED] Took 2.89 seconds ================================================

    Environment Status Duration


    jgaurora_a5s_a1 FAILED 00:00:02.886
    ========================================== 1 failed, 0 succeeded in 00:00:02.886 ==========================================
    The terminal process "platformio 'run'" terminated with exit code: 1.

    Thanked by 1Samuel Pinches
  • Samuel PinchesSamuel Pinches Posts: 2,955Administrator
    edited May 21

    Ok, so the issues you need to investigate before compiling will work are the errors, such as, for example:

    #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE."

    This would suggest you need to disable ADVANCED_PAUSE_FEATURE , or to define the FILAMENT_UNLOAD_PURGE_FEEDRATE value. These should be found in configuration.h or configuration_adv.h

    You may want to start with my working A5S configuration files, and make changes from there. Please take a look at my working build here: https://github.com/pinchies/Marlin/tree/jgaurora_a5s_color_ui -- this is only about a month old.

    Post edited by Samuel Pinches on
  • PedroAPedroA Posts: 3Member

    It worked perfectly!!
    Thank you very much for your help.😁😁

  • Samuel PinchesSamuel Pinches Posts: 2,955Administrator

    Awesome!! 😁

Sign In or Register to comment.