x

Dependencies:   AP3000 ARM_RTC Beep BurstSPI FRAMSPI FT813 I2CEEBlockDevice I2CList MCP79412 NMEA0183 PCA9745B SDBlockDevice SPIFBlockDevice SystemClock WDT nmea_parser

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers macros.h Source File

macros.h

00001 #define _BV(bit) (1 << (bit))
00002 #define bit(b) (1UL << (b))
00003 
00004 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)
00005 #define bitSet(value, bit) ((value) |= (1UL << (bit)))
00006 #define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
00007 #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
00008 
00009 #define lowByte(w) ((uint8_t)((w) & 0xff))
00010 #define highByte(w) ((uint8_t)((w) >> 8))
00011 #define lowWord(w) ((uint16_t)((w) & 0xffff))
00012 #define highWord(w) ((uint16_t)((w) >> 16))
00013 #define bytesToWord(hb, lb) ((uint16_t)((((uint16_t)(hb & 0xFF)) << 8) | ((uint16_t)lb)))
00014 #define wordstoDWord(hw, lw) ((uint32_t)((((uint32_t)(hw & 0xFFFF)) << 16) | ((uint32_t)lw)))
00015 
00016 #define min(a,b) ((a)<(b)?(a):(b))
00017 #define max(a,b) ((a)>(b)?(a):(b))
00018 
00019 #define swap(x,y) { x = x + y; y = x - y; x = x - y; }
00020 
00021 #define abs(value) ((value)>0?(value):(-value))
00022 #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
00023 
00024 #define LV_MATH_ABS(x) ((x)>0?(x):(-(x)))