Add ifdef to bit definitions to avoid conflicts with other libraries. Refactor BITx to use BIT macro. (#45)

This commit is contained in:
Steve Karg
2020-02-18 08:21:54 -06:00
committed by GitHub
parent cf963a63ca
commit 9c41180145
19 changed files with 89 additions and 104 deletions
+3 -3
View File
@@ -70,10 +70,10 @@ uint16_t apdu_decode_confirmed_service_request(uint8_t * apdu, /* APDU data */
{ {
uint16_t len = 0; /* counts where we are in PDU */ uint16_t len = 0; /* counts where we are in PDU */
service_data->segmented_message = (apdu[0] & BIT3) ? true : false; service_data->segmented_message = (apdu[0] & BIT(3)) ? true : false;
service_data->more_follows = (apdu[0] & BIT2) ? true : false; service_data->more_follows = (apdu[0] & BIT(2)) ? true : false;
service_data->segmented_response_accepted = service_data->segmented_response_accepted =
(apdu[0] & BIT1) ? true : false; (apdu[0] & BIT(1)) ? true : false;
service_data->max_segs = decode_max_segs(apdu[1]); service_data->max_segs = decode_max_segs(apdu[1]);
service_data->max_resp = decode_max_apdu(apdu[1]); service_data->max_resp = decode_max_apdu(apdu[1]);
service_data->invoke_id = apdu[2]; service_data->invoke_id = apdu[2];
+2 -2
View File
@@ -274,7 +274,7 @@ static bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -297,7 +297,7 @@ static bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+3 -3
View File
@@ -71,10 +71,10 @@ uint16_t apdu_decode_confirmed_service_request(
{ {
uint16_t len = 0; /* counts where we are in PDU */ uint16_t len = 0; /* counts where we are in PDU */
service_data->segmented_message = (apdu[0] & BIT3) ? true : false; service_data->segmented_message = (apdu[0] & BIT(3)) ? true : false;
service_data->more_follows = (apdu[0] & BIT2) ? true : false; service_data->more_follows = (apdu[0] & BIT(2)) ? true : false;
service_data->segmented_response_accepted = service_data->segmented_response_accepted =
(apdu[0] & BIT1) ? true : false; (apdu[0] & BIT(1)) ? true : false;
service_data->max_segs = decode_max_segs(apdu[1]); service_data->max_segs = decode_max_segs(apdu[1]);
service_data->max_resp = decode_max_apdu(apdu[1]); service_data->max_resp = decode_max_apdu(apdu[1]);
service_data->invoke_id = apdu[2]; service_data->invoke_id = apdu[2];
+2 -2
View File
@@ -273,7 +273,7 @@ static bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -296,7 +296,7 @@ static bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+7 -7
View File
@@ -165,13 +165,13 @@ void test_task(
mstimer_reset(&Test_Timer); mstimer_reset(&Test_Timer);
sprintf(Send_Buffer, "BACnet: 0000000\r\n"); sprintf(Send_Buffer, "BACnet: 0000000\r\n");
MSTP_MAC_Address = input_address(); MSTP_MAC_Address = input_address();
Send_Buffer[8] = (MSTP_MAC_Address & BIT0) ? '1' : '0'; Send_Buffer[8] = (MSTP_MAC_Address & BIT(0)) ? '1' : '0';
Send_Buffer[9] = (MSTP_MAC_Address & BIT1) ? '1' : '0'; Send_Buffer[9] = (MSTP_MAC_Address & BIT(1)) ? '1' : '0';
Send_Buffer[10] = (MSTP_MAC_Address & BIT2) ? '1' : '0'; Send_Buffer[10] = (MSTP_MAC_Address & BIT(2)) ? '1' : '0';
Send_Buffer[11] = (MSTP_MAC_Address & BIT3) ? '1' : '0'; Send_Buffer[11] = (MSTP_MAC_Address & BIT(3)) ? '1' : '0';
Send_Buffer[12] = (MSTP_MAC_Address & BIT4) ? '1' : '0'; Send_Buffer[12] = (MSTP_MAC_Address & BIT(4)) ? '1' : '0';
Send_Buffer[13] = (MSTP_MAC_Address & BIT5) ? '1' : '0'; Send_Buffer[13] = (MSTP_MAC_Address & BIT(5)) ? '1' : '0';
Send_Buffer[14] = (MSTP_MAC_Address & BIT6) ? '1' : '0'; Send_Buffer[14] = (MSTP_MAC_Address & BIT(6)) ? '1' : '0';
serial_bytes_send((uint8_t *) Send_Buffer, 17); serial_bytes_send((uint8_t *) Send_Buffer, 17);
} }
if (serial_byte_get(&data_register)) { if (serial_byte_get(&data_register)) {
+2 -2
View File
@@ -447,7 +447,7 @@ static bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) { if (request_pdu[offset] & BIT(3)) {
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
} else { } else {
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -475,7 +475,7 @@ static bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) { if (reply_pdu[offset] & BIT(3)) {
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
} else { } else {
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+2 -2
View File
@@ -444,7 +444,7 @@ bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) { if (request_pdu[offset] & BIT(3)) {
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
} else { } else {
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -472,7 +472,7 @@ bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) { if (reply_pdu[offset] & BIT(3)) {
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
} else { } else {
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+3 -3
View File
@@ -85,10 +85,10 @@ uint16_t apdu_decode_confirmed_service_request(
{ {
uint16_t len = 0; /* counts where we are in PDU */ uint16_t len = 0; /* counts where we are in PDU */
service_data->segmented_message = (apdu[0] & BIT3) ? true : false; service_data->segmented_message = (apdu[0] & BIT(3)) ? true : false;
service_data->more_follows = (apdu[0] & BIT2) ? true : false; service_data->more_follows = (apdu[0] & BIT(2)) ? true : false;
service_data->segmented_response_accepted = service_data->segmented_response_accepted =
(apdu[0] & BIT1) ? true : false; (apdu[0] & BIT(1)) ? true : false;
service_data->max_segs = decode_max_segs(apdu[1]); service_data->max_segs = decode_max_segs(apdu[1]);
service_data->max_resp = decode_max_apdu(apdu[1]); service_data->max_resp = decode_max_apdu(apdu[1]);
service_data->invoke_id = apdu[2]; service_data->invoke_id = apdu[2];
+2 -2
View File
@@ -590,7 +590,7 @@ static bool mstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -613,7 +613,7 @@ static bool mstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+3 -3
View File
@@ -85,10 +85,10 @@ uint16_t apdu_decode_confirmed_service_request(
{ {
uint16_t len = 0; /* counts where we are in PDU */ uint16_t len = 0; /* counts where we are in PDU */
service_data->segmented_message = (apdu[0] & BIT3) ? true : false; service_data->segmented_message = (apdu[0] & BIT(3)) ? true : false;
service_data->more_follows = (apdu[0] & BIT2) ? true : false; service_data->more_follows = (apdu[0] & BIT(2)) ? true : false;
service_data->segmented_response_accepted = service_data->segmented_response_accepted =
(apdu[0] & BIT1) ? true : false; (apdu[0] & BIT(1)) ? true : false;
service_data->max_segs = decode_max_segs(apdu[1]); service_data->max_segs = decode_max_segs(apdu[1]);
service_data->max_resp = decode_max_apdu(apdu[1]); service_data->max_resp = decode_max_apdu(apdu[1]);
service_data->invoke_id = apdu[2]; service_data->invoke_id = apdu[2];
+3 -3
View File
@@ -590,7 +590,7 @@ static bool mstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -609,7 +609,7 @@ static bool mstp_compare_data_expecting_reply(
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST: case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
reply.invoke_id = reply_pdu[offset + 2]; reply.invoke_id = reply_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 5]; reply.service_choice = reply_pdu[offset + 5];
else else
reply.service_choice = reply_pdu[offset + 3]; reply.service_choice = reply_pdu[offset + 3];
@@ -621,7 +621,7 @@ static bool mstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+2 -2
View File
@@ -277,7 +277,7 @@ static bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -300,7 +300,7 @@ static bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+2 -2
View File
@@ -350,7 +350,7 @@ bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -372,7 +372,7 @@ bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+2 -2
View File
@@ -334,7 +334,7 @@ static bool dlmstp_compare_data_expecting_reply(
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
@@ -357,7 +357,7 @@ static bool dlmstp_compare_data_expecting_reply(
case PDU_TYPE_COMPLEX_ACK: case PDU_TYPE_COMPLEX_ACK:
reply.invoke_id = reply_pdu[offset + 1]; reply.invoke_id = reply_pdu[offset + 1];
/* segmented message? */ /* segmented message? */
if (reply_pdu[offset] & BIT3) if (reply_pdu[offset] & BIT(3))
reply.service_choice = reply_pdu[offset + 4]; reply.service_choice = reply_pdu[offset + 4];
else else
reply.service_choice = reply_pdu[offset + 2]; reply.service_choice = reply_pdu[offset + 2];
+1 -1
View File
@@ -253,7 +253,7 @@ static bool dlmstp_compare_data_expecting_reply(uint8_t * request_pdu,
} }
request.invoke_id = request_pdu[offset + 2]; request.invoke_id = request_pdu[offset + 2];
/* segmented message? */ /* segmented message? */
if (request_pdu[offset] & BIT3) if (request_pdu[offset] & BIT(3))
request.service_choice = request_pdu[offset + 5]; request.service_choice = request_pdu[offset + 5];
else else
request.service_choice = request_pdu[offset + 3]; request.service_choice = request_pdu[offset + 3];
+20 -20
View File
@@ -216,7 +216,7 @@ int encode_tag(uint8_t *apdu,
apdu[0] = 0; apdu[0] = 0;
if (context_specific) { if (context_specific) {
apdu[0] = BIT3; apdu[0] = BIT(3);
} }
/* additional tag byte after this byte */ /* additional tag byte after this byte */
@@ -256,7 +256,7 @@ int encode_opening_tag(uint8_t *apdu, uint8_t tag_number)
int len = 1; int len = 1;
/* set class field to context specific */ /* set class field to context specific */
apdu[0] = BIT3; apdu[0] = BIT(3);
/* additional tag byte after this byte for extended tag byte */ /* additional tag byte after this byte for extended tag byte */
if (tag_number <= 14) { if (tag_number <= 14) {
apdu[0] |= (tag_number << 4); apdu[0] |= (tag_number << 4);
@@ -278,7 +278,7 @@ int encode_closing_tag(uint8_t *apdu, uint8_t tag_number)
int len = 1; int len = 1;
/* set class field to context specific */ /* set class field to context specific */
apdu[0] = BIT3; apdu[0] = BIT(3);
/* additional tag byte after this byte for extended tag byte */ /* additional tag byte after this byte for extended tag byte */
if (tag_number <= 14) { if (tag_number <= 14) {
apdu[0] |= (tag_number << 4); apdu[0] |= (tag_number << 4);
@@ -595,29 +595,29 @@ static uint8_t byte_reverse_bits(uint8_t in_byte)
{ {
uint8_t out_byte = 0; uint8_t out_byte = 0;
if (in_byte & BIT0) { if (in_byte & BIT(0)) {
out_byte |= BIT7; out_byte |= BIT(7);
} }
if (in_byte & BIT1) { if (in_byte & BIT(1)) {
out_byte |= BIT6; out_byte |= BIT(6);
} }
if (in_byte & BIT2) { if (in_byte & BIT(2)) {
out_byte |= BIT5; out_byte |= BIT(5);
} }
if (in_byte & BIT3) { if (in_byte & BIT(3)) {
out_byte |= BIT4; out_byte |= BIT(4);
} }
if (in_byte & BIT4) { if (in_byte & BIT(4)) {
out_byte |= BIT3; out_byte |= BIT(3);
} }
if (in_byte & BIT5) { if (in_byte & BIT(5)) {
out_byte |= BIT2; out_byte |= BIT(2);
} }
if (in_byte & BIT6) { if (in_byte & BIT(6)) {
out_byte |= BIT1; out_byte |= BIT(1);
} }
if (in_byte & BIT7) { if (in_byte & BIT(7)) {
out_byte |= BIT0; out_byte |= BIT(0);
} }
return out_byte; return out_byte;
@@ -2522,7 +2522,7 @@ static void testBACDCodeTags(Test *pTest)
test_len = get_apdu_len(IS_EXTENDED_TAG_NUMBER(apdu[0]), value); test_len = get_apdu_len(IS_EXTENDED_TAG_NUMBER(apdu[0]), value);
ct_test(pTest, len == test_len); ct_test(pTest, len == test_len);
/* stop at the the last value */ /* stop at the the last value */
if (value & BIT31) { if (value & BIT(31L)) {
break; break;
} }
} }
+1 -1
View File
@@ -508,7 +508,7 @@ extern "C" {
/* from clause 20.2.1.1 Class */ /* from clause 20.2.1.1 Class */
/* true if the tag is context specific */ /* true if the tag is context specific */
#define IS_CONTEXT_SPECIFIC(x) ((x & BIT3) == BIT3) #define IS_CONTEXT_SPECIFIC(x) ((x & BIT(3)) == BIT(3))
/* from clause 20.2.1.3.2 Constructed Data */ /* from clause 20.2.1.3.2 Constructed Data */
/* true if the tag is an opening tag */ /* true if the tag is an opening tag */
+21 -36
View File
@@ -27,54 +27,39 @@
/******************************************************************** /********************************************************************
* Bit Masks * Bit Masks
*********************************************************************/ *********************************************************************/
#define BIT(x) (1<<(x)) #ifndef BIT
#define BIT0 (0x01) #define BIT(x) (1<<(x))
#define BIT1 (0x02) #endif
#define BIT2 (0x04) #ifndef _BV
#define BIT3 (0x08) #define _BV(x) (1<<(x))
#define BIT4 (0x10) #endif
#define BIT5 (0x20)
#define BIT6 (0x40)
#define BIT7 (0x80)
#define BIT8 (0x0100)
#define BIT9 (0x0200)
#define BIT10 (0x0400)
#define BIT11 (0x0800)
#define BIT12 (0x1000)
#define BIT13 (0x2000)
#define BIT14 (0x4000)
#define BIT15 (0x8000)
#define BIT16 (0x010000UL)
#define BIT17 (0x020000UL)
#define BIT18 (0x040000UL)
#define BIT19 (0x080000UL)
#define BIT20 (0x100000UL)
#define BIT21 (0x200000UL)
#define BIT22 (0x400000UL)
#define BIT23 (0x800000UL)
#define BIT24 (0x01000000UL)
#define BIT25 (0x02000000UL)
#define BIT26 (0x04000000UL)
#define BIT27 (0x08000000UL)
#define BIT28 (0x10000000UL)
#define BIT29 (0x20000000UL)
#define BIT30 (0x40000000UL)
#define BIT31 (0x80000000UL)
/* a=register, b=bit number to act upon 0-n */ /* a=register, b=bit number to act upon 0-n */
#ifndef BIT_SET
#define BIT_SET(a,b) ((a) |= (1<<(b))) #define BIT_SET(a,b) ((a) |= (1<<(b)))
#endif
#ifndef BIT_CLEAR
#define BIT_CLEAR(a,b) ((a) &= ~(1<<(b))) #define BIT_CLEAR(a,b) ((a) &= ~(1<<(b)))
#endif
#ifndef BIT_FLIP
#define BIT_FLIP(a,b) ((a) ^= (1<<(b))) #define BIT_FLIP(a,b) ((a) ^= (1<<(b)))
#endif
#ifndef BIT_CHECK
#define BIT_CHECK(a,b) ((a) & (1<<(b))) #define BIT_CHECK(a,b) ((a) & (1<<(b)))
#endif
/* x=target variable, y=mask */ /* x=target variable, y=mask */
#ifndef BITMASK_SET
#define BITMASK_SET(x,y) ((x) |= (y)) #define BITMASK_SET(x,y) ((x) |= (y))
#endif
#ifndef BITMASK_CLEAR
#define BITMASK_CLEAR(x,y) ((x) &= (~(y))) #define BITMASK_CLEAR(x,y) ((x) &= (~(y)))
#endif
#ifndef BITMASK_FLIP
#define BITMASK_FLIP(x,y) ((x) ^= (y)) #define BITMASK_FLIP(x,y) ((x) ^= (y))
#endif
#ifndef BITMASK_CHECK
#define BITMASK_CHECK(x,y) (((x) & (y)) == (y)) #define BITMASK_CHECK(x,y) (((x) & (y)) == (y))
#ifndef _BV
#define _BV(x) (1<<(x))
#endif #endif
#endif #endif
+8 -8
View File
@@ -144,7 +144,7 @@ int npdu_encode_pdu(uint8_t *npdu,
/* 0 indicates that the NSDU contains a BACnet APDU. */ /* 0 indicates that the NSDU contains a BACnet APDU. */
/* Message Type field is absent. */ /* Message Type field is absent. */
if (npdu_data->network_layer_message) { if (npdu_data->network_layer_message) {
npdu[1] |= BIT7; npdu[1] |= BIT(7);
} }
/*Bit 6: Reserved. Shall be zero. */ /*Bit 6: Reserved. Shall be zero. */
/*Bit 5: Destination specifier where: */ /*Bit 5: Destination specifier where: */
@@ -153,7 +153,7 @@ int npdu_encode_pdu(uint8_t *npdu,
/* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */ /* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */
/* DLEN > 0 specifies length of DADR field */ /* DLEN > 0 specifies length of DADR field */
if (dest && dest->net) { if (dest && dest->net) {
npdu[1] |= BIT5; npdu[1] |= BIT(5);
} }
/* Bit 4: Reserved. Shall be zero. */ /* Bit 4: Reserved. Shall be zero. */
/* Bit 3: Source specifier where: */ /* Bit 3: Source specifier where: */
@@ -162,7 +162,7 @@ int npdu_encode_pdu(uint8_t *npdu,
/* SLEN = 0 Invalid */ /* SLEN = 0 Invalid */
/* SLEN > 0 specifies length of SADR field */ /* SLEN > 0 specifies length of SADR field */
if (src && src->net && src->len) { if (src && src->net && src->len) {
npdu[1] |= BIT3; npdu[1] |= BIT(3);
} }
/* Bit 2: The value of this bit corresponds to the */ /* Bit 2: The value of this bit corresponds to the */
/* data_expecting_reply parameter in the N-UNITDATA primitives. */ /* data_expecting_reply parameter in the N-UNITDATA primitives. */
@@ -173,7 +173,7 @@ int npdu_encode_pdu(uint8_t *npdu,
/* a segment of a BACnet-ComplexACK-PDU, */ /* a segment of a BACnet-ComplexACK-PDU, */
/* or a network layer message expecting a reply is present. */ /* or a network layer message expecting a reply is present. */
if (npdu_data->data_expecting_reply) { if (npdu_data->data_expecting_reply) {
npdu[1] |= BIT2; npdu[1] |= BIT(2);
} }
/* Bits 1,0: Network priority where: */ /* Bits 1,0: Network priority where: */
/* B'11' = Life Safety message */ /* B'11' = Life Safety message */
@@ -330,7 +330,7 @@ int npdu_decode(uint8_t *npdu,
/* Message Type field is present. */ /* Message Type field is present. */
/* 0 indicates that the NSDU contains a BACnet APDU. */ /* 0 indicates that the NSDU contains a BACnet APDU. */
/* Message Type field is absent. */ /* Message Type field is absent. */
npdu_data->network_layer_message = (npdu[1] & BIT7) ? true : false; npdu_data->network_layer_message = (npdu[1] & BIT(7)) ? true : false;
/*Bit 6: Reserved. Shall be zero. */ /*Bit 6: Reserved. Shall be zero. */
/* Bit 4: Reserved. Shall be zero. */ /* Bit 4: Reserved. Shall be zero. */
/* Bit 2: The value of this bit corresponds to data expecting reply */ /* Bit 2: The value of this bit corresponds to data expecting reply */
@@ -341,7 +341,7 @@ int npdu_decode(uint8_t *npdu,
/* 0 indicates that other than a BACnet-Confirmed-Request-PDU, */ /* 0 indicates that other than a BACnet-Confirmed-Request-PDU, */
/* a segment of a BACnet-ComplexACK-PDU, */ /* a segment of a BACnet-ComplexACK-PDU, */
/* or a network layer message expecting a reply is present. */ /* or a network layer message expecting a reply is present. */
npdu_data->data_expecting_reply = (npdu[1] & BIT2) ? true : false; npdu_data->data_expecting_reply = (npdu[1] & BIT(2)) ? true : false;
/* Bits 1,0: Network priority where: */ /* Bits 1,0: Network priority where: */
/* B'11' = Life Safety message */ /* B'11' = Life Safety message */
/* B'10' = Critical Equipment message */ /* B'10' = Critical Equipment message */
@@ -355,7 +355,7 @@ int npdu_decode(uint8_t *npdu,
/* 1 = DNET, DLEN, and Hop Count present */ /* 1 = DNET, DLEN, and Hop Count present */
/* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */ /* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */
/* DLEN > 0 specifies length of DADR field */ /* DLEN > 0 specifies length of DADR field */
if (npdu[1] & BIT5) { if (npdu[1] & BIT(5)) {
len += decode_unsigned16(&npdu[len], &dest_net); len += decode_unsigned16(&npdu[len], &dest_net);
/* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */ /* DLEN = 0 denotes broadcast MAC DADR and DADR field is absent */
/* DLEN > 0 specifies length of DADR field */ /* DLEN > 0 specifies length of DADR field */
@@ -389,7 +389,7 @@ int npdu_decode(uint8_t *npdu,
/* Bit 3: Source specifier where: */ /* Bit 3: Source specifier where: */
/* 0 = SNET, SLEN, and SADR absent */ /* 0 = SNET, SLEN, and SADR absent */
/* 1 = SNET, SLEN, and SADR present */ /* 1 = SNET, SLEN, and SADR present */
if (npdu[1] & BIT3) { if (npdu[1] & BIT(3)) {
len += decode_unsigned16(&npdu[len], &src_net); len += decode_unsigned16(&npdu[len], &src_net);
/* SLEN = 0 denotes broadcast MAC SADR and SADR field is absent */ /* SLEN = 0 denotes broadcast MAC SADR and SADR field is absent */
/* SLEN > 0 specifies length of SADR field */ /* SLEN > 0 specifies length of SADR field */