added Analog Value and Binary Value objects to ReadProperty and WriteProperty handlers. Added WriteProperty support for File object.
This commit is contained in:
@@ -39,8 +39,10 @@
|
||||
#include "device.h"
|
||||
#include "ai.h"
|
||||
#include "ao.h"
|
||||
#include "av.h"
|
||||
#include "bi.h"
|
||||
#include "bo.h"
|
||||
#include "bv.h"
|
||||
#include "lsp.h"
|
||||
#if BACFILE
|
||||
#include "bacfile.h"
|
||||
@@ -98,7 +100,7 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for Device!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -119,7 +121,7 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for AI!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -140,7 +142,7 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for BI!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -161,7 +163,28 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for BO!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
} else
|
||||
error = true;
|
||||
break;
|
||||
case OBJECT_BINARY_VALUE:
|
||||
if (Binary_Value_Valid_Instance(data.object_instance)) {
|
||||
len = Binary_Value_Encode_Property_APDU(&Temp_Buf[0],
|
||||
data.object_instance,
|
||||
data.object_property,
|
||||
data.array_index, &error_class, &error_code);
|
||||
if (len >= 0) {
|
||||
/* encode the APDU portion of the packet */
|
||||
data.application_data = &Temp_Buf[0];
|
||||
data.application_data_len = len;
|
||||
/* FIXME: probably need a length limitation sent with encode */
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack for BV!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -182,7 +205,28 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for AO!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
} else
|
||||
error = true;
|
||||
break;
|
||||
case OBJECT_ANALOG_VALUE:
|
||||
if (Analog_Value_Valid_Instance(data.object_instance)) {
|
||||
len = Analog_Value_Encode_Property_APDU(&Temp_Buf[0],
|
||||
data.object_instance,
|
||||
data.object_property,
|
||||
data.array_index, &error_class, &error_code);
|
||||
if (len >= 0) {
|
||||
/* encode the APDU portion of the packet */
|
||||
data.application_data = &Temp_Buf[0];
|
||||
data.application_data_len = len;
|
||||
/* FIXME: probably need a length limitation sent with encode */
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack for AV!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -203,7 +247,7 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for LSP!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
@@ -225,7 +269,7 @@ void handler_read_property(uint8_t * service_request,
|
||||
pdu_len +=
|
||||
rp_ack_encode_apdu(&Handler_Transmit_Buffer
|
||||
[pdu_len], service_data->invoke_id, &data);
|
||||
fprintf(stderr, "Sending Read Property Ack!\n");
|
||||
fprintf(stderr, "Sending Read Property Ack for File!\n");
|
||||
send = true;
|
||||
} else
|
||||
error = true;
|
||||
|
||||
Reference in New Issue
Block a user