Rev 1546 | Rev 1910 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1546 | Rev 1570 | ||
|---|---|---|---|
| Line 388... | Line 388... | ||
| 388 | txMsg.Header.Command = CAN_MODULE_CMD_PHYSICAL_PINSTATUS; |
388 | txMsg.Header.Command = CAN_MODULE_CMD_PHYSICAL_PINSTATUS; |
| 389 | txMsg.Length = 2; |
389 | txMsg.Length = 2; |
| 390 | /* The channel should be transmitted in byte 0 */ |
390 | /* The channel should be transmitted in byte 0 */ |
| 391 | txMsg.Data[0] = i; |
391 | txMsg.Data[0] = i; |
| 392 | /* If status was low but voltage is above high theshold */ |
392 | /* If status was low but voltage is above high theshold */ |
| 393 | if (sns_inputAnalog_Sensor[i].Status |
393 | if (sns_inputAnalog_Sensor[i].Status != HIGH && AdValue > sns_inputAnalog_Config[i].HighTh) |
| 394 | { |
394 | { |
| 395 | /* Consider status to be high */ |
395 | /* Consider status to be high */ |
| 396 | sns_inputAnalog_Sensor[i].Status = HIGH; |
396 | sns_inputAnalog_Sensor[i].Status = HIGH; |
| 397 | txMsg.Data[1] = CAN_MODULE_ENUM_PHYSICAL_PINSTATUS_STATUS_HIGH; |
397 | txMsg.Data[1] = CAN_MODULE_ENUM_PHYSICAL_PINSTATUS_STATUS_HIGH; |
| 398 | 398 | ||
| 399 | /* send status on CAN with command CAN_MODULE_CMD_PHYSICAL_PINSTATUS */ |
399 | /* send status on CAN with command CAN_MODULE_CMD_PHYSICAL_PINSTATUS */ |
| 400 | while (StdCan_Put(&txMsg) != StdCan_Ret_OK); |
400 | while (StdCan_Put(&txMsg) != StdCan_Ret_OK); |
| 401 | } |
401 | } |
| 402 | /* If status was high but voltage is below low theshold */ |
402 | /* If status was high but voltage is below low theshold */ |
| 403 | else if (sns_inputAnalog_Sensor[i].Status |
403 | else if (sns_inputAnalog_Sensor[i].Status != LOW && AdValue < sns_inputAnalog_Config[i].LowTh) |
| 404 | { |
404 | { |
| 405 | /* Consider status to be low */ |
405 | /* Consider status to be low */ |
| 406 | sns_inputAnalog_Sensor[i].Status = LOW; |
406 | sns_inputAnalog_Sensor[i].Status = LOW; |
| 407 | txMsg.Data[1] = CAN_MODULE_ENUM_PHYSICAL_PINSTATUS_STATUS_LOW; |
407 | txMsg.Data[1] = CAN_MODULE_ENUM_PHYSICAL_PINSTATUS_STATUS_LOW; |
| 408 | 408 | ||
| Line 440... | Line 440... | ||
| 440 | 440 | ||
| 441 | /* Convert voltage to AD value (0-1023) acording static config parameters */ |
441 | /* Convert voltage to AD value (0-1023) acording static config parameters */ |
| 442 | switch (index) |
442 | switch (index) |
| 443 | { |
443 | { |
| 444 | case 0: |
444 | case 0: |
| 445 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog0Scale- |
445 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog0Scale-6); |
| 446 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog0Factor; |
446 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog0Factor; |
| 447 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog0Scale- |
447 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog0Scale-6); |
| 448 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog0Factor; |
448 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog0Factor; |
| 449 | break; |
449 | break; |
| 450 | case 1: |
450 | case 1: |
| 451 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog1Scale- |
451 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog1Scale-6); |
| 452 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog1Factor; |
452 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog1Factor; |
| 453 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog1Scale- |
453 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog1Scale-6); |
| 454 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog1Factor; |
454 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog1Factor; |
| 455 | break; |
455 | break; |
| 456 | case 2: |
456 | case 2: |
| 457 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog2Scale- |
457 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog2Scale-6); |
| 458 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog2Factor; |
458 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog2Factor; |
| 459 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog2Scale- |
459 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog2Scale-6); |
| 460 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog2Factor; |
460 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog2Factor; |
| 461 | break; |
461 | break; |
| 462 | case 3: |
462 | case 3: |
| 463 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog3Scale- |
463 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh<<(sns_inputAnalog3Scale-6); |
| 464 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog3Factor; |
464 | sns_inputAnalog_Config[index].LowTh = sns_inputAnalog_Config[index].LowTh / sns_inputAnalog3Factor; |
| 465 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog3Scale- |
465 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh<<(sns_inputAnalog3Scale-6); |
| 466 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog3Factor; |
466 | sns_inputAnalog_Config[index].HighTh = sns_inputAnalog_Config[index].HighTh / sns_inputAnalog3Factor; |
| 467 | break; |
467 | break; |
| 468 | } |
468 | } |
| 469 | 469 | ||
| 470 | #ifdef sns_inputAnalog_USEEEPROM |
470 | #ifdef sns_inputAnalog_USEEEPROM |