To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.nqcOpen lugnet.robotics.rcx.nqc in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / NQC / 1028
1027  |  1029
Subject: 
Re: sending variables betwen rcx's?
Newsgroups: 
lugnet.robotics.rcx.nqc
Date: 
Tue, 13 Mar 2001 03:35:30 GMT
Viewed: 
2204 times
  
Hey, wow. did'nt know some of that.


In lugnet.robotics.rcx.nqc, Dave Baum writes:
My advice would be to try and solve the problem using the regular
message facilities (SendMessage(), ClearMessage(), Message()).  If you
have more than 255 values to convey between the RCX's, then you can try
chaining multiple messages together (with an appropriate delay between
to allow the receiver to handle the first one).

With the 2.0 firmware, its possible to have an RCX send an arbitrary
command packet.  This is one-way communication - there is no arbitrary
read capability.  You could use this to manually set a global variable
on the other RCX (use the setv bytecode - see Lego's bytecode
documentation in the SDK for more details).

The -l (ell, not one)  option for NQC will generate a code listing,
which can be a handy way to figure out the bytecodes if you know what
you want to do from NQC.  For example, the following program:

------
#pragma noinit

int x, y;

task main()
{
  x = 7;
  y = x * 3;
}

------

generates this listing:

*** Task 0 = main
000 setv       var[0], 7             14 00 02 07 00
005 setv       var[1], var[0]        14 01 00 00 00
010 mulv       var[1], 3             54 01 02 03 00

Total size: 15 bytes

-------

The first bytecode sets var #0 (x) to 7.  The second copies var #0 (x)
to var #1 (y).  The third multiplies var #1 by 3.  You'll probably be
using the setv bytecode (0x14).

The RCX tries to perform duplicate reduction on incoming packets.  For
this reason, you may have to alternate between sending the normal
bytecode (0x14) and setting bit 3 (0x1c).  This is because if the RCX
received two 0x14 packets in a row, it may ignore the second one
thinking its a duplicate of the first.  I know this happens for a lot of
bytecodes, but I'm not positive that setv is duplicate reduced.

Dave Baum


In article <GA3zqL.22n@lugnet.com>, "adam craggs"
<craggsag@dcs.gla.ac.uk> wrote:

to all

i am currently working on a robot with 2 rcx due to the number of sensors
i
have on the robot.

my current problem is that i have 2 light sensor which is conected to
seperate rcx. one of the rcx with light sensor is calibrated using some
coloured card. i would like to know how i could send variables / values /
a
datalog from 1 rcx to other.

i am currently using rcx2 firmware and have a knowlege of messages
although
these canot solve the problem with this.

i looked into some of the low level serial codes 0x50 stop all task in
the
documentation. there are many pages and i think there may be a solution
there but i dont understand how these documentation works. anyone help i
will be most gratefull as i am quite new to mindstorms and nqc and trying
this quite difficult project. many thanks.

thanks again...

from adam



Message is in Reply To:
  Re: sending variables betwen rcx's?
 
My advice would be to try and solve the problem using the regular message facilities (SendMessage(), ClearMessage(), Message()). If you have more than 255 values to convey between the RCX's, then you can try chaining multiple messages together (with (...) (24 years ago, 13-Mar-01, to lugnet.robotics.rcx.nqc)

5 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