Skip to main content

Open-source browser-based CAN bus analyzer

Project description

CANvas Backend

FastAPI + python-can backend for the CANvas CAN bus analyzer.

Quick Start

cd backend

# Install (includes gs_usb support)
pip install -e ".[gs_usb]"

# Run with virtual bus (no hardware needed)
canvaz --interface virtual

# Run with FYSETC UCAN / any Candlelight-firmware device (Windows)
canvaz --interface gs_usb

# Run with slcan (COM port) device
canvaz --interface slcan --channel COM3 --bitrate 500000

# Run on Raspberry Pi (SocketCAN)
canvaz --interface socketcan --channel can0 --bitrate 500000

Browser opens automatically at http://localhost:8080. API docs at http://localhost:8080/docs.

Run Tests (no hardware needed)

pip install -e ".[dev]"
pytest tests/ -v

API Summary

Method Path Description
POST /connect Open CAN interface
POST /disconnect Close interface
GET /status Connection state
POST /send Transmit a frame
WS /ws/frames Live frame stream
POST /dbc/load Upload DBC file
GET /dbc/messages List decoded messages
DELETE /dbc Unload DBC
POST /log/start Start recording
POST /log/stop Stop recording
GET /log/download/{file} Download log file

Interface Notes

gs_usb (default): Targets Candlelight firmware — the default on FYSETC UCAN and most cheap CAN modules. Shows as "USB Composite Device" + "gs_usb" in Windows Device Manager. No COM port. No reflash needed.

slcan: For devices running slcan firmware that enumerate as a COM port. Pass --channel COM3 (or whatever port Windows assigns).

virtual: Software bus — frames loop back on themselves. Used for development and CI. No hardware required.

socketcan: Linux SocketCAN. Requires ip link set can0 up type can bitrate 500000 before starting. Works on Raspberry Pi and WSL2 with usbipd.

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

canviz-0.1.0.tar.gz (100.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

canviz-0.1.0-py3-none-any.whl (102.3 kB view details)

Uploaded Python 3

File details

Details for the file canviz-0.1.0.tar.gz.

File metadata

  • Download URL: canviz-0.1.0.tar.gz
  • Upload date:
  • Size: 100.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for canviz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a3b4324899f12a8bbbd29b18d4ce3ca1b8b59325b91bdb824273f015e21ff606
MD5 a5cf4017bc3528f7e933d8459abe9a54
BLAKE2b-256 849827c985dbf6ebdc0aef493f7046446df1a7e1ff8993e2b062400cf2362672

See more details on using hashes here.

File details

Details for the file canviz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: canviz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 102.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for canviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c25aff8aa75b40242b44b1147c9bed010001fc831e67cdce1f24588a51188e8
MD5 e9ab31d4e35a785c90abaceb399562bc
BLAKE2b-256 35479c3ac1fe2061364f1a34128e18ac4ade4da5bf30867f33c96a25cd2807f1

See more details on using hashes here.

Supported by

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