We have a software that is used to feed CAN bus messages from a CAN bus interface into Wireshark. Currently this is a one-way pipe solution, but we would like to add a feature to allow the user to “transmit” messages live onto the CAN bus.
We will handle the back end integration, but need a C# based GUI interface (done in Winforms) that does roughly the same as the “transmit” GUI in the below video (i.e. not the Trace window and not the Receive window): [url removed, login to view]
In other words, it should be able to do the following:
1) The interface should consist of a main window in a tap that should have a white background and in terms of color/style/look & feel should look somewhat like a tap in Wireshark (cf. attached picture)
2) The structure should more or less match the video - i.e. a Main Window (not docked), where the list of messages to be transmitted are listed - and an “Edit” window where details of each message can be specified. Note that the Main Window should not have the “Transmit” to the left as in the video, but column structure can match the video otherwise. Functionality such as deleting messages from the list should be included as well e.g. via right-click drop down
3) The details of the Edit Window should be as in the video, except a few things:
- A Delay (ms) field should be added below the cycle time
- The Message Type should be renamed Message Options
- The “Remote Request” check mark should not be included
- Instead, there should be a “Show Transmitted Messages” check mark option
-Under options, there should be an option to set the “Trigger” to either Cycle or Manual. If Manual, the message should be sent when the user hits a specified keyboard shortcut. The keyboard shortcut should ideally be possible to specify under Message Options in the Edit field and should be visible in a column in the Main View when Manual has been selected. If a custom keyboard shortcut is too difficult, Space should be the trigger key
- The Help button should be removed
- Note that messages should be input in HEX format
4) In the Main Window, there should be an “Enable” check mark to the far left. Also, the Trigger Field and Cycle Time fields should be possible to edit within the Main Window by clicking them
The GUI should then simply produce messages according to the specifications, cycle times and potential manual keyboard triggering - and output them to a queue that can then be handled by our program. For testing purposes, we would like that the project includes an output window for showing the produced messages. So if e.g. 3 messages have been defined with short cycle times, the output window should quickly be populated with several messages. For each message parsed, the Timestamp, CAN ID, CAN Data Length, CAN Data Bytes should be included.
So in short, this is mainly about creating a fairly simple GUI solution that produces message output based on user specifications.
Good communications skills, strong English skills, attention to details, affordability and speed are key.
Hello, I've over 8 years experience in C# and WinForms, so I think I'll fit for the project. I know I've not written that much, but I think you got to know me a bit. Kind regards Emanuel