Skip to content

Instantly share code, notes, and snippets.

@nbuchwitz
Created December 21, 2023 19:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nbuchwitz/af588fb4a5e5dc99ea2196e1b15eb385 to your computer and use it in GitHub Desktop.
Save nbuchwitz/af588fb4a5e5dc99ea2196e1b15eb385 to your computer and use it in GitHub Desktop.
{
"id": "piMIO",
"version": "1.0",
"comment": ["", "", ""],
"screencomment": "This is Multi digital/analog inputs and outputs Device for RevPi",
"size": "1",
"devicetype": "LEFT_RIGHT",
"producttype": 118,
"input": {
"variants": [
{
"id": "001",
"isDefault": true,
"data": [
{
"name": "DigitalInput",
"type": "BOOL",
"offset": 0,
"range": {
"type": "tooltip_loop",
"values": [0, 1, 1]
},
"default": "0",
"unit": "",
"tags": "input, bool",
"edit": "2",
"order": 1,
"multi": 8,
"multidata": {
"edit": ["3", "3", "3", "3", "4", "4", "4", "4"],
"name": ["", "", "", "", "ReservedDI_5", "ReservedDI_6", "ReservedDI_7", "ReservedDI_8"]
},
"export": true
},
{
"name": "DutyCycle_PulseLength",
"comment": "Dutycycle or PulseLength",
"type": "WORD",
"offset": 1,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "input, word, test",
"edit": "2",
"multi": 4,
"order": 2,
"export": true
},
{
"name": "Fpwm_PulseCount",
"comment": "Frequency or PulseCount DO",
"type": "WORD",
"offset": 9,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "input, word, test",
"edit": "2",
"multi": 4,
"order": 3,
"export": true
},
{
"name": "AnalogInputLogicLevel",
"comment": "Logic Level (high/low) for analogInput",
"type": "BOOL",
"offset": 17,
"range": {
"type": "tooltip_loop",
"values": [0, 255, 1]
},
"default": "0",
"unit": "",
"tags": "input, bool, test",
"edit": "2",
"order": 4,
"multi": 8,
"export": false
},
{
"name": "AnalogInput",
"type": "WORD",
"offset": 18,
"range": {
"type": "tooltip_loop",
"values": [0, 10000, 1]
},
"default": "0",
"unit": "",
"tags": "input, word, test",
"edit": "2",
"order": 5,
"multi": 8,
"export": true
}
]
}
]
},
"output": {
"variants": [
{
"id": "001",
"isDefault": true,
"data": [
{
"name": "DigitalOutput",
"type": "BOOL",
"offset": 34,
"range": {
"type": "tooltip_loop",
"values": [0, 1, 1]
},
"default": "0",
"unit": "",
"tags": "output, bool",
"edit": "3",
"order": 6,
"multi": 8,
"multidata": {
"edit": ["3", "3", "3", "3", "4", "4", "4", "4"],
"name": ["", "", "", "", "ReservedDO_5", "ReservedDO_6", "ReservedDO_7", "ReservedDO_8"]
},
"export": true
},
{
"name": "PwmDutycycle",
"type": "WORD",
"offset": 35,
"range": {
"type": "tooltip_loop",
"values": [0, 1000, 1]
},
"default": "0",
"unit": "",
"tags": "output, byte",
"edit": "3",
"order": 7,
"multi": 4,
"export": true
},
{
"name": "AnalogOutputLogicLevel",
"type": "BOOL",
"offset": 43,
"range": {
"type": "tooltip_loop",
"values": [0, 255, 1]
},
"default": "0",
"unit": "",
"tags": "output, bool",
"edit": "3",
"order": 8,
"multi": 8,
"export": false
},
{
"name": "Reserved",
"type": "BYTE",
"offset": 44,
"range": {
"type": "tooltip_loop",
"values": [0, 255, 1]
},
"default": "0",
"unit": "",
"tags": "output, byte",
"edit": "4",
"order": 32,
"export": false
},
{
"name": "AnalogOutput",
"type": "WORD",
"offset": 45,
"range": {
"type": "tooltip_loop",
"values": [0, 10000, 1]
},
"default": "0",
"unit": "",
"tags": "output, word",
"edit": "3",
"order": 9,
"multi": 8,
"export": true
}
]
}
]
},
"memory": [
{
"name": "EncoderMode",
"comment": "EncoderMode",
"type": "BYTE",
"offset": 61,
"range": {
"type": "list",
"values": ["disabled|0", "enabled|1"]
},
"default": "0",
"unit": "",
"tags": "memory, byte",
"edit": "3",
"order": 10,
"export": false
},
{
"name": "IO_Mode",
"comment": "Config digital IO mode",
"type": "BYTE",
"offset": 62,
"range": {
"type": "list",
"values": ["digitalIn|0", "pulseIn|1", "pwmIn|2", "digitalOut|3", "pulseOut|4", "pwmOut|5"]
},
"default": "0",
"unit": "",
"tags": "memory, byte",
"edit": "3",
"order": 11,
"multi": 4,
"export": false
},
{
"name": "Pullup",
"type": "BYTE",
"offset": 66,
"range": {
"type": "tooltip_loop",
"values": [0, 255, 1]
},
"default": "0",
"unit": "",
"tags": "memory, byte",
"edit": "3",
"order": 12,
"export": false
},
{
"name": "PulseMode",
"type": "BYTE",
"offset": 67,
"range": {
"type": "tooltip_loop",
"values": [0, 255, 1]
},
"default": "0",
"unit": "",
"tags": "memory, byte",
"edit": "3",
"order": 13,
"export": false
},
{
"name": "FpwmOut_12",
"comment": "Pwm-Frequeny of DO1 & DO2",
"type": "WORD",
"offset": 68,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 14,
"export": false
},
{
"name": "FpwmOut_3",
"comment": "Pwm-Frequeny of DO3",
"type": "WORD",
"offset": 70,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 15,
"export": false
},
{
"name": "FpwmOut_4",
"comment": "Pwm-Frequeny of DO4",
"type": "WORD",
"offset": 72,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 16,
"export": false
},
{
"name": "PulseLength",
"comment": "Pulse-Length of DO [0-65535]",
"type": "WORD",
"offset": 74,
"range": {
"type": "tooltip_loop",
"values": [0, 65535, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 17,
"multi": 4,
"export": false
},
{
"name": "AnalogInputMode",
"comment": "AnalogInput Mode",
"type": "BOOL",
"offset": 82,
"range": {
"type": "list",
"values": ["analogInput|0", "LogicLevelInput|1"]
},
"default": "0",
"unit": "",
"tags": "memory, bool",
"edit": "3",
"order": 18,
"multi": 8,
"export": false
},
{
"name": "InputLogicLevelVoltage",
"comment": "Switching threshold for analog inputs[0-10000]",
"type": "WORD",
"offset": 83,
"range": {
"type": "tooltip_loop",
"values": [0, 10000, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 19,
"multi": 8,
"export": false
},
{
"name": "FilterWindowSize",
"comment": "Filter width of the moving average filter",
"type": "BYTE",
"offset": 99,
"range": {
"type": "tooltip_loop",
"values": [1, 255, 1]
},
"default": "1",
"unit": "",
"tags": "memory, byte",
"edit": "3",
"order": 20,
"export": false
},
{
"name": "AnalogOutputMode",
"comment": "AnalogOutput Mode",
"type": "BOOL",
"offset": 100,
"range": {
"type": "list",
"values": ["analogOutput|0", "LogicLevelOutput|1"]
},
"default": "0",
"unit": "",
"tags": "memory, bool",
"edit": "3",
"order": 21,
"multi": 8,
"export": false
},
{
"name": "OutputLogicLevelVoltage",
"comment": "Fixed output voltage for analog outputs[0-10000]",
"type": "WORD",
"offset": 101,
"range": {
"type": "tooltip_loop",
"values": [0, 10000, 1]
},
"default": "0",
"unit": "",
"tags": "memory, WORD",
"edit": "3",
"order": 22,
"multi": 8,
"export": false
}
],
"lang": {
"de": {
"INPUT": "Eingang",
"OUTPUT": "Ausgang"
},
"en": {
"INPUT": "Input",
"OUTPUT": "Output"
}
}
}
@nbuchwitz
Copy link
Author

Install on RevPi:

  1. Copy copy file to RevPi
  2. Copy file into pictory folder: sudo cp RevPiMIO_20200901_1_0.rap /var/www/revpi/pictory/resources/data/rap/RevPiMIO_20200901_1_0.rap
  3. Clear browser cache
  4. Open pictory and reconfigure module (draging the MIO module over the existing one should be enough)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment