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.
Przykład: Przykładowy program dla robota, który ma przebyć prostą odległość
Poniższa funkcja umożliwi robotowi bieg do przodu z enkoderemtotalEnc. Wykorzystuje konfigurację V5 Clawbot.
Funkcja spinToPositionnie zwróci wartości, dopóki ruch się nie zakończy. Zjawisko to nazywa się działaniem „synchronizowanym” – określanym przez ostatni parametrtrue.
Bez użycia funkcji zdefiniowanej przez użytkownika:
int main() {
vexcodeInit();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(100.0, percent);
LeftMotor.spinToPosition(500.0, deg, true);
Brain.Screen.printAt(5,30, "sekundy obrót stopnie" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
wait(1000, msec);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100.0, percent);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5,100, "sekundy obrót stopnie" );
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(obroty),
LeftMotor.position(stopnie));
wait(1000, ms);
}
Próbka może dać następujący wynik:
sek surowe obroty stopnie
2,06 5445 3,12 1089
Pamiętaj, że Twój test będzie się różnić w bardzo małym marginesie miejsc po przecinku.
Z funkcją zdefiniowaną przez użytkownika:
Poniższy przykład pokazuje, jak przechwycić zestaw operacji w pojedyncze wywołanie „funkcji” wielokrotnego użytku.
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, percent);
LeftMotor.spinToPosition(500.0, deg, true);
reportMotionValues();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-50.0, percent);
LeftMotor.spinToPosition(-500.0, deg, true);
reportMotionValues();
}
Poniższy film pokazuje, w jaki sposób przepływa sekwencja logiczna z funkcji wywołującej main():