Subject:
|
Re: Crate Contraption scripting system?
|
Newsgroups:
|
lugnet.org.us.smart
|
Date:
|
Mon, 18 Oct 2004 03:07:21 GMT
|
Viewed:
|
3166 times
|
| |
| |
In lugnet.org.us.smart, Brian Davis wrote:
> ... Instead of melamine board I use the stiff but
> roll-up-able (is that a word?) plastic sheeting used as "shower walls" ($14 for
> 8x4, easily cut, and can be rolled up for transport) - it comes, I'm told, in a
> nice neutral gray, but it's a special order and they won't get it for under 10
> sheet or something. Too bad.
That sounds very interesting. David Schilling has some white 3x7 boards that we
are using that work fairly well. I would prefer something less glossy because
then I get a better gray scale reading on the edge of the line. I'm going to
look into the shower wall sheeting you are talking about.
>
> > The program is written in NQC which means I have to
> > deal with some limitations,
>
> and your list of tricks to get around and utilize the RCX are even more
> valuable than the description of the scripting system! Thank you again, I'd
> never thought about "recruiting" local variables in such a fashion, and it's a
> nice example of how to use #pragma to start a single program in several
> pre-programmed modes.
I don't use #pragma's. Instead I use a header file that does all the global
variable declarations and I #include it first, before any other declarations, in
all the programs that are stored on the RCX. That way all the programs declare
the same variables in the exact same places in the memory of the RCX. Local
variables for the tasks are also fixed across all the programs on the RCX. To
make sure that a task on another program does not overwrite the script stored in
the memory by the main program, I made sure that the script memory tasks were
defined last. Since my main program, which I put in program slot 1, has by far
the most number of tasks, none of the other programs stored on the RCX defined a
task that would overwrite any of the script tasks local variable space. What I
didn't do, but probably should have done, is put my script tasks in my shared
include file. That way every program would include the definitions for the 4
script tasks, whether they use them or not, and could not have any other tasks
that could overwrite the script tasks local variable space. If this doesn't
make any sense, let me know and I'll try to explain it a different way.
> Again, thanks for a wonderfully detailed description - the internal,
> "hidden" workings of the Crate Contraption are just as fascinating as watching
> the action "from the outside"!
You are welcome.
Gus
|
|
Message is in Reply To:
| | Re: Crate Contraption scripting system?
|
| (...) Wow. Thank you for an absolutely fabulous describtion - that is far more than I hoped for, and it makes a lot of things clearer. (...) That's probably next on my list. I grabbed some cheap retroreflective tapa at Meijer's the other day, and (...) (20 years ago, 17-Oct-04, to lugnet.org.us.smart)
|
4 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|