Rev 577 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 577 | Rev 797 | ||
|---|---|---|---|
| Line 51... | Line 51... | ||
| 51 | 51 | ||
| 52 | /*------------------------------------------------------------------------- |
52 | /*------------------------------------------------------------------------- |
| 53 | * Global variables |
53 | * Global variables |
| 54 | * -----------------------------------------------------------------------*/ |
54 | * -----------------------------------------------------------------------*/ |
| 55 | uint8_t relayStatus, failsafe_flag = 0; |
55 | uint8_t relayStatus, failsafe_flag = 0; |
| 56 |
|
56 | uint16_t boardTemperature = 0; |
| 57 | 57 | ||
| 58 | volatile Can_Message_t rxMsg; // Message storage |
58 | volatile Can_Message_t rxMsg; // Message storage |
| 59 | volatile uint8_t rxMsgFull; // Synchronization flag |
59 | volatile uint8_t rxMsgFull; // Synchronization flag |
| 60 | 60 | ||
| 61 | 61 | ||
| Line 206... | Line 206... | ||
| 206 | } |
206 | } |
| 207 | } |
207 | } |
| 208 | 208 | ||
| 209 | void sendStatus() |
209 | void sendStatus() |
| 210 | { |
210 | { |
| 211 |
|
211 | uint16_t temperature; |
| 212 | Can_Message_t statusMsg; |
212 | Can_Message_t statusMsg; |
| 213 | statusMsg.RemoteFlag = 0; |
213 | statusMsg.RemoteFlag = 0; |
| 214 | statusMsg.ExtendedFlag = 1; |
214 | statusMsg.ExtendedFlag = 1; |
| 215 | statusMsg.DataLength = 4; |
215 | statusMsg.DataLength = 4; |
| 216 | statusMsg.Id = ((CAN_SNS << CAN_SHIFT_CLASS) | (SNS_TYPE_STATUS << CAN_SHIFT_SNS_TYPE) | (SNS_ID_RELAY_STATUS << CAN_SHIFT_SNS_ID) | (NODE_ID << CAN_SHIFT_SNS_SID)); |
216 | statusMsg.Id = ((CAN_SNS << CAN_SHIFT_CLASS) | (SNS_TYPE_STATUS << CAN_SHIFT_SNS_TYPE) | (SNS_ID_RELAY_STATUS << CAN_SHIFT_SNS_ID) | (NODE_ID << CAN_SHIFT_SNS_SID)); |
| 217 | 217 | ||
| 218 | temperature = getTC1047temperature(); |
218 | temperature = getTC1047temperature(TC1047_AD); |
| 219 | if |
219 | if ( temperature >= FAILSAFE_TRESHOLD && !failsafe_flag ){ |
| 220 | // Goto failsafe mode |
220 | // Goto failsafe mode |
| 221 | relayFailsafe(); |
221 | relayFailsafe(); |
| 222 | }else{ |
222 | }else{ |
| 223 | // Transmitt node status |
223 | // Transmitt node status |
| 224 | statusMsg.Data.bytes[0] = temperature |
224 | statusMsg.Data.bytes[0] = temperature&0xff; |
| 225 | statusMsg.Data.bytes[1] = (temperature |
225 | statusMsg.Data.bytes[1] = ((temperature>>8)&0xff); |
| 226 | statusMsg.Data.bytes[2] = relayStatus; |
226 | statusMsg.Data.bytes[2] = relayStatus; |
| 227 | statusMsg.Data.bytes[3] = failsafe_flag; |
227 | statusMsg.Data.bytes[3] = failsafe_flag; |
| 228 | 228 | ||
| 229 | BIOS_CanSend( &statusMsg ); |
229 | BIOS_CanSend( &statusMsg ); |
| 230 | } |
230 | } |