Subject:
|
Re: Warning: No CyberMaster in Macs
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Thu, 17 Dec 1998 10:20:01 GMT
|
Original-From:
|
Peter Ljungstrand <peter@informatik.guSAYNOTOSPAM.se>
|
Viewed:
|
1599 times
|
| |
| |
> Unfortunately people with Macs are _destined_ to not be able to use their CyberMaster, since it's not supported at the hardware level.
> It's simple: CyberMaster needs two handshake lines in the serial port to
be able to download programs, and Mac only supports one.
Well, this is not entirely true. You can't make a Mac work with CyberMaster
without some additional hardware, but you still would need a serial cable
converter (9-pin DSUB to the Mac serial port) anyway, wouldn't you?
When the RCX and the CM communicates with another computer via the IR/RF
tower, all data in transmitted via the normal serial lines, RxD and TxD. In
addition to this the GND line is needed for as a reference voltage. This is
all that's needed for the _data transmission_.
However, additional lines are used by the hardware/software in order to
check that everything is connected as it should.
According to Kekoa Proudfoot
(http://graphics.stanford.edu/~kekoa/rcx/#Hardware), the software in the PC
checks that the IR tower is connected by checking that CTS tracks RTS, and
these lines must therefore by hardwired together, at least if you use the
original software on the PC. This has nothing to do with how the hardware
of the IR Tower works, if you run a different piece of software on your
PC/MAC, all that you actually need is three cables: TxD, RxD and GND.
The CyberMaster and its RF Tower works somewhat differently. Still, all
that is needed for the actual data transmission are the same three lines,
TxD, RxD and GND. The software on the PC does not perform the same check to
see if the RF Tower is connected as when using the RCX, actually is doesn't
seem to check this at all (in that sense, with dedicated hardware, of
course it detects if the normal serial communication doesn't work).
However, instead the RF Tower performs the check, built into its hardware.
In order to operate properly, there must be the correct voltage on the DTR
and RTS lines (DTR is not used at all with the RCX). On the PC, one is able
to set the voltage (mark/space = low/high) on the outgoing ports DTR and
RTS through software. It seems that the default value on these lines on
most operating systems is space (high voltage, approx. +12 volts). The
trick is that the RF tower needs the DTR line to be set to space (high
voltage, +12 V), and the RTS line to be mark (low voltage, -12V). On the
PC, this can be done using software.
When it comes to the Mac, it only has _one_ programmable outgoing line.
This single line can be set through software to either high or low voltage,
but since there is only one programmable outgoing line, you can't have both
high and low voltage at the same time on separate lines, which is what the
RF Tower requires to operate.
However, there is a quite simple solution to this problem: All that the RF
Tower detects are high and low voltages on these lines, and you don't have
to supply the voltage from the serial port. According to the RS-232 specs,
voltages in the range +3 through +25 Volts should be regarded as space, and
voltages in the range -3 through -25 Volts should be regarded as mark. This
voltage can be taken from anywhere, as long as it is aligned with the rest
through a common ground signal. I actually built a simple setting where I
used two small external +9 DC power supplies. The low voltage line of one
of these was connected to the GND line in the serial port, and the high
voltage was connected to the DTR line in the RF Tower (which was not at all
connected to the PC). On the other power supply, I connected to high
voltage to the GND line, and the low line to the RTS pin on the RT Tower
(not connected at all to the PC), switching the polarity this way, in order
to get -9V in this case. Only the three before mentioned lines TxD, RxD and
GND were connected between the PC and the RF Tower. This setting worked
perfectly, even using the original LEGO software!
Thus: All you need to be able to use the CyberMaster with a Mac (or a PC
for that matter), is to be able to input a stable +/- 9 volt into the RF
Tower while doing data transmissions. One of these can be taken from the
Mac's serial port, and the other one from somewhere else. I suppose the
Mac's internal power supply would do fine, or otherwise use an external
power supply as I did. You probably don't even need +/- 9 volts, I guess
+/- 5 volts would work just as fine.
> We should thank Dave Baum that found this while building support to
CyberMaster in NQCC.
Dave Baum provided the insights about the shortcomings of the Mac's serial
interface, I did the actual reverse engineering of the RF Tower and its low
level communication....
For more info about this and CyberMaster programming/hacking in general,
see my web page:
http://www.viktoria.informatik.gu.se/~peter/lego/
-------------------------------------------------------------------------
Peter Ljungstrand; PLAY Research Group, Viktoria Institute
http://www.viktoria.informatics.gu.se
Email: peter@informatics.gu.se
Phone: +46-(0)31-7735543 Mobile: +46-(0)708-302251
Fax: +46-(0)31-7735530 ICQ: 6820636
Visitors: Viktoriagatan 13, 7th floor
Snail-mail: Box 620, 40530 Göteborg, Sweden
|
|
Message is in Reply To:
| | Warning: No CyberMaster in Macs
|
| I've been reading some posts regarding Mac problems and I noticed that no one ever referred to CyberMaster problems in Mac (which is a good thing). Unfortunately people with Macs are _destined_ to not be able to use their CyberMaster, since it's not (...) (26 years ago, 16-Dec-98, to lugnet.robotics)
|
2 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|