Marlin Firmware configured for FLSUN Super Racer with MKS Robin Nano V3 motherboard.

Overview

If you like my job, you can support me by paying me a 🍺 or a . Thanks 🙂

Download






Marlin 2.0.8 Firmware configured for FLSUN Super Racer with MKS Robin Nano V3 motherboard. Based on FLSUN sources.






Main features:

  • MKS Robin Nano V3 motherboard support
  • TMC2209 / TMC2226 UART drivers support
  • Nozzle & Bed PID support
  • Enabled thermal protection for Nozzle & Bed
  • Bed Leveling Bilinear 9 x 9 point support
  • Nozzle Park / Advanced Pause support with improved position
  • Babystepping with Combine Z-Offset support
  • EEPROM support
  • S-Curve Acceleration support
  • Bed Skew Compensation support (https://www.thingiverse.com/thing:2563185)
  • G26 - Mesh Validation Pattern support
  • G33 - Delta Auto Calibration support
  • Enabled StealthChop for extruder
  • Disabled Power Loss Recovery because not correctly implemented, repeated writes to the EEPROM are performed. Not good for EEPROM.
  • Binary file transfert support to transfer and update the firmware remotely
  • Enabled host prompt support
  • Enabled Firmware Info with M115
  • Enabled monitor for TMC drivers
  • Enabled M106 to report the new fan speed when changed
  • Improved probing speed
  • Improved buffer size
  • Fix TMC drivers settings
  • Disabled not used settings

Installation procedure:

  • Do an EEPROM reset before flashing the new firmware (command M502 followed by command M500 in a terminal or with the TFT screen).
  • Restart the printer.
  • Choose version you want here, SDCARD to use microSD Card port or USB to use USB port.
  • Copy Robin_nano_v3.bin file to the root of the microSD card (max capacity 32GB, formatted in FAT32, allocation unit size 4096).
  • With printer off, insert the microSD card into the dedicated port on the motherboard and turn on the printer.
  • Flash procedure starts (without displaying anything on the screen) and lasts a few seconds.
  • Check contents of the microSD card, Robin_nano_v3.bin file has been renamed to ROBIN_NANO_V3.CUR which indicates that the flash was successful.
  • It's possible after flash you loose text on TFT screen, select your language again and save.
  • Do an EEPROM reset again (command M502 followed by command M500 in a terminal or with the TFT screen).
  • Restart the printer.
  • To disable redundant "Not SD printing" commands:
    • M27 S0
  • Launch a Nozzle PID in a terminal:
    • M303 E0 S220 C8
    • Retrieve the values Kp, Ki and Kd then:
    • M301 PKp IKi DKd
    • Then M500 to save.
  • Launch a Bed PID in a terminal:
    • M303 E-1 S90 C8
    • Retrieve the values Kp, Ki and Kd then:
    • M304 PKp IKi DKd
    • Then M500 to save.
  • Launch an extruder calibration in a terminal:
    • Heat your hotend to its usual operating temperature :
    • M109 Sxxx where xxx is temperature
    • Make a pencil mark at 120mm on the filament from the hole on the top of the printer (where we insert the filament)
    • M83 to switch to relative mode.
    • G1 E100 F100 for extruding 100mm.
    • Wait until the end of the extrusion and measure if there is still 20mm of the line on the filament until the filament inlet otherwise apply this calculation:
      • To obtain extrusion length: 120 - (value measured between the line and the filament inlet)
      • To obtain number of steps to have extruded 100mm: (value of E-steps/mm) x 100. Default E-Steps value is 415.
      • To obtain the new E-steps/mm: (number of steps to have extruded 100mm) / (extrusion length)
    • M92 E(new E-steps/mm)
    • Then M500 to save.
  • Launch a Delta Calibration a wait until end of process :
    • Make sure to connect bed level probe before to start the following command.
    • G33
    • Then M500 to save.
  • Start auto-leveling from the TFT screen menu and adjust Z-Offset. Don't forget to save.
  • Perform a full format of your SD card (not a quick format) to avoid problems afterwards.

Link for a terminal: Printrun (ex Pronterface)

Screen firmware:

This Marlin firmware also requires updating the screen firmware, follow these instructions :

  • Format microSD to FAT32 with allocation unit size to 4096.
  • Extract screen firmware zip file here : Screen Firmware V1.3 Stock from FLSUN and copy DWIN_SET folder to the root of the microSD card.
  • Turn off printer.
  • Remove the screen cover and insert the card into the microSD slot.
  • Turn on the printer.
  • Screen firmware installation begins immediately, you will see several scrolling lines.
  • When the END ! appears on the screen, turn off printer and remove the microSD card.
  • Installation is complete, you can replace the screen cover and turn the printer back on.

Capture d’écran 2021-10-01 à 18 59 01

Possible changes :

  • If you have SKR 1.3 motherboard, set these values :

    • In platformio.ini : default_envs = LPC1768
    • In Configuration.h : #define MOTHERBOARD BOARD_BTT_SKR_V1_3
    • In Configuration.h : #define SERIAL_PORT -1
    • In Configuration.h : #define SERIAL_PORT_2 0
    • In Configuration_adv.h : #define E0_AUTO_FAN_PIN P2_04
  • If you want to use microSD port :

    • In Configuration_adv.h : //#define USB_FLASH_DRIVE_SUPPORT
    • In Configuration_adv.h : //#define USE_OTG_USB_HOST
  • If you want to use USB port :

    • In Configuration_adv.h : #define USB_FLASH_DRIVE_SUPPORT
    • In Configuration_adv.h : #define USE_OTG_USB_HOST

If you need to make any changes in sources files, please read this for compilation: here

Use VSCode et PlatformIO for compilation (see here).

Issues
  • Unable To Compile (User Error)

    Unable To Compile (User Error)

    Unable to Compile

    I've tried to compile the code to support the E3D Revo hotend, but I am unable to Compile the code. The Marlin devs are saying that this is likely caused by the Marlin version being outdated.

    Really just trying to compile the code to support an E3D Thermistor.

    Here are the errors I'm getting when attempting to compile with PlatformIO:

    E:\ADragone\OneDrive\Computers\Nomad\Desktop\Marlin-SuperRacer-MKS-Nano-V3-26-02-2022> platformio run -e mks_robin_nano_v3   
    Processing mks_robin_nano_v3 (platform: [email protected]~10.0; board: genericSTM32F407VGT6; framework: arduino)
    -----------------------------------------------------------------------------------------------------------------------------Tool Manager: Installing platformio/framework-arduinoststm32 @ ~4.10900.0
    Unpacking  [####################################]  100%
    Tool Manager: framework-arduinoststm32 @ 4.10900.200819 has been installed!
    Verbose mode can be enabled via `-v, --verbose` option
    CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F407VGT6.html
    PLATFORM: ST STM32 (10.0.1) > STM32F407VG (128k RAM, 64k CCM RAM, 1024k Flash
    HARDWARE: STM32F407VGT6 168MHz, 128KB RAM, 1MB Flash
    DEBUG: Current (jlink) External (jlink, stlink)
    PACKAGES: 
     - framework-arduinoststm32 4.10900.200819 (1.9.0) 
     - framework-cmsis 2.50501.200527 (5.5.1) 
     - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
    Converting Marlin.ino
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Library Manager: Installing bitbucket-fmalpartida/LiquidCrystal @ 1.5.0
    KeyError: 'framework-stm32cube':
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 181:
        env.SConscript("$BUILD_SCRIPT")
      File "C:\Users\Anthony\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Script\SConscript.py", line 597:
        return _SConscript(self.fs, *files, **subst_kw)
      File "C:\Users\Anthony\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Script\SConscript.py", line 285:
        exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
      File "C:\Users\Anthony\.platformio\platforms\[email protected]\builder\main.py", line 99:
        target_elf = env.BuildProgram()
      File "C:\Users\Anthony\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Util.py", line 742:
        return self.method(*nargs, **kwargs)
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 62:
        env.ProcessProjectDeps()
      File "C:\Users\Anthony\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Util.py", line 742:
        return self.method(*nargs, **kwargs)
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 141:
        project_lib_builder = env.ConfigureProjectLibBuilder()
      File "C:\Users\Anthony\.platformio\packages\tool-scons\scons-local-4.3.0\SCons\Util.py", line 742:
        return self.method(*nargs, **kwargs)
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 1104:
        project.install_dependencies()
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 940:
        lm.install(spec)
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\package\manager\_install.py", line 48:
        pkg = self._install(
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\package\manager\library.py", line 105:
        if is_builtin_lib(spec.name):
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\commands\lib\helpers.py", line 49:
        for storage in storages or get_builtin_libs():
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\commands\lib\helpers.py", line 34:
        for storage in p.get_lib_storages():
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\platform\base.py", line 214:
        pkg = self.get_package(opts["package"])
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\platform\_packages.py", line 30:
        return self.pm.get_package(spec or self.get_package_spec(name))
      File "C:\Users\Anthony\.platformio\penv\lib\site-packages\platformio\platform\_packages.py", line 22:
        owner=self.packages[name].get("owner"),
    ================================================ [FAILED] Took 59.03 seconds ================================================
    
    Environment        Status    Duration
    -----------------  --------  ------------
    mks_robin_nano_v3  FAILED    00:00:59.035
    =========================================== 1 failed, 0 succeeded in 00:00:59.035 ===========================================
    E:\ADragone\OneDrive\Computers\Nomad\Desktop\Marlin-SuperRacer-MKS-Nano-V3-26-02-2022> echo "done" >"C:\Users\Anthony\AppData\Local\Temp\ipc"
    E:\ADragone\OneDrive\Computers\Nomad\Desktop\Marlin-SuperRacer-MKS-Nano-V3-26-02-2022> 
    

    Marlin-SuperRacer-MKS-Nano-V3-26-02-2022 (2).zip

    opened by nomadsgalaxy 23
  • First pass at fixing FLSun's mishandling of EEPROM data

    First pass at fixing FLSun's mishandling of EEPROM data

    This PR is not ready for prime time yet, but its mostly there. I wanted to share the changes with your for your review. I am not a Marlin expert and I am sure you know more than I do about it. There are also some files like the readme that are intentioned for my fork and I need to prune them from this request.

    I would also like to test it some more on my printer (have been testing only for a couple of days since I finished all the fixes) but so far its working great.

    I think I got all the files I changed in this PR but if you get a build error or anything let me know the details and I will see if I left anything out.

    Description

    So as I have also now commonly seen complained about on the Facebook group, I too was suffering the issue where all configurations would clear upon power cycling the printer, and text would also disappear. This could be solved by going to Language and selecting "English", and then resetting all my calibrations but that's foolish and should not be required.

    So I made a large mistake, and started poking around the source code. After adding much logging and probing all of the settings logic I discovered a myriad of issues.

    1. In settings.cpp FLSun did not correctly add their custom values to the EEPROM definition. Instead they opted to very smartly just write them to hardcoded EEPROM locations like so
    persistentStore.write_data(960, (uint8_t*)&Flsun_language, sizeof(Flsun_language));//新增,在eeprom960位置写入语言数据
    persistentStore.write_data(970, (uint8_t*)&total_time, sizeof(total_time));//新增,在eeprom970位置写入总打印时间
    

    If one peruses the rest of settings.cpp you will find that all other original Marlin settings are located in EEPROM based on relative size and position and in reference to the "SettingsDataStruct". FLSun did not update this struct, and instead short-circuited the logic to directly write to the persistent storage using hardcoded values as above into locally defined external vars declared as so (not in the data layout struct)

    extern uint16_t Flsun_language;//新增
      extern millis_t total_time;//新增
      extern uint8_t sd_filename_size;//新增
      bool MarlinSettings::save() {
    

    Why is this important? Well one of the reasons that EEPROM storage was unstable, and also why language and print time would so frequently vanish is because the regular marlin settings would end up overwriting this hardcoded 960/970 space when running your custom firmware. I suspect that some additional settings you may have enabled/disabled caused the problem to show up but at the end of the day the implementation they did was just crude and bad. Here are logs that show:

    SENDING:M500
    echo:L574 POS is :100"
    echo:settings: 624 Flsun language is :1"
    echo:settings: 625 Total time is :0"
    echo:attempting to write value :1"
    echo:existing value is :0"
    echo:attempting to write value :0"
    echo:existing value is :0"
    echo:L574 POS is :106"
    echo:L574 POS is :107"
    echo:L574 POS is :179"
    echo:L574 POS is :195"
    echo:L574 POS is :199"
    echo:L574 POS is :211"
    echo:L574 POS is :212"
    echo:L574 POS is :216"
    echo:L574 POS is :220"
    echo:L574 POS is :224"
    echo:L574 POS is :225"
    echo:L574 POS is :226"
    echo:L574 POS is :230"
    echo:L574 POS is :234"
    echo:L574 POS is :238"
    echo:L574 POS is :242"
    echo:L574 POS is :246"
    echo:L574 POS is :250"
    echo:L574 POS is :254"
    echo:L574 POS is :258"
    echo:L574 POS is :262"
    echo:L574 POS is :274"
    echo:L574 POS is :278"
    echo:L574 POS is :282"
    echo:L574 POS is :286"
    echo:L574 POS is :290"
    echo:L574 POS is :294"
    echo:L574 POS is :298"
    echo:L574 POS is :302"
    echo:L574 POS is :306"
    echo:L574 POS is :310"
    echo:L574 POS is :311"
    echo:L574 POS is :312"
    echo:L574 POS is :320"
    echo:L574 POS is :328"
    echo:L574 POS is :652"
    echo:L574 POS is :653"
    echo:L574 POS is :654"
    echo:L574 POS is :670"
    echo:L574 POS is :671"
    echo:L574 POS is :675"
    echo:L574 POS is :687"
    echo:L574 POS is :691"
    echo:L574 POS is :695"
    echo:L574 POS is :699"
    echo:L574 POS is :711"
    echo:L574 POS is :723"
    echo:L574 POS is :735"
    echo:L574 POS is :755"
    echo:L574 POS is :757"
    echo:L574 POS is :769"
    echo:L574 POS is :770"
    echo:L574 POS is :772"
    echo:L574 POS is :778"
    echo:L574 POS is :779"
    echo:L574 POS is :811"
    echo:L574 POS is :812"
    echo:L574 POS is :813"
    echo:L574 POS is :817"
    echo:L574 POS is :821"
    echo:L574 POS is :853"
    echo:L574 POS is :917"
    echo:L574 POS is :933"
    echo:L574 POS is :949"
    echo:L574 POS is :953"
    echo:attempting to write value :0"
    echo:existing value is :1"
    echo:L574 POS is :965"
    echo:attempting to write value :0"
    echo:existing value is :0"
    echo:L574 POS is :1073"
    echo:L574 POS is :1085"
    echo:L574 POS is :1093"
    echo:L574 POS is :1105"
    echo:L574 POS is :1106"
    echo:L574 POS is :100"
    echo:L574 POS is :104"
    //action:notification Settings Stored
    Not SD printing
    Disconnected.
    

    The "attempting to write" echo was placed in the low level eeprom_wired file right before the write operation and only fired with the original and proposed values when the "pos" variable was 960 or 970, and the "flsun language is" log message was placed right above the two write_data calls I quoted above. As you can see towards the end of the M500 operation a write was done to the 960/970 sectors that was not related to FLSun's explicit write_data commands.

    My fix was just to throw out FLSun's settings.cpp and rebase from a clean copy pulled from Marlin's 2.0.8.1 release. I then added the two relevant FLSun specific fields (total time and language) back in by properly defining them in the data struct and having them written/read by the same relative position logic as all the other fields.

    That was one of the problems

    1. The default I2C pins for the EEPROM are not appropriate for the Robin Nano V3 board. This is a known and fixed issue in the main Marlin repo. I simply applied that fix in this PR. (https://github.com/MarlinFirmware/Marlin/pull/21174). Don't ask me what the deal is regarding this on the OEM FLSun firmware. They use the wrong pins too I think, so :shrug: :shrug: :shrug:

    2. Due to the size of the mesh generated by the "Auto Level" UI function, the write operation to the EEPROM would time out. This would corrupt the EEPROM. In this case after power cycling the screen would hang with no text or temperature readout for 30-60 seconds. It would then restore the EEPROM to the default values in Config.h and resume operation. This is a known and fixed issue on the main Marlin project for the Nano V3 board but FLSun did not utilize the fix for whatever reason. This is a nasty bug that could cause all sorts of unpredictable weirdness even if you didn't turn your printer off after auto-leveling as the EEPROM would be entirely corrupted until the next reboot. (https://github.com/MarlinFirmware/Marlin/pull/21436)

    3. I also pulled in a couple of adjacent fixes from the main project which may or may not improve stability Prevent watchdog reset in setup() #21776 (https://github.com/MarlinFirmware/Marlin/pull/21776) Blocking Move Followup 2 (fix delta failed probe) #21781 (https://github.com/MarlinFirmware/Marlin/pull/21781)

    I also did some very minor cleanup in the core marlin file to put the FLSun language logic (I don't know why they didn't just tap into the existing Marlin language logic) and the FLSun print time update logic into their own functions. This made syncing them up with the data pulled from settings.cpp easier/cleaner.

    Benefits

    I can turn my printer on and off now without fear for my, my cat's, or my printer's safety. Settings (including language!) do not reset to the configuration.h constants on power cycle. Missing text no longer occurs.

    Configurations

    I use the same configuration as in the github project, but with a higher max_temp set.

    Alt Text

    opened by MaximumChungus 20
  • Removal of FLSun EEPROM logic related to power loss protection

    Removal of FLSun EEPROM logic related to power loss protection

    Description

    In my first PR the power loss eeprom calls were left intact. Due to dependencies inside of the FLSun Marlin_Serial.cpp.o file it is not currently possible to fully disable Marlin's power loss protection feature via the normal means of undefining the flag. In this case I have located all eeprom calls FLSun makes inside of the power loss recovery logic and just commented them out.

    I have also pulled in some other stability fixes from the main project where appropriate

    1. STM32: Prevent possible crashes before HAL init #22508 (https://github.com/MarlinFirmware/Marlin/pull/22508) -> This appears to reduce the frequency and duration of the bootup hanging

    2. Make F_CPU a compile time constant (and not a runtime constant). #21051 (https://github.com/MarlinFirmware/Marlin/pull/21051) -> This seems to improve stability when performing eeprom operations, particularly when printing is currently in progress

    3. Fix Robin Nano V3 board X-diag pin define #22340 (https://github.com/MarlinFirmware/Marlin/pull/22340) -> This discrepancy was discovered on the main project recently on 07/12/21 and corrects the pin definition for X_DIAG. PD15 was used due to a typo on the pin map that the manufacturer has since corrected (https://github.com/makerbase-mks/MKS-Robin-Nano-V3.X/issues/17)

    4. HAL eeprom cleanup (https://github.com/MarlinFirmware/Marlin/commit/38b44e3fc9cb96866f9c25058667888ae43cfc0c) -> This modernizes the eeprom code used by our boards and corrects lots of bad type definitions and such

    5. Fix smaller and larger I2C EEPROM support #22081 (https://github.com/MarlinFirmware/Marlin/pull/22081/files) -> Similar to item 4, this is just improvements to the eeprom logic that is present in newer versions of Marlin

    Benefits

    After extensive testing of my initial branch, I was able to locate one edge case where eeprom would still be lost due to eeprom writes that occurred during printing due to the remaining FLSUN power loss writes. This was (fortunately!) very hard to reproduce even trying to make it happen and I think was a combination of the additional FLSun writes during active printing + extra and inaccurate delays due to limited bandwidth when the board is tied up with the print calculations. With the changes in this branch I am no longer able to reproduce loss of the eeprom through any use case.

    Additionally as a happy side effect of some of these updates from the main branch I am noticing that the slow bootup/bootup hangs happen much less frequently and when they do occur they are much shorter duration than before. Temperature readings and print time may disappear during the short hang, but they will restore to the correct values from the eeprom and the printer will work as intended.

    @Guilouz as a side note I know none of these changes (in this PR or the last) are super fancy, but the testing, debugging, and finding of the correct patches to pull in from Marlin have been very time consuming. I would appreciate greatly to leave my name in the config author area if you find these changes helpful. I mostly went to the trouble to fix my own SR, but do appreciate some small credit for the time spent.

    Anyways, I can use my printer to print now without worry and that's a major victory. I hope these changes also work well for you and other users. If I notice anything else I will continue to provide the updates.

    opened by MaximumChungus 10
  • version for mks ts_35

    version for mks ts_35

    Bonjour,

    serai-t'il possible d'avoir une version de ton firmware pour les btt- tft70 adapté pour les mks ts-35?

    j'ai essayé de modifier tes sources, mais je ne suis pas encore assez bon pour avoir un truc réussi.

    merci!

    opened by smiley-2 6
  • Can't find where to place MarlinSerial.cpp.o file.

    Can't find where to place MarlinSerial.cpp.o file.

    I'm trying to compile the firmware for my Super Racer specifically to enable linear advance and to use a USB thumb drive in place of a microSD card. I've followed Teaching Tech's youtube guide on using VSCode and the Auto Build Marlin plugin. I've gotten as far as the actual building of the firmware, and I see that I need to place a "MarlinSerial.cpp.o" file in a "\src\HAL\STM32" folder. I however cannot for the life of me find where this folder is. Any help would be much appreciated!

    opened by KnownOriginator 6
  • Build (linker) fails with tons of undefined symbols

    Build (linker) fails with tons of undefined symbols

    [[email protected] Marlin-SuperRacer-MKS-Nano-V3]$ pio run Processing mks_robin_nano_v3_usb_flash_drive_msc (platform: [email protected]~10.0; board: genericSTM32F407VGT6; framework: arduino)

    Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F407VGT6.html PLATFORM: ST STM32 (10.0.1) > STM32F407VG (128k RAM, 64k CCM RAM, 1024k Flash HARDWARE: STM32F407VGT6 168MHz, 128KB RAM, 1MB Flash DEBUG: Current (jlink) External (jlink, stlink) PACKAGES:

    • framework-arduinoststm32 0.0.0
    • framework-cmsis 2.50501.200527 (5.5.1)
    • toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1) Converting Marlin.ino LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 13 compatible libraries Scanning dependencies... Dependency Graph |-- 0.7.1 | |-- 1.0 | |-- 1.0 |-- 1.5.0 | |-- 1.0 |-- 1.0 |-- 1.1.2 |-- 1.0 |-- 1.0.0 |-- 1.0 |-- 2.0.1 |-- <qr_encode> 0.0.0+20201117144502 Building in release mode Linking .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/firmware.elf /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in function finishSDPrinting()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:396: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:397: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:404: undefined reference tototal_time' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:404: undefined reference to my_print_state' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in functionsetFLSunHours(unsigned long)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1304: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in functionsetFLSunLanguage(unsigned short)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1310: undefined reference to change_en()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1314: undefined reference tochange_zh_CN()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1318: undefined reference to change_zh_TW()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1322: undefined reference tochange_ru()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1326: undefined reference to change_fr()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1330: undefined reference tochange_es()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1334: undefined reference to change_de()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1338: undefined reference tochange_jp()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in function abortSDPrinting()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:386: undefined reference tojump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in function loop': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1371: undefined reference tojump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1379: undefined reference to tmc_jump' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in functionMarlinSerial::begin(unsigned long)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/inc/../HAL/./STM32/MarlinSerial.h:37: undefined reference to MarlinSerial::begin(unsigned long, unsigned char)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/MarlinCore.cpp.o: in functionsetup': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1279: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1280: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1283: undefined reference to jump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1293: undefined reference toenable_buzzer()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1288: undefined reference to jump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1297: undefined reference todisable_buzzer()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1299: undefined reference to MSerial3' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1299: undefined reference tototal_time' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/MarlinCore.cpp:1299: undefined reference to my_print_state' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/core/serial.cpp.o: in function_GLOBAL__sub_I_marlin_debug_flags': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/core/serial.cpp:93: undefined reference to MSerial3' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/feature/tmc_util.cpp.o: in functiontest_tmc_connection(bool, bool, bool, bool)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/feature/tmc_util.cpp:1229: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/feature/tmc_util.cpp:1247: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/feature/tmc_util.cpp:1264: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/feature/tmc_util.cpp:1287: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/calibrate/M665.cpp.o: in function GcodeSuite::M665()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/calibrate/M665.cpp:62: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/calibrate/M665.cpp.o:/mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/calibrate/M665.cpp:63: more undefined references to print_thr_adress_string(int, int, char*)' follow /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/gcode.cpp.o: in functionGcodeSuite::get_destination_from_command()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/gcode.cpp:175: undefined reference to buf_clear(int, int, int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/gcode.cpp:179: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/gcode.cpp:184: undefined reference to buf_clear(int, int, int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/gcode.cpp:197: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/host/M114.cpp.o: in function GcodeSuite::M114()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/host/M114.cpp:241: undefined reference tototal_time' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/host/M114.cpp:205: undefined reference to jump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/host/M114.cpp:212: undefined reference toenable_buzzer()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/host/M114.cpp:216: undefined reference to disable_buzzer()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/queue.cpp.o: in functionTFilamentMonitor<RunoutResponseDelayed, FilamentSensorSwitch>::my_run()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/../feature/runout.h:140: undefined reference to jump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/../feature/runout.h:142: undefined reference topause_resume()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/../feature/runout.h:147: undefined reference to run_out_flag' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/../feature/runout.h:147: undefined reference toe_current' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/queue.cpp.o: in function read_serial(unsigned char)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/queue.cpp:344: undefined reference toMSerial3' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/gcode/queue.cpp.o: in function GCodeQueue::get_serial_commands()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/queue.cpp:450: undefined reference toget_serial1_commands()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/gcode/queue.cpp:496: undefined reference to my_print_state' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/motion.cpp.o: in functionreport_current_position()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:228: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:229: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:231: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:232: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:234: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/motion.cpp.o:/mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/motion.cpp:235: more undefined references toprint_thr_adress_string(int, int, char*)' follow /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/settings.cpp.o: in function MarlinSettings::save()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/settings.cpp:1473: undefined reference tototal_time' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/settings.cpp.o: in function MarlinSettings::_load()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/settings.cpp:2395: undefined reference tototal_time' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in function Temperature::set_fan_speed(unsigned char, unsigned short)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:249: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:250: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in functionTemperature::max_temp_error(heater_id_t)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:878: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in functionTemperature::min_temp_error(heater_id_t)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:895: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in functionTemperature::tr_state_machine_t::run(float const&, float const&, heater_id_t, unsigned short, unsigned short)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:2141: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o:/mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:3054: more undefined references toprint_thr_adress_string(int, int, char*)' follow /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in function Temperature::wait_for_hotend(unsigned char, bool, bool)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:3243: undefined reference toget_serial1_commands()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/module/temperature.cpp.o: in function Temperature::wait_for_bed(bool, bool)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/module/temperature.cpp:3371: undefined reference toget_serial1_commands()' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/sd/cardreader.cpp.o: in function CardReader::fileHasFinished()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:1288: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:1289: undefined reference to change_button(int, int, int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:1290: undefined reference tojump_to(int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/sd/cardreader.cpp.o: in function CardReader::printListing(SdFile, char const*)': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference tofloder_num' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference to floder' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference tofilename_info' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference to i_num' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference tofile_count' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:334: undefined reference to only_file_count' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/sd/cardreader.cpp.o: in functionCardReader::ls()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:347: undefined reference to only_file_count' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:347: undefined reference tofile_count' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:347: undefined reference to floder_num' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/sd/cardreader.cpp.o: in functionCardReader::report_status()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:775: undefined reference to change_button(int, int, int)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:781: undefined reference toprint_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:782: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/mks_robin_nano_v3_usb_flash_drive_msc/src/src/sd/cardreader.cpp.o: in functionCardReader::printFilename()': /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:424: undefined reference to print_thr_adress_string(int, int, char*)' /home/compi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /mnt/userdata/compi/work/ext/Marlin/Marlin-SuperRacer-MKS-Nano-V3/Marlin/src/sd/cardreader.cpp:425: undefined reference toprint_thr_adress_string(int, int, char*)' collect2: error: ld returned 1 exit status *** [.pio/build/mks_robin_nano_v3_usb_flash_drive_msc/firmware.elf] Error 1 ================================================================================ [FAILED] Took 15.13 seconds ================================================================================

    Environment Status Duration


    mks_robin_nano_v3_usb_flash_drive_msc FAILED 00:00:15.130 =========================================================================== 1 failed, 0 succeeded in 00:00:15.130 ============

    opened by compihu 6
  • Build

    Build

    Hello :)

    thanks for the firmware. I've been using a while now.

    I've got an issue with my board, there's a short in the HE0 and the hotend overheat until thermal runaway protection is triggered. My solution is to switch the pins for HE0 and HE1 in marlin (already tested in klipper but i prefer marlin)

    https://github.com/ethanfel/Marlin-SuperRacer-MKS-Nano-V3

    My issue is that i can't build it with platformio. Tested in Linux and Windows, i don't have an error. it just fail with a buncch of yellow warnings.

    Could you build this version for me ? until i get a new nano v3 i hope from FLsun. Thanks

    opened by ethanfel 6
  • Issues with Z offset

    Issues with Z offset

    The stock firmware only let you change the Z offset by I believe 0.05mm? I think that was it. Your firmware changed that to what appears to be 0.01mm which is fantastic, but for some reason when I tap to bring the head down another 0.01mm sometimes it'll skip and go 0.02mm. This has been causing me no end of issues with getting my first layer right.

    Side note; when I try to change the z offset midprint the motors will make a loud weird noise when in the menu to change it, but I haven't actually changed anything. The noise goes away when I leave the menu. I can show a video with this issue if you'd like, it's easily reproducable.

    opened by KnownOriginator 5
  • Nach Firmware Installation von LGX Lite Version kommt Fehlermeldung

    Nach Firmware Installation von LGX Lite Version kommt Fehlermeldung "Kein Drucker" und startet ständig neu

    Hallo Cyril,

    ich hab ein TFT70 GD am Nano V3 und es funktioniert alles. Habe heute den LGX Lite montiert und deine Firmware "SR-LGX-Lite-11-03-2022-SDCARD" verwendet. Danach startet der Drucker ständig neu und sagt, dass kein Drucker angeschlossen ist. Hab jetzt wieder deine aktuelle "Marlin 2.0.9.3 - FLSUN SR - BTT TFT - NanoV3 - Stock" installiert und er funktioniert wieder. Was könnte der Fehler sein? Oder kann ich über gcodes die nötigen Einstellungen auch mit dieser Firmware eingeben? Vielen Dank schonmal im Voraus... und schick mir bitte einen paypal Link, ich überweise dir 20 Euro. liebe Grüße

    opened by MichaelLehner69 4
  • Some of your install instructions are not correct

    Some of your install instructions are not correct

    Hi - love the firmware, but some of your instructions are not right.

    The PID commands you have wrong - ie should be M301 KP24.03 KI2.22 KD64.88 - same for bed please.

    Also, can you add a note on the G33 to say you need to add the bed levelling sensor before running the command? Otherwise the head will crash into the bed.

    Many thanks :-)

    opened by Xiondewah 4
  • Turbo Fan PWM not fonctionnal and friz printer

    Turbo Fan PWM not fonctionnal and friz printer

    Description

    Whatever the setting, cura or on the small screen, the ventilation remains active and fixed, impossible to cut, reduce, increase the speed.

    Moreover, almost at each start (3/4) of launching print, the printer freezes and no longer responds. the screen still works but the controls are inoperative. I reset the eeprom, re fasher, nothing. latest firmware version for LGX lite Only.

    opened by RoadArk 3
  • I have a problem FLSUN has released the firmware 1.4 and an update for the monitor.

    I have a problem FLSUN has released the firmware 1.4 and an update for the monitor.

    Hi

    I like your work, only I have a problem FLSUN has released the firmware 1.4 and an update for the monitor. You can now enter more. However, you do not have the Sours code to download.

    I'm not that much of a programmer but I can set the default stuff. I have installed a mosquito and have to change the temp sensor to the number 5 and the pressure temperature to 450 degrees. Your version does not fully support the display ( firmware 1.4 ) at the moment, I would be grateful if you could adjust this on occasion.

    Greetings Michael

    opened by Gueni49 0
  • reboot

    reboot

    After swap new motherboard (3.0 > mks robin nano 3.1) my printer restart in full print in a completely random way without displaying a message, it reboots purely and simply .... I already had the problem with version 3.0 but I also have it with version 3.1

    screen version : v1.3 motherboard firmware : lgx lite only sdcard version 2.0.8

    opened by RoadArk 3
  • The filament change section does not work correctly

    The filament change section does not work correctly

    In the tft, instead of changing the filament, the filament load does not work. Pressing the button brings up the warning that it must reach 180 temperature, but once it reaches more than 180 temperature, no matter how hard you press the filament load button, it doesn't work.

    opened by matosantos 0
Releases(26-02-2022)
  • 26-02-2022(Feb 26, 2022)

  • 04-10-2021(Oct 4, 2021)

  • 01-10-2021(Oct 1, 2021)

    • Firmware can be used with latest screen firmware V1.3 (see Readme for installation).
    • Improved motors current to 1250mA.
    • Added a command to control screen buzzer : M114 B0 & M500 to disable sound, M114 B1 & M500 to enable sound. By default sound is disabled.
    • Changed filament runout distance to 15mm.

    If you like my job, you can support me by paying me a 🍺 or a ☕. Thanks 🙂

    Download

    Source code(tar.gz)
    Source code(zip)
    SDCARD.7z(129.40 KB)
    USB.7z(132.86 KB)
  • 03-09-2021(Sep 3, 2021)

    • Unwanted EEPROM writes caused by power loss recovery feature are disabled. This fixes the EEPROM save/load issues.
    • STM32: Prevent possible crashes before HAL init.
    • Make F_CPU a compile time constant (and not a runtime constant).
    • Fixed Robin Nano V3 board X-diag pin.
    • Fixed smaller and larger I2C EEPROM support.
    • HAL eeprom cleanup.

    If you like my job, you can support me by paying me a 🍺 or a ☕. Thanks 🙂

    Download

    Source code(tar.gz)
    Source code(zip)
    SDCARD.7z(129.12 KB)
    USB.7z(132.57 KB)
  • 01-09-2021(Sep 1, 2021)

    • Fixed settings not stored correctly in EEPROM and not loaded correctly after power off/power on (language, Z0 etc.).
    • Fixed MKS Robin Nano V3 I2C pins.
    • Avoid triggering watchdog during long wired EEPROM writes.
    • Prevent watchdog reset.
    • Blocking Move Followup 2 (fix delta failed probe).

    Special Thanks to MaximumChungus.

    If you like my job, you can support me by paying me a 🍺 or a ☕. Thanks 🙂

    Download

    Source code(tar.gz)
    Source code(zip)
  • 20-08-2021(Aug 20, 2021)

    • Attempt to fix issue with missing text after flash (take a look to new steps of readme).
    • Attempt to fix issue were some settings was not registered to EEPROM (like Z0).

    If you like my job, you can support me by paying me a 🍺 or a ☕. Thanks 🙂

    Download

    Source code(tar.gz)
    Source code(zip)
  • 18-08-2021(Aug 18, 2021)

    • Initial Github release improved compared to the Facebook group version

    If you like my job, you can support me by paying me a 🍺 or a ☕. Thanks 🙂

    Download

    Source code(tar.gz)
    Source code(zip)
Owner
Cyril
Cyril
Marlin firmware for FlashForge Dreamer/Dreamer NX/Inventor 3D printers

Marlin firmware for FlashForge Dreamer/Dreamer NX/Inventor 3D printers

Moonglow 43 Jun 18, 2022
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform.

Marlin 3D Printer Firmware Additional documentation can be found at the Marlin Home Page. Please test this firmware and let us know if it misbehaves i

Marlin 13.5k Aug 1, 2022
This is 3d printer motherboard for VORON project.

Features Compact size: 155.3mm x 76.5mm Based on STM32F446 180Mhz,all IOs can withstand 5V voltage 8 TMC stepper drivers support, with Uart&SPI suppor

FYSETC.COM 215 Aug 3, 2022
Archer is the codename for our EPD laptop prototype with custom-made motherboard

Archer is the codename of our 1st EPD laptop prototype with custom-designed motherboard and 3D-printed chassis. Specifications The specification liste

EI-2030 33 May 6, 2022
MKS TinyBee is a mainboard for 3d printing, based on ESP32 module

MKS-TinyBee MKS TinyBee is a mainboard for 3d printing, based on ESP32 module. Support Marlin2.0 firmware, in addition to ordinary LCD2004, 12864 scre

makerbase 31 Jul 20, 2022
Collection of quadrupedal robots configured to work in CHAMP development framework

zoo This repository contains configuration packages of various quadrupedal robots generated by CHAMP's setup assistant. Installation You need to have

CHAMP 150 Aug 7, 2022
Arduino Sketch and a Web Bluetooth API for loading models and running inference on the Nano Sense 33 BLE device.

TF4Micro Motion Kit This repo contains the Arduino Sketch and a Web Bluetooth API for loading models and running inference on the device. Install and

Google Creative Lab 49 Jul 27, 2022
null 3 Jan 19, 2022
The ultimate battery tester with ESR measurement and discharge graph. Based on an Arduino Nano and a 1602 LCD.

Ultimate-Battery-Tester Version 1.0.0 Features Measures the ESR (equivalent series resistance) of the battery. This is an idicator of the health of th

Armin 7 Jul 26, 2022
Jetson Nano camera driver extracted from the jetbot_ros package.

Jetson Cam Jetson Nano camera driver extracted from the jetbot_ros package. Dependencies System Dependencies GStreamer Typically preinstalled in jetso

H S Helson Go 2 Nov 12, 2021
Библиотека программного USB клавиатуры и мыши для Arduino Nano/UNO/Mega и прочих

EasyHID Библиотека программного USB клавиатуры и мыши для Arduino Nano/UNO/Mega и прочих Программный USB Работает на любой AVR Arduino 16 МГц Поддержк

Alex 45 Aug 1, 2022
Turing-ring is a simple Turing Machine using just a Nano, a NeoPixel ring and a rotary encoder+push-button The ring is the tape and the UI.

Turing-ring Turing-ring is a simple Turing Machine using just a Nano, a NeoPixel ring and a rotary encoder+push-button The ring is the tape and the UI

Mark Wilson 2 Dec 26, 2021
Simple library to interface with Hitachi-compatible character LCDs for the Sipeed Tang Nano 4K Gowin FPGA board.

Simple library to interface with Hitachi-compatible character LCDs for the Sipeed Tang Nano 4K Gowin FPGA board.

null 3 Jun 22, 2022
Super ATX Power!

KCORES-CSPS-to-ATX-Converter 项目视频: 1元10瓦 垃圾佬的超级ATX电源-Youtube KCORES 交流群: 826702309 KCORES 官方网站: KCORES.com 从零开始制作: 入门指南 Specification 12V 5V 3.3V 5VSB

KCORES - 氪金核心 342 Jul 31, 2022
> VSS [ Vairous 7x Super Sploit ] v1.0

Coded By V7x Team # Vairous7x SupperSploit [ VSS v1.0 ] Subscribe to Vairous7x on Youtube For Linux: 1- run 'sudo bash vss-setup.sh' 2- run 'sudo bash

Vairous 7x 30 Jul 5, 2021
Super simple code editor designed for students.

HamroCode Super simple code editor designed for students of Nepal. Language Supported JavaScript C C++ QBASIC Downloading Click Here Demo Created & Ma

Hamro Code 5 Mar 30, 2021
mstatus is a super minimal entirely signal based statusbar for DWM.

mstatus is a uber-minimalistic signal based statusbar for DWM. All components of the statusbar are modules that must either be written by the user, or written by someone else and copied by the user.

Thomas Voss 1 Feb 2, 2022
Super Volume Render of Monte Carlo Path tracing for Linux

exposure-render-for-Linux Super Volume Render of Monte Carlo Path tracing for Linux Introduction The code is a Linux distribution of exposure render.

engineer 3 Aug 6, 2021
Dummy-Robot my super mini robot arm robot items

Dummy-Robot 我的超迷你机械臂机器人项目。 资料待整理 已添加3D模型设计源文件。 已添加夹爪硬件设计文件和LED灯环PCB 已添加无线空间定位控制器PCB文件 已添加无线示教器Peak软硬件工程(作为submodule) 已添加REF的硬件设计文件 已添加DummyStudio上位机 已

稚晖 7.9k Jul 29, 2022