code: def send(self, msg, timeout=None):
          
          arb_id = msg.arbitration_id
          if msg.is_extended_id:
              arb_id |= NC_FL_CAN_ARBID_XTD
          raw_msg = TxMessageStruct(arb_id,
                                    bool(msg.is_remote_frame),
                                    msg.dlc,
                                    CanData(*msg.data))
          nican.ncWrite(
              self.handle, ctypes.sizeof(raw_msg), ctypes.byref(raw_msg))
docs: Send a message to NI-CAN.
  
          :param can.Message msg:
              Message to send
  
          :raises can.interfaces.nican.NicanError:
              If writing to transmit buffer fails.
              It does not wait for message to be ACKed currently.