Openwide-Ingenierie/robotframework-can-uds-library

Features / modifications / suggestions?

Opened this issue · 0 comments

I did not see a 'discussion' item under the project...

I'd like to create use more of the raw CAN and J1939 style periodic messages. I can modify the CURFLibrary to add a modifiable method. However, the cantools python package does not support this as the messages are 'encoded' and only the can library supports modifying a period message.

Suggestions on how to include an extra function such as ramping a signal? (this is a complication of the first item). I'd like to specify ramping a signal or signals in a periodic message, given a starting value and ending value, and a time or rate. As I'm new to Robot I do not know how the execution occurs and details on the architecture. My first thought was a task / thread that updated the periodic message ever xyz mSec.

Quick idea on what the Robot top level looks like:
*** Test Cases ***
Create Modifiable Periodic Frame
Start Modifiable Transmission of Message ETC1 And Set1 As Data With 0.1 Seconds Periodic
Waiting 5 Seconds
Start SignalRamping of TransmissionInputShaftSpeed As Data [700,100] With 5 Seconds
Waiting 6 Seconds
...

Suggestions on supporting more than 1 database or CAN bus channel? I do not believe the cantools supports more than 1 database. I can merge databases, but this is not ideal. A complication may also be source addresses in J1939 messaging. A database signal, but no source address means if I have a system with more than one device transmitting a message, I cannot know the difference between messages. I could define the database with unique identifiers for every signal, but this may be a bit time consuming. Suggestions?

Any chance you may expand the library to include support for the SAE J1939 transport protocol? It's similar to the ISO, but slightly different. I'm looking for DM1 multi-packet support and the DM14 / 15 / 16 memory transfer features only. The DM14 - 16 typically use a seed / key mechanism to control access and a RTS / CTS identification. These are secondary to my possible usage, but thought I would inquire. Depending on how the above plays out and if I can actually use Robot with the CAN bus for testing means I could potentially write routines for these features as well.

Cheers
J -