To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.robolabOpen lugnet.robotics.rcx.robolab in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / ROBOLAB / 243
242  |  244
Subject: 
Re: Robolab, byte codes and assembler
Newsgroups: 
lugnet.robotics.rcx.robolab
Date: 
Thu, 27 Nov 2003 03:37:55 GMT
Viewed: 
9190 times
  
In lugnet.robotics.rcx.robolab, Mitchell Lichtenberg wrote:
In lugnet.robotics.rcx.robolab, Don Stauffer wrote:
----Snip------------->
My son's school is involved in a competition which requires the use of Robolab
(or RCX code, but that's a joke), so I tried to code this using a "generic
sensor adapter", which appears to successfully produce raw values proportional
to the voltages read from the sensor.  The attempt pretty much worked, but the
sampling seems to be so slow that it's unusable at reasonable motor speeds.

So, is there a way in Robolab to write a sub vi-like routine, and specify the
actual byte code instructions, just for that time-critical part of the program,
to be called by a regular Robolab program?  Sort of like writing an assembler
subroutine in Basic or C?  Or, is there another "competition-legal" way to get
more reliability from the rotation sensor?

Robolab can access LASM code (Lego Assembler) which may allow you to write
instructions that fit your needs.  The LASM documentation is part of the
Mindstorms 2.0 SDK available from
http://www.ceeo.tufts.edu/robolabatceeo/Resources/documentation/default.asp

I'm not an assembler programmer so I have no idea if this helps.  Nor do I know
if it is legal under FLL or other contest rules.  A guru for Robolab programing
is Claude Baumann (a Lugnet member).  He has written some extraordinary vi's
though many involve using elements of Robolab's parent language LABVIEW.

I've used some of the LabView features, though it seems like they work best when
used on constants, rather than variables or containers.  My impression, though,
is that the non-Robolab-specific LabView features aren't what I'm looking for
because they would likely not be specific to RCX programming.  That would seem
to exclude low-level stuff like assembler.  I suspected LASM was what I was
looking for, but what I could find about it seemed oriented toward writing
replacement firmware, rather then writing low-level subroutines to be called
from Robolab.  For instance, I haven't seen anything which might be used to
_call_ such a routine.

It seems to me anything you can write using Robolab would be legal, so the
question is just whether you can do what I want completely from (unmodified)
Robolab.

I have the SDK and looked at it briefly, and I have a copy of the RCX Opcode
reference.  I'm sure I can figure out how to write the assembler code for a
simple subroutine - it can't be as hard as 80x86 assembler.  What I'm not sure
about is how to specify the code and calls to it in Robolab.  How to "poke it
into memory and call it" from Robolab, I guess you could say.

I'll look through Robolab and the SDK more thoroughly, but if anyone can point
me in the right direction it's much appreciated.



Message is in Reply To:
  Re: Robolab, byte codes and assembler
 
(...) Robolab can access LASM code (Lego Assembler) which may allow you to write instructions that fit your needs. The LASM documentation is part of the Mindstorms 2.0 SDK available from (URL) not an assembler programmer so I have no idea if this (...) (21 years ago, 27-Nov-03, to lugnet.robotics.rcx.robolab)

24 Messages in This Thread:






Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR