To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 144
  Rotation sensor bug found (maybe!)
 
I think I might have found a bug in the ds_rotation_handler (direct-sensor.c). The problem arises when the STATE_0_VALUE is checked using the IN_RANGE macro. As STATE_0_VALUE is 1023U<<6, which is about the max value for an unsigned, adding to it (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found (maybe!)
 
(...) You've got a point here. What if we hardwire STATE_0_VALUE to the following? #define STATE_0_VALUE (ds_unscale(1023U)-RANGE_SIZE) Or, for a more general approach: #define MIN(a,b) (a<b?a:b) #define MAX(a,b) (a>b?a:b) #define STATE_VALUE(k) ( \ (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
Lou, thank you for your reply. (...) This should work. (...) This seems wrong to me because sets all the STATE_n_VALUE to k-RANGE_SIZE. For now I modified ds_rotation_handler() in this way (two occurrences): // if ( IN_RANGE ( STATE_0_VALUE ) ) { // (...) (26 years ago, 18-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) It wouldn't, though. First it gets the maximum of the given value or RANGE_SIZE. That is done to prevent a similar overflow at the low end, even though, with current values, that won't happen. Then, that value is compared against the safe (...) (26 years ago, 19-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) OK. I was wrong. I should have better analyzed your code... This definitively prove how long still is my way to get my hands on C :) BTW, I wrote an e-mail to Markus but got it bounced back. Mario (26 years ago, 19-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found (maybe!)
 
(...) Exactly. I don't have rotation sensors, either. I think these values were originally gathered from Michael Nielsen's sensors. What's the current status? Is there a patch working for everybody, or do we need some calibration work? It would be (...) (26 years ago, 20-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) I suppose we could ask for help also to non-legos owners of RCX and rotation sensors. What if any of us posts a message in the robotics newsgroup asking for some reads of rotation sensors? Raw values can be read with the sandard firmware too (...) (26 years ago, 20-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) Why doesn't somebody finish up the decoding of the ROM, specifically the routine at 14c0. This routine takes the raw sensor samples and converts them to usable values, including handling the temperature and rotation sensors. The standard (...) (26 years ago, 20-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) Excellent idea. This would yield the default settings dead-on. (...) Scaling isn't about the final output. The final output is already in the standard format. Scaling is about shifting the raw sensor values displayed by the firmware six digits (...) (26 years ago, 20-Apr-99, to lugnet.robotics.rcx.legos)
 
  Re: Rotation sensor bug found
 
(...) This seems the best approach to me too. My problem is I don't know if I am able to do such a thing :-) (...) I know your site and know you've done a LOT of hard work to understand and explain both RCX hardware and original firmware code. Mario (26 years ago, 21-Apr-99, to lugnet.robotics.rcx.legos)

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