semvec/pypi-packages huggingface dataset:
logging-dlt 2.0.0
A python logging adapter for diagnostic log and trace protocol.
Requires Python: >=3.11

# logging-dlt

![coverage](https://gitlab.com/Menschel/logging-dlt/badges/master/coverage.svg)
![pipeline](https://gitlab.com/Menschel/logging-dlt/badges/master/pipeline.svg)

[Documentation](https://menschel.gitlab.io/logging-dlt/)

[DLT Autosar Specification](https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf)

A python logging adapter for "diagnostic log and trace" protocol.

# Description

The goal of this project is to provide a way to route the proprietary dlt
protocol into the python logging framework. This is done by using a logging adapter
together with a dlt stream parser.


# DLT protocol
DLT (Diagnostic Log and Trace) is a proprietary logging protocol.
It is used in debugging automotive ECUs that run Autosar OS.

You should NOT use it if you have the choice!

It has many traps, inconsistencies and architecture dependencies.
In the field it does overflow its own stream buffer, corrupting data on the wire.
It causes endianess problems, e.g. use big endian even if it announced little endian
a few bytes before (
[Proof 1](https://github.com/COVESA/dlt-daemon/blob/master/src/shared/dlt_common.c#L1034),
[2](https://github.com/COVESA/dlt-daemon/blob/master/src/shared/dlt_common.c#L846)
) etc.

It is clear that it did not compete against any other logging mechanism or had any trial phase.
It was just forged into a standard that is enforced for the Autosar OS.


# License
This software is distributed under GPLv3 with some extension because GPLv3 did not manage to deny
criminal misuse by organizations.
This software is intended for usage by community and private individuals who are interested in car hacking.
It is explicitly denied that any company or organization monetizes on this software. Monetize does not only mean money,
it means gaining a competitive advantage of any kind by using this software.
The author explicitly denies the usage for people associated with military,
government agencies of any kind to whatever degree, same for car manufacturers and associates.

# Deprecation of PyPi Packages
Packages on PyPi are no longer updated due to attempts of the Python Software Foundation to enforce new rules and basically flush out 
developers who do not consent.  
Recent packages can be installed directly from git, i.e.   
```pip install git+https://gitlab.com/menschel/logging-dlt.git --upgrade```
GammaHeatingControl 0.0.4
A python 3 interface to EBV Gamma Heating Control.
Requires Python: >=3.7

# GammaHeatingControl

![coverage](https://gitlab.com/Menschel/GammaHeatingControl/badges/master/coverage.svg)
![pipeline](https://gitlab.com/Menschel/GammaHeatingControl/badges/master/pipeline.svg)

[Documentation](https://menschel.gitlab.io/GammaHeatingControl/)

A python 3 interface to EBV Gamma Heating Control.

# Description

Goal of this project is to create a python interface to communicate with EBV Gamma Heating Control Units.

The Company EBV manufactured the Heating Control Unit "Gamma" in the years 2000-2010 (citation needed!).
The system is able to communicate via RS-485 network, linking the main unit with a cascade of satellite units,
so-called room stations, either passive (temperature sensor) or active (display + remote control + temperature sensor).


# Protocol
There have been notes on the protocol by certain developers [1] but none of them actually finished the job.

The RS-485 network used here is a single master bus. The master is the main unit and the master tries something like
time-division-multiplexing.
It sends sync frames with the address of the satellite system that is supposed to send something.

Example:
21 ... 21 ... 21 ... 21 ... 21 (... = ~60-80ms)

is to trigger the first room station controlling the first mixer circuit to send something.
In general almost everything is repeated 5 times for robustness.

The room station answers to that slot announcement.






# Some Notes
This Protocol was reverse engineered on a Rotex Gamma, a software variant of the EBV Gamma 2B, build into Rotex A1 B20i
from 2002.
That device received an active satellite unit RS10 in 2023 as an upgrade, primarily to get a room temperature reference
into the controller to compensate overheating of >2degC due to sun effects. This also presented the chance to reverse
engineer the protocol.

I recommend anyone to upgrade their heating system with a reference room temperature.
If you don't want to buy such a device, build it yourself with a raspberry pi.
The technology is dead cheap, and it saves vast amounts of energy costs!

The company EBV was not willing to share the protocol specification even decades after the production ended!
Therefore, I do not recommend buying any of their products!

# Deprecation of PyPi Packages
Packages on PyPi are no longer updated due to attempts of the Python Software Foundation to enforce new rules and basically flush out 
developers who do not consent.  
Recent packages can be installed directly from git, i.e.   
```pip install git+https://gitlab.com/Menschel/GammaHeatingControl.git --upgrade```

# References

[1] https://github.com/bogeyman/gamma/wiki/Protokoll
socketcan-uds 1.0.1
A python 3 interface to Unified Diagnostic Services (UDS) Protocol
Requires Python: >=3.10

# socketcan-uds

![coverage](https://gitlab.com/Menschel/socketcan-uds/badges/master/coverage.svg)
![pipeline](https://gitlab.com/Menschel/socketcan-uds/badges/master/pipeline.svg)

[Documentation](https://menschel.gitlab.io/socketcan-uds/)

A python 3 implementation of Unified Diagnostic Services (UDS) Protocol specifically targeted for socketcan / linux.

# Description

Goal of this project is to make UDS available in a "pythonic" way, e.g. use built-in types of python3 for efficiency
and "map" the protocol onto the best practices.

# Milestone

All UDS services of 2020's revision are realized in this module.

# Usage

Usage is intended to be simple. UDS is basically a serial port, so use it as one.
You just need to define a CanIsoTpSocket from the corresponding socketcan module and
pass it to the uds constructor.


# License
This software is distributed under GPLv3 with some extension because GPLv3 did not manage to deny
criminal misuse by organizations.
This software is intended for usage by community and private individuals who are interested in car hacking.
It is explicitly denied that any company or organization monetizes on this software. Monetize does not only mean money,
it means gaining a competitive advantage of any kind by using this software.
The author explicitly denies the usage for people associated with military,
government agencies of any kind to whatever degree, same for car manufacturers and associates.

# Deprecation of PyPi Packages
Packages on PyPi are no longer updated due to attempts of the Python Software Foundation to enforce new rules and basically flush out 
developers who do not consent.  
Recent packages can be installed directly from git, i.e.   
```pip install git+https://gitlab.com/Menschel/socketcan-uds.git --upgrade```