1. 介绍rio调试流程
远程输入/输出(Rio)是FRC竞赛中一个非常强大的功能,能够允许其机器人通过网络连接到配件程序。这意味着机器人能够在比赛中与其他机器人进行通信,同时也允许在机器人的开发和测试过程中进行远程调试。然而,单独使用Rio进行调试可能有些困难,因此需要采取一些步骤来优化这一过程。
2. 在Rio上启用调试模式
要在Rio上进行调试,首先需要启用调试模式。这可以通过在Windows命令提示符中使用telnet命令来完成。输入以下命令:telnet 10.0.0.2 (或者你需要连接的RoboRIO的IP地址)并按回车键。此命令将打开一个telnet连接,你将需要输入你的密码。一旦你成功登录,将输入debugmode并按回车键即可完成调试模式的启用。
3. 使用VsCode进行调试
自从VsCode成为了FRC的默认IDE之后,调试代码变得比以前更加容易了。要在Rio上进行调试,可以使用VsCode的内置调试器。首先,需要为你的机器人程序生成一个调试配置文件。这个文件告诉VsCode要启动哪个程序、如何将其连接到Rio以及如何将采集的数据进行解析。你将需要在.vscode/launch.json文件中添加以下代码:
"configurations": [
{
"name": "Debug Robot (Rio)",
"type": "cppdbg",
"request": "launch",
"program": "${command:gradle.getBuildDir}/robotProgramDebugFrcUserProgram/robotProgramDebugFrcUserProgram",
"args": [],
"cwd": "${workspaceFolder}",
"MIMode": "gdb",
"miDebuggerPath": "${command:wpilib.getWPILibHome}/toolchains/linux/aarch64/bin/frc-gdb",
"miDebuggerServerAddress": "localhost:2345",
"preLaunchTask": "buildDebug",
"postDebugTask": "killDebug",
"stopAtEntry": false,
"environment": [],
"externalConsole": true
}
]
这将启动名为“Debug Robot(Rio)”的调试配置,并根据需要进行更改。之后,你就可以使用VsCode的内置调试器运行程序,并观察数据的输出。
4. 使用SmartDashboard进行图形化调试
除了使用VsCode进行调试之外,还可以使用SmartDashboard工具来进行图形化调试。SmartDashboard能够展示你的程序生成的各种数据,同时也能够允许你向机器人发送命令和按钮。要使用SmartDashboard,需要将其添加到你的程序中。这可以通过在你的build.gradle文件中添加以下依赖项来完成:
dependencies {
compile "edu.wpi.first.smartdashboard:SmartDashboard:2.0.4"
}
之后,就可以在你的程序中使用SmartDashboard的图形化组件。例如,可以添加一个数字显示器来展示机器人的速度,这可以通过以下代码实现:
SmartDashboard.putNumber("Speed", driveTrain.getSpeed());
这将在SmartDashboard中创建一个名为“Speed”的显示器,展示当前速度。你还可以创建其他组件,例如滑块、开关和按钮,用于通过网络向机器人发送命令。
总结
使用Rio进行调试可能有些困难,但是通过使用VSCode和SmartDashboard工具,可以极大地简化这一过程。通过启用调试模式、使用VsCode进行调试和使用SmartDashboard进行图形化调试,你可以更轻松地进行代码开发和调试。