Skip to main content

Python wrapper for the candle (gs_usb) windows driver.

Project description

candle_driver

Python wrapper for the candle (gs_usb) windows driver which is published here.

Used to communicate with candleLight, CANable (with candleLight firmware) CAN-USB adapters.

Example usage

import candle_driver

# lists all available candle devices
devices = candle_driver.list_devices()

if not len(devices):
  print('No candle devices found.')
  exit()

print('Found {} candle devices.'.format(len(devices)))

# use first availabel device
device = devices[0]

print('Device path: {}'.format(device.path()))
print('Device name: {}'.format(device.name()))
print('Device channels: {}'.format(device.channel_count()))

# open device (blocks other processes from using it)
device.open()

print('Device timestamp: %d' % device.timestamp()) # in usec

# open first channel
ch = device.channel(0)

ch.set_bitrate(1000000)
# or
# ch.set_timings(prop_seg=1, phase_seg1=12, phase_seg2=2, sjw=1, brp=3)

# start receiving data
ch.start()

# normal frame
ch.write(10, b'abcdefgh')
# extended frame
ch.write(10235 | candle_driver.CANDLE_ID_EXTENDED, b'abcdefgh')

# wait 1000ms for data
try:
  frame_type, can_id, can_data, extended, ts = ch.read(1000)
  print('Received {} from ID {} at {}'.format(can_data, can_id, ts))
except TimeoutError:
  print('CAN read timeout')

# close everything
ch.stop()
device.close()

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Windows C driver is licensed under the GPLv3 License - see the LICENSE file for details.

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

candle_driver-0.1.5.tar.gz (13.4 kB view hashes)

Uploaded Source

Built Distribution

candle_driver-0.1.5-cp39-cp39-win_amd64.whl (17.4 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page