GithubHelp home page GithubHelp logo

public-radiation / robotell-usb-can-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nopnop2002/robotell-usb-can-python

0.0 0.0 0.0 73 KB

Python program for USB-CAN Adapter

Python 93.09% Shell 6.91%

robotell-usb-can-python's Introduction

Robotell-USB-CAN-Python

Python program for Robotell USB-CAN Adapter

Background

I've bought a Robotell USB-CAN Adapter from AliExpress.
USB-CAN Adapter

The Windows application is published here.
The link described as "ourdev_627692IXWNNX.rar" in the page is the Windows application.
But I can't understand Chinese.

So, I analyzed the communication message that flows through USB and created a new application with Python.

Software Requiment

  • pyserial

How to use

$ git clone https://github.com/nopnop2002/Robotell-USB-CAN-Python
$ cd Robotell-USB-CAN-Python
$ python ./usb-can.py --help
usage: usb-can.py [-h] [-p PORT] [-s SPEED] [-u UDP]
                  [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}]

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  open port
  -s SPEED, --speed SPEED
                        can bit rate
  -u UDP, --udp UDP     UDP receive port
  -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        Set the logging level
  • port
    Communication port.
    Default is /dev/ttyUSB0.

  • speed
    CAN bit rate.
    Default is 500Kbps.
    Supporting speed is 1M/800K/500K/400K/250K/125K/100K.

  • udp
    UDP port number for receive
    Default is 8200

  • log
    Log level.
    Default is WARNING.

Information of the USB-CAN Adapter

These displays are internal information of the USB-CAN Adapter, not CAN FRAME.

  • BAUDRATE is the current speed.
    0x20-0xA1-0x07-0x00 is 0x0007A120(=500,000)

  • VERSION is firmware version.

  • FILTERxx is the current receive filter setting.
    The initial value enables reception of all CAN FRAMEs.

BAUDRATE ID: 0x01FFFED0  DLC: 4  Data: 0x20 0xA1 0x07 0x00
VERSION  ID: 0x01FFFFE0  DLC: 8  Data: 0x01 0x00 0x00 0x00 0xC5 0x24 0x00 0x08
CPUINFO0 ID: 0x01FFFFF0  DLC: 8  Data: 0x57 0xFF 0x73 0x06 0x67 0x75 0x54 0x55
CPUINFO1 ID: 0x01FFFFF1  DLC: 8  Data: 0x11 0x30 0x17 0x67 0x00 0x00 0x00 0x00
ABOM     ID: 0x01FFFEB0  DLC: 8  Data: 0x00 0x00 0x00 0x00 0xC5 0x24 0x00 0x08
ART      ID: 0x01FFFEA0  DLC: 8  Data: 0x00 0x00 0x00 0x00 0xC5 0x24 0x00 0x08
FILTER00 ID: 0x01FFFEE0  DLC: 8  Data: 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x00
FILTER01 ID: 0x01FFFEE1  DLC: 8  Data: 0x00 0x00 0x00 0xC0 0x00 0x00 0x00 0x00
FILTER02 ID: 0x01FFFEE2  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER03 ID: 0x01FFFEE3  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER04 ID: 0x01FFFEE4  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER05 ID: 0x01FFFEE5  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER06 ID: 0x01FFFEE6  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER07 ID: 0x01FFFEE7  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER08 ID: 0x01FFFEE8  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER09 ID: 0x01FFFEE9  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER10 ID: 0x01FFFEEA  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER11 ID: 0x01FFFEEB  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER12 ID: 0x01FFFEEC  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER13 ID: 0x01FFFEED  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F
FILTER14 ID: 0x01FFFEEE  DLC: 8  Data: 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00
FILTER15 ID: 0x01FFFEEF  DLC: 8  Data: 0xFF 0xFF 0xFF 0xBF 0xFF 0xFF 0xFF 0xFF

CAN transmission data

This tool accepts data to send via UDP Broadcast.
Open a new terminal and execute the following command:

$ chmod 777 transmit.sh
$ vi transmit.sh

Please change if necessary.

$ ./transmit.sh

CAN receive filter settings(Standard Frame)

This tool accepts filter to set via UDP Broadcast.
Open a new terminal and execute the following command:

$ chmod 777 stdmask.sh
$ vi stdmask.sh

Please change if necessary.

$ ./stdmask.sh

CAN receive filter settings(Extended Frame)

This tool accepts filter to set via UDP Broadcast.
Open a new terminal and execute the following command:

$ chmod 777 extmask.sh
$ vi extmask.sh

Please change if necessary.

$ ./extmask.sh

Running on Ubuntu 18.04.4

USBCAN-python-1

Running on Windows10

USBCAN-python-Windows

Trouble shooting

Start by changing the log level.
USB-CAN -python-LogLevel

robotell-usb-can-python's People

Contributors

nopnop2002 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.