Example #1
0
	void moveToBlackLineAndBack(int numberOfLines){
	// 1 is added as the robot has crossed the line and needs to
	// count it when going back
	int lineCount = numberOfLines + 1;
		while( numberOfLines > 0){
			moveToNextLine();
			numberOfLines--;
		}
		while( lineCount > 0){
			moveToPreviousLine();
			lineCount--;
		}

}
Example #2
0
void processController(){

  if(data_received){
     
     switch(received_command){
        case 0x01:
             write_line_enable = 1;
        break;
        
        // home y axis
        case 0x02:
        
          home_y_axis();
          acknowledge();
         
        break;
        
        // home z axis
        case 0x03:

          home_z_axis();
          acknowledge();
       
        break;
        
        // turn laser on
        case 0x04: 
          laser_on();
          acknowledge();
        break;
        
        // turn laser off
        case 0x05:
         laser_off();
         acknowledge();
        break;
        
        // next layer
        case 0x06:
          // moveToNextLayer here!
          moveToNextLayer();
          toggle_y_Direction();
          acknowledge();
        break;
        
        case 0x07:
          moveToNextLayer();
          acknowledge();
        break;
        
        case 0x08:
          move_z_to_end_position();
          acknowledge();
        break;
        
        case 0x09:
          set_exposing_cycles();
          acknowledge();
        break;
        
        case 0x0a:
         move_z_relative();
         acknowledge();
        break;
    }

  }
 
  if (exposing_done){
    
                moveToNextLine();
                data_table[0] = 0;
                write_line_enable = 0;
                exposing_done = 0;
                acknowledge();

  }
  
}