Skip to main content

LDF Language support for Python

Project description

LDF Parser

Workflow PyPI version License

This tool is able parse LIN Description Files, retrieve signal names and frames from them, as well as encoding messages using frame definitions and decoding them.


Example

import ldfparser

# Load LDF
ldf = ldfparser.LDF(path = "network.ldf")
frame = ldf.frame('Frame_1')

# Get baudrate from LDF
print(ldf.baudrate)

# Encode signal values into frame
message = frame.raw({"Signal_1": 123, "Signal_2": 0})
print(binascii.hexlify(message))
# >> 0x7B00

# Decode message into dictionary of signal names and values
received = bytearray([0x7B, 0x00])
print(frame.parse(received))
# >> {"Signal_1": 123, "Signal_2": 0}

# Encode signal values through converters
message = frame.data({"MotorRPM": 100, "FanState": "ON"}, ldf.converters)
print(binascii.hexlify(message))
# >> 0xFE01

Features

  • Semantic validation of LDF files

  • Retrieve header information (version, baudrate)

  • Retrieve Signal and Frame information

  • Retrieve Signal encoding types and use them to convert values

Currently not supported

  • Signals longer than 16 bits

  • Ascii and BCD signal values

  • Node attributes

  • Scheduling table

  • Diagnostics


Installation

Install via pip install ldfparser


Credits

Inspired by uCAN-LIN LinUSBConverter, specifically the LDF parsing mechanism via Lark


License

License

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

ldfparser-0.3.2.tar.gz (8.4 kB view details)

Uploaded Source

Built Distributions

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

ldfparser-0.3.2-py3.6.egg (18.8 kB view details)

Uploaded Egg

ldfparser-0.3.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file ldfparser-0.3.2.tar.gz.

File metadata

  • Download URL: ldfparser-0.3.2.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12

File hashes

Hashes for ldfparser-0.3.2.tar.gz
Algorithm Hash digest
SHA256 6808964cd6ff7052cb5b9530bb44a57069288e4156259f59a87975ae9080faa7
MD5 ec0bfd9f4931c23978d1cffbaf355e84
BLAKE2b-256 36466c47428ee2c0807b5c80912adabf24efc7e7d1df838353a5a39d383ae37c

See more details on using hashes here.

File details

Details for the file ldfparser-0.3.2-py3.6.egg.

File metadata

  • Download URL: ldfparser-0.3.2-py3.6.egg
  • Upload date:
  • Size: 18.8 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12

File hashes

Hashes for ldfparser-0.3.2-py3.6.egg
Algorithm Hash digest
SHA256 20d5fae13d4afdd5b9d6817adf870de883c1ce29357b5a65ea48fb45504a088d
MD5 9a5cec8137e8db1da7218fd5c9d929ce
BLAKE2b-256 5cb7f1c694ebb55322af554f602a89feb32f973b878cc1a1deb32099d4951d35

See more details on using hashes here.

File details

Details for the file ldfparser-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: ldfparser-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12

File hashes

Hashes for ldfparser-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1cfb0ea991d60fce04b4144f084aa8bad99b9f20fda1d4a14360ee86d5b64df1
MD5 d3e061ae2e035bb8db121cbb22886091
BLAKE2b-256 d0e6076328ec5d93cf56ea3f4985ee799fe1b5ee3328e54ff906eace992bb50c

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