INTL 3:770/1 3:770/3   
   REPLYADDR tnp@invalid.invalid   
   REPLYTO 3:770/3.0 UUCP   
   MSGID: bd7dfabe   
   REPLY: 8dcbb1de   
   PID: SoupGate-Win32 v1.05   
   On 28/03/2024 08:35, Björn Lundin wrote:   
   > On 2024-03-25 16:57, The Natural Philosopher wrote:   
   >> That is, some asynchrounous event in this sequence   
   >>   
   >> gpio_put(ULTRASONIC_OUT,1);   
   >> sleep_us(10);   
   >> gpio_put(ULTRASONIC_OUT,0); //reset the input   
   >> //if asynch event lasting more than 100uS occurs here...   
   >> // wait for echo pulse start   
   >> while(!gpio_get(ULTRASONIC_IN))   
   >> ;   
   >> //then the low-high-low echo pulse will never be detected.   
   >   
   >   
   > if you change the wait body to include a counter then you could realize   
   > that when the counter had reached a high number - you missed the pulse.   
   > Just try again then. Getting a reading is not that time sensitive - or?   
   >   
   That will be the next strategy.   
      
   I need to isolate exactly which bit is failing, and can remove all the   
   other debug code.   
   If it turns out to be a one in a thousand issue it probably isn't worth   
   trying to avoid it, as you say, simply take another sample   
      
      
   > :START   
   > int cnt = 0;   
   > gpio_put(ULTRASONIC_OUT,1);   
   > sleep_us(10);   
   > gpio_put(ULTRASONIC_OUT,0); //reset the input   
   > //if asynch event lasting more than 100uS occurs here...   
   > // wait for echo pulse start   
   > while(TRUE) {   
   >   
   > if (! gpio_get(ULTRASONIC_IN)) {   
   > cnt++   
   > } else {   
   > break;   
   > }   
   >   
   > if (cnt >= TOO_HIGH_VALUE) {   
   > goto START;   
   > }   
   >   
   >   
   > }   
   >   
      
   --   
   “It is hard to imagine a more stupid decision or more dangerous way of   
   making decisions than by putting those decisions in the hands of people   
   who pay no price for being wrong.”   
      
   Thomas Sowell   
      
   --- SoupGate-Win32 v1.05   
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)   
   SEEN-BY: 10/0 1 15/0 90/1 103/705 105/81 106/201 128/260 129/305 135/225   
   SEEN-BY: 153/757 7715 218/0 1 601 700 840 870 930 220/70 221/1 6 226/17   
   SEEN-BY: 226/30 100 227/114 229/110 111 112 113 200 206 307 317 400   
   SEEN-BY: 229/426 428 470 550 616 664 700 240/1120 266/512 267/800   
   SEEN-BY: 282/1038 291/111 292/854 301/1 113 812 310/31 320/219 322/757   
   SEEN-BY: 335/364 341/66 342/200 396/45 460/58 633/280 712/848 770/1   
   SEEN-BY: 770/3 100 330 340 772/210 220 230 5020/400 1042 5058/104   
   SEEN-BY: 5075/35   
   PATH: 770/3 1 218/840 221/6 301/1 218/700 229/426   
      
|