Just in time for Christmas! A new release of ROBOTC for both LEGO MINDSTORMS and VEX. So many new features and bug fixes have been added for all the platforms that the original ROBOTC blog had to have two separate posts for the releases. I won’t rehash everything that’s on them; you can read the one for LEGO MINDSTORMS here: [LINK], and the one for VEX here: [LINK].
I am particularly happy with the addition of data logging to ROBOTC for the EV3. It makes use of the file system support that I added to this release. You can now log all your data in CSV format, which you can then download from the brick and import straight into Excel.
Here are some of the changes:
- All – Updated Help System Documentation for new commands and features.
- All – Updated Firmware for 10.28 / 4.28 compatibility.
- All – Added a compiler error when ‘switch’ expression was illegal.
- All – Support for optional “int” keyword as in the declaration “short int” or “int short” in addition to “short”.
- All – Add USB Joystick control to Graphical (in loop blocks)
- EV3 – Fixed user reported bug in Synchronized Motor Movements commands.
- EV3 – Disabled setting sensor ports to typeNone/modeNone when initially configuring port. This prevented sensor ports from being reconfigured manually afterwards inside a program.
- EV3 – Added Joystick support for EV3.
- EV3 – Fixed BMP files not displaying properly on the EV3 screen.
- EV3 – Added Datalogging for the EV3. It is file based and saves the data in a CSV format under prjs/rc-data/
- EV3 – Added EV3 file operations for reading/writing to files. Commands are available for reading/writing all types and raw data. Files are saved in the standard ROBOTC projects folder and cannot be saved elsewhere for security/safety reasons.
- EV3 – Fix EV3 issue of USB connected brick disconnected when COMM link is open and IDE cannot recover when USB link is reconnected.
- EV3 – Changed ramp up/down parameters to 0 for EV3 motors, as per the LEGO programming environment. This is a feature ROBOTC was using but isn’t supported well by the EV3.
- EV3 – Fixed issue where motor speed was not normalized to -100 to 100 when values exceeding the maximum were provided.
- EV3/NXT – Fixed issue with ROBOTC ‘auto-updater’ when launching ROBOTC for LEGO based platforms.
- EV3 – Adjusted I2C read and write commands to use standard LEGO ioctl. The calls are non-blocking.
- EV3 – setSensorTypeModeFromWithinOpcode is now used instead of calling for a separate type and mode change. This fixes the issue of bad sensor modes.
- EV3 – EV3 Touch sensor can now have both bumps and touch value read, regardless of mode
- EV3 – sensorReset() now calls appropriate reset function, depending on the connection type. If used on Gyro or Touch, the heading or bump count is reset, respectively.
- Cortex – Fixed issue where performing a new motor PID movement when an existing PID movement is in progress didn’t work properly.
- Cortex – Allow users to select “Xmtr2″ for VEX Cortex Graphical (Expert and higher menu level)
- Cortex – Added competition control and competition template for Cortex Graphical
- Cortex – Added Virtual Worlds Natural Language 2.0 Library for VEX Cortex
- Cortex – Renamed old-style Natural Language mode to “Natural Language PLTW”
- Cortex – Fixed issue where software inspection would fail without a radio link on VEX Cortex
- Cortex – Added dialog message to Cortex “Download Firmware” button on large icon toolbar.
- Cortex – Multiple incomplete consecutive PID moves. Fix issue when current move is in “ramp down” and new PID movement is initiated.
- VEX IQ – Added additional standard models for VEX IQ.
- VEX IQ – Fix issue where mode wasn’t being set for Graphical for VEX IQ Color Sensor.
You can download the latest versions here: