Open govido opened 5 years ago
Additional infos: I flashed the new firmware to the display which seemed to work. But if I use your serial settings I get the following message from octoprint when I connect. I get brief connection an temperature and then it will disconnect.
Recv: //action:disconnect Disconnecting on request of the printer...
Another thing: If I use the screen as 'dumb' serial display I can also use an additional 12864 display, with extensible UI there seems to be only one display option available. Otherwise there will be tons of errors if I deactivate the sanitychecks before compiling.
Hi, if I currently try to compile marlin with Nozzle Park Feature / Advanced Pause, I get the following error: ...
@govido can you post your Marlin config and config_adv
Sent with GitHawk
Additional infos: ...
@govido for now external_ui don’t support multiple display existence.
For octoprint /disconnect problem. You use my patch in marlin firmware or the vanilla?
Sent with GitHawk
Hi, I tested your marlin fork:
Hi, I found the problems and are out of my implementation:
For multiple LCD controller, it is a limit of the Marlin Firmware architecture. Either EXTENSIBLE_UI and FYSETC_MINI_12864_2_1 define the same MarlinUI::init() function so only one can be compiled at the time. All I can do is to try to implement the serial communication without EXTENSIBLE_UI interface. ( I already looking for that because extensible_ui can't be used to all implementations and for the MarlinMenu emulation )
The second problem about NOZZLE_PARK feature is a missing function in EXTENSIBLE_UI. I suggest you to try to compile the firmware from the official repository with another EXTENSIBLE_UI implementation such as DGUS_LCD and then open the issue in MarlinFirmware/Marlin.
L.
Hi, I push a new version of TFT firmware and a new version of Marlin, Now the TFT is stable (need testing but now I use it in all my print jobs ) and the Marlin compile with NOZZLE_PARK feature.
For the multiple LCD and Marlin Menu un TFT35 is not possible to implement without a total rework where the serial between the printer and the LCD is not define in Marlin as primary or secondary serial for gcode but is only the LCD control channel like the MALYAN_LCD.
@dianlight any videos in what the TFT can do right now? also is there anyway this will make it into ofiicical bug fix branch?
@dianlight any videos in what the TFT can do right now? also is there anyway this will make it into ofiicical bug fix branch?
The actual firmware ( the TFT ) is able to switch in printer mode if there is a printjob from the other serial and use action commands . So if you use octoprint you will see the printing progress and you can stop/pause/resume from tft. To do it all the UART functions in TFT fw was rewritten to work by line ( as Marlin ).
I was ready to create the pull request but bigtree guys drop the tft35 firmware repository to switch to an unified fw for all his tft. So all my work need to be transferred and adapted manually and extend for other tft models. ( I have only tft35 model to test and now I have no time, maybe is a September/October work ).
I send the Marlin pull requests when/if bigtree merge my work. The dependence is mutual.
Sorry no video you need to clone and try it.
Hi, if I currently try to compile marlin with Nozzle Park Feature / Advanced Pause, I get the following error:
CONFIGURATION:_ https://docs.platformio.org/page/boards/nxplpc-arduino-lpc176x/nxp_lpc1768.html PLATFORM: NXP Arduino LPC176x > NXP LPC1768 HARDWARE: LPC1768 100MHz 31.80KB RAM (464KB Flash) DEBUG: CURRENT(cmsis-dap) ON-BOARD(cmsis-dap) EXTERNAL(blackmagic, jlink) Converting Marlin.ino Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF MODES: FINDER(off) COMPATIBILITY(strict) Collected 6 compatible libraries Scanning dependencies... Dependency Graph |-- 1.0.0
|-- 1.0.0
|-- 0.4
|-- 0.4.5
|-- 1.1.8
|-- #e35d62c
upload disk: H:
Compiling .pioenvs\LPC1768\src\src\gcode\feature\pause\M701_M702.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\gcode.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\geometry\G17-G19.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\geometry\G53-G59.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\geometry\G92.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\geometry\M206_M428.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\host\M110.cpp.o
Compiling .pioenvs\LPC1768\src\src\gcode\host\M113.cpp.o
Marlin\src\gcode\feature\pause\M701_M702.cpp: In static member function 'static void GcodeSuite::M701()':
Marlin\src\gcode\feature\pause\M701_M702.cpp:108:59: error: 'fc_settings' was not declared in this scope
: fc_settings[active_extruder].load_length);
^
~~Marlin\src\gcode\feature\pause\M701_M702.cpp:110:72: error: 'PAUSE_MODE_LOAD_FILAMENT' was not declared in this scope true, thermalManager.still_heating(target_extruder), PAUSE_MODE_LOAD_FILAMENT ^~~~~~~~ Marlin\src\gcode\feature\pause\M701_M702.cpp:110:72: note: suggested alternative: 'MSG_MMU2_LOAD_FILAMENT' true, thermalManager.still_heating(target_extruder), PAUSE_MODE_LOAD_FILAMENT ^~~~~~~~ MSG_MMU2_LOAD_FILAMENT Marlin\src\gcode\feature\pause\M701_M702.cpp:109:5: error: 'load_filament' was not declared in this scope load_filament(slow_load_length, fast_load_length, ADVANCED_PAUSE_PURGE_LENGTH, FILAMENT_CHANGE_ALERT_BEEPS, ^~~~~ Marlin\src\gcode\feature\pause\M701_M702.cpp: In static member function 'static void GcodeSuite::M702()': Marlin\src\gcode\feature\pause\M701_M702.cpp:217:59: error: 'fc_settings' was not declared in this scope : fc_settings[target_extruder].unload_length); ^~~Marlin\src\gcode\feature\pause\M701_M702.cpp:219:44: error: 'PAUSE_MODE_UNLOAD_FILAMENT' was not declared in this scope unload_filament(unload_length, true, PAUSE_MODE_UNLOAD_FILAMENT ^~~~~~Marlin\src\gcode\feature\pause\M701_M702.cpp:219:44: note: suggested alternative: 'MSG_MMU2_UNLOAD_FILAMENT' unload_filament(unload_length, true, PAUSE_MODE_UNLOAD_FILAMENT ^~~~~~MSG_MMU2_UNLOAD_FILAMENT compilation terminated due to -fmax-errors=5. *** [.pioenvs\LPC1768\src\src\gcode\feature\pause\M701M702.cpp.o] Error 1Compiling with Babystepping enabled also throws another error:
Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_filament.cpp.o Marlin\src\lcd\extensible_ui\ui_api.cpp: In function 'void ExtUI::smartAdjustAxis_steps(int16_t, ExtUI::axis_t, bool)': Marlin\src\lcd\extensible_ui\ui_api.cpp:641:19: warning: unused variable 'mm' [-Wunused-variable] const float mm = steps * planner.steps_to_mm[axis]; ^~ Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_game.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_info.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_job_recovery.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_led.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_main.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_mixer.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_mmu2.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_motion.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_sdcard.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_service.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_temperature.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_tmc.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_tune.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\menu\menu_ubl.cpp.o Compiling .pioenvs\LPC1768\src\src\lcd\ultralcd.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\L6470\L6470_Marlin.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\buzzer.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\hex_print_routines.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\least_squares_fit.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\nozzle.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\numtostr.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\stopwatch.cpp.o Compiling .pioenvs\LPC1768\src\src\libs\vector_3.cpp.o Compiling .pioenvs\LPC1768\src\src\module\configuration_store.cpp.o Compiling .pioenvs\LPC1768\src\src\module\delta.cpp.o Compiling .pioenvs\LPC1768\src\src\module\endstops.cpp.o Compiling .pioenvs\LPC1768\src\src\module\motion.cpp.o Compiling .pioenvs\LPC1768\src\src\module\planner.cpp.o Compiling .pioenvs\LPC1768\src\src\module\planner_bezier.cpp.o Compiling .pioenvs\LPC1768\src\src\module\printcounter.cpp.o Compiling .pioenvs\LPC1768\src\src\module\probe.cpp.o CMompiling .pioenvs\LPC1768\src\src\module\scara.cpp.oarlin\src\module\motion.cpp: In function 'void set_axis_is_at_home(AxisEnum)': C ompiling .pioenvs\LPC1768\src\src\module\servo.cpp.oM arlin\src\module\motion.cpp:1340:14: error: 'class Babystep' has no member named 'reset_total' babystep.reset_total(axis); ^
~~Compiling .pioenvs\LPC1768\src\src\module\stepper.cpp.o *** [.pioenvs\LPC1768\src\src\module\motion.cpp.o] Error 1These options compile correctly with 12864 displays. Just to give you some feedback :)