Skip to content

Catalog

pyrung.circuitpy.catalog

P1AM-200 module catalog.

Static metadata for all Productivity1000 series I/O modules supported by the P1AM-200 base unit. Each entry describes the module's part number, channel layout, and data type so that :class:~pyrung.circuitpy.hardware.P1AM can construct the appropriate :class:~pyrung.core.memory_block.InputBlock / :class:~pyrung.core.memory_block.OutputBlock instances.

Data sourced from the Arduino Module_List.h master table and the CircuitPython P1AM API reference <https://facts-engineering.github.io/api_reference.html>_.

ModuleDirection

Bases: Enum

I/O direction of a P1AM module.

ChannelGroup dataclass

One homogeneous group of channels within a module.

Simple modules have a single group. Combo modules (e.g. P1-16CDR) have two groups — one input, one output.

Attributes:

Name Type Description
direction ModuleDirection

INPUT or OUTPUT (never COMBO).

count int

Number of channels in this group (positive).

tag_type TagType

IEC data type for the channels.

ModuleSpec dataclass

Static specification for a single P1AM I/O module.

Attributes:

Name Type Description
part_number str

Manufacturer part number (e.g. "P1-08SIM").

description str

Human-readable summary.

groups tuple[ChannelGroup, ...]

One or two :class:ChannelGroup entries describing the module's channels.

direction property

direction: ModuleDirection

Overall direction: INPUT, OUTPUT, or COMBO.

is_combo property

is_combo: bool

True if the module has both input and output channels.

input_group property

input_group: ChannelGroup | None

The input channel group, or None if the module has no inputs.

output_group property

output_group: ChannelGroup | None

The output channel group, or None if the module has no outputs.