clean up + uart tx fix
[my-code/atmel.git] / hdw-tank / main.asm
index 59787ea..b47c1f8 100644 (file)
@@ -7,9 +7,9 @@
 .include "../include/m128def.inc"
 
 ; defines
-.def   tmp             = r16
-.def   uart_rxtx       = r17
-.def   tmp_motor       = r18
+.def   tmp1            = r16
+.def   tmp2            = r17
+.def   uart_rxtx       = r18
 
 ; interrupts
 jmp RESET 
@@ -54,25 +54,25 @@ jmp SPM_RDY
 RESET:
 INIT:
 
-       ; uart init
-       rcall UART_INIT
-
        ; motor init
        rcall MOTOR_INIT
 
+       ; uart init
+       rcall UART_INIT
+
        ; uart interrupt enable
        rcall UART_INT_RX_INIT
 
        ; set stackpointer
-       ldi tmp,high(RAMEND)
-       out SPH,r16 
-       ldi tmp,low(RAMEND)
-       out SPL,r16
+       ldi tmp1,high(RAMEND)
+       out SPH,tmp1
+       ldi tmp1,low(RAMEND)
+       out SPL,tmp1
 
        ; global interrupt enable
-       sei 
+       ;sei 
 
-       ; debug output
+       ; signal ready output
        ldi uart_rxtx,0x23
        rcall UART_TX
 
@@ -153,28 +153,41 @@ USART0_RXC:
        ; loop back the received byte
        rcall UART_TX
 
+       ;
        ; drive the motor
+       ;
+
+       ; stop it first
        rcall MOTOR_STOP
+
+       ; fwd
        cpi uart_rxtx,CTRL_FWD
        brne CTRL1
        rcall MOTOR_FWD
        rjmp CTRL4
+
+       ; bwd
        CTRL1:
        cpi uart_rxtx,CTRL_BWD
        brne CTRL2
        rcall MOTOR_BWD
        rjmp CTRL4
+
+       ; right
        CTRL2:
        cpi uart_rxtx,CTRL_RIGHT
        brne CTRL3
        rcall MOTOR_RIGHT
        rjmp CTRL4
+
+       ; left
        CTRL3:
        cpi uart_rxtx,CTRL_LEFT
        brne CTRL4
        rcall MOTOR_LEFT
        CTRL4:
 
+       ; return
        reti
 
 USART0_DRE: