From 5860470917eabe4aa78ff94ba58656f9cee17efd Mon Sep 17 00:00:00 2001 From: skarg Date: Mon, 28 Jun 2010 01:02:22 +0000 Subject: [PATCH] Added LED interval. --- bacnet-stack/ports/bdk-atxx4-mstp/Makefile | 6 +++--- bacnet-stack/ports/bdk-atxx4-mstp/led.c | 15 +++++++++++++++ bacnet-stack/ports/bdk-atxx4-mstp/led.h | 3 +++ bacnet-stack/ports/bdk-atxx4-mstp/rs485.c | 3 +-- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/Makefile b/bacnet-stack/ports/bdk-atxx4-mstp/Makefile index eee8cfbb..49f35d8b 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/Makefile +++ b/bacnet-stack/ports/bdk-atxx4-mstp/Makefile @@ -30,8 +30,8 @@ SIZE_OPTIONS = -t # avrispmkII = AVR ISP MKII # avr109 = bootloader #AVRDUDE_PROGRAMMERID = avr109 -#AVRDUDE_PROGRAMMERID = jtag2fast -AVRDUDE_PROGRAMMERID = avrispmkII +AVRDUDE_PROGRAMMERID = jtag2fast +#AVRDUDE_PROGRAMMERID = avrispmkII #AVRDUDE_PROGRAMMERID = dragon_isp #AVRDUDE_PROGRAMMERID = dragon_jtag # @@ -143,7 +143,7 @@ DEFINES = OPTIMIZE_FLAGS = -mcall-prologues OPTIMIZE_FLAGS += -finline-functions-called-once # default is for debugging from AVR Studio -OPTIMIZATION = -O1 $(OPTIMIZE_FLAGS) +OPTIMIZATION = -O0 $(OPTIMIZE_FLAGS) DEBUGGING = -g ifeq (${BUILD},debug) OPTIMIZATION = -O0 diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/led.c b/bacnet-stack/ports/bdk-atxx4-mstp/led.c index 9750b559..b7513b09 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/led.c +++ b/bacnet-stack/ports/bdk-atxx4-mstp/led.c @@ -143,6 +143,21 @@ void led_off_delay( } } +/************************************************************************* +* Description: Turn on, and delay before going off. +* Returns: none +* Notes: none +*************************************************************************/ +void led_on_interval( + uint8_t index, + uint16_t interval_ms) +{ + if (index < MAX_LEDS) { + led_on(index); + timer_interval_start(&Off_Delay_Timer[index], interval_ms); + } +} + /************************************************************************* * Description: Task for blinking LED * Returns: none diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/led.h b/bacnet-stack/ports/bdk-atxx4-mstp/led.h index bf899a80..3abd3cde 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/led.h +++ b/bacnet-stack/ports/bdk-atxx4-mstp/led.h @@ -39,6 +39,9 @@ extern "C" { void led_on( uint8_t index); + void led_on_interval( + uint8_t index, + uint16_t interval_ms); void led_off( uint8_t index); void led_off_delay( diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/rs485.c b/bacnet-stack/ports/bdk-atxx4-mstp/rs485.c index f5e1e638..6287b25e 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/rs485.c +++ b/bacnet-stack/ports/bdk-atxx4-mstp/rs485.c @@ -119,10 +119,9 @@ bool rs485_byte_available( bool data_available = false; /* return value */ if (!FIFO_Empty(&Receive_Buffer)) { - led_on(LED_1); + led_on_interval(LED_1, 1); *data_register = FIFO_Get(&Receive_Buffer); data_available = true; - led_off_delay(LED_1, 10); } return data_available;