Custom Menus

Hello everyone, I am looking for a little bit of advice/help. I am running an Azteeg x5 Mini v1.1 with the latest Smoothieware firmware. I recently added the RepRapDiscount LCD to this board, and everything is working as expected. A few minor tweaks later, and I have no complaints.

Now that I have it working, I wanted to add some options to the custom menu. My first few add-ons worked fine. I did things like turning the cooling fan on and off. No issues. However, now I am trying to add a few more options that I need, and I cannot get them to work. Basically I want this to be the one menu I always use for my main needs.

For starters, I need to be able to preheat the bed first, and then the extruder. My bed takes about 7-20 minutes to heat up depending on the temp I set, but the extruder (E3D v6) is hot in under 2 min. I don’t see any reason in leaving the extruder on the entire time, and this is what happens if I use the built in preheat options. I would love a single menu press that heats the bed to say 60C, and then heats the hot end to 220C after the bed is fully heated. I am new to the Smoothieware, so I don’t know if this multi-item menu request would work as a single option. I figured that worse case, I could do each item manually. However, the options I created to turn on/off the heated bed/hotend don’t seem to do anything. I have copied my custom menu entry down below for you to review and make suggestions. Thanks for your time!

  1. Example of a custom menu entry, which will show up in the Custom entry.
  2. NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands

custom_menu.home_eclips3d.enable true #
custom_menu.home_eclips3d.name Home_Eclips3D #
custom_menu.home_eclips3d.command G28 #

custom_menu.heat_bed.enable true #
custom_menu.heat_bed.name Preheat_Bed_PLA #
custom_menu.heat_bed.command M141 S60 #

custom_menu.heat_bed2.enable true #
custom_menu.heat_bed2.name Preheat_Bed_ABS #
custom_menu.heat_bed2.command M141 S80 #

custom_menu.heat_bed3.enable true #
custom_menu.heat_bed3.name Turn_Off_Heated_Bed #
custom_menu.heat_bed3.command M141 S0 #

custom_menu.heat_extrude.enable true #
custom_menu.heat_extrude.name Heat_Extruder_PLA #
custom_menu.heat_extrude.command M104 S225 #

custom_menu.heat_extrude2.enable true #
custom_menu.heat_extrude2.name Heat_Extruder_ABS #
custom_menu.heat_extrude2.command M104 S240 #

custom_menu.heat_extrude3.enable true #
custom_menu.heat_extrude3.name Turn_Off_Extrduer #
custom_menu.heat_extrude3.command M104 S0 #

custom_menu.fan_on.enable true #
custom_menu.fan_on.name Cooling_Fan_On #
custom_menu.fan_on.command M106 S127 #

custom_menu.fan_off.enable true #
custom_menu.fan_off.name Cooling_Fan_Off #
custom_menu.fan_off.command M107 #

Imported from wikidot

maybe you need to use _ instead of space to separate the gcodes ?

you can also stack commands with the “|” symbol. M140_S85|M109_S230 . I think that is heat and wait for the bed, then heat the hotend. There are two heating commands for the hotend and bed. One waits until heating is done before allowing more commands to run. You can get sneaky and have both heating at the same time by starting the heat cycle on the slowest unit to heat, then use the heat and wait on the faster unit, and finally heat and wait on the slower unit. I hope that made sense.

I don’t think that the space is needed for the gcode, but I could be wrong. I know that the option I created for the fan on (custom_menu.fan_on.command M106 S127 #) doesn’t have a space and it works properly.

And thanks for the tip using the “|” option for stacking. I will give that a shot. I am running a print now, but will try both suggestions for the “|” & _ for the space a little later.