Code with (( and &&

All, I am trying to understand the following code:

while // STARTING ((oilokay == HIGH) && (requeststart == LOW)

I find no information on the use of (( ) or && or == as shown here.

Thanks, Turboron

() to ensure operator priority, && for logical AND, == for comparison.

I find no information on the use of (( ) or && or ==

Where did you look ?

None of them are specific to the Arduino environment but the reference page explains the 2 operators and multiple brackets are as used in standard algebra to ensure that operators are used in the correct order of precedence.

I find no information

Check any C/C++ language reference.

while ((oilokay == HIGH) && (requeststart == LOW)) {


the code is saying while oilokay is HIGH AND requeststart is LOW, the double Parentheses as you call it contains the two statements which themselves are contained in Parentheses not that they need to be but as many coders shall tell you it does not hurt to do so it just enforces the knowledge that they won't merge as one single statement, Though in math the computation which is written in the Parentheses is computed first its known as the The Order of Operations: PEMDAS: It stands for Parentheses, Exponents, Multiplication/Division, Addition/Subtraction.

while // STARTING
((oilokay == HIGH) 
&& (requeststart == LOW)

Perhaps the source of your confusion is the newlines in somewhat unusual places. Newlines are ignored as far as the compiler syntax is considered, so this is the same as:

while ( (oilokay == HIGH) && (requeststart == LOW)

A simple "while" statement (well, the beginning of one - presumably there is more) with a parnethesized logical expression. "(( stuff)" and "&& stuff" are not statements of any kind on their own; they're just part of a larger statement.

while ( (oilokay == HIGH) && (requeststart == LOW) )

Could be condensed to:

while(oilokay && !requeststart)