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.
Пример: пример программы для робота, который может пройти прямое расстояние.
Следующая функция позволит роботу двигаться вперед для энкодераtotalEnc. Он использует конфигурацию V5 Clawbot.
Эта функцияspinToPositionне вернется до тех пор, пока движение не завершится. Это называется «синхронизированным» действием и определяется последним параметромtrue.
Без использования пользовательской функции:
int main() {
vexcodeInit();
ЛевыйМотор.resetPosition ();
LeftMotor.setVelocity(100,0, процент);
LeftMotor.spinToPosition(500,0, град, правда);
Brain.Screen.printAt(5,30, "секунды, обороты");
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
ожидание(1000, мс);
ЛевыйМотор.resetPosition ();
LeftMotor.setVelocity(-100,0, процент);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5,100, «секунды, обороты»);
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(градусы));
ожидание(1000, мс);
}
Образец может дать следующий результат:
секунды необработанные обороты градусы 2,06 5445 3,12 1089
Обратите внимание, что ваш тест будет варьироваться в очень небольших пределах в десятичных знаках.
С пользовательской функцией:
В следующем примере показано, как объединить набор операций в один многоразовый вызов «функции».
void reportMotionValues() {
Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
}
int main() {
vexcodeInit();
ЛевыйМотор.resetPosition();
LeftMotor.setVelocity(50,0, процент);
LeftMotor.spinToPosition(500,0, град, правда);
отчетДвижениеЗначения();
ЛевыйМотор.resetPosition ();
LeftMotor.setVelocity(-50,0, процент);
LeftMotor.spinToPosition(-500,0, град, правда);
reportMotionValues();
}
Здесь показана последовательность логических операций вызывающей функции main():