Ran the comment and indent tools on the source code.
This commit is contained in:
@@ -1 +1 @@
|
|||||||
-Iinclude -Idemo/handler -Idemo/object -Iports/linux -castfcnptr -fullinitblock -weak +posixlib
|
-Iinclude -Iports/linux -castfcnptr -fullinitblock -weak +posixlib
|
||||||
|
|||||||
@@ -211,8 +211,8 @@ int main(int argc, char *argv[]) {
|
|||||||
filename_remove_path(argv[0]), filename_remove_path(argv[0]));
|
filename_remove_path(argv[0]), filename_remove_path(argv[0]));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* decode the command line parameters */
|
/* decode the command line parameters */ cov_data.
|
||||||
cov_data.subscriberProcessIdentifier = strtol(argv[1], NULL, 0);
|
subscriberProcessIdentifier = strtol(argv[1], NULL, 0);
|
||||||
cov_data.initiatingDeviceIdentifier = strtol(argv[2], NULL, 0);
|
cov_data.initiatingDeviceIdentifier = strtol(argv[2], NULL, 0);
|
||||||
cov_data.monitoredObjectIdentifier.type = strtol(argv[3], NULL, 0);
|
cov_data.monitoredObjectIdentifier.type = strtol(argv[3], NULL, 0);
|
||||||
cov_data.monitoredObjectIdentifier.instance = strtol(argv[4], NULL, 0);
|
cov_data.monitoredObjectIdentifier.instance = strtol(argv[4], NULL, 0);
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ extern "C" {
|
|||||||
BACNET_CHARACTER_STRING * dest,
|
BACNET_CHARACTER_STRING * dest,
|
||||||
BACNET_CHARACTER_STRING * src);
|
BACNET_CHARACTER_STRING * src);
|
||||||
bool characterstring_ansi_copy(
|
bool characterstring_ansi_copy(
|
||||||
char * dest,
|
char *dest,
|
||||||
size_t dest_max_len,
|
size_t dest_max_len,
|
||||||
BACNET_CHARACTER_STRING * src);
|
BACNET_CHARACTER_STRING * src);
|
||||||
/* returns true if the strings are the same length, encoding, value */
|
/* returns true if the strings are the same length, encoding, value */
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ static BACNET_BINARY_PV Binary_Value_Present_Value(
|
|||||||
char *Binary_Value_Name(
|
char *Binary_Value_Name(
|
||||||
uint32_t object_instance)
|
uint32_t object_instance)
|
||||||
{
|
{
|
||||||
static char text_string[5] = "BV-0"; /* okay for single thread */
|
static char text_string[5] = "BV-0"; /* okay for single thread */
|
||||||
|
|
||||||
if (object_instance < MAX_BINARY_VALUES) {
|
if (object_instance < MAX_BINARY_VALUES) {
|
||||||
text_string[3] = '0' + (uint8_t) object_instance;
|
text_string[3] = '0' + (uint8_t) object_instance;
|
||||||
@@ -203,7 +203,8 @@ bool Binary_Value_Write_Property(
|
|||||||
Binary_Value_Instance_To_Index(wp_data->
|
Binary_Value_Instance_To_Index(wp_data->
|
||||||
object_instance);
|
object_instance);
|
||||||
/* NOTE: this Binary value has no priority array */
|
/* NOTE: this Binary value has no priority array */
|
||||||
Present_Value[object_index] = (BACNET_BINARY_PV)value.type.Enumerated;
|
Present_Value[object_index] =
|
||||||
|
(BACNET_BINARY_PV) value.type.Enumerated;
|
||||||
/* Note: you could set the physical output here if we
|
/* Note: you could set the physical output here if we
|
||||||
are the highest priority.
|
are the highest priority.
|
||||||
However, if Out of Service is TRUE, then don't set the
|
However, if Out of Service is TRUE, then don't set the
|
||||||
|
|||||||
@@ -338,8 +338,7 @@ int Device_Encode_Property_APDU(
|
|||||||
/* to return an error if the number of encoded objects exceeds */
|
/* to return an error if the number of encoded objects exceeds */
|
||||||
/* your maximum APDU size. */
|
/* your maximum APDU size. */
|
||||||
for (i = 1; i <= count; i++) {
|
for (i = 1; i <= count; i++) {
|
||||||
len =
|
len = encode_application_unsigned(&apdu[0], *(&_end + i));
|
||||||
encode_application_unsigned(&apdu[0], *(&_end+i));
|
|
||||||
apdu_len += len;
|
apdu_len += len;
|
||||||
/* assume next one is the same size as this one */
|
/* assume next one is the same size as this one */
|
||||||
/* can we all fit into the APDU? */
|
/* can we all fit into the APDU? */
|
||||||
@@ -351,7 +350,9 @@ int Device_Encode_Property_APDU(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (array_index <= count) {
|
} else if (array_index <= count) {
|
||||||
apdu_len = encode_application_unsigned(&apdu[0], *(&_end+array_index));
|
apdu_len =
|
||||||
|
encode_application_unsigned(&apdu[0],
|
||||||
|
*(&_end + array_index));
|
||||||
} else {
|
} else {
|
||||||
*error_class = ERROR_CLASS_PROPERTY;
|
*error_class = ERROR_CLASS_PROPERTY;
|
||||||
*error_code = ERROR_CODE_INVALID_ARRAY_INDEX;
|
*error_code = ERROR_CODE_INVALID_ARRAY_INDEX;
|
||||||
@@ -445,8 +446,7 @@ bool Device_Write_Property(
|
|||||||
encoding =
|
encoding =
|
||||||
characterstring_encoding(&value.type.Character_String);
|
characterstring_encoding(&value.type.Character_String);
|
||||||
if (encoding == CHARACTER_ANSI_X34) {
|
if (encoding == CHARACTER_ANSI_X34) {
|
||||||
if (characterstring_ansi_copy(
|
if (characterstring_ansi_copy(&Object_Name[0],
|
||||||
&Object_Name[0],
|
|
||||||
sizeof(Object_Name),
|
sizeof(Object_Name),
|
||||||
&value.type.Character_String)) {
|
&value.type.Character_String)) {
|
||||||
status = true;
|
status = true;
|
||||||
|
|||||||
@@ -218,9 +218,9 @@ typedef struct {
|
|||||||
/* IAR intrinsic routines */
|
/* IAR intrinsic routines */
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
/* FIXME: intrinsic routines: map to assembler for size/speed */
|
/* FIXME: intrinsic routines: map to assembler for size/speed */
|
||||||
#define __multiply_unsigned(x,y) ((x)*(y))
|
#define __multiply_unsigned(x,y) ((x)*(y))
|
||||||
/* FIXME: __root means to not optimize or strip */
|
/* FIXME: __root means to not optimize or strip */
|
||||||
#define __root
|
#define __root
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -143,31 +143,25 @@ static void input_switch_read(
|
|||||||
extern uint8_t _end;
|
extern uint8_t _end;
|
||||||
extern uint8_t __stack;
|
extern uint8_t __stack;
|
||||||
#define STACK_CANARY (0xC5)
|
#define STACK_CANARY (0xC5)
|
||||||
void StackPaint(void) __attribute__ ((naked)) __attribute__ ((section (".init1")));
|
void StackPaint(
|
||||||
|
void) __attribute__ ((naked)) __attribute__ ((section(".init1")));
|
||||||
|
|
||||||
void StackPaint(void)
|
void StackPaint(
|
||||||
|
void)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
uint8_t *p = &_end;
|
uint8_t *p = &_end;
|
||||||
|
|
||||||
while(p <= &__stack)
|
while (p <= &__stack) {
|
||||||
{
|
|
||||||
*p = STACK_CANARY;
|
*p = STACK_CANARY;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
__asm volatile (" ldi r30,lo8(_end)\n"
|
__asm volatile (
|
||||||
" ldi r31,hi8(_end)\n"
|
" ldi r30,lo8(_end)\n" " ldi r31,hi8(_end)\n" " ldi r24,lo8(0xc5)\n" /* STACK_CANARY = 0xc5 */
|
||||||
" ldi r24,lo8(0xc5)\n" /* STACK_CANARY = 0xc5 */
|
" ldi r25,hi8(__stack)\n" " rjmp .cmp\n" ".loop:\n"
|
||||||
" ldi r25,hi8(__stack)\n"
|
" st Z+,r24\n" ".cmp:\n" " cpi r30,lo8(__stack)\n"
|
||||||
" rjmp .cmp\n"
|
" cpc r31,r25\n" " brlo .loop\n" " breq .loop"::);
|
||||||
".loop:\n"
|
|
||||||
" st Z+,r24\n"
|
|
||||||
".cmp:\n"
|
|
||||||
" cpi r30,lo8(__stack)\n"
|
|
||||||
" cpc r31,r25\n"
|
|
||||||
" brlo .loop\n"
|
|
||||||
" breq .loop"::);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -247,14 +247,13 @@ bool characterstring_copy(
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool characterstring_ansi_copy(
|
bool characterstring_ansi_copy(
|
||||||
char * dest,
|
char *dest,
|
||||||
size_t dest_max_len,
|
size_t dest_max_len,
|
||||||
BACNET_CHARACTER_STRING * src)
|
BACNET_CHARACTER_STRING * src)
|
||||||
{
|
{
|
||||||
size_t i; /* counter */
|
size_t i; /* counter */
|
||||||
|
|
||||||
if (dest && src &&
|
if (dest && src && (src->encoding == CHARACTER_ANSI_X34) &&
|
||||||
(src->encoding == CHARACTER_ANSI_X34) &&
|
|
||||||
(src->length < dest_max_len)) {
|
(src->length < dest_max_len)) {
|
||||||
for (i = 0; i < src->length; i++) {
|
for (i = 0; i < src->length; i++) {
|
||||||
dest[i] = src->value[i];
|
dest[i] = src->value[i];
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ uint16_t bip_receive(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (pdu[1] == BVLC_FORWARDED_NPDU) {
|
} else if (pdu[1] == BVLC_FORWARDED_NPDU) {
|
||||||
(void) decode_unsigned32(&pdu[4], (uint32_t *)&sin.sin_addr.s_addr);
|
(void) decode_unsigned32(&pdu[4], (uint32_t *) & sin.sin_addr.s_addr);
|
||||||
(void) decode_unsigned16(&pdu[8], &sin.sin_port);
|
(void) decode_unsigned16(&pdu[8], &sin.sin_port);
|
||||||
if ((sin.sin_addr.s_addr == htonl(BIP_Address.s_addr)) &&
|
if ((sin.sin_addr.s_addr == htonl(BIP_Address.s_addr)) &&
|
||||||
(sin.sin_port == htons(BIP_Port))) {
|
(sin.sin_port == htons(BIP_Port))) {
|
||||||
|
|||||||
+18
-17
@@ -180,7 +180,7 @@ int bvlc_encode_bvlc_result(
|
|||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
encode_unsigned16(&pdu[2], 6);
|
encode_unsigned16(&pdu[2], 6);
|
||||||
encode_unsigned16(&pdu[4], (uint16_t)result_code);
|
encode_unsigned16(&pdu[4], (uint16_t) result_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 6;
|
return 6;
|
||||||
@@ -191,7 +191,7 @@ int bvlc_encode_write_bdt_init(
|
|||||||
unsigned entries)
|
unsigned entries)
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len = 0;
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -199,7 +199,7 @@ int bvlc_encode_write_bdt_init(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
BVLC_length = 4 + (entries * 10);
|
BVLC_length = 4 + (entries * 10);
|
||||||
encode_unsigned16(&pdu[2], BVLC_length);
|
encode_unsigned16(&pdu[2], BVLC_length);
|
||||||
len = 4;
|
len = 4;
|
||||||
}
|
}
|
||||||
@@ -230,7 +230,7 @@ int bvlc_encode_read_bdt_ack_init(
|
|||||||
unsigned entries)
|
unsigned entries)
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len = 0;
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -298,7 +298,7 @@ int bvlc_encode_forwarded_npdu(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
encode_unsigned16(&pdu[2], (uint16_t)(4 + 6 + npdu_length));
|
encode_unsigned16(&pdu[2], (uint16_t) (4 + 6 + npdu_length));
|
||||||
len = 4;
|
len = 4;
|
||||||
address.s_addr = ntohl(sin->sin_addr.s_addr);
|
address.s_addr = ntohl(sin->sin_addr.s_addr);
|
||||||
port = ntohs(sin->sin_port);
|
port = ntohs(sin->sin_port);
|
||||||
@@ -355,7 +355,7 @@ int bvlc_encode_read_fdt_ack_init(
|
|||||||
unsigned entries)
|
unsigned entries)
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len = 0;
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -363,7 +363,7 @@ int bvlc_encode_read_fdt_ack_init(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
BVLC_length = 4 + (entries * 10);
|
BVLC_length = 4 + (entries * 10);
|
||||||
encode_unsigned16(&pdu[2], BVLC_length);
|
encode_unsigned16(&pdu[2], BVLC_length);
|
||||||
len = 4;
|
len = 4;
|
||||||
}
|
}
|
||||||
@@ -400,7 +400,8 @@ int bvlc_encode_read_fdt_ack(
|
|||||||
pdu_len += len;
|
pdu_len += len;
|
||||||
encode_unsigned16(&pdu[pdu_len], FD_Table[i].time_to_live);
|
encode_unsigned16(&pdu[pdu_len], FD_Table[i].time_to_live);
|
||||||
pdu_len += len;
|
pdu_len += len;
|
||||||
encode_unsigned16(&pdu[pdu_len], (uint16_t)FD_Table[i].seconds_remaining);
|
encode_unsigned16(&pdu[pdu_len],
|
||||||
|
(uint16_t) FD_Table[i].seconds_remaining);
|
||||||
pdu_len += len;
|
pdu_len += len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -438,7 +439,7 @@ int bvlc_encode_distribute_broadcast_to_network(
|
|||||||
{
|
{
|
||||||
int len = 0; /* return value */
|
int len = 0; /* return value */
|
||||||
unsigned i; /* for loop counter */
|
unsigned i; /* for loop counter */
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -446,7 +447,7 @@ int bvlc_encode_distribute_broadcast_to_network(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
BVLC_length = 4 + npdu_length;
|
BVLC_length = 4 + npdu_length;
|
||||||
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
||||||
for (i = 0; i < npdu_length; i++) {
|
for (i = 0; i < npdu_length; i++) {
|
||||||
pdu[len] = npdu[i];
|
pdu[len] = npdu[i];
|
||||||
@@ -464,7 +465,7 @@ int bvlc_encode_original_unicast_npdu(
|
|||||||
{
|
{
|
||||||
int len = 0; /* return value */
|
int len = 0; /* return value */
|
||||||
unsigned i = 0; /* loop counter */
|
unsigned i = 0; /* loop counter */
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -472,7 +473,7 @@ int bvlc_encode_original_unicast_npdu(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
BVLC_length = 4 + npdu_length;
|
BVLC_length = 4 + npdu_length;
|
||||||
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
||||||
for (i = 0; i < npdu_length; i++) {
|
for (i = 0; i < npdu_length; i++) {
|
||||||
pdu[len] = npdu[i];
|
pdu[len] = npdu[i];
|
||||||
@@ -490,7 +491,7 @@ int bvlc_encode_original_broadcast_npdu(
|
|||||||
{
|
{
|
||||||
int len = 0; /* return value */
|
int len = 0; /* return value */
|
||||||
unsigned i = 0; /* loop counter */
|
unsigned i = 0; /* loop counter */
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
if (pdu) {
|
if (pdu) {
|
||||||
pdu[0] = BVLL_TYPE_BACNET_IP;
|
pdu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
@@ -498,7 +499,7 @@ int bvlc_encode_original_broadcast_npdu(
|
|||||||
/* The 2-octet BVLC Length field is the length, in octets,
|
/* The 2-octet BVLC Length field is the length, in octets,
|
||||||
of the entire BVLL message, including the two octets of the
|
of the entire BVLL message, including the two octets of the
|
||||||
length field itself, most significant octet first. */
|
length field itself, most significant octet first. */
|
||||||
BVLC_length = 4 + npdu_length;
|
BVLC_length = 4 + npdu_length;
|
||||||
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
|
||||||
for (i = 0; i < npdu_length; i++) {
|
for (i = 0; i < npdu_length; i++) {
|
||||||
pdu[len] = npdu[i];
|
pdu[len] = npdu[i];
|
||||||
@@ -720,7 +721,7 @@ void bvlc_broadcast_forward_npdu(
|
|||||||
uint8_t mtu[MAX_MPDU] = { 0 };
|
uint8_t mtu[MAX_MPDU] = { 0 };
|
||||||
uint16_t mtu_len = 0;
|
uint16_t mtu_len = 0;
|
||||||
struct sockaddr_in bvlc_dest;
|
struct sockaddr_in bvlc_dest;
|
||||||
uint16_t BVLC_length = 0;
|
uint16_t BVLC_length = 0;
|
||||||
|
|
||||||
/* FIXME: unused parameter */
|
/* FIXME: unused parameter */
|
||||||
sin = sin;
|
sin = sin;
|
||||||
@@ -729,7 +730,7 @@ void bvlc_broadcast_forward_npdu(
|
|||||||
mtu[1] = BVLC_ORIGINAL_BROADCAST_NPDU;
|
mtu[1] = BVLC_ORIGINAL_BROADCAST_NPDU;
|
||||||
bvlc_dest.sin_addr.s_addr = htonl(bip_get_broadcast_addr());
|
bvlc_dest.sin_addr.s_addr = htonl(bip_get_broadcast_addr());
|
||||||
bvlc_dest.sin_port = htons(bip_get_port());
|
bvlc_dest.sin_port = htons(bip_get_port());
|
||||||
BVLC_length = npdu_len + 4 /*inclusive */;
|
BVLC_length = npdu_len + 4 /*inclusive */ ;
|
||||||
mtu_len = 2;
|
mtu_len = 2;
|
||||||
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
|
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
|
||||||
memcpy(&mtu[mtu_len], npdu, npdu_len);
|
memcpy(&mtu[mtu_len], npdu, npdu_len);
|
||||||
@@ -1152,7 +1153,7 @@ int bvlc_send_pdu(
|
|||||||
}
|
}
|
||||||
bvlc_dest.sin_addr.s_addr = htonl(address.s_addr);
|
bvlc_dest.sin_addr.s_addr = htonl(address.s_addr);
|
||||||
bvlc_dest.sin_port = htons(port);
|
bvlc_dest.sin_port = htons(port);
|
||||||
BVLC_length = pdu_len + 4 /*inclusive */;
|
BVLC_length = pdu_len + 4 /*inclusive */ ;
|
||||||
mtu_len = 2;
|
mtu_len = 2;
|
||||||
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
|
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
|
||||||
memcpy(&mtu[mtu_len], pdu, pdu_len);
|
memcpy(&mtu[mtu_len], pdu, pdu_len);
|
||||||
|
|||||||
Reference in New Issue
Block a user