Unofficial FLL FAQ06-c - RIS
UFAQ Table of Contents
RIS is only available for RCX robots.
Q13.1) How can we overcome the stack size limit in RIS?
A1) Here is a relatively easy way to overcome the stack limit size. You create multiple stacks that trigger each other using a variable. The example here is for three stacks. You want the main stack to run and have it switch to Stack1 at the end, then at the end of Stack2 you want the program to terminate. At the beginning of the main stack (the one that you normally program in) set variables jmpStack1 = 0 and jmpStack2 = 0. Now create 2 variable sensor watchers. One will watch for jmpStack1 = 1 and the other jmpStack2 = 1. At the end of the main stack, set jmpStack1 = 1. This will trigger the sensor watcher to run its stack. The first thing you should do in Stack1 is set jmpStack1 = 0 so you don't forget. At the end of Stack1 set jmpStack2 = 1 and set jmpStack2 = 0 at the top of Stack2. The effects of sample time using this method are not known, but assumed minimal. Test it before doing anything critical.
A2) Create your programs with a hierarchical structure using Myblocks. Break the mission down into sections and program each section as a separate MyBlocks.
A3) Yet another alternative would be to use one variable to select between the various stacks. ie.
set doingStack = 0 (Placed at top of main stack)
set doingStack = 1 (bottom of main)
set doingStack = 2 (bottom of stack 1)
...
The first stack is triggered with doingStack=1, the second using doingStack=2, etc.
Q13.2) We can't get RIS to recognize that we have a rotation sensor!
A) You must enable it in the setup under advanced.
Q13.) RIS 2.0 programs that rely on small times do not work after being saved.
A) A bu3g in the software converts all times of 0.01 seconds to zero seconds! The only know workaround is to edit the times each time the program is loaded.
Q13.4) Should I upgrade from RIS 1.0 to 1.5 or 2.0?
A) Strongly advised. The new version is much better. RIS 2.0 is more powerful and is well worth the upgrade.
MyBlocks are stronger. Use of variables is great.
Q13.5) How can we get a printout of our program in RIS?
A) There is no simple print capability in RIS, but you do have three options:
1) Text printout: Drill down the directory structure into the RIS program directory. Continue into 'user', then into the directory with the name used to login, and finally into 'vault'. Here you should find files with your program names. These files can be opened and printed from any text editor.
2) Graphical printout: Use Control - Print Screen to capture the display with your program in it and paste into a word document (or other graphical program) and print them from there.
3) Hybrid printout. The web page
http://www.inpharmix.com/cgi/lego/lego_listing.pl
has a program to convert RIS programs into printer friendly web pages!
Q13.6) When we make a change to a MyBlock in one program, then load another program that uses the same MyBlock, we must rename the MyBlock. How can we solve this problem?
A) This is a bug/design error in the RIS software.
Q13.7) Our programs get corrupted when using small numbers.
A) RIS 2.0 allows you to specify a time constant of 0.01 seconds for motor duration. If you use this value, the program is no longer editable. If you are in this situation, you can change the time constant to something else while you edit the program than change it back to 0.1 just before you download the program.
Q13.8) How can we add comments to our code?
A1) You can use MyBlocks to combine code into a single labeled icon.
A2) Yet another good reason to upgrade to RIS 2.0. Under 2.0 there is a comment feature under the Edit menu.
Q13.9) Using RIS 2.0, my kids created a "WAIT UNTIL" block waiting for the rotation sensor counter to be greater than a value. It works fine with a fixed number. However when using a variable, one time in five the loop will not terminate.
A) An answer to this question is still needed. Authors welcome.
Q13.10) Does RIS 2.0 have jumps?
A) Jumps or gotos are not part of the RIS language. But you can use conditionals and repeat blocks to do the same thing.
UFAQ Table of Contents
Home
Disclaimer: This FAQ is not an official FIRST document.
It is an accumulation of knowledge derived from six thousand messages posted to
the FLL forum over three seasons. It has been reviewed by numerous people, but may
still contain errors. Use at your own risk.
Readers are encouraged to submit errors, suggested wording changes, new topics,
or comments to Skye Sweeney at skye@fll-freak.com
Copyright 2003-2006 Skye Sweeney; Last Updated on 10/28/2006