 | | Re: RCX onboard timer and motor pulsing
|
|
A few (Hah!) years ago we used to get that realistic slow train speed by running our Lionel "O" gauge and American Flyer engines on DC. We used an AC Gilbert rectifier that was a full-wave selenium unit. By adding a switch we made it be only (...) (26 years ago, 6-Jan-00, to lugnet.robotics.rcx, lugnet.trains)
|
| |
 | | Re: RCX onboard timer and motor pulsing
|
|
(...) PWM stands for "pulse width modulation". The LEGO speed control changes voltage as you turn the knob. An RCX turns the motor on and off really fast but always supplies full voltage. So half speed is a 50% duty cycle of full power, rather than (...) (26 years ago, 6-Jan-00, to lugnet.robotics.rcx, lugnet.trains)
|
| |
 | | Re: RCX onboard timer and motor pulsing
|
|
Hi Ben, I think I missed something here. What is "PWM mode"? What language are you programing in? And what is the "internals page"? Thanks so much for pursueing this! I did pick up the Unofficial Guideo to LEGO MS Robots by Jon Knudsen but only (...) (26 years ago, 6-Jan-00, to lugnet.robotics.rcx, lugnet.trains)
|
| |
 | | Re: Problems with RCX Robolab and PowerMacs 6400/200 and 5500/225
|
|
Thanks for the reply, I really enjoyed your book. My son (age 13) also enjoyed it. He's starting out using ROBOLAB, but your book has sparked an interest in C (like) programming. I look forward to a sequel. (...) (26 years ago, 6-Jan-00, to lugnet.robotics, lugnet.robotics.edu, lugnet.robotics.rcx.robolab, lugnet.edu, lugnet.robotics.rcx)
|
| |
 | | Re: RCX onboard timer and motor pulsing
|
|
(...) I was just experimenting with this a few days ago. An RCX using PWM does a far better job of driving the LEGO train motors than the simple variable voltage from the LEGO train control. You can make a train creep around just above stall speed (...) (26 years ago, 6-Jan-00, to lugnet.robotics.rcx, lugnet.trains)
|
| |
 | | Re: Problems with RCX Robolab and PowerMacs 6400/200 and 5500/225
|
|
Sigh.... ... . How the $%^&* will we ever get smart, interested, technical professionals to really make a difference in the schools when they run into this. THis. This...! Sigh... I am using RIS1.0 on 6 old 486 machines with WIN95. The school was (...) (26 years ago, 6-Jan-00, to lugnet.robotics, lugnet.robotics.edu, lugnet.robotics.rcx.robolab, lugnet.edu, lugnet.robotics.rcx)
|
| |
 | | Re: Speed of RCX interpreting bytecodes: slow
|
|
(...) I'm pretty sure this is not the case. The interpreter constantly runs the "execute bytecode" function if it is sitting idle. -Kekoa (26 years ago, 5-Jan-00, to lugnet.robotics.rcx)
|
| |
 | | Re: Speed of RCX interpreting bytecodes: slow
|
|
(...) Hmm. If so, an interesting option for a theoretical replacement-but- compatible firmware to have would be the ability to do things as fast as possible. (Of course, it'd have to be an option, since it's possible that some badly-designed code (...) (26 years ago, 5-Jan-00, to lugnet.robotics.rcx)
|
| |
 | | Re: Speed of RCX interpreting bytecodes: slow
|
|
Its been a long time since I looked at the firmware in detail, but is it possible that the bytecode interpreter is driven from one of the timer chains? If this was the case, it wouldn't matter if the CPU could execute the bytecode in 200 cycles...it (...) (26 years ago, 5-Jan-00, to lugnet.robotics.rcx)
|
| |
 | | Re: NQC wishlist
|
|
(...) No, this sort of thing isn't covered in my book. There are several ways to send commands to the RCX. The first is the official SDK from TLG (spirit.ocx) which runs under Windows. The SDK contains a reasonable amount of documentation on the (...) (26 years ago, 5-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: Speed of RCX interpreting bytecodes: slow
|
|
(...) From memory, the NQC was: int count; task main() { count = 0; CreateDatalog(100); ClearTimer(Timer(0)); while (count <= 1024) { if (count & 0xff == 0) AddToDatalog(Timer(0)); count += 1; } } The downloaded datalog will show the last log entry (...) (26 years ago, 5-Jan-00, to lugnet.robotics.rcx)
|
| |
 | | Re: NQC wishlist
|
|
(...) [Snip] (...) Okay. Is sending these commands (and which ones that are/can be "immediate") in your book? <G> While I don not have something in mind right this second, the more complex programs get the higher the possibility of someone using (...) (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: Speed of RCX interpreting bytecodes: slow
|
|
(...) What is in a "counter loop iteration" ? Please share the NQC program you used to measure this with us. I fail to believe that a simple loop runs this slow. 16000 cycles per loop iteration does not sound right to me. -Kekoa (26 years ago, 4-Jan-00, to lugnet.robotics.rcx)
|
| |
 | | Re: NQC wishlist
|
|
(...) I'm not sure if the terminology from LEGO is "direct" or "immediate" commands, but either way the idea is that some of the bytecodes can be sent to the RCX and the RCX will execute them immediately. There's a lot of overlap between the direct (...) (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: NQC wishlist
|
|
(...) I am kind of new to this, but what is meant by direct command? How would tasks downloaded in another slot be assessable to some other task to start up? --- DonC donc@cccd.edu (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | RE: NQC wishlist
|
|
(...) This might be a good idea. The pbForth thing is working out well too. Maybe a C to FORTH translator would be useful. In the other hand, making a custom bytecode interpreter means having to write the interpreter and support it on different (...) (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: NQC wishlist
|
|
(...) To me, one of the important features of such a thing would be compatibility with the existing firmware. Otherwise, why not just use LegOS? (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: NQC wishlist
|
|
If anyone is seriously considering this I'd ask two things... 1) Have you considered porting the p-code interpreter used by Interactive C or something like a stripped down Java bytecode interpreter instead? The idea here would be that the RCX (...) (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: NQC wishlist
|
|
(...) Yeah, this was discussed way back at the beginning of the reverse-engineering effort. It's something I'd like to see too. (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|
| |
 | | Re: NQC wishlist
|
|
I was jut wondering, has anybody tried to implement a "better RCX-code"? It must be possible to write something very similar to RCX-code in LegOS, only faster and implementing the "missing" array structures and more variables. Mayby compatible with (...) (26 years ago, 4-Jan-00, to lugnet.robotics.rcx, lugnet.robotics.rcx.nqc)
|