CAN Bus logger: Difference between revisions
(→Script: remove setting of baud rate, use default rate in CAN settings.) |
|||
Line 6: | Line 6: | ||
* Copy (Ctrl-C) and paste (Ctrl-V) the script below into the script window of the app | * Copy (Ctrl-C) and paste (Ctrl-V) the script below into the script window of the app | ||
** '''Note:''' Ensure any existing script is erased before copying in this logger script. | ** '''Note:''' Ensure any existing script is erased before copying in this logger script. | ||
* | * Set the correct baud rate in RaceCapture's '''CAN Settings''' page | ||
** Typical baud rates are: 250000, 500000 and 1000000 | ** Typical baud rates are: 250000, 500000 and 1000000 | ||
** It's a good idea to also set the same baud rate in the CAN Bus configuration view. | ** It's a good idea to also set the same baud rate in the CAN Bus configuration view. |
Revision as of 21:45, 15 April 2017
The script shown below will output all CAN bus messages received on CAN channel 1 to the RaceCapture/Pro log window.
This is useful for seeing raw data from the CAN bus and can serve as a general diagnostic aid.
Using the CAN Bus logger
- Copy (Ctrl-C) and paste (Ctrl-V) the script below into the script window of the app
- Note: Ensure any existing script is erased before copying in this logger script.
- Set the correct baud rate in RaceCapture's CAN Settings page
- Typical baud rates are: 250000, 500000 and 1000000
- It's a good idea to also set the same baud rate in the CAN Bus configuration view.
- Click the write configuration button (down arrow button on left) to write the script to RaceCapture/Pro.
- Check the check box to poll the log file. This will cause messages from the script to show up in the bottom window.
- Click the circular-arrow button to re-load the script.
Script
-- be sure to set the correct baud rate in the CAN settings setTickRate(30) --onTick() will be called at 30Hz. --this function drains all pending CAN messages --and outputs messages to the log function outputCAN() repeat id, ext, data = rxCAN(0, 100) if id ~= nil then print(id ..', ') for i = 1,#data do print(data[i] ..', ') end println('') end until id == nil end function onTick() outputCAN() end
Watching for messages
If RaceCapture/Pro is receiving CAN bus messages, you will see them in the window below the script.
I don't see data
If you don't see the CAN bus messages you were expecting, there could be a number of issues:
- Baud rate is incorrect. Determine the correct baud rate for the BUS and try agian.
- Bus termination is incorrect. RaceCapture/Pro has built in CAN bus termination. Ensure your CAN bus is balanced with terminators on each end.
- Interference / poor wire connection. Try shortening the wire or checking the connections.
- Incorrect Wiring for CAN bus connections. See the Quick Reference for the pinout for the CAN bus connections. Ensure you're connected to the CAN bus used in the script (CAN 1 is the default for the script).
- Reversed CAN High and CAN Low wiring. Re-check the wiring.
Advanced: Using a Terminal Program
To gather large amounts of data, we recommend connecting directly to RaceCapture/Pro's serial console using a terminal program like Hyperterminal, RealTerm, minicom or similar.
- Close the RaceCapture app
- Connect to the RaceCapture device using HyperTerminal, RealTerm or Minicom using the COM port assigned by the operating system.
- Press <Enter> to see a list of commands
- View the log by issuing the command 'viewLog' at the serial console.
- You will see a dump of the CAN bus data to the screen.