From 65b7dea8bf189313d3e04a734cd4f0609b5c4546 Mon Sep 17 00:00:00 2001 From: skarg Date: Sun, 14 Oct 2007 02:01:18 +0000 Subject: [PATCH] Reducing the memory required by ATmega168 port. --- bacnet-stack/demo/handler/h_rp.c | 3 +- bacnet-stack/ports/at91sam7s/h_rp.c | 3 +- bacnet-stack/ports/atmega168/device.c | 54 ++++----------------------- bacnet-stack/ports/pic18f6720/h_rp.c | 2 +- 4 files changed, 11 insertions(+), 51 deletions(-) diff --git a/bacnet-stack/demo/handler/h_rp.c b/bacnet-stack/demo/handler/h_rp.c index b6d1c659..4d2e97c3 100644 --- a/bacnet-stack/demo/handler/h_rp.c +++ b/bacnet-stack/demo/handler/h_rp.c @@ -71,8 +71,7 @@ int Encode_Property_APDU( /* handle each object type */ switch(object_type) { case OBJECT_DEVICE: - if ((object_instance == Device_Object_Instance_Number()) || - (object_instance == BACNET_MAX_INSTANCE)) { + if (Device_Valid_Object_Instance_Number(object_instance)) { apdu_len = Device_Encode_Property_APDU( &apdu[0], property, diff --git a/bacnet-stack/ports/at91sam7s/h_rp.c b/bacnet-stack/ports/at91sam7s/h_rp.c index 8f4f3f50..ac012ba6 100644 --- a/bacnet-stack/ports/at91sam7s/h_rp.c +++ b/bacnet-stack/ports/at91sam7s/h_rp.c @@ -64,8 +64,7 @@ int Encode_Property_APDU( /* handle each object type */ switch(object_type) { case OBJECT_DEVICE: - if ((object_instance == Device_Object_Instance_Number()) || - (object_instance == BACNET_MAX_INSTANCE)) { + if (Device_Valid_Object_Instance_Number(object_instance)) { apdu_len = Device_Encode_Property_APDU( &apdu[0], property, diff --git a/bacnet-stack/ports/atmega168/device.c b/bacnet-stack/ports/atmega168/device.c index 771294cc..347faa37 100644 --- a/bacnet-stack/ports/atmega168/device.c +++ b/bacnet-stack/ports/atmega168/device.c @@ -102,43 +102,6 @@ uint16_t Device_Vendor_Identifier(void) return BACNET_VENDOR_ID; } -uint8_t Device_Protocol_Version(void) -{ - return 1; -} - -uint8_t Device_Protocol_Revision(void) -{ - return 5; -} - -/* FIXME: MAX_APDU is defined in config.ini - set it! */ -uint16_t Device_Max_APDU_Length_Accepted(void) -{ - return MAX_APDU; -} - -BACNET_SEGMENTATION Device_Segmentation_Supported(void) -{ - return SEGMENTATION_NONE; -} - -uint16_t Device_APDU_Timeout(void) -{ - return 60000; -} - - -uint8_t Device_Number_Of_APDU_Retries(void) -{ - return 0; -} - -uint8_t Device_Database_Revision(void) -{ - return 0; -} - unsigned Device_Object_List_Count(void) { unsigned count = 1; /* at least 1 for device object */ @@ -290,11 +253,11 @@ int Device_Encode_Property_APDU(uint8_t * apdu, break; case PROP_PROTOCOL_VERSION: apdu_len = - encode_application_unsigned(&apdu[0], Device_Protocol_Version()); + encode_application_unsigned(&apdu[0], 1); break; case PROP_PROTOCOL_REVISION: apdu_len = - encode_application_unsigned(&apdu[0], Device_Protocol_Revision()); + encode_application_unsigned(&apdu[0], 5); break; /* BACnet Legacy Support */ case PROP_PROTOCOL_CONFORMANCE_CLASS: @@ -376,27 +339,26 @@ int Device_Encode_Property_APDU(uint8_t * apdu, } break; case PROP_MAX_APDU_LENGTH_ACCEPTED: - apdu_len = encode_application_unsigned(&apdu[0], - Device_Max_APDU_Length_Accepted()); + apdu_len = encode_application_unsigned(&apdu[0], + MAX_APDU); break; case PROP_SEGMENTATION_SUPPORTED: apdu_len = encode_application_enumerated(&apdu[0], - Device_Segmentation_Supported()); + SEGMENTATION_NONE); break; case PROP_APDU_TIMEOUT: - apdu_len = encode_application_unsigned(&apdu[0], Device_APDU_Timeout()); + apdu_len = encode_application_unsigned(&apdu[0], 60000); break; case PROP_NUMBER_OF_APDU_RETRIES: apdu_len = - encode_application_unsigned(&apdu[0], - Device_Number_Of_APDU_Retries()); + encode_application_unsigned(&apdu[0], 0); break; case PROP_DEVICE_ADDRESS_BINDING: /* FIXME: encode the list here, if it exists */ break; case PROP_DATABASE_REVISION: apdu_len = - encode_application_unsigned(&apdu[0], Device_Database_Revision()); + encode_application_unsigned(&apdu[0], 0); break; case PROP_MAX_INFO_FRAMES: apdu_len = diff --git a/bacnet-stack/ports/pic18f6720/h_rp.c b/bacnet-stack/ports/pic18f6720/h_rp.c index 844f99d1..4a8acd48 100644 --- a/bacnet-stack/ports/pic18f6720/h_rp.c +++ b/bacnet-stack/ports/pic18f6720/h_rp.c @@ -85,7 +85,7 @@ void handler_read_property(uint8_t * service_request, switch (data.object_type) { case OBJECT_DEVICE: /* FIXME: probably need a length limitation sent with encode */ - if (data.object_instance == Device_Object_Instance_Number()) { + if (Device_Valid_Object_Instance_Number(data.object_instance)) { len = Device_Encode_Property_APDU(&Temp_Buf[0], data.object_property, data.array_index, &error_class, &error_code);