Skip to content

Commit 7a582b7

Browse files
author
Nathan Seidle
committed
Add defines for bit manipulation and low/high byte
Adds support for various Arduino reference functions
1 parent f491fa6 commit 7a582b7

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

cores/arduino/ard_sup/Arduino.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,16 @@ extern "C"
7575
#define degrees(rad) ((rad)*RAD_TO_DEG)
7676
#define sq(x) ((x) * (x))
7777

78+
#define lowByte(w) ((uint8_t)((w)&0xff))
79+
#define highByte(w) ((uint8_t)((w) >> 8))
80+
81+
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
82+
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
83+
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
84+
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
85+
86+
#define bit(b) (1UL << (b))
87+
7888
// constants
7989
#define LOW (0x0)
8090
#define HIGH (0x1)

0 commit comments

Comments
 (0)