Reducing the memory required by ATmega168 port.

This commit is contained in:
skarg
2007-10-14 02:01:18 +00:00
parent 637b6900e3
commit 65b7dea8bf
4 changed files with 11 additions and 51 deletions
+1 -2
View File
@@ -71,8 +71,7 @@ int Encode_Property_APDU(
/* handle each object type */ /* handle each object type */
switch(object_type) { switch(object_type) {
case OBJECT_DEVICE: case OBJECT_DEVICE:
if ((object_instance == Device_Object_Instance_Number()) || if (Device_Valid_Object_Instance_Number(object_instance)) {
(object_instance == BACNET_MAX_INSTANCE)) {
apdu_len = Device_Encode_Property_APDU( apdu_len = Device_Encode_Property_APDU(
&apdu[0], &apdu[0],
property, property,
+1 -2
View File
@@ -64,8 +64,7 @@ int Encode_Property_APDU(
/* handle each object type */ /* handle each object type */
switch(object_type) { switch(object_type) {
case OBJECT_DEVICE: case OBJECT_DEVICE:
if ((object_instance == Device_Object_Instance_Number()) || if (Device_Valid_Object_Instance_Number(object_instance)) {
(object_instance == BACNET_MAX_INSTANCE)) {
apdu_len = Device_Encode_Property_APDU( apdu_len = Device_Encode_Property_APDU(
&apdu[0], &apdu[0],
property, property,
+8 -46
View File
@@ -102,43 +102,6 @@ uint16_t Device_Vendor_Identifier(void)
return BACNET_VENDOR_ID; 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 Device_Object_List_Count(void)
{ {
unsigned count = 1; /* at least 1 for device object */ unsigned count = 1; /* at least 1 for device object */
@@ -290,11 +253,11 @@ int Device_Encode_Property_APDU(uint8_t * apdu,
break; break;
case PROP_PROTOCOL_VERSION: case PROP_PROTOCOL_VERSION:
apdu_len = apdu_len =
encode_application_unsigned(&apdu[0], Device_Protocol_Version()); encode_application_unsigned(&apdu[0], 1);
break; break;
case PROP_PROTOCOL_REVISION: case PROP_PROTOCOL_REVISION:
apdu_len = apdu_len =
encode_application_unsigned(&apdu[0], Device_Protocol_Revision()); encode_application_unsigned(&apdu[0], 5);
break; break;
/* BACnet Legacy Support */ /* BACnet Legacy Support */
case PROP_PROTOCOL_CONFORMANCE_CLASS: case PROP_PROTOCOL_CONFORMANCE_CLASS:
@@ -376,27 +339,26 @@ int Device_Encode_Property_APDU(uint8_t * apdu,
} }
break; break;
case PROP_MAX_APDU_LENGTH_ACCEPTED: case PROP_MAX_APDU_LENGTH_ACCEPTED:
apdu_len = encode_application_unsigned(&apdu[0], apdu_len = encode_application_unsigned(&apdu[0],
Device_Max_APDU_Length_Accepted()); MAX_APDU);
break; break;
case PROP_SEGMENTATION_SUPPORTED: case PROP_SEGMENTATION_SUPPORTED:
apdu_len = encode_application_enumerated(&apdu[0], apdu_len = encode_application_enumerated(&apdu[0],
Device_Segmentation_Supported()); SEGMENTATION_NONE);
break; break;
case PROP_APDU_TIMEOUT: case PROP_APDU_TIMEOUT:
apdu_len = encode_application_unsigned(&apdu[0], Device_APDU_Timeout()); apdu_len = encode_application_unsigned(&apdu[0], 60000);
break; break;
case PROP_NUMBER_OF_APDU_RETRIES: case PROP_NUMBER_OF_APDU_RETRIES:
apdu_len = apdu_len =
encode_application_unsigned(&apdu[0], encode_application_unsigned(&apdu[0], 0);
Device_Number_Of_APDU_Retries());
break; break;
case PROP_DEVICE_ADDRESS_BINDING: case PROP_DEVICE_ADDRESS_BINDING:
/* FIXME: encode the list here, if it exists */ /* FIXME: encode the list here, if it exists */
break; break;
case PROP_DATABASE_REVISION: case PROP_DATABASE_REVISION:
apdu_len = apdu_len =
encode_application_unsigned(&apdu[0], Device_Database_Revision()); encode_application_unsigned(&apdu[0], 0);
break; break;
case PROP_MAX_INFO_FRAMES: case PROP_MAX_INFO_FRAMES:
apdu_len = apdu_len =
+1 -1
View File
@@ -85,7 +85,7 @@ void handler_read_property(uint8_t * service_request,
switch (data.object_type) { switch (data.object_type) {
case OBJECT_DEVICE: case OBJECT_DEVICE:
/* FIXME: probably need a length limitation sent with encode */ /* 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], len = Device_Encode_Property_APDU(&Temp_Buf[0],
data.object_property, data.object_property,
data.array_index, &error_class, &error_code); data.array_index, &error_class, &error_code);