Would you tell me if the following part of logic is correct or not if Tmote
Sky wants to receive bytes of data from UART0 RX?

CmuCAM3 (send chars "ACK") -> Tmote Sky

Will usart.isRxIntrPending() set clear after a "usart.rx()" or by "
usart.clrRxIntr()"?

Thanks a lot



    event void UsartResource.granted() {

    uint32_t i;
    uint8_t data,state;

    call usart.enableUart();
    call usart.setModeUart(&msp430_uart_default_config);
    call usart.enableRxIntr();
    call usart.enableTxIntr();

    while (1){
        call Leds.set(0); // clear the LEDs

        call Leds.set (1); // Got UART

        // wait for some seconds for CmuCAM3
        // to get ready from restart
        for (i=0;i<1400000;i++){}

        call Leds.set(2); //ready to Send


            call usart.tx('g');
        while (! call usart.isTxEmpty());
        call usart.tx('v');
        while (! call usart.isTxEmpty());
            call usart.tx('\r');
            while (! call usart.isTxEmpty());

            //call UsartResource.release();
        for (i=0;i<1400000;i++){}
            call Leds.set(4); //finished
        for (i=0;i<1400000;i++){}

        call Leds.set (7); // All Light up

        //Read ACK from CmuCAM3 after sending a command
        while (! call usart.isRxIntrPending()){ //wait for data in rx buffer

            data = call usart.rx();

            //Check ACK from CmuCAM3
            if (data=='A'){
                state=1;
                call Leds.set(7);
            }else if (data='C'  && state==1){
                state=2;
                call Leds.set(6);
            }else if (data='K'  && state==2){
                state=3;
                call Leds.set(5);
            }else if (data='\r' && state==3){
                state=4;
                call Leds.set(4);
            }else if (data=':'  && state==4){
                state=5;
                call Leds.set(3);
                usart.clrRxIntr();
            }
        }
        call Leds.set(2);
    }
    }
}
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to