CN-CaoJun / python-linbus

Abstract implementation of data layers for different LIN devices

Repository from Github https://github.comCN-CaoJun/python-linbusRepository from Github https://github.comCN-CaoJun/python-linbus

Introduction

python-linbus abstracts LIN (Local Interconnect Network) data link layers through a unified interface, inspired by python-can's approach. This high-level API simplifies LIN master/slave development by handling protocol complexities, enabling rapid integration of LIN devices for automotive, industrial automation, and embedded systems applications.

Features

📡 Protocol Compliance

Core Standards Implementation:

  • ISO 17987-4:2016 - Electrical physical layer (EPL) specification 12 V
  • ISO 17987-3:2016 - Protocol specification

LIN Stack Topology

🚀 Physical Layer -> Multi-Device Support

  • Extensible Adapter Architecture: Support various LIN hardware interfaces including:
    • Vector LIN interfaces (e.g., VN1610/VN1611)
    • PCAN-LIN interfaces
    • Custom hardware via plugin system
  • Hardware Abstraction Layer: Unified API for LIN frame transmission/reception across different devices

⚙️ DataLink Layer -> LIN Protocol Stack

  • Master Node Implementation:

    • LIN frame scheduling with configurable timing
    • Schedule table management
    • Diagnostic frame handling (LIN 2.0+)
  • Slave Node Simulation:

    • Frame response configuration
    • Event-driven frame handling
    • Error injection capabilities
  • LDF Parser:

    • Full support for LIN Description File (LDF) v2.1+ specifications

NOTE: Current development primarily focuses on Vector series devices for implementation and testing.

Getting Started

TBD

Contributing

🚧 Project Status: This project is currently in its early development phase. We highly value community input and welcome discussions about:

  • Architecture design decisions
  • Hardware compatibility requirements
  • Protocol implementation details
  • Feature prioritization

Development Milestones:

  • Q2 2025: Basic physical layer implementation

  • Q4 2025: Full Data layer services

License

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

About

Abstract implementation of data layers for different LIN devices

License:MIT License


Languages

Language:Python 100.0%