Marlin
Marlin copied to clipboard
Couple issues trying to compile for foam cutter
- if LCD display is selected (tested with MKS_MINI_12864, then FYSETC_MINI_12864_2_1/BTT_MINI_12864_V1):
Marlin\src\lcd\menu\menu_item.h:245:24: error: 'screen_items' does not name a type 245 | #define END_SCREEN() } screen_items = _thisItemNr | ^~~~~~~~~~~~ Marlin\src\lcd\menu\menu_item.h:246:20: note: in expansion of macro 'END_SCREEN' 246 | #define END_MENU() END_SCREEN(); UNUSED(_skipStatic) | ^~~~~~~~~~ Marlin\src\lcd\menu\menu_motion.cpp:188:3: note: in expansion of macro 'END_MENU' 188 | END_MENU(); | ^~~~~~~~ - if QUICK_HOME/QUICK_HOME_ALL_NON_Z_AXES is selected (default) compilation fails with:
Marlin\src\gcode\calibrate\G28.cpp: In function 'void quick_home_xyijkuvw()': Marlin\src\gcode\calibrate\G28.cpp:143:32: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'AxisEnum' [-fpermissive] 143 | planner.set_max_feedrate(i, homing_feedrate((AxisEnum)i)); | ^ | | | uint8_t {aka unsigned char} In file included from Marlin\src\gcode\calibrate\G28.cpp:32: Marlin\src\gcode\calibrate\../../module/planner.h:591:49: note: initializing argument 1 of 'static void Planner::set_max_feedrate(AxisEnum, float)' 591 | static void set_max_feedrate(const AxisEnum axis, float inMaxFeedrateMMS); | ~~~~~~~~~~~~~~~^~~~ - with all possible homing disabled and soft endstops disabled it still requires min endstop pins for additional axis. This could be resolved by re-assigning max pins in board pins file, but... Why it is required if it does not exists physically and only "home pos" is position during power-on?
Electronics
BTT SKR 1.4 (LPC1768)
I hope I could fix the first two issues with the latest change in the Marlin2ForPipetBot branch. Regarding the required endstop pins: This is a safety feature. I cannot guarantee that my code works as intended. Multi axis machines are complex and it is difficult to have foreseen all possible situations. They may be flimsy 3d printers or very powerful CNC mills or robot arms. That is why I make endstops mandatory. Someone who is willing to take the risk may modify the code to his/her likeing.