To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcxOpen lugnet.robotics.rcx in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / *555 (-100)
  Help request regarding alternative programming systems
 
Allow me to request a little help from all the rcx experts out there. I've purchased Mindstorms set and the infrared remote control. As near as I can tell, I can not do what I want with the mindstorms software, so I'm hoping one of the alternative (...) (25 years ago, 19-Jul-99, to lugnet.robotics.rcx, lugnet.trains)
 
  Re: Barcode Reader on LegOS page
 
What is Alex's page? (25 years ago, 19-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: rcxhttpd?
 
(...) Since the RCX has essentially a serial interface to the outside world, you would need to encode and decode the HTTP requests and responses into a serial-based protocol. If you actually wanted the RCX to be plug-and-play compatible with (...) (25 years ago, 19-Jul-99, to lugnet.robotics.rcx)
 
  Re: rcxhttpd?
 
(...) Don't forget 'finger'. There's already provisions for vending machines, so it's not much of a stretch. :) (25 years ago, 17-Jul-99, to lugnet.robotics.rcx)
 
  rcxhttpd?
 
(OK, I know this sounds perverse, but heck, some high-end printers these days are coming with built-in webservers for configuration, so it's not that perverse.) Has anyone written an HTTP daemon for the RCX? I mean a scaled-down version of httpd (...) (25 years ago, 17-Jul-99, to lugnet.robotics.rcx)
 
  Re: is IR considered broken?
 
(...) For all who are interested, I copied the source to: (URL) porting hints, e-mail me directly. -Kekoa (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: Help with 9738 LEGO Mindstorms Remote Control
 
Thanks Dave. I hadn't downloaded the firmware yet.  Originally, I was simply hoping to use the remote control and the rcx to drive my trains.  So I didn't bother to install the software. Now I know. Again, Thank you. Ben In lugnet.robotics.rcx, Dave (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx)
 
  Re: is IR considered broken?
 
Yes I would be interested in seeing the libRcx implementation of the IR functions. thanks, Mark (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  application termination
 
Hi, what is the magic in LegOS to quit the application so that it can be restarted again? In some demos it works, but the same mechanism (i.e. 1 stopper process that kills the other on [run] button) quits the program, but the display says some (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: is IR considered broken?
 
(...) I have working IR code, but it does not work with LegOS. It works with that "custom, as-yet-unreleased version of Librcx" I mention every so often. It probably wouldn't take much to port it to LegOS. Changes would be: - modify hook to get a (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: firmdl for Win32? (Re: random numbers)
 
(...) I can compile it for use with Cygwin (Unix for NT), but since I have not (yet) figured out how to configure and use the serial port under NT, there is no NT version as of yet. But there are other firmware downloaders for NT already. To compile (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: random numbers
 
(...) The firmware supports random numbers using some method that whose name I can't remember at the moment. Something about feedback. Anyways, the algorithm there boils down to: int seed; int rand (void) { char bit; bit = (seed & (1 << 1)) >> 1; (...) (25 years ago, 16-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: Light sensor initialization?
 
(...) Partly, I can think of cases where that might be ugly. But more importantly, I often want to set up a scenario so that two robots will bump into each other in a certain place. (For making movies, showing off to friends, etc.) Can't do that as (...) (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
(...) Huh? You mean, your robot doesn't work unless you point it in a certain direction before starting the program? That doesn't sound too robust. Okay, let's change the algorithm: (this is for a line tracker that follows "dark" lines and relies on (...) (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
(...) going in a circle. (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
(...) That's why I suggested a solution that works in all cases. It's not much harder than your solution either. (URL) Robert Munafo (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
(...) This is my inspiration for adding on-the-fly init code, btw. RoboTag uses two seperate robots, and it turns out that my friend -- the source of the second mindstorms kit -- has a light sensor which reads about 10 "darker" than mine. (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
(...) Wow. I feel I should point out that experimentally my method works 100% of the time. :) On the other hand, mine is a special-case application: the light sensor is used to read color values from a surface, which presumably will have very little (...) (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: Light sensor initialization?
 
Matthew's program takes one reading at initialization time to determine a baseline value. Any reading that falls 7 units below this is assumed to be a dark line. I take a somewhat more conservative approach, taking 10 readings over one second and (...) (25 years ago, 15-Jul-99, to lugnet.robotics.rcx)
 
  Re: random numbers
 
(...) The author claims it has very good spectral properties, but I have no way of testing that. The only other reference I have found to it on the net is from a group at the University of Salzburg, who state that it performed well in their tests. (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: random numbers
 
(...) You could either take just the source file out of gnulibc and link it in, or you could change your setup to actually use the gnulibc (which is what I am doing, although not with legOS). (...) It depends on what you want the RNG for. If all you (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: random numbers
 
(...) Probably a dumb question, but how do I link in another copy of libc, besides the hacked-down one already present in legOS? I can't just copy the one on top of the other, and the linker should just link in the first it finds, correct? At any (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  firmdl for Win32? (Re: random numbers)
 
(...) Hi, Luis Villa - author of HOWTO has some that he will soon include into the HOWTO. If you need just random 16 bit integer, you can use for example this random = 25173*previous + 13849; but I don't know how good it is; start with an arbitrary (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: random numbers
 
(...) gnulibc has a good LCGM you can just link in. John A. Tamplin Traveller Information Services jat@LiveOnTheNet.COM 2104 West Ferry Way 256/705-7007 - FAX 256/705-7100 Huntsville, AL 35801 (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  LegOS HOWTO- updates
 
For those of you who have looked at the LegOS HOWTO before, or for those who have not, there are some new topics covered, some of which may make you think twice about sticking to the old firmware. new topics: *random number generation. Don't make (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos, lugnet.robotics)
 
  Re: Light sensor initialization?
 
(...) [snip] (...) Yes -- check out my RoboTag program at (URL) RoboTag, the sensor is pointing at the ground, which is probably grey/brown/white, with black border lines. My program reads the light level at start, and assumes that it isn't on a (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx)
 
  Re: is IR considered broken?
 
Sorry it took so long to reply, Mark... I somehow seem to have deleted your mail and only noticed it on the newsgroup by accident. Here are my thoughts. (...) Uhuh. This is (apparently) not a unique experience. (...) I have not had that experience, (...) (25 years ago, 14-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: Light sensor initialization?
 
I haven't done that yet. But if you're doing a line follower, I would suggest the following: 1. First, build the line follower in such a way that it can rotate in place and make the light sensor sweep out a circle on the ground as it rotates. 2. (...) (25 years ago, 13-Jul-99, to lugnet.robotics.rcx)
 
  Lots of new FAQ answers and some revisions
 
I have just sumbitted a large number of answers to FAQ questions that hadn't been answered yet, and revisions to other answers. There is also just one answer that I did not change (-: The answers are in the lugnet.faq newsgroup. Here is an index to (...) (25 years ago, 13-Jul-99, to lugnet.robotics.rcx, lugnet.faq)
 
  random numbers
 
I'm most of the way to getting it working myself, but I was curious to see if anyone has implemented a random number generator in their bot. Anyone? Anyone? -Luis ###...### Profanity is the one language that all programmers understand. -Anonymous (...) (25 years ago, 13-Jul-99, to lugnet.robotics.rcx.legos)
 
  Light sensor initialization?
 
This should be an FAQ at this point, but I'm having trouble tracking down an answer in the LUGNET archives. I'd like my 'bot to measure ambient light levels, and make light/gray/dark decisions based on those levels. For instance, Dave Baum's line (...) (25 years ago, 13-Jul-99, to lugnet.robotics.rcx)
 
  Re: Help with 9738 LEGO Mindstorms Remote Control
 
(...) Robolab uses the same firmware as Mindstorms RIS, so the remote should work fine. Same goes for NQC. (...) You can write programs in NQC (also in RCX Code or Robolab) that respond to IR Messages. These messages can be sent from another RCX, (...) (25 years ago, 13-Jul-99, to lugnet.robotics.rcx)
 
  is IR considered broken?
 
The precompiled tm-and-ir, kinda works for me. It is pretty good at receiving data, but the transmitted message often has garbage. When I compile it myself using the latest legOS snapshot, it always transmits garbage, others seem to have seen the (...) (25 years ago, 12-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: Help with 9738 LEGO Mindstorms Remote Control
 
Dave's reply is right on the mark, but I also want to point out that if you have downloaded a non-MindStorms O.S. to the RCX (i.e. any firmware other than the standard LEGO MindStorms firmware) the remote might not work either. I haven't tried any (...) (25 years ago, 12-Jul-99, to lugnet.robotics.rcx)
 
  RE: VERY [OT] Feathers 'n Lead...
 
(...) Sorry for the extra quoting here, but the thread was a bit old...and just for everyone's info, both bags have the SAME mass, so they have the same first moment of inertia....I think. The shape of the object generally affects the SECOND momemnt (...) (25 years ago, 12-Jul-99, to lugnet.robotics.rcx)
 
  Re: VERY [OT] Feathers 'n Lead...
 
(...) I think the original poster was putting his tongue firmly in cheek there. BTW, the dropping of objects would be a second experimental proof that gravity affects all objects equally regardless of weight. Best test being in a vacuum where you (...) (25 years ago, 12-Jul-99, to lugnet.robotics.rcx)
 
  Re: NQC 1.3 released - Command Center?
 
(...) simple (...) has been released, check out his home page at: (URL) d/l it directly at: (URL) ya go. m. (25 years ago, 12-Jul-99, to lugnet.robotics.rcx.nqc)
 
  Re: [OT] Feathers 'n Lead...
 
(...) being (...) as (...) MORE (...) the dropping of the objects on the moon was to prove that when 2 objects are dropped from the same height in an environment with little or no friction they will hit the ground at the same time. both bags weigh (...) (25 years ago, 12-Jul-99, to lugnet.robotics.rcx)
 
  Re: Help with 9738 LEGO Mindstorms Remote Control
 
I just got one myself and it seems to work fine. The A, B, and C buttons turn on the motors (in either direction) as long as they are held. You can even hold multiple buttons down to turn more than one motor at the same time. The Message buttons (1, (...) (25 years ago, 11-Jul-99, to lugnet.robotics.rcx)
 
  Help with 9738 LEGO Mindstorms Remote Control
 
Hi, Purchased the 9738 LEGO Mindstorms remote control and it doesn't seem to do anything. Has anyone else used one of these? It's my expectation that the remote allows the RCX to be controlled directly with out the program interface. Is that not (...) (25 years ago, 11-Jul-99, to lugnet.robotics.rcx)
 
  Re: more fun with cross-compilers
 
Well, neither the latest release of egcs nor the latest binutils 2.9.1 seems to do it. Apparently, though, the beta binutils (2.9.4, use at your own risk, blah, blah, blah) works. The gcc compilation is now crashing in a different location. Using my (...) (25 years ago, 9-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: more fun with cross-compilers
 
Thanks for the help, Matt. solaris2.7 was correctly selected as the host by conf.guess, so that is not the problem. I would have no authority to apply any patches, even if I could find them, so I'm building egcs-1.1.2 instead. We'll see how that (...) (25 years ago, 9-Jul-99, to lugnet.robotics.rcx.legos)
 
  Re: more fun with cross-compilers
 
(...) There were some changes in Solaris 2.7 that break the compilation of some stuff, if I remember correctly. Have you checked with the gcc maintainers to see if they have a patch for this? Another thing to try would be specifying the host type (...) (25 years ago, 9-Jul-99, to lugnet.robotics.rcx.legos)
 
  Joystick Buttons
 
Has anyone figured out a way to utilize the buttons on the joystick? like maybe control another motor on top of the bot to turn an arm or something like that? -- Clay Aucoin (25 years ago, 7-Jul-99, to lugnet.robotics.rcx.nqc)
 
  Re: JVM port status
 
(...) Wow, looks like this is really off to a strong start! When/if you're ready for a dedicated mailing list/group, let me know if there's any way I can help out. The .robotics.rcx group is perfectly fine too, if you'd like to use that, although it (...) (25 years ago, 7-Jul-99, to lugnet.robotics.rcx)
 
  more fun with cross-compilers
 
I posted here quite some time about this, and got a single personal response which has now been lost into the bowels of my pine folder "system." (hah!) Has anyone successfully set up a cross compiler on solaris 2.7? While building the binutils, I (...) (25 years ago, 6-Jul-99, to lugnet.robotics.rcx.legos)
 
  Barcode Reader on LegOS page
 
I've sent a mail to Alex Howanski at alex.wankwood regarding his Barcode sourcecode for legOS, but still do not see any reply. His page was updated on June 19th, so it's still current. Anyone out there communicate with alex and / or have his or (...) (25 years ago, 3-Jul-99, to lugnet.robotics.rcx.legos)
 
  [OT] Feathers 'n Lead...
 
(...) I think so too. I remember seeing some footage of a feather and a hammer? being dropped by an astronaut on the moon's surface. They both hit the ground at the same time, which proves to mee that even a single feather is as heavy as a hammer, (...) (25 years ago, 2-Jul-99, to lugnet.robotics.rcx)
 
  legOS for Win 95/98 was: legOS make newbe question
 
I must have been sidetracked and posted this by mistake to ..build. Sorry, -Phil (...) (25 years ago, 29-Jun-99, to lugnet.robotics.rcx.legos)
 
  Windows file mirroring
 
OK, I've now mirrored the two (apparently) necessary files for LegOS under windows at this URL: (URL) those of you in the US, this should provide a faster download of Gavin's stuff (though not necessarily by much, since Gavin's site is surprisingly (...) (25 years ago, 29-Jun-99, to lugnet.robotics.rcx)
 
  FW: Alternate C compiler for LegOS
 
Luis, here's a forwarded message with the links to Gavin's executables. You need to download the latest Cygwin distribution too, from (URL) (...) Alternatively, have a look at (URL) I've done a similar but lazier job of just providing an add-on lump (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx)
 
  RE: legOS make newbe question
 
(...) I'm waiting... :) If anyone can help out, Just let me know locations where I can grab files, or let me know that you have something so that I can give you a temporary FTP account to upload to my machine. Preferably, I'd like someone with a (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
I am a professional in the QA area and used to writing documentation as a part of my job, and am going to take the "challenge". Thanks for the offer to host the info. Give me a week or so (i'm very busy with some chip-level failure analysis right (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: legOS make newbe question
 
(...) Great!!! I know Gavin's toolset works for Win98, you might ask if you can pinch a copy and host it on your site. I'm not against building the tools, or the tools themselves. In fact, the GNU assembler and debugger (and m4) were the tools I (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: legOS make newbe question
 
(...) No argument from me here. Forth is not very popular anymore with the advent of really good C compilers for embedded processors (my specialty). BUT if you want a way to interactively control your LEGO bots, and have alook at the insides of the (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: legOS make newbe question
 
(...) Like I said, I'm willing to host such a site for at least a year if others would like to contribute. That offer includes any necessary binaries for other tools as well- pbFORTH, NQC, etc. -Luis ###...### Profanity is the one language that all (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
(...) platform. (...) Same here.. That Gavin package...that might have been the one I downloaded...but even that one had a crazy directory structure, and all the compiled EXE's had names about 16 letters long! How about something simple like GCC (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
I appreciate your help, and it does sound interseting. However, I'm sure I'm not alone when I say that I'd prefer to leverage my (much more marketable) C skills when writing programs for the RCX. That's why I'm using NQC right now - I already know (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: legOS make newbe question
 
(...) As a professional programmer, I just don't have the time, interest, or inclination to fiddle with building the GNU tools. I have tried to do this by following other folks best efforts and got something that was 95% functional. and in the end, (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: legOS make newbe question
 
(...) Geez, I hate to plug my own work, but why not try the new pbFORTH. You can have arrays, as many variables as you want, simple multitasking, etc... No need for a compiler, just a terminal emulator will work. You DO have to try and learn FORTH, (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
The existing HOWTO is nice, and I know he worked hard on it BUT.... What I think we need is a howto with a REALLY narrow scope... which, ironically, would cover more people than any other group. You know what's probably out there right now? A ton of (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
Phil, Matt, other Windows/LegOS users- If anyone would like to write them up, I'd love to add Windows instructions to my LegOS HOWTO. Only problem is that I cannot test them myself, so I need others to provide them and make them usable. Currently, I (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
I'm thinking - we need just such a list! I mean - the only info out there for Win98 users is confusing at best. What is needed is a VERY SIMPLE explanation - basically, several steps. Download THIS zip file Unzip it to THIS directory name Put the (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx.legos)
 
  3in1 Car #8286 as RCX AddOn?
 
Hi all. This is a bit OT, but has some relevance for people getting ONE MORE KIT to round out their RCX... LEGO S@H Canada has the 8286 3in1 car on sale for $90CDN With taxes and everything, that works out to about $70 US! This set has 726 peces (...) (25 years ago, 28-Jun-99, to lugnet.robotics.rcx, lugnet.build)
 
  Re: legOS make newbe question
 
You are sooo smart. I am not sure I completely understand everything you have said in the last two posts, but if I just blindly type "make --unix" IT WORKS!!!. I will now go back and see if I can follow everything you have suggested and see if I can (...) (25 years ago, 27-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) So is the idea that you might have a "shell" app that lets you control a button or two and that takes over the lcd at times (say), and lets you start, suspend, and stop other apps that control different, presumably disjoint sets of motors and (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) They could. In fact, there may be cases where that is exactly what you want to do. However, that requires you to write your code to examine the semaphore at every point where you would want to consider processing the event. It is more work. (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Yes, that is it. A classic example is a full screen app such as vi. When being stopped, vi sets the terminal mode to something generic and saves any screen info that it needs. When resumed, it sets the terminal mode back to what it wants and (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Now keep in mind that this is coming from someone who won't take Duke's OS class until next spring- is there any reason the current semaphore implementation couldn't be used for a large percentage of these tasks? I.E., thread A checks (or uses (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
(...) Damn, I am too used to tcsh, and yet I still remembered the export. Make that: MAKE_MODE=UNIX; export MAKE_MODE (followed by make) Again, make --unix should also do the trick if that is easier to remember. Oh. My MAKE_MODE environment variable (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) What am I missing? Why do you need callbacks in the process structure? I was thinking if you can reference the thread, you can just call a system function (e.g. suspend(thread)), and that will suspend the thread. You do not need callbacks (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
(...) Some versions of make look for the sh shell, others use the dos shell. Probably, make is using the dos shell and not sh. As far as I know, make does not parse the parens, the shell does. And dos does not understand the parens. My cygwin make (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
Thanks Lou, I am sure that you are right. I also don't know what could cause it or how to fix it. I just hope there is some bright person who reads this NG and can get me on to the next step. Based upon the discussion topics that I have seen, this (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Cool. I will proceed. (...) Yup. I was out of the loop for awhile, and am once again whompin' on this project. (...) That is true. Signals would give the task the opportunity to stop/start tasks under its control, though, without the task that (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
(...) More to the point, it cannot recognize the '(cd' command. Now, why that is, or how you can fix it, I do not know. It would appear to be a problem with make or with your shell. It should just be farming the entire line off to the shell, which (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) No, you should not abandon your implementation - not if you want to use LegOS. I was only explaining how I implemented similar functionality, for the sake of comparison. Regarding Librcx, I might release another version at some point, to add (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: legOS make newbe question
 
I reinstalled everything and I have progressed to the point of seeing the first-c++.o file and it stops with the following error: -snip- C:\legOS-0.1.7>make h8300-hms-g++ -DCXX -O2 -fno-builtin -fomit-frame-pointer -Wall -Wno-unused -Wno (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) So, should I abandon my implementation? If something every bit as good is already there, it may be silly for me to continue. I haven't looked at Librcx yet, so I don't completely understand how it works. I think one of the original reasons for (...) (25 years ago, 26-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
Ola, I do not see why you persist. I understand that a signal handler is very low level, that it is difficult to use right, that it only allows some things and not others, unless you're very careful. But you still missed my point, which was this: (...) (25 years ago, 25-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) When a frame or character has been received by the IR port it signals an interrupt to the processor. The processor (OS) handles this by invoking an ISR (Interrupt Service Routine). In OSE ISR's are known as interrupt processes and they execute (...) (25 years ago, 25-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) I should add that since many things are vectored in this version of Librcx, overriding functionality is easy for the advanced user to do. For example: extern void (*__event_vector)(void); void my_setup_func() { // ... __event_vector = (...) (25 years ago, 24-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) I think you're missing the point. Now correct me if I'm wrong, Lou -- I believe the intent of the signal mechanism is to allow a way to specify a function to run when a system event occurs: e.g. a message arrives across the IR port. It is (...) (25 years ago, 24-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
I misspoke when I said before that we have semaphores. What I meant was mutexes. We have had mutexes for quite awhile. Certainly long before I started on this signal thing. I started this long enough ago that I don't remember what particular problem (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: signals / legOS internals
 
(...) Ummmmm, I don't want to speak for Markus, but most embedded kernels (and I use a lot of them) use the term signal and semaphore interchangably. I'm willing to bet a couple of bricks that the intent is to implement semaphores to facilitate (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Because they are useful at times, and Markus directed me to implement them. I think the upcoming network code is going to use them, too (at least, that's what I heard). Just 'cause they're there doesn't mean you have to use them. (...) How do (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) This second methed doesn't really solve anything since you still have to communicate with the compute thread from the receive thread. (...) But what can you actually do in the signal handler? Modify the state of the state of the executing (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) This is the same thing as most modern RTOS use, called various things. The terminology I use for this is FLIH/SLIH (first level interrupt handler and second level interrupt handler). Coupled with lock priority inheritance, it makes for a very (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) In OSE interrupt processes (first class processes, that is why we don't call them ISR's) use OS mechanisms (usually messages) to communicate with normal processes. The OS handles all update of shared data structures (such as message queues). A (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) An ISR can certainly modify data that is used by the executing code. For example, if it doesn't save registers that are used the interrupted code will certainly be affected. In fact, the ISR is of little use if it doesn't modify data that can (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) But hardware interrupts schedule a different context (the interrupt process or ISR) from the one already executing. A Unix-style signal asynchronously signal interrupts the executing process and jumps to a different location in the code that (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) An asynchronous signal models a hardware interrupt. There are times when that is the appropriate interface. There are times when other interfaces are less error prone and are easier to write correctly. Frequently using only synchronous (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Why signals?!? Unix-style asynchronous signals is the last feature I would ever want to implement or use. Brain-dead and very dangerous "feature". As you write; "The problem is that a signal can happen at any time". You shouldn't pass this (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Actually, gcc moves the stack pointer before using any variables, so it is always safe to use stack below the current stack pointer. If you are using a different C compiler or doing assembly tricks, then you are on your own. (...) Traditional (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  RE: signals / legOS internals
 
(...) Not to put too fine a point on it, and I hope Kekoa agrees, but the "fluff" is the reason why replacement firmware works in the first place. Without the ROM vectors being dispatched through RAM pointers that are initialized by the ROM and then (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Since it sounds like it might matter to you, I should point out that the interrupt situation on the RCX is a bit more complicated than the H8 manual makes it out to be. Interrupt vectors are in ROM, but the ROM does a dispatch to interrupt (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Yes, that is correct. As for passing parameters to a function, they are simply pushed onto the stack before the function call. Therefore, the H8 stack usually looks something like e.g. this: function param sp+10 function param sp+8 return (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) I may have answered my own question here. Since the SP is adjusted before anything is actually done with the local variables, the rule about it always pointing to the last valid datum is not violated even if local variables are placed after (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) I may have down and up reversed, since different machines grow the stack upward or downward, and I've worked with a few. I do have push and pop clear in my mind, though. So, yeah, down. So, by the "always" rule, nothing will ever be below the (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) When you define a bunch of local variables (more than fit in available registers), where are they? Unless you happen to know the answer, I may have to do some more experimenting. Admittedly, it has been awhile, but the last time I was heavy (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)
 
  Re: signals / legOS internals
 
(...) Reading this again, I should mention that pushing things on the stack asynchronously is fine, as long as the stack pointer is always in the right place, which is why it must always always always point to the location I mentioned (and seemingly (...) (25 years ago, 23-Jun-99, to lugnet.robotics.rcx.legos)


Next Page:  5 more | 10 more | 20 more | 100 more

Redisplay Messages:  All | Compact

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