Metadata-Version: 2.5
Name: pamoja-field-io
Version: 0.1.18
Summary: Field I/O: The wires a gateway actually has: framed serial packets, an RS485 request and the reply it draws, a CAN frame, the address a chip answers on, and the bus that carries a driver to the part.
Project-URL: Repository, https://github.com/molexxxx/pamoja
Project-URL: Documentation, https://pamoja.molex.cloud/docs/install.html
Author: molexxxx
License: MIT
License-File: LICENSE-MIT
Keywords: field-io,iot,pamoja,robotics
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: pamoja-can==0.1.18
Requires-Dist: pamoja-core==0.1.18
Requires-Dist: pamoja-gpio==0.1.18
Requires-Dist: pamoja-modbus==0.1.18
Requires-Dist: pamoja-serial==0.1.18
Description-Content-Type: text/markdown

# pamoja-field-io

The wires a gateway actually has: framed serial packets, an RS485 request and the reply it draws, a CAN frame, the address a chip answers on, and the bus that carries a driver to the part.

One install for the 5 capabilities of this domain. Each is also its own
distribution, and `pamoja` is the whole framework in one.

```sh
pip install pamoja-field-io
```

```python
from pamoja.field_io import serial
```

| Capability | Module | What it covers |
| --- | --- | --- |
| [Serial framing](https://pamoja.molex.cloud/docs/guides/serial.html) | `pamoja.serial` | SLIP and COBS byte stuffing with streaming decoders, so a UART byte stream carries discrete packets |
| [Modbus RTU](https://pamoja.molex.cloud/docs/guides/modbus.html) | `pamoja.modbus` | Modbus RTU requests and replies with CRC-16/MODBUS for RS485 field devices |
| [CAN and J1939](https://pamoja.molex.cloud/docs/guides/can.html) | `pamoja.can` | CAN 2.0 and CAN-FD frames with 11- and 29-bit identifiers, plus J1939 decode and compose |
| [I2C, SPI, and GPIO](https://pamoja.molex.cloud/docs/guides/gpio.html) | `pamoja.gpio` | I2C address frames with reserved-range checks, the four SPI clock modes, and active-high or active-low pins |
| [Buses](https://pamoja.molex.cloud/docs/guides/hal.html) | `pamoja.core` | The embedded-hal traits every driver takes, a bit-banged 1-Wire bus, scripted buses that play a part's side of a conversation, and the Linux backends over i2c-dev, spidev, and the GPIO character device |

The guides, with a worked Python example for each, are at [https://pamoja.molex.cloud/docs](https://pamoja.molex.cloud/docs/).

## License

MIT
