Corrected object supported list.
This commit is contained in:
@@ -39,7 +39,7 @@
|
|||||||
#error Modify the Analog_Input_Name to handle multiple digits
|
#error Modify the Analog_Input_Name to handle multiple digits
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static float Present_Value[MAX_ANALOG_INPUTS];
|
float Present_Value[MAX_ANALOG_INPUTS];
|
||||||
|
|
||||||
/* we simply have 0-n object instances. Yours might be */
|
/* we simply have 0-n object instances. Yours might be */
|
||||||
/* more complex, and then you need validate that the */
|
/* more complex, and then you need validate that the */
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -260,6 +260,11 @@ int Device_Encode_Property_APDU(uint8_t * apdu,
|
|||||||
/* Note: this is the list of objects that can be in this device,
|
/* Note: this is the list of objects that can be in this device,
|
||||||
not a list of objects that this device can access */
|
not a list of objects that this device can access */
|
||||||
bitstring_init(&bit_string);
|
bitstring_init(&bit_string);
|
||||||
|
/* must have the bit string as big as it can be */
|
||||||
|
for (i = 0; i < MAX_ASHRAE_OBJECT_TYPE; i++) {
|
||||||
|
/* initialize all the object types to not-supported */
|
||||||
|
bitstring_set_bit(&bit_string, (uint8_t) i, false);
|
||||||
|
}
|
||||||
/* FIXME: indicate the objects that YOU support */
|
/* FIXME: indicate the objects that YOU support */
|
||||||
bitstring_set_bit(&bit_string, OBJECT_DEVICE, true);
|
bitstring_set_bit(&bit_string, OBJECT_DEVICE, true);
|
||||||
bitstring_set_bit(&bit_string, OBJECT_ANALOG_INPUT, true);
|
bitstring_set_bit(&bit_string, OBJECT_ANALOG_INPUT, true);
|
||||||
|
|||||||
@@ -32,6 +32,8 @@
|
|||||||
#include "npdu.h"
|
#include "npdu.h"
|
||||||
#include "txbuf.h"
|
#include "txbuf.h"
|
||||||
#include "iam.h"
|
#include "iam.h"
|
||||||
|
#include "device.h"
|
||||||
|
|
||||||
|
|
||||||
/* For porting to IAR, see:
|
/* For porting to IAR, see:
|
||||||
http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC/IarToAvrgcc*/
|
http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC/IarToAvrgcc*/
|
||||||
@@ -114,13 +116,18 @@ static void NPDU_LED_On(void)
|
|||||||
NPDU_Timer = 20;
|
NPDU_Timer = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern float Present_Value[9];
|
||||||
void task_milliseconds(void)
|
void task_milliseconds(void)
|
||||||
{
|
{
|
||||||
|
static uint16_t counter = 0;
|
||||||
while (Timer_Milliseconds) {
|
while (Timer_Milliseconds) {
|
||||||
Timer_Milliseconds--;
|
Timer_Milliseconds--;
|
||||||
/* add other millisecond timer tasks here */
|
/* add other millisecond timer tasks here */
|
||||||
RS485_LED_Timers();
|
RS485_LED_Timers();
|
||||||
NDPU_Timers();
|
NDPU_Timers();
|
||||||
|
counter++;
|
||||||
|
Present_Value[0] = counter;
|
||||||
|
Present_Value[1] = counter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -272,19 +272,23 @@ bool RS485_ReceiveError(void)
|
|||||||
uint8_t dummy_data;
|
uint8_t dummy_data;
|
||||||
|
|
||||||
/* check for framing error */
|
/* check for framing error */
|
||||||
|
#if 0
|
||||||
if (BIT_CHECK(UCSR0A,FE0)) {
|
if (BIT_CHECK(UCSR0A,FE0)) {
|
||||||
|
/* FIXME: how do I clear the error flags? */
|
||||||
|
BITMASK_CLEAR(UCSR0A,(_BV(FE0) | _BV(DOR0) | _BV(UPE0)));
|
||||||
ReceiveError = true;
|
ReceiveError = true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/* check for overrun error */
|
/* check for overrun error */
|
||||||
if (BIT_CHECK(UCSR0A,DOR0)) {
|
if (BIT_CHECK(UCSR0A,DOR0)) {
|
||||||
ReceiveError = true;
|
|
||||||
}
|
|
||||||
if (ReceiveError) {
|
|
||||||
RS485_LED1_On();
|
|
||||||
/* flush the receive buffer */
|
/* flush the receive buffer */
|
||||||
do {
|
do {
|
||||||
dummy_data = UDR0;
|
dummy_data = UDR0;
|
||||||
} while (BIT_CHECK(UCSR0A,RXC0));
|
} while (BIT_CHECK(UCSR0A,RXC0));
|
||||||
|
ReceiveError = true;
|
||||||
|
}
|
||||||
|
if (ReceiveError) {
|
||||||
|
RS485_LED1_On();
|
||||||
}
|
}
|
||||||
|
|
||||||
return ReceiveError;
|
return ReceiveError;
|
||||||
|
|||||||
Reference in New Issue
Block a user