mirror of
https://github.com/thelsing/knx.git
synced 2025-04-09 01:16:57 +02:00
add print, println for linux fix compile error on linux
This commit is contained in:
parent
96f8a1bffb
commit
4dffda5574
179
bits.cpp
179
bits.cpp
@ -73,3 +73,182 @@ uint32_t getInt(uint8_t * data)
|
||||
{
|
||||
return (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3];
|
||||
}
|
||||
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
void print(const char* s)
|
||||
{
|
||||
printf("%s", s);
|
||||
}
|
||||
void print(char c)
|
||||
{
|
||||
printf("%c", c);
|
||||
}
|
||||
|
||||
void print(unsigned char num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(unsigned int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(unsigned long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(double num)
|
||||
{
|
||||
printf("%f", num);
|
||||
}
|
||||
|
||||
void println(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
void println(char c)
|
||||
{
|
||||
printf("%c\n", c);
|
||||
}
|
||||
|
||||
void println(unsigned char num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(double num)
|
||||
{
|
||||
printf("%f\n", num);
|
||||
}
|
||||
|
||||
void println(void)
|
||||
{
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void printHex(const char* suffix, const uint8_t *data, size_t length)
|
||||
{
|
||||
_print(suffix);
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
if (data[i] < 0x10) { _print("0"); }
|
||||
_print(data[i], HEX);
|
||||
_print(" ");
|
||||
}
|
||||
_print("\n");
|
||||
}
|
30
bits.h
30
bits.h
@ -4,9 +4,37 @@
|
||||
|
||||
#ifdef __linux__
|
||||
#include <arpa/inet.h>
|
||||
#include <cstdio>
|
||||
|
||||
#define lowByte(val) ((val) & 255)
|
||||
#define highByte(val) (((val) >> ((sizeof(val) - 1) << 3)) & 255)
|
||||
#define bitRead(val, bitno) (((val) >> (bitno)) & 1)
|
||||
|
||||
#define DEC 10
|
||||
#define HEX 16
|
||||
|
||||
#define _print print
|
||||
#define _println println
|
||||
|
||||
void print(const char[]);
|
||||
void print(char);
|
||||
void print(unsigned char, int = DEC);
|
||||
void print(int, int = DEC);
|
||||
void print(unsigned int, int = DEC);
|
||||
void print(long, int = DEC);
|
||||
void print(unsigned long, int = DEC);
|
||||
void print(double, int = 2);
|
||||
|
||||
void println(const char[]);
|
||||
void println(char);
|
||||
void println(unsigned char, int = DEC);
|
||||
void println(int, int = DEC);
|
||||
void println(unsigned int, int = DEC);
|
||||
void println(long, int = DEC);
|
||||
void println(unsigned long, int = DEC);
|
||||
void println(double, int = 2);
|
||||
void println(void);
|
||||
|
||||
#elif ARDUINO_ARCH_SAMD
|
||||
#include <Arduino.h>
|
||||
#define htons(x) ( ((x)<<8) | (((x)>>8)&0xFF) )
|
||||
@ -24,7 +52,7 @@
|
||||
#define printf Serial.printf
|
||||
#endif
|
||||
|
||||
|
||||
void printHex(const char* suffix, const uint8_t *data, size_t length);
|
||||
|
||||
uint8_t* popByte(uint8_t& b, uint8_t* data);
|
||||
uint8_t* popWord(uint16_t& w, uint8_t* data);
|
||||
|
@ -76,7 +76,7 @@ bool DataLinkLayer::sendTelegram(NPDU & npdu, AckType ack, uint16_t destinationA
|
||||
|
||||
if (!frame.valid())
|
||||
{
|
||||
_println("invalid frame\n");
|
||||
_println("invalid frame");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
14
platform.h
14
platform.h
@ -22,13 +22,13 @@ public:
|
||||
virtual bool sendBytes(uint8_t* buffer, uint16_t len) = 0;
|
||||
virtual int readBytes(uint8_t* buffer, uint16_t maxLen) = 0;
|
||||
|
||||
virtual void setupUart();
|
||||
virtual void closeUart();
|
||||
virtual int uartAvailable();
|
||||
virtual size_t writeUart(const uint8_t data);
|
||||
virtual size_t writeUart(const uint8_t *buffer, size_t size);
|
||||
virtual int readUart();
|
||||
virtual size_t readBytesUart(uint8_t *buffer, size_t length);
|
||||
virtual void setupUart() = 0;
|
||||
virtual void closeUart() = 0;
|
||||
virtual int uartAvailable() = 0;
|
||||
virtual size_t writeUart(const uint8_t data) = 0;
|
||||
virtual size_t writeUart(const uint8_t *buffer, size_t size) = 0;
|
||||
virtual int readUart() = 0;
|
||||
virtual size_t readBytesUart(uint8_t *buffer, size_t length) = 0;
|
||||
|
||||
virtual uint8_t* getEepromBuffer(uint16_t size) = 0;
|
||||
virtual void commitToEeprom() = 0;
|
||||
|
@ -212,8 +212,8 @@ bool TpUartDataLinkLayer::checkDataInd(uint8_t firstByte)
|
||||
printHex("=>", buffer, len);
|
||||
CemiFrame frame(buffer, len);
|
||||
|
||||
if (frame.addressType() == InduvidualAddress && _deviceObject.induvidualAddress() == frame.destinationAddress()
|
||||
|| frame.addressType() == GroupAddress && _groupAddressTable.contains(frame.destinationAddress()))
|
||||
if ((frame.addressType() == InduvidualAddress && _deviceObject.induvidualAddress() == frame.destinationAddress())
|
||||
|| (frame.addressType() == GroupAddress && _groupAddressTable.contains(frame.destinationAddress())))
|
||||
{
|
||||
//send ack.
|
||||
_platform.writeUart(U_ACK_REQ + 1);
|
||||
|
Loading…
Reference in New Issue
Block a user