made temperature_control modular ( multiple concurrent modules possible
[clinton/Smoothieware.git] / src / modules / robot / Stepper.h
index 2be4cdd..0cf0cbf 100644 (file)
@@ -16,8 +16,6 @@
 #define acceleration_ticks_per_second_checksum      25075
 #define minimum_steps_per_minute_checksum           9003
 #define base_stepping_frequency_checksum            21918
-#define step_gpio_port_checksum                     29939
-#define dir_gpio_port_checksum                      39286
 #define alpha_step_pin_checksum                     11468
 #define beta_step_pin_checksum                      22114
 #define gamma_step_pin_checksum                     1225
@@ -30,7 +28,8 @@ class Stepper : public Module {
         Stepper();
         void on_module_loaded();
         void on_config_reload(void* argument);
-        void on_stepper_wake_up(void* argument);
+        void on_block_begin(void* argument);
+        void on_block_end(void* argument);
         void on_play(void* argument);
         void on_pause(void* argument);
         void main_interrupt();
@@ -40,9 +39,8 @@ class Stepper : public Module {
         void reset_step_pins();
         void update_offsets();
         int config_step_timer( int cycles );
+
         Block* current_block;
-        Ticker acceleration_ticker;
-        Timeout flipper;
         int counters[3];
         int stepped[3]; 
         int offsets[3]; 
@@ -60,16 +58,14 @@ class Stepper : public Module {
         int divider;
         int minimum_steps_per_minute;
         int base_stepping_frequency;
-        LPC_GPIO_TypeDef* step_gpio_port;
-        LPC_GPIO_TypeDef* dir_gpio_port; 
-        unsigned short alpha_step_pin;
-        unsigned short beta_step_pin;
-        unsigned short gamma_step_pin;
-        unsigned short alpha_dir_pin;
-        unsigned short beta_dir_pin;
-        unsigned short gamma_dir_pin;
-        unsigned int step_mask;
-        unsigned int dir_mask;
+        Pin* alpha_step_pin;
+        Pin* beta_step_pin;
+        Pin* gamma_step_pin;
+        Pin* alpha_dir_pin;
+        Pin* beta_dir_pin;
+        Pin* gamma_dir_pin;
+        unsigned short step_bits[3];
+        int counter_increment;
 };