Custom message boxes in RRF

  • Hi,

    Is there a way in RepRapFirmware to create custom message boxes? M291 command only allow me to have 4 options:
    0. No buttons are displayed (non-blocking)
    1. Only "Close" is displayed (non-blocking)
    2. Only "OK" is displayed (blocking, send M292 to resume the execution)
    3. "OK" and "Cancel" are displayed (blocking, send M292 to resume the execution or M292 P1 to cancel the operation in progress)

    I want to add a new option with custom buttons like PLA, ABS, PET and use this with M701 to load specific filaments.
    The ideea is: When a trigger is activated, run

    M291 P"What kind of filament do you want to use?" S4 (I want to creat it) ; S4 means ''PLA" "ABS" "PET" buttons to be displayed
    And if the user press "PLA" button this should run M701 S"PLA"


  • I'm also interested in an answer to this question.

  • administrators

    For that to be useful, it would also be necessary to support conditional commands, branches etc. in GCode.

  • administrators

    It is possible to combine a message box with a trigger (like an endstop M577 or in future another pin M583) to wait for user input.

    Use M117 to display the message
    Immediately afterwards wait for endstop press.

    This creates a blocking message in a rather clunky way. I use it for testing gcodes macros where I want the tester to confirm something has happened before the next stage of the test happens.

    If the idea of a virtual trigger could be extended to include a message box response from PanelDue/DWC this would remove the requirement for the physical endstop.

  • Support could be added to PanelDue and DWC to accept gcodes passed to it through messages.

    So the message would include the prompt to the user, then some syntax that provides a button (or series of buttons) that the user can press that executes gcode.

    Obviously, this only works well if the message is presented at the end of a gcode file, and gives the user options to initiate other gcode macros.

Log in to reply