@@ -112,6 +112,18 @@ def dissect_can_frame(frame):
112112 return (can_id , can_dlc , data [:can_dlc ])
113113
114114
115+ def create_bcm_socket (channel ):
116+ """create a broadcast manager socket and connect to the given interface"""
117+ try :
118+ s = socket .socket (socket .PF_CAN , socket .SOCK_DGRAM , socket .CAN_BCM )
119+ except AttributeError :
120+ raise SystemExit ("To use BCM sockets you need Python3.4 or higher" )
121+ try :
122+ s .connect ((channel ,))
123+ except OSError as e :
124+ log .error ("Couldn't connect a broadcast manager socket" )
125+ raise e
126+ return s
115127
116128
117129class CyclicSendTask (CyclicSendTaskABC ):
@@ -127,18 +139,6 @@ def __init__(self, channel, message, period):
127139 self .bcm_socket = create_bcm_socket (channel )
128140 self ._tx_setup (message )
129141 self .message = message
130- def create_bcm_socket (channel ):
131- """create a broadcast manager socket and connect to the given interface"""
132- try :
133- s = socket .socket (socket .PF_CAN , socket .SOCK_DGRAM , socket .CAN_BCM )
134- except AttributeError :
135- raise SystemExit ("To use BCM sockets you need Python3.4 or higher" )
136- try :
137- s .connect ((channel ,))
138- except OSError as e :
139- log .error ("Couldn't connect a broadcast manager socket" )
140- raise e
141- return s
142142
143143 def _tx_setup (self , message ):
144144 # Create a low level packed frame to pass to the kernel
@@ -164,8 +164,6 @@ def modify_data(self, message):
164164 """
165165 assert message .arbitration_id == self .can_id , "You cannot modify the can identifier"
166166 self ._tx_setup (message )
167- self .message
168-
169167
170168 def start (self ):
171169 self ._tx_setup (self .message )
0 commit comments