void ping_pong_pkt(void) { unsigned char pkg_send[256]; int n = readPkt(pkg_send); if(n) { sendPkt(pkg_send, n); e_blink_led1(); } }
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; }