Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SerialWrite() {
- static char aArray[3];
- if (MotA) aArray[0] = aArray[0] | 0b00000001; else aArray[0] = aArray[0] & 0b11111110;
- if (MotB) aArray[0] = aArray[0] | 0b00000010; else aArray[0] = aArray[0] & 0b11111101;
- if (MotC) aArray[0] = aArray[0] | 0b00000100; else aArray[0] = aArray[0] & 0b11111011;
- if (dirState == HIGH) aArray[0] = aArray[0] | 0b00001000; else aArray[0] = aArray[0] & 0b11110111;
- if (ActSpinState == HIGH) aArray[0] = aArray[0] | 0b00010000; else aArray[0] = aArray[0] & 0b11101111;
- if (ActDirStopState == HIGH) aArray[0] = aArray[0] | 0b00100000; else aArray[0] = aArray[0] & 0b11011111;
- if (accelState == HIGH) aArray[0] = aArray[0] | 0b01000000; else aArray[0] = aArray[0] & 0b10111111;
- aArray[1] = potZval / 100;
- aArray[2] = potXval / 100;
- Serial2.write(aArray, 3);
- }
- void SerialRead() {
- static char aArray[3];
- Serial.readBytesUntil(aArray, 3);
- if ((aArray[0] & 0b00000001) != 0) MotA = true; else MotA = false;
- if ((aArray[0] & 0b00000010) != 0) MotB = true; else MotB = false;
- if ((aArray[0] & 0b00000100) != 0) MotC = true; else MotC = false;
- if ((aArray[0] & 0b00001000) != 0) dirState = HIGH; else dirState = LOW;
- if ((aArray[0] & 0b00010000) != 0) ActSpinState = HIGH; else ActSpinState = LOW;
- if ((aArray[0] & 0b00100000) != 0) ActDirStopState = HIGH; else ActDirStopState = LOW;
- if ((aArray[0] & 0b01000000) != 0) accelState = HIGH; else accelState = LOW;
- potZval = aArray[1] * 100;
- potXval = aArray[2] * 100;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement