因為已經快接近4.0版的正式發行,所以試用期也縮短為10天。
RobotC因應不同的控制器,分為三種版本,MINDSTORMS (NXT, EV3),VEX Robotics (VEX IQ, VEX CORTEX),Arduino (UNO, Meag等)。
以下文章以LEGO MINDSENSORS為主。
RobotC官網的Download連結是NXT的3.62版,大家必須直接進入ROBOTC for LEGO MINDSTORMS,才能下載4.25 RC版。
安裝時的名稱都是 ROBOTC for LEGO MINDSTORMS 4.X ,
安裝後的About 頁面顯示版本為4.25
依照ROBOTC的開始說明,使用EV3主機需要設定四大步驟,
第一個就是將操作平台(Platform)改成EV3。
接著是更新EV3作業系統,韌體1.05X。
然後第三步驟是安裝ROBOTC韌體。
第四步驟就是開始撰寫你的程式!
這次比較特殊的是桌面有了『Graphical ROBOTC for LEGO Mindstorms 4.x』的捷徑。
沒錯!現在也可以使用圖形化環境撰寫程式,就算是邱老師這種視C語言為苦手的人,也能夠輕鬆『拉出』一堆程式。
下圖:更棒的是按下『Convert Graphical file to Text』,就能自動幫你生成C語言文字程式。(無法反向將文字程式轉換成圖形程式)
下圖:自動生成的C語言程式。
這樣一來,大家都能夠用類似Scratch的圖形方式撰寫程式。大大降低文字型程式語言的門檻。
其實圖形化程式是建立在自然語言(Natural Language)的基礎上,自然語言是把一些機器人動作行為的控制方式以口語分式表達出來,讓一般人能夠專注於機器人的行動以及邏輯執行過程。
最近聽聞BricxCC維護開發者John Hansen先生因為生活及工作繁忙,無暇完成EV3專用的『NXC』。
雖然ROBOTC是商業軟體,需要花費註冊,但是在更新支援都很迅速積極的情況下,邱老師認為ROBOTC是支援EV3主機文字型語言中一個很不錯的選擇。
下面轉貼Bot Bench文章中的RobotC改版記錄,這一版已經完全支援EV3所以功能,包含許多第三方感應器的使用。
(Xander將這一版本稱為『血、淚、汗交織而成的更新版本』XD)
Bot Bench文章連結:New Release: ROBOTC 4.25
- Cortex: Added servo motor commands to Cortex for Virtual Worlds.
- Cortex: Added potentiometer commands to Cortex for Virtual Worlds.
- Cortex: Add Timers and Clear Timers to Graphical for Cortex.
- IDE: Spurious “rbg” file extension may have been added when saving a text file created from converting a graphics file. Fixed.
- EV3: Update the routine that checks for “valid syntax of NXT on-brick file” for EV3. EV3 has different rules for file names than NXT.
- VEX IQ: Added sound commands to Natural Language for VEX IQ – modified the playNote command to use typedefs to make it easier for natural language users.
- Compiler: When substituting symbol names that match except with different letter case do a better job of handling the case when multiple symbols might possibly fit.
- EV3: Support for standard ROBOTC “playTone” file with EV3.
- Updated IDE Version (4.25)
- Updated Firmware Version (10.25)
- IDE: New Help System Engine + Content Files (replaces CHM)
- Debugger: Fixed issue where VEX IQ motor debugger window was displaying “raw” encoder counts instead of “scaled” encoder counts.
- Virtual Worlds: Adjust “no echo” value for VEX IQ in Emulator/Virtual Worlds
- IDE: Default directory has been adjusted to be “my documents” instead of the root ROBOTC directory for saving un-saved files.
- Compiler: Format code “%f” was broken in implementation when a number of decimal specifier wasn’t provided. Fixed.
- Natural Language: Updated Natural Language Libraries to include “debugging” to LCD commands.
- GUI: Updated Desktop/Start Icons for Graphical
- Debugger: Sensor window had some “artifacts” when the number of display rows was larger than the number of active sensors. Fixed so that artifacts are now blank lines.
- Compiler: Fixed compiler bug. Conversion of ‘float’ constant expressions to ‘long’ constant value was incorrect. End result of bug was that most likely value assigned was zero.
- EV3: Added resources to the firmware image with sounds and images in /home/root/lms2012/resources/
- EV3: EV3 firmware from LEGO does not properly handle the use of ‘.’ in the middle of filenames. Replace the ‘.’ with ‘_’.
- Compiler: Fixed issue with rand() – Compiler was incorrectly optimizing get/set property opcodes to a one-byte index value with constant parameters. Almost all properties only need one byte with exception of “propertyRandom” which was behaving incorrectly as a result of this bug.
- Graphical: Support for “compiler error” display for graphical files including using “graphical block numbers” rather than “text line index” for error display.
- Graphical: Tweaked graphical loop block colors.
- VEX IQ: Allow the debugger to display information based on the global motor encoder units instead of raw counts for VEX IQ
- Cortex: Updated VEX Cortex IME Support to reflect new motor type (393 with Turbo Gears). Also removed some inconsistencies in the software as well.
- EV3: When USB connected EV3 is disconnected then ROBOTC would not reconnect to it when reconnected until ROBOTC application was existed and re-entered. The problem was ROBOTC was using a “old” list of “discovered devices”. Now discards list of devices and rescans — when connecting via USB only — and problem is resolved.
- EV3: Support for EV3 text drawing to screen.
- EV3: Breakpoints now working for EV3.
- EV3: Add support for “EV3 Remote Screen” as part of the Debugger.
- Compiler: Improved implementation of compiler parse for ‘typedef enum” and “typedef struct”. Implementation is now closer to standard “C” with better handling for “anonymous” typedefs. Does not break any sample programs.
- IDE: “Open Include File” command in source file context menu was broken; fixed. “Go to symbol definition” context menu command now filters out macro parameters and procedure variables.
- NXT: Fixed issue where “simple” game controller data wasn’t appearing in available debugger windows
- Graphical: Graphic trash can implementation. You can drag selection to the trash can to delete blocks.
- NXT/EV3: Fix spurious generation of “#pragma config” for PID settings that are all set to 0xFF values.
- Graphical: Syntax checking on graphical files. Some errors are now flagged.
- Graphical: Implement “Comment” block for Graphical views including edit capability.
- EV3: New Commands for EV3 IR Sensor
- EV3: New Commands for EV3 Bumper/Touch Sensor
- EV3: New Commands for EV3 Color sensor
- EV3: New Commands for EV3 Gyro sensor
- EV3: New Commands for EV3 Touch Sensor
- Graphical: “>” and “<” comparison operators were swapping when saving a graphical file. Fixed.
- IDE: When a new source file is opened (or a template file) do not initially set the “modified” flag in the file. Only set the modified flag after end user has modified the file.
- IDE: Avoid double “Save File” prompt when compiling a file and on the first SAVE prompt you click cancel.
- EV3 Kernel: Image of latest build – version 1.06X and all the I2C enhancements.
- EV3: IDE “File Management” window for EV3 was often crashing; fixed a buffer read overflow situation which clears this up. Better text error message when there is not enough free flash memory to write a new file to the EV3.
- IDE: Disable “error” message box when pulling USB cable from robot brain (and the debugger shuts down).
- VEX IQ: Visual Error handling for Debugger Exceptions (Wrong Motor/Sensors/etc)
- VEX IQ: Updated GUI Text: When a ROBOTC AUTO program had previously ran, and then a user was trying to access a TeleOp program, they would be greeted with a “No Radio Needed…” message box. Updated the text to reflect that if they’re seeing a message they probably need a remote control, because this string is never presented to the user for more than a split second in Auto mode.
- IDE: Fixed issue with “Sensors” debugger window not being able to be edited.
- VEX IQ: fixed Issue with VEX IQ Color Sensor – Hue values were being scaled improperly.
- Graphical: Reduce flicker on graphical view when dragging blocks.
- Graphical: Added registry options to adjust the appearance of graphical programs. Includes show/hide {}. Show/hide semi-colons. Optional “end” text on end block. Etc.
- Robot Virtual Worlds / VEX IQ: Invert the proximity value provided by the vex color sensor to align with real hardware.
- IDE: Add support to “Motors and Sensors Setup” to store drive side — left/right/none — for each motor. Graphical Movement Commands will now use this data to decide what motors to drive
- Graphical: Adjust width of graphic programming blocks based on contents of edit controls and width of drop down menu items.
- Graphical: Added EV3, VEX Cortex and NXT as “Graphical Language” platforms.
- Bug: Large ICON toolbar was not getting built when IDE is opened unless it was “opening last file”. Changed data table to ensure that it is initially built.
- IDE: Added ability for “Macro” commands to Compile/Download/Launch Graphical Files when special flags are stored inside of the .RGB files.
- Graphical: VEX IQ Motors and Sensors now support dynamic menus based on Motors and Sensor Setup Data
邱老師,
回覆刪除Robot C 4.26版已經可以下載:
http://www.robotc.net/download/lego/
看起來像是正式版了
早上還有看到8/29的4.26版連結,剛剛再次確認,官網已經恢復4.25版,我想應該是一時誤植,不過也證明很快就會有新版發布。
刪除不過昨晚我倒是有下載到 4.26 的安裝檔, 沒想到今天就變回去4.25版
刪除