This is a list of all the events that a Module can register for in Smoothie :
Name | Called from | Description | How to cast the argument |
---|---|---|---|
ON_MAIN_LOOP | /main.cpp | Called in a loop in main(), all G/M commands must be executed or issued in this event. Note this event blocks when the queue is full | no argument |
ON_CONSOLE_LINE_RECEIVED | /modules/communication/SerialConsole.cpp | Called every time a new line is received on the default Serial Console, with the line as a parameter | SerialMessage new_message = *static_cast<SerialMessage*>(argument); string received = new_message.message; |
ON_GCODE_RECEIVED | /modules/communication/GcodeDispatch.cpp | Called every time a new G code is received, with the Gcode object as a parameter | Gcode* gcode = static_cast<Gcode*>(argument); |
ON_IDLE | /main.cpp | ??? | ??? |
ON_SECOND_TICK | /libs/SlowTicker.cpp | ??? | ??? |
ON_GET_PUBLIC_DATA | /libs/PublicData.cpp | Allow communication of data between modules. Module A can get a data from B by providing checksums identifying Module B and the desired data. | PublicDataRequest *pdr = static_cast<PublicDataRequest *>(argument) |
ON_SET_PUBLIC_DATA | /libs/PublicData.cpp | Allow communication of data between modules. Module A can set a data from B by providing checksums identifying Module B and the data to set up. | PublicDataRequest *pdr = static_cast<PublicDataRequest *>(argument); |
ON_HALT | /modules/utils/killbutton/KillButton.cpp (As well as Endstops, SerialConsole etc.) | ??? | ??? |
ON_ENABLE | /modules/robot/Robot.cpp src/modules/robot/Conveyor.cpp | ??? | ??? |
NUMBER_OF_DEFINED_EVENTS | n/a | Only used to enumerate the events. | no argument |