FTC RobotController(SDK) v8.0发布

FTC RobotController(SDK) v8.0发布

张北一 -
回帖数:0

Version 8.0 (20220907-131644)

Breaking Changes

  • Increases the Robocol version.
    • This means an 8.0 or later Robot Controller or Driver Station will not be able to communicate with a 7.2 or earlier Driver Station or Robot Controller.
    • If you forget to update both apps at the same time, an error message will be shown explaining which app is older and should be updated.
  • Initializing I2C devices now happens when you retrieve them from the HardwareMap for the first time.
    • Previously, all I2C devices would be initialized before the Op Mode even began executing, whether you were actually going to use them or not. This could result in reduced performance and unnecessary warnings.
    • With this change, it is very important for Java users to retrieve all needed devices from the HardwareMap during the Init phase of the Op Mode. Namely, declare a variable for each hardware device the Op Mode will use, and assign a value to each. Do not do this during the Run phase, or your Op Mode may briefly hang while the devices you are retrieving get initialized.
    • Op Modes that do not use all of the I2C devices specified in the configuration file should take less time to initialize. Op Modes that do use all of the specified I2C devices should take the same amount of time as previously.
  • Fixes issue #251 by changing the order in which axis rotation rates are read from the angular velocity vector in the BNO055 IMU driver.
  • Deprecates pitchMode in BNO055IMU.Parameters.
    • Setting pitchMode to PitchMode.WINDOWS would break the coordinate conventions used by the driver.
  • Moves OpModeManagerImpl to the com.qualcomm.robotcore.eventloop.opmode package.
    • This breaks third party libraries EasyOpenCV (version 1.5.1 and earlier) and FTC Dashboard (version 0.4.4 and earlier).
  • Deletes the deprecated OpMode method resetStartTime() (use resetRuntime() instead).
  • Deletes the protected LinearOpMode.LinearOpModeHelper class (which was not meant for use by Op Modes).
  • Removes I2C Device (Synchronous) config type (deprecated since 2018)

Enhancements

  • Uncaught exceptions in Op Modes no longer require a Restart Robot
    • A blue screen popping up with a stacktrace is not an SDK error; this replaces the red text in the telemetry area.
    • Since the very first SDK release, Op Mode crashes have put the robot into "EMERGENCY STOP" state, only showing the first line of the exception, and requiring the user to press "Restart Robot" to continue
    • Exceptions during an Op Mode now open a popup window with the same color scheme as the log viewer, containing 15 lines of the exception stacktrace to allow easily tracing down the offending line without needing to connect to view logs over ADB or scroll through large amounts of logs in the log viewer.
    • The exception text in the popup window is both zoomable and scrollable just like a webpage.
    • Pressing the "OK" button in the popup window will return to the main screen of the Driver Station and allow an Op Mode to be run again immediately, without the need to perform a "Restart Robot"
  • Adds new Java sample to demonstrate using a hardware class to abstract robot actuators, and share them across multiple Op Modes.
  • Updates RobotAutoDriveByGyro_Linear Java sample to use REV Control/Expansion hub IMU.
  • Updates Vuforia samples to reference PowerPlay assets and have correct names and field locations of image targets.
  • Updates TensorFlow samples to reference PowerPlay assets.
  • Adds opt-in support for Java 8 language features to the OnBotJava editor.
    • To opt in, open the OnBotJava Settings, and check Enable beta Java 8 support.
    • Note that Java 8 code will only compile when the Robot Controller runs Android 7.0 Nougat or later.
    • Please report issues here.
  • In OnBotJava, clicking on build errors now correctly jumps to the correct location.
  • Improves OnBotJava autocomplete behavior, to provide better completion options in most cases.
  • Adds a QR code to the Robot Controller Inspection Report when viewed from the Driver Station for scanning by inspectors at competition.
  • Improves I2C performance and reliability in some scenarios.