| 608 | } |
| 609 | |
| 610 | CO_LSSmaster_return_t |
| 611 | CO_LSSmaster_Inquire(CO_LSSmaster_t* LSSmaster, uint32_t timeDifference_us, uint8_t lssInquireCs, uint32_t* value) { |
| 612 | CO_LSSmaster_return_t ret = CO_LSSmaster_INVALID_STATE; |
| 613 | |
| 614 | if ((LSSmaster == NULL) || (value == NULL)) { |
| 615 | return CO_LSSmaster_ILLEGAL_ARGUMENT; |
| 616 | } |
| 617 | |
| 618 | /* send request */ |
| 619 | if (((LSSmaster->state == CO_LSSmaster_STATE_CFG_SLECTIVE) || (LSSmaster->state == CO_LSSmaster_STATE_CFG_GLOBAL)) |
| 620 | && (LSSmaster->command == CO_LSSmaster_COMMAND_WAITING)) { |
| 621 | |
| 622 | LSSmaster->command = CO_LSSmaster_COMMAND_INQUIRE; |
| 623 | LSSmaster->timeoutTimer = 0; |
| 624 | |
| 625 | ret = CO_LSSmaster_inquireInitiate(LSSmaster, lssInquireCs); |
| 626 | } |
| 627 | /* Check for reply */ |
| 628 | else if (LSSmaster->command == CO_LSSmaster_COMMAND_INQUIRE) { |
| 629 | ret = CO_LSSmaster_inquireCheckWait(LSSmaster, timeDifference_us, lssInquireCs, value); |
| 630 | } else { /* MISRA C 2004 14.10 */ |
| 631 | } |
| 632 | |
| 633 | if (ret != CO_LSSmaster_WAIT_SLAVE) { |
| 634 | LSSmaster->command = CO_LSSmaster_COMMAND_WAITING; |
| 635 | } |
| 636 | return ret; |
| 637 | } |
| 638 | |
| 639 | /* |
| 640 | * Helper function - send request |
no test coverage detected