pigpio/EXAMPLES/Python/SENT_PROTOCOL
Mark 35aa210556 added an example of using the pigpio library to implement the SENT interface.
SENT is an automotive standard single wire interface for robust communication
with sensors in a car, but the standard can be used anywhere.   It has error detection
including CRC checking.  There is a write up about it on the
Blog:   https://surfncircuits.com/2020/11/27/implementing-a-single-edge-nibble-transmission-sent-protocol-in-python-for-the-raspberry-pi-zero/
2020-12-20 09:16:10 -08:00
..
README.md added an example of using the pigpio library to implement the SENT interface. 2020-12-20 09:16:10 -08:00
read_SENT.py added an example of using the pigpio library to implement the SENT interface. 2020-12-20 09:16:10 -08:00

README.md

Python Class for Reading Single Edge Nibble Transmission (SENT) using the Raspberry Pi

A full description of this Python script is described at www.surfncircuits.com in the blog entry: Implementing a Single Edge Nibble Transmission (SENT) protocol in Python for the Raspberry Pi Zero

This python library will read a Raspberry Pi GPIO pin connected. Start the pigpiod daemon with one microsecond sampling to read SENT transmissions with three microsecond tick times.

To start the daemon on Raspberry Pi

  • sudo pigpiod -s 1

SENT packet frame summary

  • Sync Pulse: 56 ticks
  • 4 bit Status and Message Pulse: 17-32 ticks
  • 4 bit (9:12) Data1 Field: 17-32 ticks
  • 4 bit (5:8) Data1 Field: 17-32 ticks
  • 4 bit (1:4) Data1 Field: 17-32 ticks
  • 4 bit (9-12) Data2 Field: 17-32 ticks
  • 4 bit (5-8) Data2 Field: 17-32 ticks
  • 4 bit (1-4) Data2 Field: 17-32 ticks
  • 4 bit CRC: 17-32 ticks

requirements

pigpiod library required

To run the script for a signal attached to GPIO BCD 18 (pin 12)

  • python3 sent_READ.py