Rev 486 | Rev 498 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 486 | Rev 493 | ||
|---|---|---|---|
| Line 42... | Line 42... | ||
| 42 | #define STATUS_SEND_PERIOD 10000UL /* milliseconds */ |
42 | #define STATUS_SEND_PERIOD 10000UL /* milliseconds */ |
| 43 | #define FAILSAFE_SEND_PERIOD 10000UL /* milliseconds */ |
43 | #define FAILSAFE_SEND_PERIOD 10000UL /* milliseconds */ |
| 44 | #define BOUNCE_TIME 10 /* milliseconds */ |
44 | #define BOUNCE_TIME 10 /* milliseconds */ |
| 45 | #define BUTTON1 1 |
45 | #define BUTTON1 1 |
| 46 | #define BUTTON2 2 |
46 | #define BUTTON2 2 |
| - | 47 | ||
| - | 48 | #define THISRELAYID NODE_ID /* application software should not depend on the id of the physical node |
|
| - | 49 | but for now lets do it like this */ |
|
| 47 | 50 | ||
| 48 | #define APP_TYPE CAN_APPTYPES_RELAY |
51 | #define APP_TYPE CAN_APPTYPES_RELAY |
| 49 | #define APP_VERSION 0x0001 |
52 | #define APP_VERSION 0x0001 |
| 50 | 53 | ||
| 51 | /*------------------------------------------------------------------------- |
54 | /*------------------------------------------------------------------------- |
| Line 122... | Line 125... | ||
| 122 | sendStatus(); |
125 | sendStatus(); |
| 123 | } |
126 | } |
| 124 | 127 | ||
| 125 | if (rxMsgFull) { |
128 | if (rxMsgFull) { |
| 126 | uint8_t acttype; |
129 | uint8_t acttype; |
| 127 | uint16_t |
130 | uint16_t relayid; |
| 128 | 131 | ||
| 129 | if ( ((rxMsg.Id & CAN_MASK_CLASS)>>CAN_SHIFT_CLASS) == CAN_ACT){ |
132 | if ( ((rxMsg.Id & CAN_MASK_CLASS)>>CAN_SHIFT_CLASS) == CAN_ACT){ |
| 130 | // Actuator package |
133 | // Actuator package |
| 131 | acttype =(uint8_t)((rxMsg.Id & |
134 | acttype =(uint8_t)((rxMsg.Id & CAN_MASK_ACT_TYPE) >> CAN_SHIFT_ACT_TYPE); |
| 132 |
|
135 | relayid = (uint16_t)((rxMsg.Id & CAN_MASK_ACT_ID) >> CAN_SHIFT_ACT_ID); |
| 133 | 136 | ||
| 134 | if ((acttype == |
137 | if ((acttype == ACT_TYPE_RELAY) && (relayid == THISRELAYID)) { |
| 135 | // This is a message for this relay |
138 | // This is a message for this relay |
| 136 | if (rxMsg.Data.bytes[0] == RELAY_CMD_RESET) { |
139 | if (rxMsg.Data.bytes[0] == RELAY_CMD_RESET) { |
| 137 | // Return to normal operation |
140 | // Return to normal operation |
| 138 | failsafe_flag = 0; |
141 | failsafe_flag = 0; |
| 139 | } |
142 | } |
| Line 210... | Line 213... | ||
| 210 | uint32_t temperature; |
213 | uint32_t temperature; |
| 211 | Can_Message_t statusMsg; |
214 | Can_Message_t statusMsg; |
| 212 | statusMsg.RemoteFlag = 0; |
215 | statusMsg.RemoteFlag = 0; |
| 213 | statusMsg.ExtendedFlag = 1; |
216 | statusMsg.ExtendedFlag = 1; |
| 214 | statusMsg.DataLength = 4; |
217 | statusMsg.DataLength = 4; |
| 215 | statusMsg.Id = ( CAN_SNS<<CAN_SHIFT_CLASS )|( |
218 | statusMsg.Id = ( CAN_SNS<<CAN_SHIFT_CLASS )|( SNS_TYPE_RELAY_STATUS<<CAN_SHIFT_ACT_TYPE )|( NODE_ID<<CAN_SHIFT_SNS_SID ); |
| 216 | 219 | ||
| 217 | temperature = getTC1047temperature(); |
220 | temperature = getTC1047temperature(); |
| 218 | if( (int32_t)temperature >= FAILSAFE_TRESHOLD && !failsafe_flag ){ |
221 | if( (int32_t)temperature >= FAILSAFE_TRESHOLD && !failsafe_flag ){ |
| 219 | // Goto failsafe mode |
222 | // Goto failsafe mode |
| 220 | relayFailsafe(); |
223 | relayFailsafe(); |