--- /dev/null
+
+
+EVENT(ON_MAIN_LOOP, on_main_loop)
+EVENT(ON_CONSOLE_LINE_RECEIVED, on_console_line_received)
+EVENT(ON_GCODE_RECEIVED, on_gcode_received)
+EVENT(ON_STEPPER_WAKE_UP, on_stepper_wake_up)
+EVENT(ON_GCODE_EXECUTE, on_gcode_execute)
+EVENT(ON_SPEED_CHANGE, on_speed_change)
+EVENT(ON_BLOCK_BEGIN, on_block_begin)
+EVENT(ON_BLOCK_END, on_block_end)
+EVENT(ON_CONFIG_RELOAD, on_config_reload)
+EVENT(ON_PLAY, on_play)
+EVENT(ON_PAUSE, on_pause)
+EVENT(ON_IDLE, on_idle)
+EVENT(ON_CONFIG_VALUE, on_config_value)
+EVENT(ON_CONFIG_COMPLETE, on_config_complete)
+EVENT(ON_SECOND_TICK, on_second_tick)
#include "libs/Kernel.h"
const ModuleCallback kernel_callback_functions[NUMBER_OF_DEFINED_EVENTS] = {
- &Module::on_main_loop,
- &Module::on_console_line_received,
- &Module::on_gcode_received,
- &Module::on_stepper_wake_up,
- &Module::on_gcode_execute,
- &Module::on_speed_change,
- &Module::on_block_begin,
- &Module::on_block_end,
- &Module::on_config_reload,
- &Module::on_play,
- &Module::on_pause,
- &Module::on_idle,
- &Module::on_config_value,
- &Module::on_config_complete,
- &Module::on_second_tick,
+ #define EVENT(name, func) &Module::func ,
+ #include "Event.h"
+ #undef EVENT
};
-Module::Module(){ }
+Module::Module(){}
-void Module::on_module_loaded(){
-}
+void Module::on_module_loaded(){}
void Module::register_for_event(_EVENT_ENUM event_id){
this->kernel->register_for_event(event_id, this);
}
-void Module::on_main_loop( void * argument){}
-void Module::on_console_line_received( void * argument){}
-void Module::on_gcode_received( void * argument){}
-void Module::on_stepper_wake_up( void * argument){}
-void Module::on_gcode_execute( void * argument){}
-void Module::on_speed_change( void * argument){}
-void Module::on_block_begin( void * argument){}
-void Module::on_block_end( void * argument){}
-void Module::on_config_reload( void * argument){}
-void Module::on_play( void * argument){}
-void Module::on_pause( void * argument){}
-void Module::on_idle( void * argument){}
-void Module::on_config_value( void * argument){}
-void Module::on_config_complete( void * argument){}
-void Module::on_second_tick( void * argument){}
+#define EVENT(name, func) void Module::func (void*) {}
+#include "Event.h"
+#undef EVENT
using std::string;
// See : http://smoothieware.org/listofevents
+
enum _EVENT_ENUM {
- ON_MAIN_LOOP,
- ON_CONSOLE_LINE_RECEIVED,
- ON_GCODE_RECEIVED,
- ON_STEPPER_WAKE_UP,
- ON_GCODE_EXECUTE,
- ON_SPEED_CHANGE,
- ON_BLOCK_BEGIN,
- ON_BLOCK_END,
- ON_CONFIG_RELOAD,
- ON_PLAY,
- ON_PAUSE,
- ON_IDLE,
- ON_CONFIG_VALUE,
- ON_CONFIG_COMPLETE,
- ON_SECOND_TICK,
+ #define EVENT(name, func) name,
+ #include "Event.h"
+ #undef EVENT
NUMBER_OF_DEFINED_EVENTS
};
Module();
virtual void on_module_loaded();
virtual void register_for_event( _EVENT_ENUM event_id);
- virtual void on_main_loop( void * argument);
- virtual void on_console_line_received( void * argument);
- virtual void on_gcode_received( void * argument);
- virtual void on_stepper_wake_up( void * argument);
- virtual void on_gcode_execute( void * argument);
- virtual void on_speed_change( void * argument);
- virtual void on_block_begin( void * argument);
- virtual void on_block_end( void * argument);
- virtual void on_config_reload( void * argument);
- virtual void on_play( void * argument);
- virtual void on_pause( void * argument);
- virtual void on_idle( void * argument);
- virtual void on_config_value( void * argument);
- virtual void on_config_complete( void * argument);
- virtual void on_second_tick( void * argument);
+ #define EVENT(name, func) virtual void func (void*);
+ #include "Event.h"
+ #undef EVENT
Kernel * kernel;
};