 	draw_path
 	while (*text)
 		x += draw_char(x, y, *text++, scale) + 1;
-}
+}*/
 
 /* called once at power-on */
 void setup() {
 	Serial.begin(SERIAL_BAUDRATE);
 	DDRD |= 0xF0;				// (4 - 7) OUTPUTS
 	DDRC |= 0x0F;				// (A0 - A3) OUTPUTS
-	PORTB &= ~LASER_MASK;		// (8) LOW for laser outputs
-	set_laser(0);				// turn off laser
+	DDRB |= LASER_MASK;			// (8) OUTPUT
+	set_laser(false);			// turn off laser
 	set_home();
 }
 
 /* called repeatedly after "setup" */
-void loop() {	
-
-}
+void loop() {
+	xy_point tmp = {0, 0};
+	draw_polygon(&tmp, 4, 100, 0);
+}

void relative_steps(xy_point * p) {
	int32_t steps, err, e;
	xy_point delta = {abs(p->x), abs(p->y)};
	xy_point step = {(p->x > 0 ? 1 : (p->x < 0 ? -1 : 0)), (p->y > 0 ? 1 : (p->y < 0 ? -1 : 0)};

	steps = max(delta.x, delta.y);
	err = (delta.x > delta.y ? delta.x : -delta.y) / 2;

	disable_axes();
}

/*void get_path_size(char * path, xy_point * p) {
	
}

