Ejemplo n.º 1
0
void ping_pong_pkt(void)
{
    unsigned char pkg_send[256];
    int n = readPkt(pkg_send);
    if(n)
    {
        sendPkt(pkg_send, n);
        e_blink_led1();
    }
}
Ejemplo n.º 2
0
int main(){
    init();

    setup();

    while(1){
//        uint32_t tt = micros();
        Serial.write('A');
        
        uint16_t i;
        pkt a;
        readPkt((char *) &a);
        // mySerial.println(micros() - tt);
        // mySerial.println("---");
        // mySerial.println(a.cmd);
        // mySerial.println(a.laser);
        // mySerial.println(a.steps);
        // delay(1000);

        digitalWrite(LASER, a.laser ? HIGH : LOW);
        
        if(a.cmd < 4){
            // uint16_t deli = DELAY + 10 * analogRead(KNOB);
            for(i=0;i+1<a.steps;i++){
                step(a.cmd);
                // delayMicroseconds(DELAY + 5*analogRead(KNOB));
                // delayMicroseconds(deli);
                delayMicroseconds(DELAY);
            }
            step(a.cmd);
            // uint32_t del_corrected = analogRead(KNOB);
            delayMicroseconds(DEL_CORRECTED);
            // delayMicroseconds(deli - 2400);
            // mySerial.println(deli);
            // mySerial.println(del_corrected);          
        }
        else if(a.cmd == 4){
            digitalWrite(ENABLE, LOW);
            delay(100);
        }
        else if(a.cmd == 5){
            digitalWrite(ENABLE, HIGH);
            digitalWrite(LASER, LOW); // just in case
            mySerial.println("Finished");
            delay(1000);
        }
        else {
            mySerial.println("?");
        }
    }

    return 0;
}