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: paraugprogramma robotam, lai dotos taisnā attālumā
Sekojošā funkcija ļaus robotam darboties uz priekšutotalEnckodētājam. Tas izmanto V5 Clawbot konfigurāciju.
Šī funkcijaspinToPositionneatgriezīsies, kamēr kustība nebūs pabeigta. To sauc par “sinhronizētu” darbību, ko 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āds, true);
Brain.Screen.printAt(5,30, "sec rev deg" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(apgr.),
LeftMotor.position(deg));
gaidīt (1000, ms);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100,0, procenti);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5100, "sec rev deg" );
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(apgr.),
LeftMotor.position(deg));
gaidīt (1000, ms);
}
Paraugs var dot šādu rezultātu:
sek. neapstrādāts apgr. g. 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(apgr.),
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āds, patiess);
reportMotionValues();
}
Šeit parādīta loģiskās plūsmas secība no zvanītāja funkcijas main ():