From a174b9bf59438b90aa379e51d2f33872b1fa70f4 Mon Sep 17 00:00:00 2001 From: skarg Date: Thu, 20 Mar 2008 21:32:39 +0000 Subject: [PATCH] Added more functionality to the ATmega168 demo. --- bacnet-stack/include/bv.h | 5 + bacnet-stack/ports/atmega168/Makefile | 6 + bacnet-stack/ports/atmega168/av.c | 6 - bacnet-stack/ports/atmega168/bacnet.aps | 2 +- bacnet-stack/ports/atmega168/bacnet.ewp | 10 + bacnet-stack/ports/atmega168/bv.c | 301 ++++++++++++++++++++++++ bacnet-stack/ports/atmega168/device.c | 51 +--- bacnet-stack/ports/atmega168/h_rp.c | 12 +- bacnet-stack/ports/atmega168/h_wp.c | 23 +- bacnet-stack/ports/atmega168/iar2gcc.h | 2 + bacnet-stack/ports/atmega168/main.c | 6 +- 11 files changed, 347 insertions(+), 77 deletions(-) create mode 100644 bacnet-stack/ports/atmega168/bv.c diff --git a/bacnet-stack/include/bv.h b/bacnet-stack/include/bv.h index 80e9ae72..d67dcf32 100644 --- a/bacnet-stack/include/bv.h +++ b/bacnet-stack/include/bv.h @@ -31,6 +31,11 @@ #include "bacerror.h" #include "wp.h" +#ifndef MAX_BINARY_VALUES +#define MAX_BINARY_VALUES 10 +#endif + + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ diff --git a/bacnet-stack/ports/atmega168/Makefile b/bacnet-stack/ports/atmega168/Makefile index 7b56969e..508ebdd6 100644 --- a/bacnet-stack/ports/atmega168/Makefile +++ b/bacnet-stack/ports/atmega168/Makefile @@ -18,6 +18,7 @@ BACNET_CORE = ../../src BACNET_INCLUDE = ../../include BACNET_DEMO = ../../demo +# local files for this project CSRC = main.c \ timer.c \ rs485.c \ @@ -25,14 +26,17 @@ CSRC = main.c \ apdu.c \ $(BACNET_CORE)/crc.c +# common demo files needed DEMOSRC = h_rp.c \ device.c \ av.c \ + bv.c \ $(BACNET_DEMO)/handler/txbuf.c \ $(BACNET_DEMO)/handler/noserv.c \ h_whois.c \ h_wp.c +# core BACnet stack files CORESRC = \ $(BACNET_CORE)/apdu.c \ $(BACNET_CORE)/npdu.c \ @@ -100,9 +104,11 @@ BFLAGS += -DMAX_TSM_TRANSACTIONS=0 BFLAGS += -DBACAPP_REAL BFLAGS += -DBACAPP_OBJECT_ID BFLAGS += -DBACAPP_UNSIGNED +BFLAGS += -DBACAPP_ENUMERATED BFLAGS += -DBACAPP_CHARACTER_STRING BFLAGS += -DWRITE_PROPERTY BFLAGS += -DMAX_ANALOG_VALUES=10 +BFLAGS += -DMAX_BINARY_VALUES=10 CFLAGS = $(COMMON) # dead code removal CFLAGS += -ffunction-sections -fdata-sections diff --git a/bacnet-stack/ports/atmega168/av.c b/bacnet-stack/ports/atmega168/av.c index 16bb1dde..ea088c58 100644 --- a/bacnet-stack/ports/atmega168/av.c +++ b/bacnet-stack/ports/atmega168/av.c @@ -183,11 +183,6 @@ bool Analog_Value_Write_Property( object_index = Analog_Value_Instance_To_Index(wp_data->object_instance); AV_Present_Value[object_index] = value.type.Real; - if ((AV_Present_Value[0] < 1.0) && (AV_Present_Value[0] > -1.0)) { - LED_GREEN_OFF(); - } else { - LED_GREEN_ON(); - } status = true; } else { *error_class = ERROR_CLASS_PROPERTY; @@ -221,7 +216,6 @@ void testAnalog_Value( BACNET_ERROR_CLASS error_class; BACNET_ERROR_CODE error_code; - len = Analog_Value_Encode_Property_APDU(&apdu[0], instance, PROP_OBJECT_IDENTIFIER, BACNET_ARRAY_ALL, &error_class, &error_code); diff --git a/bacnet-stack/ports/atmega168/bacnet.aps b/bacnet-stack/ports/atmega168/bacnet.aps index 3b0c467f..55a9cae9 100644 --- a/bacnet-stack/ports/atmega168/bacnet.aps +++ b/bacnet-stack/ports/atmega168/bacnet.aps @@ -1 +1 @@ -13-Aug-2007 15:08:2719-Mar-2008 18:15:53013-Aug-2007 15:08:2744, 13, 0, 528AVR GCC241bacnet13-Aug-2007 15:11:0713-Aug-2007 15:11:07241013-Aug-2007 15:11:0744, 13, 0, 528AVR GCCbacnet.elfC:\code\bacnet-stack\ports\atmega168\ATmega168falseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31AVR DragonAVR SimulatorATmega168.xmlAuto00property_len0main.crs485.ctimer.cdlmstp.cC:\code\bacnet-stack\demo\handler\txbuf.cdevice.cC:\code\bacnet-stack\src\crc.cC:\code\bacnet-stack\src\npdu.capdu.ch_rp.cC:\code\bacnet-stack\src\iam.cav.ch_wp.cC:\code\bacnet-stack\src\bacapp.cC:\code\bacnet-stack\src\bacstr.cavr035.hhardware.hrs485.htimer.hC:\code\bacnet-stack\include\crc.hC:\code\bacnet-stack\include\dlmstp.hC:\code\bacnet-stack\include\iam.hC:\code\bacnet-stack\include\npdu.hC:\code\bacnet-stack\include\txbuf.hC:\code\bacnet-stack\include\bacenum.hC:\code\bacnet-stack\include\bacdcode.hC:\code\bacnet-stack\include\bacapp.hC:\code\bacnet-stack\include\bacstr.hMakefiledefaultYESMakefileatmega168100bacnet.elfdefault\1..\..\demo\handler\.\..\..\..\..\demo\object\-Wall -gdwarf-2 -DMAX_APDU=50 -DBACDL_MSTP -DBIG_ENDIAN=0 -DF_CPU=7372800UL -O0 -fsigned-chardefault1C:\WinAVR-20071221rc1\bin\avr-gcc.exeC:\WinAVR-20071221rc1\utils\bin\make.exe0282161937372800011000001920010000000001011main100000main.c25900001dlmstp.c25800002C:\code\bacnet-stack\src\iam.c25800003C:\code\bacnet-stack\src\crc.c25800004device.c25700005C:\code\bacnet-stack\src\bacstr.c25700006av.c257 +13-Aug-2007 15:08:2720-Mar-2008 16:30:00013-Aug-2007 15:08:2744, 13, 0, 528AVR GCC241bacnet13-Aug-2007 15:11:0713-Aug-2007 15:11:07241013-Aug-2007 15:11:0744, 13, 0, 528AVR GCCbacnet.elfC:\code\bacnet-stack\ports\atmega168\ATmega168falseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31AVR DragonAVR SimulatorATmega168.xmlAuto00property_lenobject_indexPresent_Valuevalue0main.crs485.ctimer.cdlmstp.cC:\code\bacnet-stack\demo\handler\txbuf.cdevice.cC:\code\bacnet-stack\src\crc.cC:\code\bacnet-stack\src\npdu.capdu.ch_rp.cC:\code\bacnet-stack\src\iam.cav.ch_wp.cC:\code\bacnet-stack\src\bacapp.cC:\code\bacnet-stack\src\bacstr.cbv.ch_whois.cavr035.hhardware.hrs485.htimer.hC:\code\bacnet-stack\include\crc.hC:\code\bacnet-stack\include\dlmstp.hC:\code\bacnet-stack\include\iam.hC:\code\bacnet-stack\include\npdu.hC:\code\bacnet-stack\include\txbuf.hC:\code\bacnet-stack\include\bacenum.hC:\code\bacnet-stack\include\bacdcode.hC:\code\bacnet-stack\include\bacapp.hC:\code\bacnet-stack\include\bacstr.hMakefiledefaultYESMakefileatmega168100bacnet.elfdefault\0..\..\demo\handler\.\..\..\..\..\demo\object\-Wall -gdwarf-2 -DMAX_APDU=50 -DBACDL_MSTP -DBIG_ENDIAN=0 -DF_CPU=7372800UL -O0 -fsigned-chardefault1C:\WinAVR-20071221rc1\bin\avr-gcc.exeC:\WinAVR-20071221rc1\utils\bin\make.exe0282161937372800011000001920010000000001011main100000main.c25900001dlmstp.c25900002C:\code\bacnet-stack\src\crc.c25800003C:\code\bacnet-stack\src\bacstr.c25700004av.c25700005bv.c25800006h_whois.c257 diff --git a/bacnet-stack/ports/atmega168/bacnet.ewp b/bacnet-stack/ports/atmega168/bacnet.ewp index 606ee98e..5d995186 100644 --- a/bacnet-stack/ports/atmega168/bacnet.ewp +++ b/bacnet-stack/ports/atmega168/bacnet.ewp @@ -243,6 +243,10 @@ BIG_ENDIAN=0 MAX_TSM_TRANSACTIONS=0 BACAPP_REAL + BACAPP_UNSIGNED + BACAPP_ENUMERATED + BACAPP_CHARACTER_STRING + BACAPP_OBJECT_ID