<div dir="ltr">Pat,<div>    for (uint8_t x = 0; x < (SONAR_NUM + IR_NUM); x++) {</div><div><br></div><div>    If  SONAR_NUM _ IR_NUM = 8 then you are overrunning the array which goes 0 to 7.</div><div><br></div><div>Regards,</div><div>Doug P.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 16, 2021 at 8:53 PM Chris Netter via DPRGlist <<a href="mailto:dprglist@lists.dprg.org">dprglist@lists.dprg.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-4888958342117027667WordSection1"><p class="MsoNormal">So Markus and Karim already pointed out that the original code snipped works as designed.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">It’s also been pointed out already that you are mixing data types. I don’t think that’s the issue, but worth trying to make both the array and maxDistance uint16_t</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">As for this new code snippet:</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I don’t see any obvious issue with the for loop.  Are you positive that <span style="font-size:12pt">SONAR_NUM + IR_NUM == 8 ?   if not, you are overshooting the array and that can cause all kinds of non-obvious issues.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12pt">Also, what does sendData() do?  Could it have some side-effects?   Maybe its causing a stack overflow, array bounds overflow, or similar, which in turn causes non-obvious issues?</span></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:dprglist@lists.dprg.org" target="_blank">Pat Caron via DPRGlist</a><br><b>Sent: </b>Thursday, December 16, 2021 9:04 PM<br><b>To: </b><a href="mailto:dprglist@lists.dprg.org" target="_blank">dprglist@lists.dprg.org</a><br><b>Subject: </b>Re: [Dprglist] Arduino Code Troubles</p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal"><span style="font-size:12pt">Hi guys, here is a better example to show what is happening taken from actual code:<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">.... other code<br>  for (uint8_t x = 0; x < (SONAR_NUM + IR_NUM); x++) {  // SONAR_NUM + IR_NUM = 8<br>    if ((cm[x] == 0) || (cm[x] > maxDistance)) {<br>      cm[x] = 999;<br>    }<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">  sendData();<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">  }<br><br>Printed values cm[0] to cm[5] (us_Left to ir_Right) without the above if statement<br>| us_Left = 0cm | us_Mid = 95cm | us_Right = 51cm | ir_Left = 84cm | ir_Right = 252cm | Time = 45mS<br><br>Printed values cm[0] to cm[5] with the above if statement<br>\| us_Left = 999cm | us_Mid = 999cm | us_Right = 999cm | ir_Left = 999cm | ir_Right = 999cm | Time = 44mS<br><br>...Pat C<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Dec 16, 2021 at 8:45 PM Karim Virani <<a href="mailto:pondersome64@gmail.com" target="_blank">pondersome64@gmail.com</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">It's doing what it's coded to do</p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Dec 16, 2021 at 7:42 PM Pat Caron via DPRGlist <<a href="mailto:dprglist@lists.dprg.org" target="_blank">dprglist@lists.dprg.org</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><span style="font-size:12pt">Hi Murray, I did try that with the same results.  NewPing.h library is looking for a uint16_t although it didn't complain when I tried that.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:12pt">...Pat C<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Dec 16, 2021 at 8:35 PM Murray Altheim via DPRGlist <<a href="mailto:dprglist@lists.dprg.org" target="_blank">dprglist@lists.dprg.org</a>> wrote:</p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal">Hi Pat,<br><br>What if you define maxDistance as uint32_t?<br><br>Cheers,<br><br>Murray<br><br>On 17/12/21 2:27 pm, Pat Caron via DPRGlist wrote:<br>> Hi guys, I'm looking for help with the following Arduino code.<br>> <br>>      uint32_t cm[8] = {0,0,0,0,0,0,0,0}; // Create array<br>>      uint16_t maxDistance = 200; // Also used with NewPing.h library<br>>      .<br>>      . // Other code here<br>>      .<br>>      irSensorL.read(); // Read IR sensor... This is working!<br>>      cm[3] = irSensorL.ranging_data.range_mm/10; // This returns 268<br>>      if (cm[3] > maxDistance) {<br>>        cm[3] = 999;                 /<br>>      }<br>>      Serial.println(cm[3]);  / cm[3] value is always = 999<br>>      sendData();<br>> <br>> The cm[3] value is always 999 when I run this.<br>> If I comment out the if cm[3]... statement cm[3] value is then 268.<br>> <br>> ...Pat C<br>> <br>> _______________________________________________<br>> DPRGlist mailing list<br>> <a href="mailto:DPRGlist@lists.dprg.org" target="_blank">DPRGlist@lists.dprg.org</a><br>> <a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a><br>> <br><br>-- <br><br>..........................................................................<br>Murray Altheim <murray18 at altheim dot com>                       = =  ===<br><a href="http://www.altheim.com/murray/" target="_blank">http://www.altheim.com/murray/</a>                                     ===  ===<br>                                                                    = =  ===<br>     In the evening<br>     The rice leaves in the garden<br>     Rustle in the autumn wind<br>     That blows through my reed hut.<br>            -- Minamoto no Tsunenobu<br><br>_______________________________________________<br>DPRGlist mailing list<br><a href="mailto:DPRGlist@lists.dprg.org" target="_blank">DPRGlist@lists.dprg.org</a><br><a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a></p></blockquote></div></blockquote></div></blockquote></div><p class="MsoNormal" style="margin-left:9.6pt">_______________________________________________<br>DPRGlist mailing list<br><a href="mailto:DPRGlist@lists.dprg.org" target="_blank">DPRGlist@lists.dprg.org</a><br><a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a></p><p class="MsoNormal"><u></u> <u></u></p></div></div>
_______________________________________________<br>
DPRGlist mailing list<br>
<a href="mailto:DPRGlist@lists.dprg.org" target="_blank">DPRGlist@lists.dprg.org</a><br>
<a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" rel="noreferrer" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a><br>
</blockquote></div>