graph LR;
Start --> Setup;
Setup --> SerialBegin;
Setup --> Serial1Begin;
Setup --> SetMaxSpeed1;
Setup --> SetMaxSpeed2;
Setup --> InitializeDataIn;
Setup --> EndSetup;
Loop --> CheckSerial1;
CheckSerial1 --> Serial1Available;
Serial1Available -->|Yes| ReadCharacterFromSerial1;
ReadCharacterFromSerial1 --> AppendCharacterToDataIn;
AppendCharacterToDataIn --> CheckNewlineOrHashCharacter;
CheckNewlineOrHashCharacter --> ParsingTrue1;
ParsingTrue1 -->|Yes| ParsingData1;
ParsingData1 --> ParseReceivedData1;
ParseReceivedData1 --> ExtractMotorControl1;
ExtractMotorControl1 --> SetStepperMotor1;
SetStepperMotor1 --> ResetParsingAndClearDataIn1;
ResetParsingAndClearDataIn1 --> EndCheckSerial1;
CheckSerial --> SerialAvailable;
SerialAvailable -->|Yes| ReadCharacterFromSerial;
ReadCharacterFromSerial --> AppendCharacterToDataIn;
AppendCharacterToDataIn --> CheckNewlineOrHashCharacter;
CheckNewlineOrHashCharacter --> ParsingTrue2;
ParsingTrue2 -->|Yes| ParsingData2;
ParsingData2 --> ParseReceivedData2;
ParseReceivedData2 --> ExtractMotorControl2;
ExtractMotorControl2 --> SetStepperMotor2;
SetStepperMotor2 --> ResetParsingAndClearDataIn2;
ResetParsingAndClearDataIn2 --> EndCheckSerial;
PerformStepperMotorMovement --> CheckDelayTime;
CheckDelayTime -->|delayTime > 0| CheckInterval1AndInterval2;
CheckInterval1AndInterval2 -->|intervals are reached| MoveStepper1AndStepper2;
MoveStepper1AndStepper2 --> SetSpeedAndPositionForBothSteppers;
SetSpeedAndPositionForBothSteppers --> MoveBothSteppers;
MoveBothSteppers --> Delay;
CheckDelayTime -->|delayTime = 0| CheckInterval1AndInterval2_2;
CheckInterval1AndInterval2_2 -->|intervals are reached| MoveStepper1OrStepper2;
MoveStepper1OrStepper2 --> SetSpeedAndPositionForStepper;
SetSpeedAndPositionForStepper --> MoveStepper;
MoveStepper --> End;
Komentar