Vpw analyzer - A visual J1850 VPW analyzer written in Python

Overview

VPW Analyzer

A visual J1850 VPW analyzer written in Python

Requires Tkinter, Pandas, serial, and Python3 These can be installed with pip or a package manager.

pip3 install tk pandas serial

Running the program is as simple as pointing the python3 executable to the vpw_analyzer.py file with

python3 vpw_analyzer.py

How to use

Any ELM327 device should be compatible with this, as it uses only basic AT commands to listen to the bus.

You need to enter the serial port into the "OBD Device Serial Port" box. For Windows, this is typically a "COM1" name. Check device manager to get the actual COM port. For Linux, you need to specify the full /dev/tty device path. Once the serial device is entered, press the "Read" button to connect and begin listening to the bus.

There are 2 boxes in main window. The bottom box shows the messages that were received in order. The top box shows unique messages. For example, if duplicate messages are received, then you would see it twice in the bottom box, but only once in the top box. By changing the "Compare First # Bytes" dropdown changes how many bytes of a data payload are compared to determine if a message is unique or not. Most data responses contain 2 bytes that are an acknowledgement and an ID confirmation.

Known Issues

  • Sending messages does not work
  • Exiting software crashes it
Comments
  • ELM commands are not verified

    ELM commands are not verified

    Right now, the software opens the port and sends off commands. Sleep delays help with higher latency connections. Need to write functions to check the response from these requests to improve responsiveness and do some error checking

    enhancement 
    opened by jonofmac 1
  • Stability bug fixes and OBD configuration improvements

    Stability bug fixes and OBD configuration improvements

    Software now checks output of device before sending more commands. Also adds some error checking Some device verification is done. Graceful shutdowns are now possible

    opened by jonofmac 0
  • Sending messages is broken

    Sending messages is broken

    Currently vpw_analyzer does not have the ability to send messages.

    This is primarily due to the fact that the ELM327 command set does not allow a graceful way to send a message without risking losing a message incoming.

    The basic process to send a message while datalogging with a ELM327 device is this:

    1. Configure device
    2. Enter AT MA (monitor all) mode to see all bus traffic (vpw_analyzer's primary mode)
    3. Cancel AT MA mode
    4. Configure desired headers
    5. Send message
    6. Device waits some amount of time to see if it gets a response to the specified headers (ignoring other traffic)
    7. Enter AT MA mode to continue seeing messages

    Steps 3-6 mean that there's a window of time that messages can (and most probably will) be dropped. This is an inherent weakness with the standard ELM327 commands.

    Some more advanced devices (OBDX VT Pro) offer additional modes to allow transmission while receiving messages. The decision needs to be made to support both modes or only the safer OBDX modes.

    enhancement 
    opened by jonofmac 0
  • Replace direct function calls to UI thread with a queue

    Replace direct function calls to UI thread with a queue

    Right now the forked thread directly calls the UI thread's functions. Normally this would cause issues, but somehow it works in python... The correct way would be to use a queue to safely pass data between the threads. This should also improve performance.

    bug enhancement 
    opened by jonofmac 0
  • Message numbers incorrectly tagged

    Message numbers incorrectly tagged

    Seems to be an issue where duplicate messages are not always properly getting recognized as duplicates or the message pointer from the summary to the message ID field is incorrect.

    bug 
    opened by jonofmac 0
  • Crashes when closed

    Crashes when closed

    Trying to close the script often times causes the program to crash or hang.

    I believe this is due to the serial thread not receiving the command to close and causing a hang-up.

    bug 
    opened by jonofmac 2
Releases(v0.2)
  • v0.2(Feb 1, 2022)

    Version 0.2 fixes the following bugs

    • [x] Fixed shutdown issue caused by hanging thread
    • [x] Responses from OBD device are verified now before sending additional commands. Should fix issues with communication
    • [x] Added some OBD device checking (STN, OBDX, and generic ELM checking)

    What's Changed

    • Dev by @jonofmac in https://github.com/jonofmac/vpw_analyzer/pull/5

    New Contributors

    • @jonofmac made their first contribution in https://github.com/jonofmac/vpw_analyzer/pull/5

    Full Changelog: https://github.com/jonofmac/vpw_analyzer/compare/v0.1...v0.2

    Source code(tar.gz)
    Source code(zip)
  • v0.1(Jan 26, 2022)

Data visualization app for H&M competition in kaggle

handm_data_visualize_app Data visualization app by streamlit for H&M competition in kaggle. competition page: https://www.kaggle.com/competitions/h-an

Kyohei Uto 12 Apr 30, 2022
Fuzzing JavaScript Engines with Aspect-preserving Mutation

DIE Repository for "Fuzzing JavaScript Engines with Aspect-preserving Mutation" (in S&P'20). You can check the paper for technical details. Environmen

gts3.org (<a href=[email protected])"> 190 Dec 11, 2022
Codes and models of NeurIPS2021 paper - DominoSearch: Find layer-wise fine-grained N:M sparse schemes from dense neural networks

DominoSearch This is repository for codes and models of NeurIPS2021 paper - DominoSearch: Find layer-wise fine-grained N:M sparse schemes from dense n

11 Sep 10, 2022
Code for "Modeling Indirect Illumination for Inverse Rendering", CVPR 2022

Modeling Indirect Illumination for Inverse Rendering Project Page | Paper | Data Preparation Set up the python environment conda create -n invrender p

ZJU3DV 116 Jan 03, 2023
A faster pytorch implementation of faster r-cnn

A Faster Pytorch Implementation of Faster R-CNN Write at the beginning [05/29/2020] This repo was initaited about two years ago, developed as the firs

Jianwei Yang 7.1k Jan 01, 2023
Quantized models with python

quantized-network download .pth files to qmodels/: googlenet : https://download.

adreamxcj 2 Dec 28, 2021
Code for Phase diagram of Stochastic Gradient Descent in high-dimensional two-layer neural networks

Phase diagram of Stochastic Gradient Descent in high-dimensional two-layer neural networks Under construction. Description Code for Phase diagram of S

Rodrigo Veiga 3 Nov 24, 2022
用opencv的dnn模块做yolov5目标检测,包含C++和Python两个版本的程序

yolov5-dnn-cpp-py yolov5s,yolov5l,yolov5m,yolov5x的onnx文件在百度云盘下载, 链接:https://pan.baidu.com/s/1d67LUlOoPFQy0MV39gpJiw 提取码:bayj python版本的主程序是main_yolov5.

365 Jan 04, 2023
Advantage Actor Critic (A2C): jax + flax implementation

Advantage Actor Critic (A2C): jax + flax implementation Current version supports only environments with continious action spaces and was tested on muj

Andrey 3 Jan 23, 2022
An official PyTorch Implementation of Boundary-aware Self-supervised Learning for Video Scene Segmentation (BaSSL)

An official PyTorch Implementation of Boundary-aware Self-supervised Learning for Video Scene Segmentation (BaSSL)

Kakao Brain 72 Dec 28, 2022
Raindrop strategy for Irregular time series

Graph-Guided Network For Irregularly Sampled Multivariate Time Series Overview This repository contains processed datasets and implementation code for

Zitnik Lab @ Harvard 74 Jan 03, 2023
General Vision Benchmark, a project from OpenGVLab

Introduction We build GV-B(General Vision Benchmark) on Classification, Detection, Segmentation and Depth Estimation including 26 datasets for model e

174 Dec 27, 2022
A PyTorch implementation of the Relational Graph Convolutional Network (RGCN).

Torch-RGCN Torch-RGCN is a PyTorch implementation of the RGCN, originally proposed by Schlichtkrull et al. in Modeling Relational Data with Graph Conv

Thiviyan Singam 66 Nov 30, 2022
An example to implement a new backbone with OpenMMLab framework.

Backbone example on OpenMMLab framework English | 简体中文 Introduction This is an template repo about how to use OpenMMLab framework to develop a new bac

Ma Zerun 22 Dec 29, 2022
This is the pytorch implementation for the paper: Generalizable Mixed-Precision Quantization via Attribution Rank Preservation, which is accepted to ICCV2021.

GMPQ: Generalizable Mixed-Precision Quantization via Attribution Rank Preservation This is the pytorch implementation for the paper: Generalizable Mix

18 Sep 02, 2022
RCDNet: A Model-driven Deep Neural Network for Single Image Rain Removal (CVPR2020)

RCDNet: A Model-driven Deep Neural Network for Single Image Rain Removal (CVPR2020) Hong Wang, Qi Xie, Qian Zhao, and Deyu Meng [PDF] [Supplementary M

Hong Wang 6 Sep 27, 2022
Veri Setinizi Yolov5 Formatına Dönüştürün

Veri Setinizi Yolov5 Formatına Dönüştürün! Bu Repo da Neler Var? Xml Formatındaki Veri Setini .Txt Formatına Çevirme Xml Formatındaki Dosyaları Silme

Kadir Nar 4 Aug 22, 2022
[TIP 2021] SADRNet: Self-Aligned Dual Face Regression Networks for Robust 3D Dense Face Alignment and Reconstruction

SADRNet Paper link: SADRNet: Self-Aligned Dual Face Regression Networks for Robust 3D Dense Face Alignment and Reconstruction Requirements python

Multimedia Computing Group, Nanjing University 99 Dec 30, 2022
Fake-user-agent-traffic-geneator - Python CLI Tool to generate fake traffic against URLs with configurable user-agents

Fake traffic generator for Gartner Demo Generate fake traffic to URLs with custo

New Relic Experimental 3 Oct 31, 2022
PyTorch implementation of Spiking Neural Networks trained on surrogate gradient & BPTT using snntorch.

snn-localization repo PyTorch implementation of Spiking Neural Networks trained on surrogate gradient & BPTT using snntorch. Install Dependencies Orig

Sami BARCHID 1 Jan 06, 2022