The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Paraugs: Robota programmas paraugs taisna attāluma veikšanai
Šī funkcija ļaus robotam darboties uz priekšu artotalEnc unkodētāju. Tas izmanto V5 Clawbot konfigurāciju.
ŠīspinToPositionfunkcija neatgriezīsies, kamēr kustība nebūs pabeigta. To sauc par “sinhronizētu” darbību – to nosaka pēdējais parametrstrue.
Neizmantojot lietotāja definētu funkciju:
int main() {
vexcodeInit();
LeftMotor.resetPosition();
LeftMotor.setVelocity(100.0, procenti);
LeftMotor.spinToPosition(500.0, grādi, true);
Brain.Screen.printAt(5,30, "sekundes apgriezieni grādi" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(apgriezieni),
LeftMotor.position(deg));
wait(1000, ms);
LeftMotor.resetPosition();
LeftMotor.setVelocity(-100.0, procenti);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5,100, "sekundes apgriezienu grādi" );
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(apgriezieni),
LeftMotor.position(deg));
wait(1000, ms);
}
Paraugs var sniegt šādu rezultātu:
sekundes neapstrādāti apgriezienu grādi
2,06 5445 3,12 1089
Ņemiet vērā, ka jūsu tests atšķirsies ļoti nelielā zīmē aiz komata.
Ar lietotāja definētu funkciju:
Šis paraugs parāda, kā tvert darbību kopu vienā atkārtoti lietojamā “funkcijas” izsaukumā.
void reportMotionValues() {
Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(apgriezieni),
LeftMotor.position(deg));
}
int main() {
vexcodeInit();
LeftMotor.resetPosition();
LeftMotor.setVelocity(50.0, procenti);
LeftMotor.spinToPosition(500.0, grādi, true);
reportMotionValues();
LeftMotor.resetPosition();
LeftMotor.setVelocity(-50.0, procenti);
LeftMotor.spinToPosition(-500.0, grādi, true);
reportMotionValues();
}
Zemāk esošajā video ir parādīts, kā loģikas secība plūst no izsaucēja funkcijas main():