mirror of
https://github.com/Theaninova/Arduino-IRremote.git
synced 2025-12-10 08:26:17 +00:00
Fix coding error in send loops (specify bit size of literal)
This commit is contained in:
@@ -38,7 +38,7 @@ void IRsend::sendAiwaRCT501 (int code)
|
||||
space(AIWA_RC_T501_HDR_SPACE);
|
||||
|
||||
// Send "pre" data
|
||||
for (unsigned long mask = 1 << (26 - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (26 - 1); mask; mask >>= 1) {
|
||||
mark(AIWA_RC_T501_BIT_MARK);
|
||||
if (pre & mask) space(AIWA_RC_T501_ONE_SPACE) ;
|
||||
else space(AIWA_RC_T501_ZERO_SPACE) ;
|
||||
|
||||
@@ -41,7 +41,7 @@ void IRsend::sendDenon (unsigned long data, int nbits)
|
||||
space(HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark (BIT_MARK);
|
||||
space(ONE_SPACE);
|
||||
|
||||
@@ -39,7 +39,7 @@ void IRsend::sendDISH (unsigned long data, int nbits)
|
||||
mark(DISH_HDR_MARK);
|
||||
space(DISH_HDR_SPACE);
|
||||
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(DISH_BIT_MARK);
|
||||
space(DISH_ONE_SPACE);
|
||||
|
||||
@@ -36,7 +36,7 @@ void IRsend::sendJVC (unsigned long data, int nbits, bool repeat)
|
||||
}
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(JVC_BIT_MARK);
|
||||
space(JVC_ONE_SPACE);
|
||||
|
||||
@@ -29,7 +29,7 @@ void IRsend::sendNEC (unsigned long data, int nbits)
|
||||
space(NEC_HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(NEC_BIT_MARK);
|
||||
space(NEC_ONE_SPACE);
|
||||
|
||||
@@ -28,14 +28,14 @@ void IRsend::sendPanasonic (unsigned int address, unsigned long data)
|
||||
space(PANASONIC_HDR_SPACE);
|
||||
|
||||
// Address
|
||||
for (unsigned long mask = 1 << (16 - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (16 - 1); mask; mask >>= 1) {
|
||||
mark(PANASONIC_BIT_MARK);
|
||||
if (address & mask) space(PANASONIC_ONE_SPACE) ;
|
||||
else space(PANASONIC_ZERO_SPACE) ;
|
||||
}
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (32 - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (32 - 1); mask; mask >>= 1) {
|
||||
mark(PANASONIC_BIT_MARK);
|
||||
if (data & mask) space(PANASONIC_ONE_SPACE) ;
|
||||
else space(PANASONIC_ZERO_SPACE) ;
|
||||
|
||||
@@ -64,7 +64,7 @@ void IRsend::sendRC5 (unsigned long data, int nbits)
|
||||
mark(RC5_T1);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
space(RC5_T1); // 1 is space, then mark
|
||||
mark(RC5_T1);
|
||||
@@ -141,7 +141,7 @@ void IRsend::sendRC6 (unsigned long data, int nbits)
|
||||
space(RC6_T1);
|
||||
|
||||
// Data
|
||||
for (unsigned long i = 1, mask = 1 << (nbits - 1); mask; i++, mask >>= 1) {
|
||||
for (unsigned long i = 1, mask = 1UL << (nbits - 1); mask; i++, mask >>= 1) {
|
||||
// The fourth bit we send is a "double width trailer bit"
|
||||
int t = (i == 4) ? (RC6_T1 * 2) : (RC6_T1) ;
|
||||
if (data & mask) {
|
||||
|
||||
@@ -29,7 +29,7 @@ void IRsend::sendSAMSUNG (unsigned long data, int nbits)
|
||||
space(SAMSUNG_HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(SAMSUNG_BIT_MARK);
|
||||
space(SAMSUNG_ONE_SPACE);
|
||||
|
||||
@@ -40,7 +40,7 @@ void IRsend::sendSharpRaw (unsigned long data, int nbits)
|
||||
// Sending codes in bursts of 3 (normal, inverted, normal) makes transmission
|
||||
// much more reliable. That's the exact behaviour of CD-S6470 remote control.
|
||||
for (int n = 0; n < 3; n++) {
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(SHARP_BIT_MARK);
|
||||
space(SHARP_ONE_SPACE);
|
||||
|
||||
@@ -29,7 +29,7 @@ void IRsend::sendSony (unsigned long data, int nbits)
|
||||
space(SONY_HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(SONY_ONE_MARK);
|
||||
space(SONY_HDR_SPACE);
|
||||
|
||||
@@ -126,7 +126,7 @@ void IRsend::sendShuzu (unsigned long data, int nbits)
|
||||
space(HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark (BIT_MARK);
|
||||
space(ONE_SPACE);
|
||||
|
||||
@@ -34,7 +34,7 @@ void IRsend::sendWhynter (unsigned long data, int nbits)
|
||||
space(WHYNTER_HDR_SPACE);
|
||||
|
||||
// Data
|
||||
for (unsigned long mask = 1 << (nbits - 1); mask; mask >>= 1) {
|
||||
for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) {
|
||||
if (data & mask) {
|
||||
mark(WHYNTER_ONE_MARK);
|
||||
space(WHYNTER_ONE_SPACE);
|
||||
|
||||
Reference in New Issue
Block a user