Welcome to the CAN-bus Wiki project

this is a not yet ready page ………….. — Heinz-Jürgen Oertel 2012/08/02 09:11

Simple Heart Beat producer

hb_producer.tcl
#!/usr/bin/tclsh
# Tcl CANopen Heart Beat producer
#

# configure parameters
 
set node	10	;# node id of the producer
set ptime	150	;# producer time in ms
set state	preop	;# not used yet

#############################################################
 
load ./canLtwo.so
puts "....... swig wrapper loaded"

# open the can interface /dev/can0
# but before, set the baud rate if it should be other than default
exec /bin/echo "125 125" > /proc/sys/dev/Can/Baud
puts "....... bit rate changed"
 
set device 0			;# use /dev/can0
set can_fd [can_open $device]
puts "....... /dev/can$device opened, can_fd:$can_fd"
if { $can_fd == -1 } {
    puts "error opening CAN device /dev/can$device"
    exit
}
 
 
while { true } {
    can_send $can_fd 1 "[expr 0x700 + $node]:0x7f"
    after $ptime
}
 
can_close $can_fd
puts "....... /dev/can$device closed"
exit

A more complex example using Tk as GUI

Multi Line CANopen Heart Beat producer. Used to test the HB consumer an a CANopen redundancy application. (172 lines without comment and empty lines)


QR Code
QR Code software:tclscripts (generated for current page)