Release Notes



robot_whole_small Download BRAIN now.


1.4.0
Current release.

  • Fixed bug where remote clients could not always connect to the video server.



1.3.9
November 15, 2009

  • Added proximity visual indicator to motion tracking. (See How to video).
  • Added skin tracking (experimental) so a Robot can track a face, hand, etc.
  • Added two sample scripts - proxmity, and motion tracking to show examples of motion tracking.
  • Misc minor bug fixes and UI tweaks.



1.3.8
November 10, 2009

  • Completely re-written blob tracking algorithm. (See motion settings).
  • Changed tracking mode options for primary camera.
  • Fixed some minor UI bugs in the Motion Detection Settings.
  • Improved Haptek installer integration. The Haptek installer now installs automatically and silently, eliminating the need to download and install separately.
  • Added distance capability to camera. Robot can now determine distance of a moving object based on proximity to camera.
  • This value is updated in the variable:
  • $MOTION_PROXIMITY (It returns a value from 1 to 100 representing the closeness of an object.)
  • In addition, the variables:
  • $MOTION_DETECTION_X
  • $MOTION_DETECTION_Y
  • Can be used to track the location of movement / blob. (See help file in movement settings for more details).
  • Added option to refresh variables automatically (checkbox) when the variables form is displayed.
  • Misc. bug fixes.



1.3.7
October 10, 2009

  • Fixed bug in installer where a certain DLL was not registering properly and causing BRAIN to crash upon startup.



1.3.6
September 28, 2009

  • Minor UI changes.
  • Minor bug fixes (fixed possible truncation of settings file.)



1.3.5
September 27, 2009

Improved installer. Now warns about need to install Haptek Player first.

Bug Fixes:
Fixed bug where URL in web browser panel now gets correctly updated when switching web pages.



1.3.4
September 7, 2009

Enhancements:
  • Added Haptek character support.
  • Added a sample script "Character stock" demonstrating some of the character capabilities.
  • Added an eBay sample script.

Bug Fixes:
  • Fixed bug where:
  • GOTO URL, GOTO WEB PAGE, LOAD WEB PAGE
  • Would not be recongized by the console (scripts were fine, but these commands could not be manually entered into the console).
  • Fixed bug where connecting to a remote video server would not always connect on the first try.
  • Minor UI fixes.



1.3.3
August 8, 2009

  • Adjusted sensor logic to when using sensor unit of measure other than percentage (CM, Inches).
  • Removed reverse calibration (settings / movement). No longed needed now that BRAIN uses a different (more accurate) reverse method.
  • Fixed bug where clicking on last row in "edit all commands" would cause a runtime error.
  • Fixed bug when selecting shadow settings (shadows were not honoring the settings controls while in settings).
  • Improved shadow rendering to reduce redrawing time.
  • Minor UI cleanup in settings commands.
  • Minor help file changes.
  • Fixed bug where "Check for update" was checking an old URL.




1.3.2
July 31, 2009

Enhancements:
  • Added ability to show numeric value overlay on graphical sensors.
  • Added an additional visual element in both sensor panels that now show if a sensor is out of range.
  • (The sensors on the Robot have an optimal range - for example, the Sharp 80 CM sensor has a range from 10 to 80cm (4-32 inches).
  • If an object is outside of this range (i.e. too close, or too far, the sensor reading is meaningless).
  • The sensor panels now indicate if a sensor reading is out of range.
  • Note: Sensors enviroment variables have a value of -1 for out of range sensor readings. This value can be checked for in scripts.
  • Minor code cleanup / optimization.




1.3.1
July 30, 2009

Enhancements:
  • Added M3.Reverse method to the .net controls (same syntax as M3.Drive) so we can now drive more accurately in reverse.
    • (Previous versions relied upon a timer to determine when to stop moving in reverse. This version receives an event from the actual M3 controller.)
  • Added option to ignore sensor drop-off event. Useful if drop-off sensors have been re-located.
  • Added option (sensor settings) to return sensor values as percent, centimeters, or inches.
  • Minor UI cleanup on settings buttons.
  • Added option to disable sensor drop-off event (for users who have relocated their drop-off sensors).
  • Added abilty to clear the M3 messages list view, and copy its contents to clipboard.
  • Example to clear M# Messages: M3Messages.listViewMsg.Items.Clear();
  • To copy to clipboard, simply iterate through the listview columns and rows (M3Messages.listViewMsg.Columns[i].Text)

Bug fixes:
  • Fixed bug where the motion detection checkbox would become checked (in some situations) when switching tabs.
  • Fixed bug where the safety event was firing too often, causing the Robot to make small movements.




1.3.0 Latest release.
July 27, 2009

  • Fixed bug where motion detection preview was not sizing properly when main window was resized.
  • Fixed bug where, when switching motion detection on, then off, then on again could cause a ghost image.
  • Fixed UI issue where resizing the video window would not center the log textbox if it was displayed.
  • Fixed UI issue where the video options drop-down would not remain center if the window was being resized.
  • Fixed bug where motion detection checkbox would not maintain state when switching tabs.
  • Fixed bug where BRAIN could freeze when switching to the motion detection settings.




1.2.9
July 22, 2009

  • Added option to alert user when a script terminates. (Settings / scripting).
  • Fixed bug where script threads were not terminating on user request.
  • Added sensor simulation opion where each sensor could be set to approach an object (settings / sensors). Useful for testing scripts on a local PC (vs. the Robot).




1.2.8
July 20, 2009

Added Save As button in the command editor.

Fixed bug where BRAIN would crash if no camera was connected.
Fixed bug where aborting a script would not kill the thread.




1.2.5
July 3, 2009

Enhancements.
  • Video (camera) controls have been completely re-done:
  • Signifcant improvement in image quality and network bandwidth utilization.
  • Camera now suppports video AND audio streaming across the network.
  • Frame grabs AND video grabs are now supported in both client and server mode. ie. You can capture media from the local camera (if in server mode), as well as the remote camera (if in client mode).
  • Motion can now be detected in both the client and server modes of BRAIN.
  • Motion is now tracked and exposed via environemnt variables (BRAIN can use this for object tracking for example).
  • Motion can show a crosshair and motion boundary as well as a motion mask.
  • Added Simulate Sensor Values option in sensor settings. (Useful for writing and testing scripts with simulated sensor data when running BRAIN on a client, or when the Robot is not navigating.)
  • Added 3 new motion detection environment variables:
  • MOTION_DETECTION_RUNNING - returns TRUE if motion detection is running, and false if not.
  • MOTION_DETECTION_X - a value from 1 to 100 (where 50 is the center) representing the relative horizontal position of where motion occurred.
  • MOTION_DETECTION_Y - a value from 1 to 100 (where 50 is the center) representing the relative vertical position of where motion occurred.
  • The following simple script illustrates how BRAIN can make decisions based on motion. (Script can be found in samples as "motion detection"

ALIAS $MotionReport=WRITE $MOTION_DETECTION_X;WRITE $MOTION_DETECTION_Y
label MainLoop
     if $MOTION_DETECTION_RUNNING THEN $MotionReport else WRITE "Motion Detection Not Running."
     sleep 500
     goto MainLoop

     
  • BRAIN now supports color blob tracking (See the motion detection settings).
  • BRAIN can track a moving or stationary color blob. Can be used for line following, navigation, etc.
  • Added new panel: Console (Displays same data as the log window. Handy to watch BRAIN activity from the main screen without having to switch back and forth between screens.
  • Added keyword "LOG". Usage: LOG some text. Can be used by scripts to log events to the console and log windows. Write the event and date and time stamps it. (Handy way to track script ativity without having to write to the Robot console.)
  • Save button at bottom of script editor has been removed. Redundant with toolbar save button.


Bug Fixes.

  • Fixed bug where a memory leak could occur when running motion detection for long periods of time.
  • Fixed UI bug where buttons would off-screen in the commands window.
  • Fixed minor (rare) tooltip (balloon help) where balloon help would be shown even though the tooltip option was not checked.
  • Fixed bug with text height issue in numeric sensors panel.

Known issue.

  • On occasion, connecting to remote video server (when in client server mode) may take a couple of tries.





1.2.4
June 7 2009

Bug fixes.

  • Fixed bug where, in certain circumstances, clients might not be able to connect to the server when running in client / server mode.
  • Fixed bug where license agreement was not part of the distribution and not shown in the installer.




1.2.3
June 6, 2009

Changes / Enhancements

  • Added an environment varible: $BRAIN_VERSION which holds the current version of BRAIN.
  • Minor UI updates when re-sizing the application window.
  • Added an option to log all script activity to the log window Scripts settings now contains an option to log script activity).
  • Added search option in log screen (Robot Status screen)
  • Added split capability to log (Robot Status page) so the the log windows can be resized (place mouse between log windows to view splitter cursor).
  • "Web 2.0" setting button renames to "Web Services"
  • Minor UI refinements. (Panel resize handles, close and maximize buttons), help icon and windows.
  • Script editor help content has been consolidated into the general command help. (ie. single help button on command page now, vs. two).
  • Added a web browser panel. (Right click on the main page to select it).
  • Added a new command: LOAD WEB PAGE (analagous to GOTO WEB PAGE, or GOTO URL) which loads a URL into the web browser panel.
  • More robust error logging.
  • Added SHOW PANEL "panelName" and HIDE PANEL "panelName" keywords. Note: Quotes MUST be used around panel names to distinquish the names from BRAIN keywords.
  • Example usage: SHOW PANEL "Web Browser"
  • The EXTRACT command now supports regular expressions. If a LHS or a RHS is not specified, the text is considered to be a regular expression.
  • See the script: "regex" for an example of how this is used.
  • Added EXIT keyword. Forces a script to exit (stop execution). Example usage:

label loop
if $i<100 then goto method blink else exit
$i=$i+1
wr $i
goto loop


Bug fixes:

  • Significant CPU load reduction when running in server mode.
  • Fixed bug that could cause client to drop their connection to the server in some situations.
  • Fixed bug where expressions containing ()'s such as: IF ($foo>5) AND ($foo<10)... would fail unless the parenthesis were removed.
  • Minor updates to the @PROPER command. (Now removes extra spaces at the end, and adds a "." if needed.
  • Fixed bug where "EXTRACT ANY" command would only return the first result. (See a demo of EXTRACT in the "Explain" script.)
  • Fixed bug where textbox foreground colors were being set to background colors when creating a theme.
  • Fixed bug where a certain theme settings were redundantly being saved in the main settings file.
  • Fixed bug where some performance menus (robot status screen) would contain duplicate items on multi-core machines.
  • Fixed bug where resizing the screen could cause buttons in the command screen to be off-screen.



1.2.2
May 21, 2009

Changes / enhancements.

  • Script files no longer use the .scr extension - they now use the .script extension  (this was due to the confusion with Windows screen saver (.scr) files. Note: Your scripts must be manually renamed.
    • An easy way to do this is:
    • Open the Script folder.
    • Select the tools menu / folder options
    • Select the View tab
    • Uncheck "Hide extensions..."
    • Click OK
    • Now you can just edit the file name in the Windows explorer.
    • Optionally, open notepad, drag your scripts to it (one at a time) and save them as (filename).script - where (filename) is the name of your script.
  • Added a more robust, professional script editor.
    • New toolbar
    • Undo
    • Printing
    • Searching / Search and replace
    • Code outlining  (via use of [comment] tag)
    • Page layout modes
    • Richer syntax color coding
    • and more.
  • Added a performance monitor/tool to the Robot Status page. (Future scripts will be able to read some of these values. So a script could take alternate action based on CPU load, for example.)
  • Significant enhancements to scripts:
    • Support for complex expressions in scripts.
    • Added the following constants
      • @PI   ( 3.14159265...)
      • @E    (2.718...)
      • Example: SAY @PI
    • and the following functions:
      • @SIN - example: WRITE @SIN(90)
      • @COS - example: WRITE @COS(180)
      • @TAN - example: WRITE @TAB(45)
      • @ABS - example: WRITE @ABS(-123)
      • @LOG - example: WRITE @LOG(100)
      • @LOG10 - example: WRITE @LOG(100)
      • @ROUND - example: WRITE @ROUND(3.14159) or @ROUND(number,placesToRoundTo) - example @ROUND(12.45678,2) = 12.46
      • @SQRT - example: WRITE QSQRT(4)
      • @RADIAN2DEGREE - convert a radian value to a degree value.
      • @DEGREE2RADIAN - convert a degree value to a radian value.
      • Example: SAY The Sin of 90 is @SIN(90)
    • NOTE:
      • By default BRAIN returns values in degrees (not radians).
      • Use the @RADIAN2DEGREE and @DEGREE2RADIAN functions if other output is desired.
    • String functions.
      • @UPPER - Returns a string as uppercase.
      • @LOWER - Returns a string as lowercase.
      • @PROPER - Converts a string to proper case, where the entire string is made lowercase and the first letter capitalized.
      • @LENGTH - Returns the lenght of a string as an integer.
      • @TRIM - remove extra whitepace at the beginning and end of a string. (same as TRIM command).
    • and modifiers:
      • @COMMA    (Insert commas into a number - example from: 12345 to 12,345.00) Default rounding is 2 places. Optionally use:
      • @COMMA (number,placesToRoundTo) - example @COMMA(1234.45678,3) = 1,234.457
      • @CURRENCY (Format a number as currency - example from 12345 to $12,345.00)
      • @HEX      (Format a number as a hexadecimal. Example 255 is FF).
      • @BINARY   (Format a number as a binary. Example 7 is 111).
      • @HEX2DEC  (Format a hexacdimal number as decimal. Example FF is 255).
      • @HEX2BIN  (Format a hexadecimal number as binary. Example 255 is 11111111).
      • @BIN2DEC  (Format a binary number as decimal. Example 11111111 is 255).
      • @BIN2HEX  (Format a binary number as a hexadecimal. Example 11111111 is FF).
    • Complex expressions can be nested. For example.
      • SAY @comma(@round(10000/3))
      • WRITE @ROUND(@SIN(90) + (27/3+2) - (2^2))  # = 8
      • SAY @ROUND(@ABS(@SIN(18)))   # = 0.75
      • SAY @sqrt(@sqrt(16)) # = 2
    • Note: Completely surrounding expression with ()'s will intentionally return the expression surrounded by ()'s
      • For example:
      • WRITE (@SQRT(4)) will return (2) whereas
      • WRITE @SQRT(4) will return 2
      • Generally speaking, do not surround expressions with ()'s
    • Operators supported in expressions:
      • + (addition)
      • - (subtraction)
      • (multiply)
      • / (division)
      • % (Modulus - the remainder portion of a division.) NEW
      • ^ Raise to the power NEW
      • & Append (text strings only)
    • BRAIN now supports more "sophisticated" IF THEN statements. For example:
      • Note: Invalid function calls (example: SAY @SIN(A) return an error " which can be checked for in scripts if needed.
    • Added 5 second timeout to motion detection email sending. Previously BRAIN could "hang" for up to 100 seconds (SMTP timeout default) if the mail server was unavailable.
    • Added the following new keywords:
      • PRIMARY CAMERA (on|off)
      • SECONDARY CAMERA (on|off)
    • Context menu (Right clicking) added to the robot command drop-down menu to allow for clearing of contents.
    • Saving a script no longer displays a pop-up dialog, the status bar now indicates the save state.
    • Bug fixes.
    • Bug in RUN SCRIPT command fixed. (Would only run a script if the run startup script checkbox was checked in th script settings. Now operates correctly.)
    • In rare cases a script would "hang" due to a command not being detected as finishing. Fixed.


    • Other
    • Misc UI updates.
    • Sample scripts are now included in the installer.





    1.2.1
    April 27, 2009

    Enhancements / changes:

    • Implemented new and significantly improved motion detection algorithm.
    • Video panel now supports a motion detection "mask" mode where you can see only the motion that is occuring (useful for testing optimal motion detection settings).
    • Added Web 2.0 settings page.
    • Added Web 2.0 help page.
    • Added support for Twitter.
    • Added "Tweet" command. (The Robot can send tweets to Twitter using "Tweet message" where message is the text you wish to post to twitter. For example, when the Robot detects motion, it could send a tweet. Scripts can send tweets based on infomation the Robot gets from the Internet, etc.
    • Motion detection can be started automatically by setting the "Automatically start Motion Detection" option under Video settings. (Note: The Primary camera must be started also).
    • The motion detection setting on the video panel is no longer saved between sessions. Now use the "Automatically start Motion Detection" service if you wish to save this setting between sessions.
    • Motion detection settings page now shows a real-time preview of the motion detection engine.
    • Added a "Show motion only" option to the camera panels.
    • Added a noise filter slider in the motion detection settings. (CCD and CMOS cameras introduce noise into the image - this option lets you filter out the noise to make the motion detection engine work better).
    • Minor GUI updates to the settings pages.
    • "Show Variables" button now shows global variables plus the variables of the active scripts.
    • An addtional colum (owner) has been added to the “Show Variables” window, so you can determine what script owns what variable.

    Bug fixes:
    • Reset panel layout now causes camera images to resize appropriately if cameras are turned on.
    • Default theme was not always being saved / created after panel reset.

    Other:
    • Variable assignments after a THEN are now supported.
    • Previously, variable assignments after a THEN in an IF THEN statement were not supported - only commands were. So for example:
    • IF $count=1 THEN SAY Hello World.
    • Would work, but:
    • IF $count=1 THEN $var=7
    • Would not.




    1.2
    April 7, 2009

    Enhancements.

    • Script files now used.
      • BRAIN version 1.2 and above now use a different internal format for managing scripts. In prior versions of BRAIN all scripts were stored in a single “Command / Response” file. They are now stored as separate text files in the scripts directory. This allows for future scalability and allows users to edit scripts using any editor (notepad for example) - although the built-it editor has been enhanced and is still recommended due to its error checking.
      • If you are upgrading from BRAIN version 1.1.7.1 or below to BRAIN version 1.2 (or above) a one time conversion of the “Command / Response file” must be done. This is a simple utility that parses the cr.txt file to create the independent script files.
      • The scriptConvertor utility can be downloaded from the download section, unzipped, and simply run. This utility needs only be run once and takes only a few seconds.
    • Script variables are now, by default local to the script. This means that multiple scripts using the same variable definitions can now be run in parallel without affecting one another.
      • To make a script global, a script variable must be declared with the GLOBAL command.
      • For example:
      • GLOBAL $name
      • $name=ASK What is your name?
      • # Now $name is available to all scripts.
    • Running scripts status bar reporting significantly improved.
    • Command editor changes.
      • Removed response spoken field in the command editor. Redundant with script capability.
      • Script editor now supports a pop-out edit mode.
      • Cleaned up "edit all commands" window. Clicking on the script column / cell allows you to edit the script directly.
      • Removed "update all commands" and "commit to file" buttons as they are no longer needed due to scripts now being separate files.
      • Added ability to change row heights in the all commands editor.
      • When commands are deleted. The script files are not actually deleted - they are renamed as "scriptname".del in the event they need to be recovered.
    • Script performance improved further, especially when using the debugger.
    • null keyword added. Can be used to check if a file just read was empty, does not exist, or if a web page extract returned nothing.
      • For example:
      • $fileContents=READ FILE $CONTENT_DIRECTORY\Sample.txt
      • if $fileContents = null then goto method failed else goto method success
    • Added FILE EXISTS keyword. Example usage:
      • $fileExists=FILE EXISTS $CONTENT_DIRECTORY\Sample.txt
      • if $fileExists then say It exists else say it does not exist.
    • Added: WAITKEY command. Handy to add as a last line in a script so the debugger is not cleared when the script finishes, or simply to debug a script, or wait for a user acknowledgment. (Local use only. Not applicable in client / server modes).
      • For example:
      • Say When you are ready to being, please press any key.
      • WAITKEY # Prompts the user to press any key
    • Motion detection pre and post commands can now be started in one of two ways:
      • Only when starting and stopping motion detection. (Runs only once per motion detection session.)
      • or
      • Whenever motion is detected. (May run multiple times per motion detection session.)
    • Help page added for BRAIN Settings screen. Misc other help file changes


    Bug fixes / changes.

    • Pressing ctrl-v (paste) in the script editor could cause a double paste.
    • Doubling-clicking on a panel would cause it to close in some instances. (Double-clicking sets a panel to its default size.)
    • Robot status panel's backgrounnd color now reflects the scheme loaded.
    • Variables that contained a "_" such as $CONTENT_DIRECTORY were not being shown correctly in the script debugger.
    • Variables whose value was nothing ("") would incorrectly hold the value of the name of the variable not a null value (as it should).
    • For example, consider the following line:
    • $fileContents=READ FILE $CONTENT_DIRECTORY\Sample.txt
    • If the file Sample.txt were empty, $fileContents would be assigned the incorrect value of "$fileContents", instead of "".
    • When reading a file (READ FILE) file content that contained $'s were being interpreted as variables. Files are now read and saved in variables verbatim.
    • Extra spaces between the equal sign in commands such as "$foo = ASK What is your name?" would cause the command to fail. (Previously it had to be written as ("$foo=ASK What is your name?") - Note the lack of spaces surround the =.
    • Debugger now properly shows variable values (previously variable values did not update in the debugger).
    • Script quick-pick drop down menu clean up. (Minor typos).
    • Motion detection fixes:
      • Motion detection images were always being sent with email regardless of attach images check box setting.
      • Motion detection would sometimes false trigger.
      • Motion detection setting "ATTACH_IMAGES_TO_EMAIL_ON_MOTION" was not being saved.
      • When capturing multiple images, motion detection would capture the same image multiple times - not new ones.
      • Increased motion capture buffer to improve motion detection resolution.
    • If M3 was turned off or not connected and a movement direction was click (or a robot move command issued), the Robot would think it was moving when it was not.
    • Navigation animation is now correctly turned off (if on during a stop services request).
    • DIGITALIO command now accommodates spaces (or no spaces) between arguments. For example: "DIGITALIO 10,on" and "DIGITALIO 10  , on" both work.
    • Debugger now clears itself after a script has stopped.
    • Motion detection media folder browse directory button now defaults to the motion detection directory instead of C:\




    1.1.7.1
    March 25, 2009
    Fixed bug where, on some rare occasions, some script variables were not getting assigned.



    1.1.7
    March 23, 2009

    Enhancements

    • Significant improvment in script execution speed (Scripts are approximately 20X faster).
    • Significant enhancements and refinements to the script editor (Added a tool bar - ability to insert text, ability to save selected text, row, column indicators, cut, paste, copy, and undo.)
    • Significant enhancements and refinements to script checking - more robust, detailed error checking
    • Simplified script error screen.
    • Added a script debugger - Displays each line of a script as it executes it as well as the scripts’ variables. (Toggled on or off by selecting the "Step Through Script" option in the script settings.)
    • Added new keywords: GOTO METHOD x and RETURN - this allows you to create commonly used methods (subroutines) that can be repeatedly called.
    • For example:
      • # Simple script demonstrating number decrementing.
      • $max=ask Countdown from what number
      • $i=$max
      • label loop
      • goto method decrement
      • if $i>0 then goto label loop else goto label done
      • label done
      • CLS
      • say Blast off!
      • method decrement
      • CLS
      • say $i
      • sleep 1000
      • $i=$i-1
      • return
    • Increased Motion detection sensitivity and range.
    • Changed Motion detection algorithm to consider all colors in an image (previously only white) and average them to be more accurate.
    • Combined layouts and themes into one file (themes). Separate layout files are no longer used. All panel layouts and theme colors are now stored as theme files.
    • Added %0 variable (number of arguments passed to a script.) Scripts can use this value to ensure the correct number of arguments were passed to it.
    • For example, consider the following script:
      • # This script expects a minimum of 3 arguments.
      • say got %0 arguments to this script.
      • if %0<3 then say I need at least 3 arguments else say I have enough arguments
    • Time stamp text size now scales with resolution of image captured.


    Bug fixes
    • Fixed bug where motion detection pre and post command settings were not being saved correctly.
    • Fixed bug where image time stamps with a minute < 10 would not display the minutes portion correctly.
    • Accommodated unpassed arguments to scripts - fixed argument substitution logic - for example, the following command now works:
      • if %1 = "" then Say no arguments passed else say I got %1






    1.1.6
    March 14, 2009

    Enhancements
    • Screens now have dynamic scroll bars to accomodate extra settings, etc.
    • Minor changes to the peripheral setting screen and corresponding help file.
    • Added Pre, Event, and Post sections to Motion Dectection settings.
    • Removed "run script" on motion detection (redundant with "run command" on motion detection)
    • Added Quick View feature for scripts (example can be seen in the Motion Detection settings).
    • When an error notification is displayed in the status bar, clicking on it takes you to the Robot Status page.
    • Script editor font sizes can now be changed. (Saved via the main Save Settings button).
    • Images now contains date and time stamps (screen grabs and motion detection images).
    • Clean-up network settings page.
    • Added BRAIN settings page (moved some non-network settings to the BRAIN settings page).
    • Added SSL option for mail settings.
    • Added mail test button to mail setting page.
    • Scripts now support up to 8 arguments %1..%8
      • For example, say you have a script called “Addition” that contains:
      • $number1=%1
      • $number2=%2
      • $answer=$number1+$number2
      • say $number1 plus $number2 is $answer
    •  You can call Addition with: Addition with the arguments 7 and 8 (and the script would say 15).
    • Or a command called "Turn on Digital IO Port" that looks like:
      • $port=%1
      • DIGITALIO $port,1
    • You could call this command with: "Turn on Digital IO Port 12"
    • and port 12 would turn on.

    Bug Fixes
    • Moving a panel would not redraw its shadow (if panel shadows were enabled).
    • Fixed a minor UI issue where the line numbers in the script editor would not always line up.
    • Numerous tool tip content fixes.
    • Fixed a bug where motion detection would always be triggered after the Robot moved location.





    1.1.5
    February 24, 2009

    Bug fixes:
    • Fixed bug, where if a camera was already on, and the frame rate (FPS) was changed via the BRAIN FPS video setting, the camera would go blank and require a stop / restart. (The camera now stays on if it was on before the FPS change).
    • Fixed bug where a long sleep command in one script could cause another scripts execution to be delayed. Significantly improved script multi-threading.

    Enhancements / Other:
    • Significantly improved script performance.
    • Changed network and processor peformance settings to be more granular (0-10 range vs 0-3) to allow for a large range of network and processor configurations.
    • Added script performance visual indicator to Robot commands panel (visible when scripts are running).
    • Added STOP ALL command. Essentially an "emergency stop". Stops all scripts, and all movement. (Like all commands, can be typed directly into the Robot commmands panel, or called from a script. (Note: if called from a script, it will also stop the script that invoked the command.)
    • Default behavior for installer is now to remove the previous version of BRAIN when installing.



    1.1.4
    February 19, 2009

    Bug fixes:
    • Fixed FPS issue where changing FPS issue via the camera properties (vs. BRAINs) would have no effect. (FPS is now set via the "Apply" button next to the FPS setting. (Apply button is necessary for performance, as each change in the numeric up/down control causes a connection to the camera driver which is slow. The apply button does this just once.) NOTE: FPS settings should ONLY be done via BRAIN (not via the camera driver properties).
    • If a camera panel is resized while the camera is on, the video now gets resized to automatically fill the camera panel. (Changed Video settings help file to reflect this note.)
    • Changed product version in control panel (add and remove programs) to reflect correct BRAIN version.
    • Application update check incorrectly said an update was available if the version page was unavailable on the RobotGrayMatter web site.
    • "Arranging panels" did not always cause "hidden" panels to come into view.
    • A statement such as "sleep 60000" would cause the GUI to become non-responsive (example the Talking Clock script).
    • Improved background scripts so that GUI performance is less impacted.
    • Script with a long sleep statement in it might not be killed when the "stop script" or "stop all scripts" option was selected.

    Enhancements / Other:
    • Added the following script commands (also available via the command panel):
    • PAUSE SCRIPT scriptName
    • PAUSE ALL SCRIPTS
    • RESTART SCRIPT scriptName
    • Can stop a script via a system command - STOP SCRIPT x, and  stop all scripts via a system command - STOP ALL SCRIPTS
    • Robot Command panel now contains a "Use Script Keywords Menu" checkbox where a user can toggle between the user created commands (default) and the script keyword commands.
    • Added "clear" and "copy to clipboard" buttons for M3 log. (Robot Status page).
    • URL to check for updates and downloads are now stored in the settings file.
    • Minor GUI changes to the status bar.
    • Removed "Connnecting to Robot" and "Disconnecting from Robot" forms to clean up GUI. Status now shown in status bar.
    • Digital Out ports can now be referred to by their custom names. For example, if you have named port 15 Headlights, the following commands are now equivalent.
    • DIGITALIO 15, ON
    • DIGITALIO Headlights ON
    • License agreement added to installer.
    • License agreement now read from file.



    1.1.3
    December 24, 2008

    Bug fixes:
    • Minor GUI fixes.

    Enhancements:
    • Added button to dump variables to console.
    • $SENSORx variables are now initialized even if Robot Services have not yet been started.



    1.1.2
    November 15, 2008

    Bug fixes:
    • Fixed bug where setting application to start automatically on Windows reboot (registry entry) sometimes failed due to incorrect path in registry key.
    • Removed border from Splash screen.
    • Fixed runtime error with a specific scenario in "edit all commands":
    • Adding a new command with no response previously caused a runtime error. Code now checks for that condition.

    Enhancements:
    • Added "Stop Script" script command.
    • Usage: Stop Script NameOfScriptToStop
    • This is equivalent to stoppping a script via the script menu.
    • Added "STOP ALL SCRIPTS # Stop all currently executing scripts.
    • Usage: Stop All Scripts
    • This is equivalent to stoppping all scripts via the script menu.
    • Added Vista support (so that BRAIN can be installed on Vista clients - not Vista Robots): (Vista support in beta)
    • Added Windows version detection - shown in About box (and used for internal decisions such as which speech recognition engine to use).

    Voice reconignition in BRAIN is not currently supported under Vista




    June 19 2008
    Version 1.1.1

    Minor Bug fixes:
    • Application update check would not show a message if BRAIN was on the most current release. It now does.
    • Fixed pop-up help message on "Check for application updates" - was showing incorrect text.



    June 18, 2008
    Version 1.1

    • Added check for application updates on startup (see network settings)
    • Changed SLEEP command to sleep in a separate thread to make parallel script execution more consistent.
    • When entering a license key, the textbox color now visually indicates what type of key you have (Light green = evalutation key, Green = permanent key, Red = Invalid key).
    • Added text next to license key input to show the license key type: evaluation, permanent, etc.

    Bug fixes:
    • Fixed bug so that motion detection attach images is enabled only when motion detection capture images is checked.
    • Gave the Robot more time to settle when performing motion detection while in autonomous mode.
    • Checked for existance for motion dection folder at startup, and create it as necessary.



    June 1, 2008.
    BRAIN Version 1.0 Released. (Private beta).