2.0.22 ready to be validated by CanOpenNG
2.0.22 is ready to be validated by CanOpenNG
- chrono and std:: cleanup, nanosleep etc are suppressed in favour of chrono. Some code streamlining.
- drop messages with extended IDs or data (do not truncate and send nevertheless)
- checked all thrown exceptions: they are indeed runtime_error and NOT logical_error
- getPortStatus(): UNIFIED PORT STATUS. when invoked by a client, it actually talks to the specific hardware for each vendor using the vendor API. It returns a unified port status as documented: first nibble=implementation, all other bits: whatever the vendor returns per implementation. No "abstraction" to an i.e. "CAN_PORT_ERROR_ACTIVE is possible. A port status change occurs (1) there is an error (2) a controlling action by the client has occurred. Errors are reported by LogIt or by thrown exceptions. So there is no need to report port-status changes through signals.
- depending on the vendor API CAN status is not available through the API! That is why getPosrtStatus() exists. IF we have a CAN error frame we send it per signal.