8 #elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_STM32) || defined (DeviceFamily_CC13X0)
9 #define getbyte(x,n) (*(((uint8_t*)&(x))+n))
10 #define htons(x) ( (getbyte(x,0)<<8) | getbyte(x,1) )
11 #define htonl(x) ( (getbyte(x,0)<<24) | (getbyte(x,1)<<16) | (getbyte(x,2)<<8) | getbyte(x,3) )
12 #define ntohs(x) htons(x)
13 #define ntohl(x) htonl(x)
14 #elif defined(LIBRETINY)
16 #define htons(x) lwip_htons(x)
17 #define htonl(x) lwip_htonl(x)
20 #if defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_STM32) || defined(LIBRETINY)
22 #elif defined(ARDUINO_ARCH_ESP8266)
24 #include <user_interface.h>
25 #elif defined(ARDUINO_ARCH_ESP32)
28 #elif defined(ESP_PLATFORM)
29 #include <lwip/inet.h>
30 #include <driver/gpio.h>
33 #define lowByte(val) ((val)&255)
34 #define highByte(val) (((val) >> ((sizeof(val) - 1) << 3)) & 255)
35 #define bitRead(val, bitno) (((val) >> (bitno)) & 1)
42 #define CHANGE GPIO_INTR_ANYEDGE
43 #define FALLING GPIO_INTR_NEGEDGE
44 #define RISING GPIO_INTR_POSEDGE
51 #define lowByte(val) ((val)&255)
52 #define highByte(val) (((val) >> ((sizeof(val) - 1) << 3)) & 255)
53 #define bitRead(val, bitno) (((val) >> (bitno)) & 1)
61 #define INPUT_PULLUP (0x2)
62 #define INPUT_PULLDOWN (0x3)
73 void pinMode(uint32_t dwPin, uint32_t dwMode);
81 #define MIN(a, b) ((a < b) ? (a) : (b))
85 #define MAX(a, b) ((a > b) ? (a) : (b))
89 #define ABS(x) ((x > 0) ? (x) : (-x))
93 void print(
const char[]);
95 void print(
unsigned char,
int = DEC);
96 void print(
int,
int = DEC);
97 void print(
unsigned int,
int = DEC);
98 void print(
long,
int = DEC);
99 void print(
unsigned long,
int = DEC);
100 void print(
long long,
int = DEC);
101 void print(
unsigned long long,
int = DEC);
106 void println(
unsigned char,
int = DEC);
108 void println(
unsigned int,
int = DEC);
110 void println(
unsigned long,
int = DEC);
111 void println(
long long,
int = DEC);
112 void println(
unsigned long long,
int = DEC);
116 void printHex(
const char* suffix,
const uint8_t* data,
size_t length,
bool newline =
true);
118 #define print(...) do {} while(0)
119 #define println(...) do {} while(0)
120 #define printHex(...) do {} while(0)
123 #ifdef KNX_ACTIVITYCALLBACK
124 #define KNX_ACTIVITYCALLBACK_DIR 0x00
125 #define KNX_ACTIVITYCALLBACK_DIR_RECV 0x00
126 #define KNX_ACTIVITYCALLBACK_DIR_SEND 0x01
127 #define KNX_ACTIVITYCALLBACK_IPUNICAST 0x02
128 #define KNX_ACTIVITYCALLBACK_NET 0x04
131 const uint8_t*
popByte(uint8_t& b,
const uint8_t* data);
132 const uint8_t*
popWord(uint16_t& w,
const uint8_t* data);
133 const uint8_t*
popInt(uint32_t& i,
const uint8_t* data);
134 const uint8_t*
popByteArray(uint8_t* dst, uint32_t size,
const uint8_t* data);
135 uint8_t*
pushByte(uint8_t b, uint8_t* data);
136 uint8_t*
pushWord(uint16_t w, uint8_t* data);
137 uint8_t*
pushInt(uint32_t i, uint8_t* data);
138 uint8_t*
pushByteArray(
const uint8_t* src, uint32_t size, uint8_t* data);
139 uint16_t
getWord(
const uint8_t* data);
140 uint32_t
getInt(
const uint8_t* data);
145 uint16_t
crc16Ccitt(uint8_t* input, uint16_t length);
146 uint16_t
crc16Dnp(uint8_t* input, uint16_t length);
156 #if defined(ARDUINO_ARCH_SAMD)
uint16_t crc16Dnp(uint8_t *input, uint16_t length)
const uint8_t * popByte(uint8_t &b, const uint8_t *data)
void digitalWrite(uint32_t dwPin, uint32_t dwVal)
void println(const char[])
void attachInterrupt(uint32_t pin, IsrFuncPtr callback, uint32_t mode)
uint8_t * pushInt(uint32_t i, uint8_t *data)
uint8_t * pushByteArray(const uint8_t *src, uint32_t size, uint8_t *data)
const uint8_t * popByteArray(uint8_t *dst, uint32_t size, const uint8_t *data)
void printHex(const char *suffix, const uint8_t *data, size_t length, bool newline=true)
void sixBytesFromUInt64(uint64_t num, uint8_t *toByteArray)
uint8_t * pushWord(uint16_t w, uint8_t *data)
uint16_t getWord(const uint8_t *data)
void pinMode(uint32_t dwPin, uint32_t dwMode)
uint8_t * pushByte(uint8_t b, uint8_t *data)
void delay(uint32_t millis)
const uint8_t * popInt(uint32_t &i, const uint8_t *data)
void(* EspIsrFuncPtr)(void *)
@ Float_Enc_IEEE754Double
@ Float_Enc_IEEE754Single
uint16_t crc16Ccitt(uint8_t *input, uint16_t length)
uint64_t sixBytesToUInt64(uint8_t *data)
void delayMicroseconds(unsigned int howLong)
uint32_t digitalRead(uint32_t dwPin)
uint32_t getInt(const uint8_t *data)
void(* voidFuncPtr)(void)
const uint8_t * popWord(uint16_t &w, const uint8_t *data)