Archive for the ‘download’ tag
After months of work, the ROBOTC Development Team is excited to announce the availability of the first preview release of ROBOTC Graphical Language for the VEX IQ platform. This new interface will allow you to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language. The new click and drag interface along with the simplified commands of Natural Language will allow any robotics user to get up and running with programming their robots as soon as possible.
The first release of ROBOTC Graphical Language is available for the VEX IQ platform for use with the standard VEX IQ Clawbot and Autopilot Robots. All ROBOTC 4.0 users will receive access to the new Graphical Language interface at no additional cost! Our plans over the next few months are to extend the Graphical Language interface to all of ROBOTC’s support platforms, including the Robot Virtual Worlds technology. You can download the preview version today at http://www.robotc.net/graphical/.
The new ROBOTC Graphical programming environment adds a number of new features we’d like to highlight:
Graphical Language Command List (Drag and Drop)
With the new ROBOTC Graphical Mode, we’ve updated our “Functions Library” to match the style of the Graphical interface. This new mode will allow you to drag and drop blocks of code from the “Graphical Functions” menu into your program to get your program created even faster!
New Language Commands for Easier Programs
We also added some new language extensions to both ROBOTC and Natural Language; such as the simplistic “Repeat” command. Prior to the Repeat command, users would need to copy and paste large sections of code or use a looping structure (like a ‘for’ or ‘while’ loop) in order to have a set of actions repeat a number of times. With the new “Repeat” command, however, users can simply specify how many times they would like the code to run, with no complex coding required. And users who wish to make an “infinite loop” can use the “repeat forever” command to accomplish this task quickly!
Commenting Blocks of Code!
Another awesome tool that we’ve implemented in ROBOTC Graphical is the “comment out” feature. You can now comment out an entire line of code just by clicking on the block’s line number. The robot ignores lines of code that are “commented out” when the program runs, which makes this feature very useful when testing or debugging code. This new tool is unique to ROBOTC’s Graphical interface.
Updated and Simplified Toolbar
Sometimes navigating menus as a new user can be a little overwhelming – so many options to choose from and lots of questions about what each option is used for. To help with this, we’ve redesigned ROBOTC’s toolbar to make getting up and running easier. We put the most used commands on a larger toolbar so new users have an area to easily click to download firmware, send their code to their robot, and run their programs without having to use the standard menu interface.
Convert to Text-Based Natural Language
Because each Graphical Natural Language block corresponds to a real ROBOTC or Natural Language function, users will be able to graduate from Graphical Programming to full text-based programming with the press of a single button. This allows users to naturally transition from Graphical Natural Language to the text based Natural Language (or ROBOTC), without having to worry about manually converting the code line-by-line!
Teacher’s Guide and Sample Programs
The new graphical interface includes over 50 new sample programs to help you get up and running with working examples and demo code. In addition, we’ve also developed a 30+page guide to walk new (and existing) users through the new Graphical Programming interface and getting started with the VEX IQ platform. You can find a link to the programming guide here and also on the ROBOTC Graphical page.
This initial release is only the beginning and we’re planning on improving the software with more features and flexibility over the coming months.
- Copy and Paste
- Undo/Redo Support
- Support for custom robots/configurations via an updated “Motors and Sensor Setup” interface.
- Dynamic Loop and Command Parameters (based on Motors and Sensor Setup / Robot Configuration)
- Tooltips, Contextual Help, and more!
Let us know what you think! If you have any feedback or questions, please send them along via the ROBOTC’s VEX IQ forums.
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
- 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.
- John Watson
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.