CAN Bus logger: Difference between revisions

(enhanced instructions)
Line 1: Line 1:
The following script will output all CAN bus messages received on CAN channel 1 to the RaceCapture/Pro log window.
The script shown below will output all CAN bus messages received on CAN channel 1 to the RaceCapture/Pro log window.


After writing the script, you can observe the output in the log monitor window in the RaceCapture app.
==Using the CAN Bus logger==
* Click the checkbox next to '''Poll Logfile''' to see the CAN bus datastream
* Copy (Ctrl-C) and paste (Ctrl-V) the script below into the script window of the app
 
* Customize the script for the baud rate needed.
==Using a Terminal Program==
** Typical baud rates are: 250000, 500000 and 1000000
However, 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.
** It's a good idea to also set the same baud rate in the CAN Bus configuration view.
 
* Click the button to write the updated configuration
* Close the RaceCapture app
* Check the check box to poll the log file. This will cause messages from the script to show up in the bottom window.
* Connect to the RaceCapture device using HyperTerminal, RealTerm or Minicom using the COM port assigned by the operating system.
* Click the circular-arrow button to re-load the script.
* 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.


[[Image:RaceCapture_CAN_bus_logger_scrip_view.png]]


<pre>
<pre>
Line 40: Line 38:
</pre>
</pre>


[[Image:RaceCapture_CAN_bus_logger_scrip_view.png]]
==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 [[RaceCapturePro#Quick_Reference|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).
After writing the script, you can observe the output in the log monitor window in the RaceCapture app.
* Click the checkbox next to '''Poll Logfile''' to see the CAN bus datastream
 
 
==Advanced: Using a Terminal Program==
However, 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.

Revision as of 05:00, 24 March 2015

The script shown below will output all CAN bus messages received on CAN channel 1 to the RaceCapture/Pro log window.

Using the CAN Bus logger

  • Copy (Ctrl-C) and paste (Ctrl-V) the script below into the script window of the app
  • Customize the script for the baud rate needed.
    • 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 button to write the updated configuration
  • 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.

RaceCapture CAN bus logger scrip view.png

--500K baud. set your baud rate here.
initCAN(0, 500000) 

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).

After writing the script, you can observe the output in the log monitor window in the RaceCapture app.

  • Click the checkbox next to Poll Logfile to see the CAN bus datastream


Advanced: Using a Terminal Program

However, 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.