> [!warning] > You are viewing the documentation for an unreleased product. The message protocol used by the PDM36 is designed as J1939 compatible. A `.dbc` file containing the proprietary messages can be found in the artefacts of the latest firmware [release](https://github.com/umi-eng/pdm/releases). # Source Address The address can be selected via grounding a combination of the addressing pins. | Address | ADR0 | ADR1 | | ------- | ---- | ---- | | `55h` | | | | `56h` | Y | | | `57h` | | Y | | `58h` | Y | Y | Y = Pin connected to ground. # Output Control PGN: `EF00h` Proprietary A The output state may be set to one of the following values: | Output state | | | ------------ | ----------- | | Value | Description | | 0 | Off | | 1 | On | | 3 | No change | ## Control Outputs 1 - 12 Length: 6 PGN: `EF00h` Proprietary A Example ID: `98EF5500h` | Field | Bits | Allowed values | Description | | --------- | ---- | -------------- | -------------------------------------------------------------------------- | | Mux | 4 | 0 | Message multiplexing. | | Output 1 | 2 | 0 ... 3 | Output state. | | Output 2 | 2 | 0 ... 3 | Output state. | | Output 3 | 2 | 0 ... 3 | Output state. | | Output 4 | 2 | 0 ... 3 | Output state. | | Output 5 | 2 | 0 ... 3 | Output state. | | Output 6 | 2 | 0 ... 3 | Output state. | | Output 7 | 2 | 0 ... 3 | Output state. | | Output 8 | 2 | 0 ... 3 | Output state. | | Output 9 | 2 | 0 ... 3 | Output state. | | Output 10 | 2 | 0 ... 3 | Output state. | | Output 11 | 2 | 0 ... 3 | Output state. | | Output 12 | 2 | 0 ... 3 | Output state. | | PWM duty | 8 | 0 ... 255 | Duty cycle. Set to 255 when PWM is not required.<br><br>0: 0%<br>255: 100% | ## Outputs 13 - 24 Length: 6 PGN: `EF00h` Proprietary A Example ID: `98EF5500h` | Field | Bits | Allowed values | Description | | --------- | ---- | -------------- | -------------------------------------------------------------------------- | | Mux | 4 | 1 | Message multiplexing. | | Output 13 | 2 | 0 ... 3 | Output state. | | Output 14 | 2 | 0 ... 3 | Output state. | | Output 15 | 2 | 0 ... 3 | Output state. | | Output 16 | 2 | 0 ... 3 | Output state. | | Output 17 | 2 | 0 ... 3 | Output state. | | Output 18 | 2 | 0 ... 3 | Output state. | | Output 19 | 2 | 0 ... 3 | Output state. | | Output 20 | 2 | 0 ... 3 | Output state. | | Output 21 | 2 | 0 ... 3 | Output state. | | Output 22 | 2 | 0 ... 3 | Output state. | | Output 23 | 2 | 0 ... 3 | Output state. | | Output 24 | 2 | 0 ... 3 | Output state. | | PWM duty | 8 | 0 ... 255 | Duty cycle. Set to 255 when PWM is not required.<br><br>0: 0%<br>255: 100% | ## Outputs 25 - 36 Length: 6 PGN: `EF00h` Proprietary A Example ID: `98EF5500h` | Field | Bits | Allowed values | Description | | --------- | ---- | -------------- | -------------------------------------------------------------------------- | | Mux | 4 | 2 | Message multiplexing. | | Output 25 | 2 | 0 ... 3 | Output state. | | Output 26 | 2 | 0 ... 3 | Output state. | | Output 27 | 2 | 0 ... 3 | Output state. | | Output 28 | 2 | 0 ... 3 | Output state. | | Output 29 | 2 | 0 ... 3 | Output state. | | Output 30 | 2 | 0 ... 3 | Output state. | | Output 31 | 2 | 0 ... 3 | Output state. | | Output 32 | 2 | 0 ... 3 | Output state. | | Output 33 | 2 | 0 ... 3 | Output state. | | Output 34 | 2 | 0 ... 3 | Output state. | | Output 35 | 2 | 0 ... 3 | Output state. | | Output 36 | 2 | 0 ... 3 | Output state. | | PWM duty | 8 | 0 ... 255 | Duty cycle. Set to 255 when PWM is not required.<br><br>0: 0%<br>255: 100% | # Configure Outputs Length: 8 PGN: `1EF00h` Proprietary A2 | Field | Bits | Allowed values | Description | | ------------------- | ---- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | Mux | 4 | 0 ... 2 | Message multiplexing.<br><br>0: Outputs 1 - 12<br>1: Outputs 13 - 24<br>2: Outputs 25 - 36 | | Channel mask | 12 | 0 ... 4095 | Each bit corresponds to a channel starting at the least significant bit. | | Open load detection | 1 | 0 ... 1 | Enable detecting open-load conditions. This will create a weak ~100kOhm pull-up on the output. | | Reserved | 5 | ... | ... | | Blanking window | 2 | 0 ... 3 | Blanking time when the output goes into shutdown due to thermal or power limitations.<br><br>0: Latch-off<br>1: 32ms<br>2: 96ms<br>3: 240ms | | Current limit | 8 | 5 ... 255 | Set the soft current limit.<br><br>0: Disabled<br>1: 0.1A<br>2: 0.2A<br>...<br>249: 24.9A<br>250: 25.0A | | Economize duty | 8 | 0 ... 255 | Duty cycle after economization delay.<br><br>0: 0%<br>255: 100% | | Economize delay | 8 | 0 ... 15 | Delay before the economization PWM starts.<br><br>0: Disabled<br>1: 50ms<br>2: 100ms<br>...<br>14: 700ms<br>15: 750ms |