uds
uds copied to clipboard
Introduce basic Transport Interface for python-can
Requires
#73 #144
Description
As a user, I would like to have possibility to schedule CAN Packet transmission at provided time, so I can control how packets are transmitted. As a user, I would like to have container that automatically detect received CAN packets and store them, so I have access to entire UDS communication. As a user, I would like to have possibility to use python-can library, so I do not have to buy any expensive tools.
Testing Strategy
Integration Tests:
- receiving packets is possible (mock the incoming traffic)
- transmitting packets is possible (mock the transmission monitoring)
System Tests:
- GIVEN configured Transport Interface with python-can, WHEN I schedule CAN Packet transmission, THEN it is transmitted to the bus at the first timeslot after the scheduled time is reached, and record of transmitted packet is stored with proper timestamp.
- GIVEN configured Transport Interface with python-can, WHEN UDS CAN packet is received, THEN record of the received packet is stored with proper timestamp.
- GIVEN configured Transprort Interface with python-can, WHEN CAN frame that is not UDS Packet is received, THEN it is not stored by the Transport Interface.
- GIVEN configured Transport Interface with python-can, WHEN python-can bus is used to transmit other frames, THEN it is not blocked by this package.
- GIVEN configured Transport Interface with python-can, WHEN python-can bus is used to receive frames, THEN it is not blocked by this package, neither the package is malfunctioning.
Acceptance Criteria
- described features are provided
- Provided features are document in user documentation
- 100% code coverage for this change
- system tests are executed and passing (preferably automatic, but it can be manual if impossible to automate).