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

Function CO_LSSmaster_switchStateSelectWait

305/CO_LSSmaster.c:217–236  ·  view source on GitHub ↗

* Helper function - wait for confirmation */

Source from the content-addressed store, hash-verified

215 * Helper function - wait for confirmation
216 */
217static CO_LSSmaster_return_t
218CO_LSSmaster_switchStateSelectWait(CO_LSSmaster_t* LSSmaster, uint32_t timeDifference_us) {
219 CO_LSSmaster_return_t ret;
220
221 if (CO_FLAG_READ(LSSmaster->CANrxNew)) {
222 uint8_t cs = LSSmaster->CANrxData[0];
223 CO_FLAG_CLEAR(LSSmaster->CANrxNew);
224
225 if (cs == CO_LSS_SWITCH_STATE_SEL) {
226 /* confirmation received */
227 ret = CO_LSSmaster_OK;
228 } else {
229 ret = CO_LSSmaster_check_timeout(LSSmaster, timeDifference_us);
230 }
231 } else {
232 ret = CO_LSSmaster_check_timeout(LSSmaster, timeDifference_us);
233 }
234
235 return ret;
236}
237
238CO_LSSmaster_return_t
239CO_LSSmaster_swStateSelect(CO_LSSmaster_t* LSSmaster, uint32_t timeDifference_us, CO_LSS_address_t* lssAddress) {

Callers 1

Calls 1

Tested by

no test coverage detected