@@ -225,13 +225,14 @@ void SevSeg::DisplayString(char* toDisplay, byte DecAposColon)
225
225
}
226
226
else
227
227
{
228
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<6 )) digitalWrite (segmentA, SegOn);
229
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<5 )) digitalWrite (segmentB, SegOn);
230
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<4 )) digitalWrite (segmentC, SegOn);
231
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<3 )) digitalWrite (segmentD, SegOn);
232
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<2 )) digitalWrite (segmentE, SegOn);
233
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<1 )) digitalWrite (segmentF, SegOn);
234
- if (pgm_read_byte (&characterArray[characterToDisplay]) & (1 <<0 )) digitalWrite (segmentG, SegOn);
228
+ const uint8_t chr = pgm_read_byte (&characterArray[characterToDisplay]);
229
+ if (chr & (1 <<6 )) digitalWrite (segmentA, SegOn);
230
+ if (chr & (1 <<5 )) digitalWrite (segmentB, SegOn);
231
+ if (chr & (1 <<4 )) digitalWrite (segmentC, SegOn);
232
+ if (chr & (1 <<3 )) digitalWrite (segmentD, SegOn);
233
+ if (chr & (1 <<2 )) digitalWrite (segmentE, SegOn);
234
+ if (chr & (1 <<1 )) digitalWrite (segmentF, SegOn);
235
+ if (chr & (1 <<0 )) digitalWrite (segmentG, SegOn);
235
236
}
236
237
// Service the decimal point, apostrophe and colon
237
238
if ((DecAposColon & (1 <<(digit-1 ))) && (digit < 5 )) // Test DecAposColon to see if we need to turn on a decimal point
0 commit comments