MCPcopy Create free account
hub / github.com/CANopenNode/CANopenNode / CO_LSSmaster_Inquire

Function CO_LSSmaster_Inquire

305/CO_LSSmaster.c:610–637  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

608}
609
610CO_LSSmaster_return_t
611CO_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

Callers 1

CO_gateway_ascii.cFile · 0.85

Calls 2

Tested by

no test coverage detected