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.
Pavyzdys: programos pavyzdys, skirtas robotui nuvažiuoti tiesiu atstumu
Ši funkcija leis robotui paleisti į priekįtotalEnckodavimo įrenginiui. Jis naudoja V5 Clawbot konfigūraciją.
Ši funkcijaspinToPositionnegrįš, kol judėjimas nebus baigtas. Tai vadinama „sinchronizuotu“ veiksmu – nustatoma pagal paskutinį parametrątrue.
Nenaudojant vartotojo nustatytos funkcijos:
int main() {
vexcodeInit();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(100.0, proc.);
LeftMotor.spinToPosition(500.0, deg, true);
Brain.Screen.printAt(5,30, "sec rev deg" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
laukti (1000, msek);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100,0, proc.);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5 100, "sec rev deg" );
Brain.Screen.printAt(5 130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position (rev),
LeftMotor.position (deg));
laukti (1000, msek);
}
Mėginys gali duoti tokį rezultatą:
sek. neapdorotas aps. laipsnis 2,06 5445 3,12 1089
Atminkite, kad jūsų testas skirsis labai maža dešimtųjų tikslumu.
Su vartotojo apibrėžta funkcija:
Toliau pateiktame pavyzdyje parodyta, kaip užfiksuoti operacijų rinkinį į vieną pakartotinai naudojamą „funkcijos“ skambutį.
void reportMotionValues() {
Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
}
int main() {
vexcodeInit();
LeftMotor.resetPosition();
LeftMotor.setVelocity(50,0, proc.);
LeftMotor.spinToPosition(500.0, deg, true);
reportMotionValues();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-50,0, proc.);
LeftMotor.spinToPosition(-500.0, laipsniai, tiesa);
reportMotionValues();
}
Čia rodoma loginio srauto seka iš skambintojo funkcijos main():