Archive for the ‘nxt’ tag

ROBOTC for LEGO MINDSTORMS 4.51 Preview Available Today!

without comments


The ROBOTC Development Team is happy to announce a public preview of ROBOTC 4.51! This update is for the LEGO MINDSTORMS (NXT and EV3) physical and virtual robotics systems and includes some great new features, improvements, and a load of bug fixes.

Click here to download the .exe file for 4.51!

Important Setup Information for ROBOTC 4.51:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.50 —> 4.51 Change Log:

New Features and Improvements:

  • Added support for simple mathematical expressions in numerical text boxes in Graphical.
  • Datalogging has been added for the EV3 platform.
  • Users can now log data from inside your program, with or without a timestamp.


  • Users can also configure motor, sensor and other values to be automatically polled at intervals as low as 10ms.


  • Users can view data in ROBOTC as it polled in and save to a .CSV file for additional analysis in a popular spreadsheet software.


  • Use standard keyboard shortcuts to Select All, Copy, Cut and Paste in the Debugstream Window.
  • Natural Language Library Files have been enhanced for improved readability.
  • “Port with no Motor” has been added as an option for graphical blocks that use multiple motors – this will allow you to unselect a specific motor.
  • Graphical Copy and Paste has been improved to work better with comment blocks.
  • A flag (-SUPPRESS ) has been added to allow suppression of command line activation errors.
  • When compiling multiple files at once, the IDE will remain more responsive to user interaction.
  • A setMotorBrakeMode block has been added to Graphical, allowing motors to be set to either “float” or “brake”. This will allow motors to be setup as “free running”. This command can be found in “Expert” and above menu levels.
  • Additional programming samples have been added

General Fixes:

  • ‘Trial’ indicator displays correctly, regardless of license combinations.
  • Missing function added to the Function Library descriptions
  • Fixed and improved “hover over” tool tip help descriptions inside of the Function Library.
  • Resolved issue where the bottom of the Graphical Library view would not be cleared properly when scrolling
  • Char arrays with “\0” are properly initialized.
  • Selection of options inside of a Graphical Block can be reverted by using “undo”.
    • Fix potential RVW file read issue from crashing ROBOTC.
  • Several float-related issues resolved:
    • Compiler incorrectly optimizes constant expressions with ‘float’ operands.
    • Formatted printing does not work with negative floats
  • Using nSemaphore.nOwningTask comparison no longer generates a compiler warning
  • Two enum issues related to overflowed values have been fixed.
  • Functions returning pointers no longer generate errors when used in Boolean logic expressions.
  • Values from arrays of pointers assigned to another pointer, no longer cause errors.
  • setMotorBrakeMode commands take immediate effect, rather than after the first motor speed command.
  • Closing a source file could cause am unhandled exception under certain conditions, this has been resolved.
  • Compiling multiple Graphical programs at once no longer generates an error that there is no code to compile.
  • Fixed an issue where the Global Variable Base Address was incorrectly displayed.
  • RVW Package Manager will only self-elevate if multiple level packs are being installed.
  • Numerous small visual enhancements and fixes.


  • Changing the volume programmatically on an EV3 could cause a screen freeze when using the on-brick volume program after the program had exited.
  • Fixed issue where Casper is not cleaned up properly when the application exits.

Click here to download the .exe file for 4.51!

Happy Programming!

Written by Cara Friez

November 19th, 2015 at 5:49 pm

Online LEGO Professional Development Courses Start this February!

without comments

Teacher Training 2

Carnegie Mellon’s Robotics Academy has announced their latest online LEGO ROBOTC training schedule! The class starts in February and you can enjoy the convenience of taking Robotics Academy courses without leaving your own computer workstation!

Register for their ROBOTC EV3 class today!

Benefits of Robotics Academy Online Training Courses:

  • Convenient online training gives you access from home or your school via the Internet.
  • Online access to supplemental lessons from other Robotics Academy materials.
  • Technical support for all hardware and software used in the class.
  • At the end of the course, take the certification test to become a Robotics Academy Certified Instructor.
  • Certificate of Completion upon course completion to apply for Continuing Education hours.
  • 24/7 access to class forums and message boards (monitored daily)

Robotics Academy Certified ROBOTC Online Training for LEGO NXT and EV3


This course focuses on learning how to program NXT and EV3-based robots using ROBOTC, and how to use robotics as an organizer to teach STEM (Science, Engineering, Technology, and Mathematics) concepts.

Feb 25th – Mar 31st, 2016
Thursdays for 6 weeks
6 – 8pm EST (3 – 5pm PST)

Register for their ROBOTC EV3 class today!


Written by Cara Friez

November 18th, 2015 at 6:00 am

Download ROBOTC for LEGO MINDSTORMS 4.50 Today!

with 4 comments


The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.50! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.50!


Important Setup Information for ROBOTC 4.50:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.32 —> 4.50 Change Log:

General new features:

  • Graphical blocks can now be copied, cut and pasted

Copy Paste

  • Graphical actions, such as adding, deleting and moving a blocks, changing parameters and their values can be undone and redone.
  • The Graphical repeat and while blocks values can now be adjusted without a keyboard using spin buttons.

Number Scroll Color Loop
General fixes:

  • Large amounts of data in debug stream no longer causes debugger to hang.
  • Fixed issue when mixing PLTW building licenses with other license types.
  • When changing the motor type in the Motor and Sensor Setup utility, the additional parameters, such as PID, drive side, encoder type, are reset to their default values.
  • UAC prompt now appear only once for installing multiple RVW packages.

RVW Package Manager

  • The toolbar buttons are sized to the individual content, instead of the largest one.
  • Recursive pre-compiler statements are correctly identified and no longer crash the IDE.
  • The Graphical block library’s expansion/collapse state is now preserved when switching between files.
  • LineTrackLeft help text has been corrected.
  • Fixed issue of undefined entries in text libraries.
  • Hover over text for NL text commands no longer has artifacts.
  • Building licenses now check and update their local status whenever an active internet connection is available.
  • Fixed issue with the Advanced RBC file saving adding an additional “rbc” to the file name.
  • Opening RBC/RBG files with “download on open” no longer prompts for save and add a “00#” to the end of the file name.
  • Fixed issue where the “Advanced save as macro” feature did not load RVW options correctly.
  • Joystick issue with Graphical and Natural Language fixed;’ waitUntil(), displayButtonValues() and displayControllerValues() now function correctly.


  • Disconnecting an EV3, with the debugger running, no longer causes the IDE to hang.
  • Missing sensor commands have been added to the EV3 text library.
  • Fixed issue of incorrect NXT sensor variables when dragged into program from the text library
  • Fixed mistakes in examples for the help documentation of the EV3 motor commands.
  • EV3 standard models and sample code have been updated with the default mode for the Gyro set to Rate and Angle and the Color sensor mode set to Color.
  • Corrected issue where nPgmTime was erroneously identified as a signed long in the help.
  • Added numerics to Color name values in help documentation.
  • Wireless Searching for NXT in EV3 context has been removed.
  • Fixed issue where the return value of getColorName() opcode expected a long, but the TLegoColors is a byte, this could cause memory corruption.

Happy Programming!

Written by Cara Friez

August 27th, 2015 at 8:14 pm

ROBOTC for LEGO MINDSTORMS 4.32 Available Today!

with 2 comments


The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.32! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.32!

Important Setup Information for ROBOTC 4.32:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.30 —> 4.32 Change Log:

Robot Virtual Worlds Package Manager

Robot Virtual Worlds Package Manager simplifies keeping your RVW worlds up-to-date and allows you to easily download new ones.

RBC Macro Editor

The RBC Macro Editor allows you to quickly create a ROBOTC Text-Based or Graphical macro file that will pre-configure many aspects of the UI, such as platform, the debugger windows that are to be opened, the default save-as file name and many others. If you are targeting Virtual Worlds, you can also select which world should be used.

General Changes

  • Debug Stream has been made more robust to prevent buffer overflows and corrupted data.
  • Added quick access, “Add License” menu item.
  • Added command line option to deactivate all active, non-building licenses (-DEACTIVATE).
  • “SensorValue” intrinsic definition changed from ‘word’ to ‘int’. This will allow it be be either ‘short’ or ‘long’ depending on the native “int” format of specific platform.
  • CTRL+ALT+SHIFT+D” is new keyboard accelerator to open preferences.
  • All libraries (DLLs) and executables (EXEs) are now signed.

General Bug Fixes

  • Fix issue where a “save as” with a new document -> then a subsequent “save” would cause a “save as” prompt in the wrong location.
  • Fix enumeration bug in Joystick Driver
  • Context menu for large ICON toolbar changes now take immediate effect.
  • Fix the repeatUntil(0) warning message to say “‘repeat until’ expression is constant ‘0’. Loop will never exit.”
  • Fix issue with command line deactivation with building licenses
  • IDE was not removing error flags from graphical blocks.
  • Long operands on opcodes “&” “|”, “^” and “~” were incorrectly handling negative 16-bit constants.
  • Fix bug in addTo/MinusTo/DivideTo/TimesTo opcode when variable is a global short variable and the operand is a 16-bit or less compile time constant.
  • Fix issue that prevented functions that return pointers to be dereferenced in an expression.
  • Fixed a bug where the missing “Name” field would cause a crash for the command line activation.


  • Hitting the Control key no longer deselects all the things.
  • Bug causing Graphical Block artefacts on the screen has been fixed.


  • New Linux image, updated to 1.07X to ensure compatibility with LEGO EV3 Programming Software. Please be sure to update your brick to the latest Linux firmware.
  • EV3 brick can now be renamed from both the file and the communication utilities in the Robot menu.
  • Refreshed the Driver Suite files for both NXT and EV3
  • getColorRGB() will now also work with a standard LEGO NXT Color sensor.
  • Added intrinsic getSensorConnType() to retrieve sensor connection type.
  • Fixed multi-tasking issue in EV3 VM where multi-tasking was not possible with programs started directly from the EV3 Brick.
  • Fixed a division by zero error in DatalogTest.c sample program
  • Fixed an issue where uploading a file from your EV3 to your PC removed the file extension from the uploaded file.
  • LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • LEGO Energy Meter was improperly configured.
  • Fix Standard Model issue for EV3 (Gyro was improperly configured)

Happy Programming!

Written by Cara Friez

June 12th, 2015 at 5:29 pm

LEGO Users: Program Virtual Robots Without Downloading Anything New!

without comments

Have You Explored New Worlds with ROBOTC?

ROBOTC has provided you with many challenges and learning opportunities, but did you know you can explore exciting new virtual worlds without downloading anything new? Try out Robot Virtual Worlds for FREE in ROBOTC with a 10-day trial!

See the instructions to get started at the bottom of this email!

What are Robot Virtual Worlds?

Robot Virtual Worlds are high-end simulation environments that enables users, without robots, to learn programming with game and competition worlds. Watch our video for more information!

Game Worlds!

Escape to one of our fantastic game worlds where you can use your programming skills to explore and complete challenges!

Ruins of Atlantis

We thought Atlantis was a myth. We were wrong. Your mission is to explore the Ruins of Atlantis, 6,000 meters below the surface of the ocean, collecting data and treasure as you do.

Palm Island Luau Edition

Visit the beautiful Palm Island and program your robot to drive along its boardwalk path. Collect coconut clusters and set lobster traps for the Luau.

Operation Reset

The mining colony of Alpha Base H99 needs your help! A terrible storm has damaged the colony’s equipment and we need you to use your programming skills to complete the mission.

Virtual Challenges!

Practice your programming skills with virtual versions of popular robotic competitions or challenging obstacle courses.

Curriculum Companion

Practice valuable programming concepts with a variety of activities using the curriculum companion. Use the same ROBOTC code to program your real and virtual robots!

Level Builder

The RVW Level Builder provides a 12’x12′ square field to build on and several objects – from cans and boxes to line tracking tiles – that you can use to design challenging, unique, and fun levels!

Measurement Toolkit

Not sure how far to make your robot move? Use the virtual measurement tools to calculate the distance and angles needed to move around in the virtual worlds!

Getting Started

Starting your Virtual Worlds trial:

1.  Open ROBOTC (from the icon on your desktop or Start Menu).

2.  Click “Help”
in the menu and select “Manage Licenses”.

3.  Click “Add License” in the menu and select “Robot Virtual Worlds – LEGO” from the Product drop-down.

  Click “Start Trial”.

5.  Click “Close”.

Using Virtual Worlds:

1.  Click “Robot” in the menu and set the “Compiler Target” to “Virtual Worlds”.

2.  Click “Window” in the menu and set “Select a Virtual World to Use” to any of the virtual worlds installed.

Visit to explore and download more levels!

If you need to go back to programming your physical robot, select “Physical Robot” from the “Compiler Target” menu.


Written by Cara Friez

June 9th, 2015 at 9:41 am

Student POV: Droids Robotics

without comments

DroidsIn our newest edition of Student POV, we have Sanjay and Arvind Seshan, who are members of the robotics team, Not the Droids You Are Looking For (Droids Robotics) from Pittsburgh, PA, USA. They are actively involved in robotics all year around, whether competing themselves or teaching others. They constantly share some great pictures on their Twitter page of their team and outreach programs, so we’ve asked them to share some of their experiences in robotics …

Droids 01Our first exposure to robotics was in 2010 when we decided to visit a FIRST LEGO League tournament at the National Robotics Engineering Center (NREC). We were excited by what we saw and, the next summer, we purchased an NXT LEGO Mindstorms kit and learnt to program using Carnegie Mellon Robotics Academy’s NXT Video Trainer.

We haven’t stopped since! In 2011, we started our own neighborhood-based robotics team with eight other friends. We have participated in FIRST LEGO League as well as VEX IQ contests since then. You can read more about us on our team website (

Benefits of Robotics:

Droids 02Participating in robotics has taught us several programming languages, as well as general computer science skills and presentation skills. We now code in NXT-G, EV3-G, ROBOTC, Python and HTML as a direct result of robotics. We are comfortable interviewing experts as well as being interviewed about our work.

We use these skills outside of robotics contests to create webpages, and make online tools and programming tutorials. We even developed a robot in Minecraft that uses Python code to complete tasks. One sDroids 03ummer, we participated in a 24-hour coding contest called Code Extreme. For that event, we created a bicycle renting system using a Raspberry Pi and an RFID reader.

Robotics has taken us to some interesting places: the inside of a Smart House for seniors, under the hood of an airplane engine, and even to a sulfur dioxide sensor manufacturing plant. These field trips have shown us many different STEM careers we might choose from.

Spreading our love for robotics:

We do many robotics outreach activities all year round. We have been invited to teach other students at the Carnegie Science Center and four local libraries in the Pittsburgh area. At these events, we try to introduce students to LEGO Mindstorms, VEX IQ, EV3-G, and ROBOTC. Kids are naturally attracted to robots, and our hands-on workshops have been very popular. In September 2014, we expanded this outreach beyond Pittsburgh by teaching students around the world to program robots using our own lessons and website (

Challenges of Robotics:

The biggest challenge in robotics is probably robot reliability – getting your robot to “behave” as you intend again and again. It takes both software and hardware solutions in combination to improve reliability. To add to this problem, contest environments are often very different from practice environments. Kids who don’t have access to good programming lessons like the ones provided by ROBOTC, CS2N, Carnegie Mellon Robotics Academy’s EV3 Trainer, and often feel frustrated.

Droids 04The challenges in robotics are not problems you cannot solve. They are part of what makes robotics interesting for us. They teach us to come up with different techniques as solutions. They also teach us patience and perseverance!

Overall, robotics has given us opportunities and skills that we might not have discovered otherwise. The greatest opportunity from robotics is finding out what all a robot can do! People some times think that a child’s robot “can only do so much”. We have found that it can lead to learning a lot of advanced programming techniques.

Robotics has opened up a world of possibilities for us. We especially like sharing these possibilities with other people we meet at our workshops and demos.

You can find more information about their team here: and on their programming lessons here:

Written by Cara Friez

March 24th, 2015 at 6:45 am

Cool Project: ColumnBot

without comments

We recently asked a group of engineering students from the University of Aalborg in Denmark to write about their experience using ROBOTC on a recent project. Check it out below!


A model of the robot we built.

A model of the robot we built.

Hi all! We are 6 software engineering students from the University of Aalborg in Denmark. As part of our Bachelor’s degree, we had to design and implement an embedded system, and we chose to design and implement a robot that would solve the Simultaneous Localization And Mapping (SLAM) problem. We called the robot ColumBot.

The hardware we were issued were LEGO NXT bricks and sensors as well as a few from MindSensors. MindSensors provided libraries for use with ROBOTC, which was one of the reasons why we ended up choosing ROBOTC as our IDE.

This shows the generated map for TestCourse.

This shows a map of the test course we ran.

Work in Aalborg is group-based and many of the other groups spent the first weeks trying to get their NXT bricks set up for the firmwares they were using, but ROBOTC allowed us to have the part of the project kept to a minimum. ROBOTC provided us with a strong and versatile tool in solving our project, and was of great help.

Using ROBOTC, we were able to implement a mapping robot with a drive queue, with enough memory for 100m2, as well as a particle filter to correct the inaccuracies that arose from sensing when mapping. All this functionality was scheduled using a real time scheduling scheme. We do not believe this would have been possible with some of the IDEs used by the other groups.

This shows a map of the test course we ran.

TestCourse map.

ROBOTC has its quirks, namely much of the documentation is faulty. [Editor’s Note: ROBOTC recently went through a complete documentation overhaul to address issues like these – take a look at our help docs here.] As the focus of our project was to fit as much functionality as possible into the limited space, this problem mainly arose with the sizes of different types, where the documentation deviated from the reality. But the community is fantastic and many answers to difficult questions were found in the forums during the project period. The most useful features in our project were the Bluetooth Communication and the Debug Stream, which allowed us to monitor the robot remotely and communicate with it.

We would recommend ROBOTC to anyone attempting a build of the same size as ours, but advice you to be wary and test things for yourself, because this was sometimes a problem for us.

Check out one of our test runs here:

Written by Cara Friez

February 23rd, 2015 at 11:01 am

ROBOTC for LEGO MINDSTORMS Updates 4.30 and 3.65 Available Today!

with 2 comments

The ROBOTC Development Team is excited to announce not one, not two, but three updates this week! Yes, earlier in the week we announced our 4.29 update, but we’ve taken care of a few more bugs along with a 3.65 update. These updates are for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes. You can download them here! Read more below …

4.29 -> 4.30 Change Log

  • (EV3) LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • (EV3) Fixed an issue with the EV3 remote screen may have caused a ROBOTC crash.
  • (ALL) Rebuilt firmware to version 10.30. All platforms will require a firmware update.
  • (ALL) Prevent Graphical files from asking to save if the “Save On Compile” flag is set to false.
  • (ALL) Update all standard models to have correct drive train setting.
  • (ALL) Fixed an issue where a “sprintf’ varArg list contains a string constant the compiler was generating incorrect code causing a firmware crash.
  • (ALL) Compiler Fix: ‘long’ pointer temporary variables were sometimes being allocated as type ‘signed’ instead of ‘unsigned’.
  • (ALL) Checking for “divide by zero” exception forgot to check in the “module” opcodes; it was only checking the “divide” opcodes. Fixed.
  • (ALL) Fixed issues where the first time the Debugger “Local Variables” window is painted with values (rather than blank) the address field displays “0xCDCDCDCD” rather than the offset.
  • (ALL) Graphical Interface now support “multiple selection” using Shift/Control keyboard modifiers (drag select coming soon!)
  • (ALL) Fix for DebugStream which was adding \r to the String as it was written to file.

3.64 -> 3.65 Change Log

  • (All) Fixed issue with licensing system when an unexpected error code (i.e. server is available but service is down) would cause ROBOTC to crash.
  • (All) Fixed issue with ‘Check for Update’ functionality where a hotel/school wifi login screen might cause a ROBOTC crash with unexpected XML parameters.
  • (All) Fixed issue with licensing system where a license could not be used on the same computer twice.

To read more about the updates from 4.29, visit our post from earlier this week. Happy Programming!

Written by Cara Friez

February 18th, 2015 at 9:30 am

ROBOTC for LEGO MINDSTORMS 4.29 Available Today!

without comments


The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.29! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

This new build of ROBOTC for LEGO Mindstorms includes a number of new features for the EV3 platform, including USB Joystick Support, File I/O (reading and writing files on the EV3), and also Datalogging while using the EV3 platform. Take a look at the sample programs folder for examples on how to use all of the new features with ROBOTC and the EV3 platform!

Click here to download 4.29!

Important Setup Information for ROBOTC 4.29:


  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number is the same to keep alignment with the EV3 Programming Software and LEGO’s releases, but the Kernel has bug fixes to increase sensor reliability.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.28 BETA –> 4.29 Change Log:

  • (EV3) Add additional message traces when enumerating Casper devices — generate a message about each device that is found during enumeration.
  • (EV3) Hide “Poll LEGO Brick” from EV3 – not currently supported.
  • (EV3) EV3 motors now use correct motor speed/power functions, depending on the PID flag in the setup pragma/dialog.
  • (EV3) Added intrinsic (getMotorRPM()) to calculate the RPM of a motor, updated 10x per second
  • (EV3) Added intrinsic to sync two motors for an infinite amount of time (setMotorSync)
  • (EV3) modeNXTTemperature_F was incorrectly setting mode to sensorSONAR
  • (EV3) Example of how to use the getMotorRPM() function. Displays a cool RPM meter on the screen.
  • (EV3) convertPCFileNameToFileName_LINUX() uses getMaxFileNameSize() to retrieve max filename size.
  • (EV3) File names exceeding 31 chars are now truncated to prevent errors.
  • (EV3) Fixed the Friendly_IRBeacon.c program, some code was commented out, which shouldn’t have been
  • (EV3) Added a stall detection example which uses the getMotorRPM() function
  • (EV3) Convert legacy NXT I2C types into EV3 equivalents.
  • (EV3) Added “moveMotorTarget” to Graphical
  • (EV3/NXT) Driver Suite updated to the latest version in Git. Note that there’s an identical copy in both the NXT and EV3 folders
  • (NXT) Fixed issue in “Motors and Sensors Setup” the code that compared configuration against the various standard models was not working when “External Controllers” are used.
  • (ALL) “Test Communications Link” dialog was not properly storing/retrieving the registry value for the “Ping Type” variable.
  • (ALL) Debug stream fixed so that “Clear Debug Stream” clears the IDE’s Window at the proper location; previously it was possibly erasing the screen at a spot well after the actual “clear” function was called.
  • (ALL) Enhance Debug Stream handling to better support (1) Buffer overflow conditions and (2) proper visual appearance on IDE when “Clear Debug Stream” intrinsic is used.
  • (ALL) Adjustments so maximum size of messages transferred between IDE and emulator increased to 10K from 1K.
  • (ALL) Fix bug when maximum message size now exceeds maximum flash sector size.
  • (ALL) Joystick buttons had different enums for real and virtual robots. This affected the joy1Btn() command.
  • (ALL) Upissue Firmware Version to 10.29 / Upissue IDE Version to 4.29
  • (ALL) Contents of DebugStream window can now be saved through the menu
  • (ALL) Automatically select RVW package if one is not selected.
  • (ALL) Increase number of RVW Packages available to 40 potential options – allows for future level packs.
  • (ALL) DebugStream can now also be saved as a *.csv file
  • (ALL) DebugStream Window contents can now be saved to a file.
  • (ALL) User models (from Motors and Sensors setup) can now use relative filenames for user models.
  • (ALL) Fix crashing issue when CheckForUpdates get a malformed XML file (typically hotel login pages)
  • (ALL) Fix crash issue when Version XML file download is corrupted by school/hotel/conference “login” screens.
  • (ALL) Fix crash issue when licensing libraries return an unexpected return value – error message string formatting command was invalid causing a crash.
  • (ALL) Added pipe symbol to the LCD Printing Libraries fonts.
  • (ALL) Fixed backslash character in small font.
  • (ALL) Better parsing of “If” and dangling “else” clauses. Prevents a compiler crash when bad syntax in the “if” condition clause.
  • (ALL) Support in GUI for use of user-defined “motors and sensor configuration data files”.
  • (ALL) New “registry flag” to indicate whether user defined “configuration model” files are allowed.
  • (ALL) Previously breakpoints could not be defined in header files. This is now fixed.
  • (ALL) Benign. Enhance output in message trace window for “set breakpoint” message.
  • (ALL) Command line based activation / deactivation commands. Implemented but not fully tested yet – documentation to follow.

ROBOTC 4.27 -> 4.28 BETA Change Log:

  • (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) 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.
  • (EV3/NXT) Fixed issue with ROBOTC ‘auto-updater’ when launching ROBOTC for LEGO based platforms.

Happy Programming!

Written by Cara Friez

February 11th, 2015 at 4:42 pm

RVW Virtual Brick Giveaway Contest

with one comment


Want to earn a free Robot Virtual Worlds – Virtual Brick license? BotBench has an awesome license giveaway going on now. Be one of the first 20 people to write a review about it on your website, blog or Tumblr, and you’ll receive a free license! Read more about it here!

Not sure what the Virtual Brick is? Check out our video …

Botbench also did a wonderful “First Look” blog on the Virtual Brick. Check it out here – Virtual Brick: A First Look – Making a Line Follower

Want to try out the Virtual Brick? You can download it here and when you do, you get a 10 day trial period.

Happy Programming!

Written by Cara Friez

February 3rd, 2015 at 9:18 am