To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 4928
4927  |  4929
Subject: 
Re: Some comments (long)
Newsgroups: 
lugnet.robotics
Date: 
Thu, 6 May 1999 21:27:28 GMT
Viewed: 
1178 times
  
John A. Tamplin <jat@liveonthenet.com> wrote:
On Thu, 6 May 1999, Kekoa Proudfoot wrote:

First, the ROM already contains a significant amount of non-trivial code to
process the existing sensor types.  I would imagine any you would leverage
this code, and you simply did not mention this.  To add a new sensor type,
you could use the existing raw type and go at it from there.

Unfortunately, the ROM code (as I understand it) does not implement any
mechanism other than polling.  I would like to do things like block a
thread until a sensor value matched some criteria.  The only efficient
way to do that is to have the A/D-complete interrupt handler signal
waiting threads that their condition has been satisfied.

What is your point?  If you want to make sense of the raw values, and want
to leverage the ROM code to process the existing sensor types/modes, you
need to call a ROM sensor-processing function every time an a/d completes.
That was the point I was trying to make.

The ROM a/d isr, which is different from the ROM sensor-processing function
I mentioned, effectively does the efficient thing you mentioned.  It
effectively throws a semaphore which causes the firmware's
sensor-processing code to run at high priority.

The LegOS a/d code only supports polling.

There is no reason the a/d code you end up using can't effectively wake up
a task devoted to a/d processing.  This is completely independent from
using the ROM sensor-processing code.

So, my take is that in general debugging should be performed on the host.
The only debugging on the RCX would be things to verify that the JVM is
working correctly, like tracking memory leaks that aren't being garbage
collected (which can happen naturally with reference loops).

You mean that in general, for the JVM.  The other byte code that is being
considered, which is not based on the JVM, and which I was talking about
when discussing debugging methods, would likely use the debugging methods I
described; I don't think you disagree with this, but maybe you
misunderstood - I was not talking about the JVM.

-Kekoa



Message has 1 Reply:
  Re: Some comments (long)
 
(...) Obviously you have spent much more time deciphering the ROM than I have. I wasn't aware that the ROM supported native threads, only multiplexing the bytecode streams it executed. How can replacement firmware hook into this sensor-processing (...) (25 years ago, 6-May-99, to lugnet.robotics)

Message is in Reply To:
  Re: Some comments (long)
 
(...) Unfortunately, the ROM code (as I understand it) does not implement any mechanism other than polling. I would like to do things like block a thread until a sensor value matched some criteria. The only efficient way to do that is to have the (...) (25 years ago, 6-May-99, to lugnet.robotics)

42 Messages in This Thread:













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

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

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