Archive for the ‘download’ tag
Once the physical hardware (robotics kits) are secured for a classroom, the next step is to install the software (ROBOTC and Robot Virtual Worlds). It would be nearly impossible to cover every single specific setup that could be encountered on a classroom’s computers, but this blog post will cover the basic installation steps and some of the more common installation issues that educators may run into when installing ROBOTC in a classroom.
The first thing you will need to do is install ROBOTC on the computers in your classroom. To do this, always make sure to grab the latest version of ROBOTC that your license supports from the correct ROBOTC download page. If the wrong version is downloaded and installed, or if there is already a different up-to-date version of ROBOTC installed on the computers, you will not need to uninstall and reinstall the program; instead, you will simply need to activate your license in ROBOTC (more on this later). During the download process, ROBOTC will also attempt to install the necessary drivers for communications with physical robots. Depending on the level of security on the computers, you may need to get your IT department involved in order to ensure that the drivers are installed properly.
Once ROBOTC and the appropriate drivers have been installed, you will need to activate ROBOTC on each computer manually. The license activation ‘unlocks’ the ability to download code to either a physical robot or a Virtual World, depending on which license is used. When ROBOTC is installed on a computer, all versions of ROBOTC (including different robotics platforms, such as the VEX and LEGO platforms, and different compiler options, such as Virtual Worlds compiler options) are installed at the same time. Instead of installing additional copies of the software on the same computer (or opening a new program every time you would like to change the compiler target), the additional platforms and compiler options are ‘unlocked’ by activating their respective keys.
Before we move on to the next blog (Setting up the Robots), here a couple more tips that may come in handy when setting up ROBOTC in a classroom:
- Depending on the programs, policies, and restrictions in place on the machines, your school’s IT department may need to be present for the installation or activation of ROBOTC, Virtual Worlds, or the installation of any drivers for the physical robots.
- If your school’s IT department images and deploys the classroom’s computers, make sure they reference the ROBOTC Deployment Guide on the ROBOTC wiki for important help and information.
- Make sure to check the computers’ hardware to the minimum requirements for ROBOTC or Robot Virtual Worlds before installing and activating a computer.
- Always test one computer first! If there is a problem with the installation, it is better to find out about it early and fix it before they same issue appears on a classroom full of computers.
The ROBOTC Development team is proud to announce that ROBOTC 3.50 for the LEGO Mindstorms, VEX Cortex and PIC, Arduino, and Robot Virtual World platforms is now available! The new ROBOTC 3.50 update is free-of-charge for ALL existing ROBOTC 3.0 license holders. Download today and try out all of the new features and enhancements available in ROBOTC 3.50!
Change log for ROBOTC 3.50 (since version 3.08):
- Full ANSI-C support to support pointers, recursion, and stacks with an updated compiler and updated robot firmware.
- New and Updated Debugger Windows:
- “Local Variables” to monitor variables in the current task or function.
- (Note: Local variables are only available when your program is suspended)
- “Global Variables” to monitor variables available to your entire program.
- “Call Stacks” to monitor function calls in the currently selected task.
- Updated Documentation and Wiki (www.robotc.net/wiki) – Constantly Updating!
- Support for Standard C commands – sprintf(), sscanf(), support for character arrays, unsigned variables, etc.
- Support for the Arduino family of controllers (Uno, Mega, Mega 2560) with future support and expanded functionality for the Arduino Leonardo and Due controllers.
- Updated Robot Virtual Worlds support to include additional sensors and motors.
- Improved Robot Virtual Worlds performance to simulate more realistic physics and robot behaviors.
- Support for the new MATRIX building system with the NXT.
Robot Specific Fixes:
- NXT I2C sensors were incorrectly initializing clock and data lines as outputs when first configuration. They were correctly left as inputs after first message was sent. Change was to initialize as inputs. Before change, the first I2C message on an empty port will incorrectly appear to succeed.
- Ignore HiTechnic Textrix Motor Controller spurious encoder counts. I.E. if encoder value read is hex ‘FF80xxxx’ then force a reread. Always accept the re-read value.
- Eliminate Z-Axis from VEX joystick window as is unused.
- Arduino boards now support controlling LEDs from PWM pins.
- Arduino boards now will read zero when connecting analog to ground.
- Add “Show Current Program Counter” button to Debugger.
- Add new template for “New File”. All new programs will start with a task main structure. This template can be modified by the user (it lives in /Sample Programs/Platform/Templates)
- Always force “Save As” for all template files. Before the files were being saved in a default directory.
- Allow any serial port to be used with VEX PIC systems.
- Allow user entered blank (empty) lines before first “#pragma config(” lines. Currently generates a compiler error.
- Improve placement of related compiler generated errors to appropriate line numbers.
- Fix bug where “Motors and Sensors Setup” did not work on empty files.
- Properly restore floating “Debugger Panes” when Debugger is invoked.
- Changed Checkmarks to Radio Icons for many menu items. This shows a “dot” instead of a “check mark” in the menu icon field.
- Created tooltip strings in resource file for all missing commands.
- Prepare to add two new Debugger panes to display “Breakpoints” and “Bookmarks”. Based on the existing “Compiler Errors” pane architecture. The new panes are displayed but the content is still empty.
- Better synchronization of breakpoints between “Source File” and “Disassembly Listing”. Previously when breakpoint was added/removed in one window the corresponding change was not properly made in the other window. Now the breakpoint ICONs are always refreshed whenever a window is “Activated” (i.e. made topmost).
- Add two new menu commands for “increase indent” and “decrease indent”.
- Tweak “auto close breakpoint hit” message box implementation. Add a check mark to the dialog.
- Add new “Compile OR Compile+Download” toolbar.
- Debug “Task Status” window — minor enhancements.
- FONT name was not being updated in Preferences “Font” tab correctly. Fixed.
Compiler and Command Updates/Fixes:
- Pointer support. New functions positioning for improvements in the dereference (“*”) and address of (“&”) unary operators.
- New “#pragma debugWindows(…)” to specify a list of Debugger Windows that should be opened.
- Add new intrinsic function “DebugStreamClear” to allow programs on robot to clear the debug stream.
- Support for “Implied Pointers” in functions.
- Fixed compiler priority for binary and unary versions of ‘&’, ‘*’, ‘+’ and ‘-’ operators.
- Support for unsigned longs.
- Add new intrinsic function for “round”.
- Added support for ‘atan2′.
- Allow ‘struct’ pointers as valid function return types.
- Fix issue in ‘struct’ declaration causing a random memory overwrite in ROBOTC IDE.
- Support pointer variables for ‘++’ and ‘–’.
- ‘sizeof’ operator now accepts argument types of ‘char’, ‘short’, ‘long’, ‘float’, …
- Fix bug in evaluating “complicated” / compound constant expressions in “#if”.
- Add support for ‘%p’ format code in ‘sprintf’.
- Improve code generation for pointer references to ‘struct’.
- Added doubly nested ‘->’ operator.
- Fixed bug in unary ‘-’ VM opcode.
- Improve code generation for structure element access.
- Fix implementation of structure element access code generation; i.e. the “.” operator.
- Partially re-implement “sizeof” operator for proper calculation of ‘pointer’ and ‘reference’ variables.
- Add “drop down toolbar button” to “Compile and Download” toolbar to select “Download + Compile” or “Compile” only; vs two separate buttons.
- Add partial support for new download “write to RAM” message. Needed for new “local variables” window.
- Add support for new “trinary opcodes” (+, – and *) with ‘long’ operands. Previously trinary opcodes were for ‘short’ variables. Trinary opcodes are primarily used for efficient code generation for array and structure element access.
- Added definition for new “NoOp” command.