Cannot add MIO module,

Topics about the Software of Revolution Pi
kjkoster
Posts: 87
Joined: 12 Feb 2022, 10:42
Answers: 2

Cannot add MIO module,

Post by kjkoster »

Dear All,

I am trying to set up a Revolution Pi with a bunch of I/O modules. So far I managed to set up a Connect+ with two AIO modules and that works (I tested both of them using a quick Python program). However, when I add a MIO module as the third expansion module, the configuration breaks and I can no longer start my Python program.

Here is the error I get (abbreviated for readability, I removed the repeating lines):

Code: Select all

$ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import revpimodio2
>>> rpi = revpimodio2.RevPiModIO(autorefresh=True)
/usr/lib/python3/dist-packages/revpimodio2/device.py:171: Warning: Device offset ERROR in piCtory configuration! Offset of 'RevPi AIO 2' must be 140 but is 117 - Overlapping devices overwrite the same memory, which has unpredictable effects!!!
  Warning
/usr/lib/python3/dist-packages/revpimodio2/device.py:362: Warning: IO InputValue_1_i05 is not in the device offset and will be ignored
  Warning
...
/usr/lib/python3/dist-packages/revpimodio2/device.py:171: Warning: Device offset ERROR in piCtory configuration! Offset of 'RevPi AIO 1' must be 229 but is 206 - Overlapping devices overwrite the same memory, which has unpredictable effects!!!
  Warning
/usr/lib/python3/dist-packages/revpimodio2/device.py:362: Warning: IO InputValue_1 is not in the device offset and will be ignored
  Warning
...
/usr/lib/python3/dist-packages/revpimodio2/device.py:171: Warning: Device offset ERROR in piCtory configuration! Offset of 'RevPi Connect/+/S' must be 318 but is 295 - Overlapping devices overwrite the same memory, which has unpredictable effects!!!
  Warning
/usr/lib/python3/dist-packages/revpimodio2/device.py:362: Warning: IO RevPiStatus is not in the device offset and will be ignored
  Warning
Here is a screenshot of Pictory. Notice how the MIO module is listed to have 28 inputs and 24 outputs, which seems like an awful lot. Is that correct?
Screenshot 2022-03-30 at 13.55.43.png
Screenshot 2022-03-30 at 13.55.43.png (431.43 KiB) Viewed 13975 times
This is the device configuration on the command line:

Code: Select all

$ piTest -d
Found 4 devices:

Address: 0 module type: 105 (0x69) RevPi Connect V1.0
Module is present
     input offset: 295 length: 6
    output offset: 301 length: 5

Address: 31 module type: 103 (0x67) RevPi AIO V1.4
Module is present
     input offset: 206 length: 20
    output offset: 226 length: 4

Address: 30 module type: 103 (0x67) RevPi AIO V1.4
Module is present
     input offset: 117 length: 20
    output offset: 137 length: 4

Address: 29 module type: 118 (0x76) RevPi MIO V1.0
Module is present
     input offset: 0 length: 34
    output offset: 1 length: 27
And finally my config file:

Code: Select all

{"App": {"name": "PiCtory", "version": "2.0.5", "saveTS": "20220330133636", "language": "en", "layout": {"north": {"size": 70, "initClosed": false, "initHidden": false}, "south": {"size": 294, "initClosed": false, "initHidden": false, "children": {"layout1": {"east": {"size": 500, "initClosed": false, "initHidden": false}}}}, "east": {"size": 70, "initClosed": true, "initHidden": false, "children": {}}, "west": {"size": 200, "initClosed": false, "initHidden": false, "children": {"layout1": {}}}}}, "Summary": {"inpTotal": 80, "outTotal": 40}, "Devices": [{"GUID": "30bee5df-04d0-f0a2-5bae-7b69b9b6112c", "id": "device_RevPiMIO_20200901_1_0_001", "type": "LEFT_RIGHT", "productType": "118", "position": "29", "name": "RevPi MIO", "bmk": "RevPi MIO", "inpVariant": 0, "outVariant": 0, "comment": "", "offset": 0, "inp": {"0": ["DigitalInput_1", "0", "1", "0", true, "0000", "", "0"], "1": ["DigitalInput_2", "0", "1", "0", true, "0001", "", "1"], "2": ["DigitalInput_3", "0", "1", "0", true, "0002", "", "2"], "3": ["DigitalInput_4", "0", "1", "0", true, "0003", "", "3"], "4": ["DutyCycle_PulseLength_1", "0", "16", "1", true, "0004", "Dutycycle or PulseLength", ""], "5": ["DutyCycle_PulseLength_2", "0", "16", "3", true, "0005", "Dutycycle or PulseLength", ""], "6": ["DutyCycle_PulseLength_3", "0", "16", "5", true, "0006", "Dutycycle or PulseLength", ""], "7": ["DutyCycle_PulseLength_4", "0", "16", "7", true, "0007", "Dutycycle or PulseLength", ""], "8": ["Fpwm_PulseCount_1", "0", "16", "9", true, "0008", "Frequency or PulseCount DO", ""], "9": ["Fpwm_PulseCount_2", "0", "16", "11", true, "0009", "Frequency or PulseCount DO", ""], "10": ["Fpwm_PulseCount_3", "0", "16", "13", true, "0010", "Frequency or PulseCount DO", ""], "11": ["Fpwm_PulseCount_4", "0", "16", "15", true, "0011", "Frequency or PulseCount DO", ""], "12": ["AnalogInputLogicLevel_1", "0", "1", "17", false, "0012", "Logic Level (high/low) for analogInput", "0"], "13": ["AnalogInputLogicLevel_2", "0", "1", "17", false, "0013", "Logic Level (high/low) for analogInput", "1"], "14": ["AnalogInputLogicLevel_3", "0", "1", "17", false, "0014", "Logic Level (high/low) for analogInput", "2"], "15": ["AnalogInputLogicLevel_4", "0", "1", "17", false, "0015", "Logic Level (high/low) for analogInput", "3"], "16": ["AnalogInputLogicLevel_5", "0", "1", "17", false, "0016", "Logic Level (high/low) for analogInput", "4"], "17": ["AnalogInputLogicLevel_6", "0", "1", "17", false, "0017", "Logic Level (high/low) for analogInput", "5"], "18": ["AnalogInputLogicLevel_7", "0", "1", "17", false, "0018", "Logic Level (high/low) for analogInput", "6"], "19": ["AnalogInputLogicLevel_8", "0", "1", "17", false, "0019", "Logic Level (high/low) for analogInput", "7"], "20": ["AnalogInput_1", "0", "16", "18", true, "0020", "", ""], "21": ["AnalogInput_2", "0", "16", "20", true, "0021", "", ""], "22": ["AnalogInput_3", "0", "16", "22", true, "0022", "", ""], "23": ["AnalogInput_4", "0", "16", "24", true, "0023", "", ""], "24": ["AnalogInput_5", "0", "16", "26", true, "0024", "", ""], "25": ["AnalogInput_6", "0", "16", "28", true, "0025", "", ""], "26": ["AnalogInput_7", "0", "16", "30", true, "0026", "", ""], "27": ["AnalogInput_8", "0", "16", "32", true, "0027", "", ""], "28": ["ReservedDI_1", "0", "1", "0", false, "0099", "", "0"], "29": ["ReservedDI_2", "0", "1", "0", false, "0100", "", "1"], "30": ["ReservedDI_3", "0", "1", "0", false, "0101", "", "2"], "31": ["ReservedDI_4", "0", "1", "0", false, "0102", "", "3"]}, "out": {"0": ["DigitalOutput_1", "0", "1", "1", true, "0028", "", "0"], "1": ["DigitalOutput_2", "0", "1", "2", true, "0029", "", "1"], "2": ["DigitalOutput_3", "0", "1", "3", true, "0030", "", "2"], "3": ["DigitalOutput_4", "0", "1", "4", true, "0031", "", "3"], "4": ["PwmDutycycle_1", "0", "16", "5", true, "0032", "", ""], "5": ["PwmDutycycle_2", "0", "16", "7", true, "0033", "", ""], "6": ["PwmDutycycle_3", "0", "16", "9", true, "0034", "", ""], "7": ["PwmDutycycle_4", "0", "16", "11", true, "0035", "", ""], "8": ["AnalogOutputLogicLevel_1", "0", "1", "13", false, "0036", "", "0"], "9": ["AnalogOutputLogicLevel_2", "0", "1", "14", false, "0037", "", "1"], "10": ["AnalogOutputLogicLevel_3", "0", "1", "15", false, "0038", "", "2"], "11": ["AnalogOutputLogicLevel_4", "0", "1", "16", false, "0039", "", "3"], "12": ["AnalogOutputLogicLevel_5", "0", "1", "17", false, "0040", "", "4"], "13": ["AnalogOutputLogicLevel_6", "0", "1", "18", false, "0041", "", "5"], "14": ["AnalogOutputLogicLevel_7", "0", "1", "19", false, "0042", "", "6"], "15": ["AnalogOutputLogicLevel_8", "0", "1", "20", false, "0043", "", "7"], "16": ["AnalogOutput_1", "0", "16", "21", true, "0044", "", ""], "17": ["AnalogOutput_2", "0", "16", "23", true, "0045", "", ""], "18": ["AnalogOutput_3", "0", "16", "25", true, "0046", "", ""], "19": ["AnalogOutput_4", "0", "16", "27", true, "0047", "", ""], "20": ["AnalogOutput_5", "0", "16", "29", true, "0048", "", ""], "21": ["AnalogOutput_6", "0", "16", "31", true, "0049", "", ""], "22": ["AnalogOutput_7", "0", "16", "33", true, "0050", "", ""], "23": ["AnalogOutput_8", "0", "16", "35", true, "0051", "", ""], "24": ["ReservedDO_1", "0", "1", "34", false, "0103", "", "0"], "25": ["ReservedDO_2", "0", "1", "34", false, "0104", "", "1"], "26": ["ReservedDO_3", "0", "1", "34", false, "0105", "", "2"], "27": ["ReservedDO_4", "0", "1", "34", false, "0106", "", "3"], "28": ["Reserved", "0", "8", "35", false, "0107", "", ""]}, "mem": {"0": ["EncoderMode", "0", "8", "36", false, "0052", "EncoderMode", ""], "1": ["IO_Mode_1", "0", "8", "37", false, "0053", "Config digital IO mode", ""], "2": ["IO_Mode_2", "0", "8", "38", false, "0054", "Config digital IO mode", ""], "3": ["IO_Mode_3", "0", "8", "39", false, "0055", "Config digital IO mode", ""], "4": ["IO_Mode_4", "0", "8", "40", false, "0056", "Config digital IO mode", ""], "5": ["Pullup", "0", "8", "41", false, "0057", "", ""], "6": ["PulseMode", "0", "8", "42", false, "0058", "", ""], "7": ["FpwmOut_12", "0", "16", "43", false, "0059", "Pwm-Frequeny of DO1 & DO2", ""], "8": ["FpwmOut_3", "0", "16", "45", false, "0060", "Pwm-Frequeny of DO3", ""], "9": ["FpwmOut_4", "0", "16", "47", false, "0061", "Pwm-Frequeny of DO4", ""], "10": ["PulseLength_1", "0", "16", "49", false, "0062", "Pulse-Length of DO [0-65535]", ""], "11": ["PulseLength_2", "0", "16", "51", false, "0063", "Pulse-Length of DO [0-65535]", ""], "12": ["PulseLength_3", "0", "16", "53", false, "0064", "Pulse-Length of DO [0-65535]", ""], "13": ["PulseLength_4", "0", "16", "55", false, "0065", "Pulse-Length of DO [0-65535]", ""], "14": ["AnalogInputMode_1", "0", "1", "57", false, "0066", "AnalogInput Mode", "0"], "15": ["AnalogInputMode_2", "0", "1", "58", false, "0067", "AnalogInput Mode", "1"], "16": ["AnalogInputMode_3", "0", "1", "59", false, "0068", "AnalogInput Mode", "2"], "17": ["AnalogInputMode_4", "0", "1", "60", false, "0069", "AnalogInput Mode", "3"], "18": ["AnalogInputMode_5", "0", "1", "61", false, "0070", "AnalogInput Mode", "4"], "19": ["AnalogInputMode_6", "0", "1", "62", false, "0071", "AnalogInput Mode", "5"], "20": ["AnalogInputMode_7", "0", "1", "63", false, "0072", "AnalogInput Mode", "6"], "21": ["AnalogInputMode_8", "0", "1", "64", false, "0073", "AnalogInput Mode", "7"], "22": ["InputLogicLevelVoltage_1", "0", "16", "65", false, "0074", "Switching threshold for analog inputs[0-10000]", ""], "23": ["InputLogicLevelVoltage_2", "0", "16", "67", false, "0075", "Switching threshold for analog inputs[0-10000]", ""], "24": ["InputLogicLevelVoltage_3", "0", "16", "69", false, "0076", "Switching threshold for analog inputs[0-10000]", ""], "25": ["InputLogicLevelVoltage_4", "0", "16", "71", false, "0077", "Switching threshold for analog inputs[0-10000]", ""], "26": ["InputLogicLevelVoltage_5", "0", "16", "73", false, "0078", "Switching threshold for analog inputs[0-10000]", ""], "27": ["InputLogicLevelVoltage_6", "0", "16", "75", false, "0079", "Switching threshold for analog inputs[0-10000]", ""], "28": ["InputLogicLevelVoltage_7", "0", "16", "77", false, "0080", "Switching threshold for analog inputs[0-10000]", ""], "29": ["InputLogicLevelVoltage_8", "0", "16", "79", false, "0081", "Switching threshold for analog inputs[0-10000]", ""], "30": ["FilterWindowSize", "1", "8", "81", false, "0082", "Filter width of the moving average filter", ""], "31": ["AnalogOutputMode_1", "0", "1", "82", false, "0083", "AnalogOutput Mode", "0"], "32": ["AnalogOutputMode_2", "0", "1", "83", false, "0084", "AnalogOutput Mode", "1"], "33": ["AnalogOutputMode_3", "0", "1", "84", false, "0085", "AnalogOutput Mode", "2"], "34": ["AnalogOutputMode_4", "0", "1", "85", false, "0086", "AnalogOutput Mode", "3"], "35": ["AnalogOutputMode_5", "0", "1", "86", false, "0087", "AnalogOutput Mode", "4"], "36": ["AnalogOutputMode_6", "0", "1", "87", false, "0088", "AnalogOutput Mode", "5"], "37": ["AnalogOutputMode_7", "0", "1", "88", false, "0089", "AnalogOutput Mode", "6"], "38": ["AnalogOutputMode_8", "0", "1", "89", false, "0090", "AnalogOutput Mode", "7"], "39": ["OutputLogicLevelVoltage_1", "0", "16", "90", false, "0091", "Fixed output voltage for analog outputs[0-10000]", ""], "40": ["OutputLogicLevelVoltage_2", "0", "16", "92", false, "0092", "Fixed output voltage for analog outputs[0-10000]", ""], "41": ["OutputLogicLevelVoltage_3", "0", "16", "94", false, "0093", "Fixed output voltage for analog outputs[0-10000]", ""], "42": ["OutputLogicLevelVoltage_4", "0", "16", "96", false, "0094", "Fixed output voltage for analog outputs[0-10000]", ""], "43": ["OutputLogicLevelVoltage_5", "0", "16", "98", false, "0095", "Fixed output voltage for analog outputs[0-10000]", ""], "44": ["OutputLogicLevelVoltage_6", "0", "16", "100", false, "0096", "Fixed output voltage for analog outputs[0-10000]", ""], "45": ["OutputLogicLevelVoltage_7", "0", "16", "102", false, "0097", "Fixed output voltage for analog outputs[0-10000]", ""], "46": ["OutputLogicLevelVoltage_8", "0", "16", "104", false, "0098", "Fixed output voltage for analog outputs[0-10000]", ""]}, "extend": {}}, {"GUID": "90e6e53a-570f-10d7-1157-27a919c58687", "id": "device_RevPiAIO_20170301_1_0_002", "type": "LEFT_RIGHT", "productType": "103", "position": "30", "name": "RevPi AIO 2", "bmk": "RevPi AIO 2", "inpVariant": 0, "outVariant": 0, "comment": "", "offset": 117, "inp": {"0": ["InputValue_1_i05", "0", "16", "0", false, "0000", "", ""], "1": ["InputValue_2_i05", "0", "16", "2", false, "0001", "", ""], "2": ["InputValue_3_i05", "0", "16", "4", false, "0002", "", ""], "3": ["InputValue_4_i05", "0", "16", "6", false, "0003", "", ""], "4": ["InputStatus_1_i05", "0", "8", "8", false, "0004", "", ""], "5": ["InputStatus_2_i05", "0", "8", "9", false, "0005", "", ""], "6": ["InputStatus_3_i05", "0", "8", "10", false, "0006", "", ""], "7": ["InputStatus_4_i05", "0", "8", "11", false, "0007", "", ""], "8": ["RTDValue_1_i05", "0", "16", "12", false, "0008", "", ""], "9": ["RTDValue_2_i05", "0", "16", "14", false, "0009", "", ""], "10": ["RTDStatus_1_i05", "0", "8", "16", false, "0010", "", ""], "11": ["RTDStatus_2_i05", "0", "8", "17", false, "0011", "", ""], "12": ["OutputStatus_1_i05", "0", "8", "18", false, "0012", "", ""], "13": ["OutputStatus_2_i05", "0", "8", "19", false, "0013", "", ""]}, "out": {"0": ["OutputValue_1_i05", "0", "16", "20", false, "0014", "", ""], "1": ["OutputValue_2_i05", "0", "16", "22", false, "0015", "", ""]}, "mem": {"0": ["Input1Range_i05", "1", "8", "24", false, "0016", "You must use wire bridges for current measurement!", ""], "1": ["Input1Multiplier_i05", "1", "16", "25", false, "0017", "", ""], "2": ["Input1Divisor_i05", "1", "16", "27", false, "0018", "", ""], "3": ["Input1Offset_i05", "0", "16", "29", false, "0019", "", ""], "4": ["Input2Range_i05", "1", "8", "31", false, "0020", "You must use wire bridges for current measurement!", ""], "5": ["Input2Multiplier_i05", "1", "16", "32", false, "0021", "", ""], "6": ["Input2Divisor_i05", "1", "16", "34", false, "0022", "", ""], "7": ["Input2Offset_i05", "0", "16", "36", false, "0023", "", ""], "8": ["Input3Range_i05", "1", "8", "38", false, "0024", "You must use wire bridges for current measurement!", ""], "9": ["Input3Multiplier_i05", "1", "16", "39", false, "0025", "", ""], "10": ["Input3Divisor_i05", "1", "16", "41", false, "0026", "", ""], "11": ["Input3Offset_i05", "0", "16", "43", false, "0027", "", ""], "12": ["Input4Range_i05", "1", "8", "45", false, "0028", "You must use wire bridges for current measurement!", ""], "13": ["Input4Multiplier_i05", "1", "16", "46", false, "0029", "", ""], "14": ["Input4Divisor_i05", "1", "16", "48", false, "0030", "", ""], "15": ["Input4Offset_i05", "0", "16", "50", false, "0031", "", ""], "16": ["ADC_DataRate_i05", "0", "8", "52", false, "0032", "Use lowest value for highest precision and a maximum 50 Hz suppression", ""], "17": ["RTD1Type_i05", "0", "8", "53", false, "0033", "", ""], "18": ["RTD1Wiring_i05", "0", "8", "54", false, "0034", "You must use wire bridges for 2-wire sensors!", ""], "19": ["RTD1Multiplier_i05", "1", "16", "55", false, "0035", "", ""], "20": ["RTD1Divisor_i05", "1", "16", "57", false, "0036", "", ""], "21": ["RTD1Offset_i05", "0", "16", "59", false, "0037", "", ""], "22": ["RTD2Type_i05", "0", "8", "61", false, "0038", "", ""], "23": ["RTD2Wiring_i05", "0", "8", "62", false, "0039", "You must use wire bridges for 2-wire sensors!", ""], "24": ["RTD2Multiplier_i05", "1", "16", "63", false, "0040", "", ""], "25": ["RTD2Divisor_i05", "1", "16", "65", false, "0041", "", ""], "26": ["RTD2Offset_i05", "0", "16", "67", false, "0042", "", ""], "27": ["Output1Range_i05", "0", "8", "69", false, "0043", "", ""], "28": ["Output1EnableSlew_i05", "0", "8", "70", false, "0044", "Enable slew rate deceleration", ""], "29": ["Output1SlewStepSize_i05", "0", "8", "71", false, "0045", "Slew rate step size", ""], "30": ["Output1SlewClock_i05", "0", "8", "72", false, "0046", "lock rate of slew rate deceleration in kHz", ""], "31": ["Output1Multiplier_i05", "1", "16", "73", false, "0047", "", ""], "32": ["Output1Divisor_i05", "1", "16", "75", false, "0048", "", ""], "33": ["Output1Offset_i05", "0", "16", "77", false, "0049", "", ""], "34": ["Output2Range_i05", "0", "8", "79", false, "0050", "", ""], "35": ["Output2EnableSlew_i05", "0", "8", "80", false, "0051", "Enable slew rate deceleration", ""], "36": ["Output2SlewStepSize_i05", "0", "8", "81", false, "0052", "Slew rate step size", ""], "37": ["Output2SlewClock_i05", "0", "8", "82", false, "0053", "lock rate of slew rate deceleration in kHz", ""], "38": ["Output2Multiplier_i05", "1", "16", "83", false, "0054", "", ""], "39": ["Output2Divisor_i05", "1", "16", "85", false, "0055", "", ""], "40": ["Output2Offset_i05", "0", "16", "87", false, "0056", "", ""]}, "extend": {}}, {"GUID": "6fa5abeb-431d-db89-433d-283db8acf0c4", "id": "device_RevPiAIO_20170301_1_0_001", "type": "LEFT_RIGHT", "productType": "103", "position": "31", "name": "RevPi AIO 1", "bmk": "RevPi AIO 1", "inpVariant": 0, "outVariant": 0, "comment": "", "offset": 206, "inp": {"0": ["InputValue_1", "0", "16", "0", false, "0000", "", ""], "1": ["InputValue_2", "0", "16", "2", false, "0001", "", ""], "2": ["InputValue_3", "0", "16", "4", false, "0002", "", ""], "3": ["InputValue_4", "0", "16", "6", false, "0003", "", ""], "4": ["InputStatus_1", "0", "8", "8", false, "0004", "", ""], "5": ["InputStatus_2", "0", "8", "9", false, "0005", "", ""], "6": ["InputStatus_3", "0", "8", "10", false, "0006", "", ""], "7": ["InputStatus_4", "0", "8", "11", false, "0007", "", ""], "8": ["RTDValue_1", "0", "16", "12", false, "0008", "", ""], "9": ["RTDValue_2", "0", "16", "14", false, "0009", "", ""], "10": ["RTDStatus_1", "0", "8", "16", false, "0010", "", ""], "11": ["RTDStatus_2", "0", "8", "17", false, "0011", "", ""], "12": ["OutputStatus_1", "0", "8", "18", false, "0012", "", ""], "13": ["OutputStatus_2", "0", "8", "19", false, "0013", "", ""]}, "out": {"0": ["OutputValue_1", "0", "16", "20", false, "0014", "", ""], "1": ["OutputValue_2", "0", "16", "22", false, "0015", "", ""]}, "mem": {"0": ["Input1Range", "1", "8", "24", false, "0016", "You must use wire bridges for current measurement!", ""], "1": ["Input1Multiplier", "1", "16", "25", false, "0017", "", ""], "2": ["Input1Divisor", "1", "16", "27", false, "0018", "", ""], "3": ["Input1Offset", "0", "16", "29", false, "0019", "", ""], "4": ["Input2Range", "1", "8", "31", false, "0020", "You must use wire bridges for current measurement!", ""], "5": ["Input2Multiplier", "1", "16", "32", false, "0021", "", ""], "6": ["Input2Divisor", "1", "16", "34", false, "0022", "", ""], "7": ["Input2Offset", "0", "16", "36", false, "0023", "", ""], "8": ["Input3Range", "1", "8", "38", false, "0024", "You must use wire bridges for current measurement!", ""], "9": ["Input3Multiplier", "1", "16", "39", false, "0025", "", ""], "10": ["Input3Divisor", "1", "16", "41", false, "0026", "", ""], "11": ["Input3Offset", "0", "16", "43", false, "0027", "", ""], "12": ["Input4Range", "1", "8", "45", false, "0028", "You must use wire bridges for current measurement!", ""], "13": ["Input4Multiplier", "1", "16", "46", false, "0029", "", ""], "14": ["Input4Divisor", "1", "16", "48", false, "0030", "", ""], "15": ["Input4Offset", "0", "16", "50", false, "0031", "", ""], "16": ["ADC_DataRate", "0", "8", "52", false, "0032", "Use lowest value for highest precision and a maximum 50 Hz suppression", ""], "17": ["RTD1Type", "0", "8", "53", false, "0033", "", ""], "18": ["RTD1Wiring", "0", "8", "54", false, "0034", "You must use wire bridges for 2-wire sensors!", ""], "19": ["RTD1Multiplier", "1", "16", "55", false, "0035", "", ""], "20": ["RTD1Divisor", "1", "16", "57", false, "0036", "", ""], "21": ["RTD1Offset", "0", "16", "59", false, "0037", "", ""], "22": ["RTD2Type", "0", "8", "61", false, "0038", "", ""], "23": ["RTD2Wiring", "0", "8", "62", false, "0039", "You must use wire bridges for 2-wire sensors!", ""], "24": ["RTD2Multiplier", "1", "16", "63", false, "0040", "", ""], "25": ["RTD2Divisor", "1", "16", "65", false, "0041", "", ""], "26": ["RTD2Offset", "0", "16", "67", false, "0042", "", ""], "27": ["Output1Range", "0", "8", "69", false, "0043", "", ""], "28": ["Output1EnableSlew", "0", "8", "70", false, "0044", "Enable slew rate deceleration", ""], "29": ["Output1SlewStepSize", "0", "8", "71", false, "0045", "Slew rate step size", ""], "30": ["Output1SlewClock", "0", "8", "72", false, "0046", "lock rate of slew rate deceleration in kHz", ""], "31": ["Output1Multiplier", "1", "16", "73", false, "0047", "", ""], "32": ["Output1Divisor", "1", "16", "75", false, "0048", "", ""], "33": ["Output1Offset", "0", "16", "77", false, "0049", "", ""], "34": ["Output2Range", "0", "8", "79", false, "0050", "", ""], "35": ["Output2EnableSlew", "0", "8", "80", false, "0051", "Enable slew rate deceleration", ""], "36": ["Output2SlewStepSize", "0", "8", "81", false, "0052", "Slew rate step size", ""], "37": ["Output2SlewClock", "0", "8", "82", false, "0053", "lock rate of slew rate deceleration in kHz", ""], "38": ["Output2Multiplier", "1", "16", "83", false, "0054", "", ""], "39": ["Output2Divisor", "1", "16", "85", false, "0055", "", ""], "40": ["Output2Offset", "0", "16", "87", false, "0056", "", ""]}, "extend": {}}, {"GUID": "8054212d-588b-a945-4f1b-fa9d7cf35e9e", "id": "device_RevPiConnect_20171023_1_0_001", "type": "BASE", "productType": "105", "position": "0", "name": "RevPi Connect/+/S", "bmk": "RevPi Connect/+/S", "inpVariant": 0, "outVariant": 0, "comment": "", "offset": 295, "inp": {"0": ["RevPiStatus", "0", "8", "0", true, "0000", "", ""], "1": ["RevPiIOCycle", "0", "8", "1", true, "0001", "", ""], "2": ["RS485ErrorCnt", "0", "16", "2", false, "0002", "", ""], "3": ["Core_Temperature", "0", "8", "4", false, "0003", "", ""], "4": ["Core_Frequency", "0", "8", "5", false, "0004", "", ""]}, "out": {"0": ["RevPiLED", "0", "8", "6", true, "0005", "", ""], "1": ["RS485ErrorLimit1", "10", "16", "7", false, "0006", "", ""], "2": ["RS485ErrorLimit2", "1000", "16", "9", false, "0007", "", ""]}, "mem": {}, "extend": {}}], "Connections": []}
User avatar
nicolaiB
KUNBUS
Posts: 871
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: Cannot add MIO module,

Post by nicolaiB »

Hi Kees,

thanks for your detailed report! I was able to reproduce the error in my test environment and will start looking into it later today. I'll keep you updated.

Nicolai
kjkoster
Posts: 87
Joined: 12 Feb 2022, 10:42
Answers: 2

Re: Cannot add MIO module,

Post by kjkoster »

Dear Nicolai,

Glad it is reproducible for you.

While you are testing: the final configuration will be (from left to right) DIO-DI-MIO-AIO-AIO-Connect+. If you happen to have the modules laying around, could you check that there is no issue with that final configuration too? I'd hate to get a fix and then end up having to ask for another. :-)

Kees Jan
User avatar
nicolaiB
KUNBUS
Posts: 871
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: Cannot add MIO module,

Post by nicolaiB »

Hi Kees,

the issue is if one of the validation tools. I drafted a patch which fixes this. It would be great if you can apply the patch on your RevPi and give me feedback if it works. You can find the patch and instructions here: https://gist.github.com/nbuchwitz/ed177 ... 8ca4a95ef0

Please make sure that you have to reconfigure the modules (at least the MIO) in pictory after you applied the patch. It should be sufficient to drag the MIO device from the catalog on the left tree onto the existing one in your config. After that save the config and reset the driver.

Nicolai
kjkoster
Posts: 87
Joined: 12 Feb 2022, 10:42
Answers: 2

Re: Cannot add MIO module,

Post by kjkoster »

Dear Nicolai,

I tested your patch and that resolves the issue. I now have all five modules attached. I tested the I/O and they work as advertised. Thank you for making this patch!

Next step is to get a release version with this fix in it. May I politely request that you publish a new release of pictory, so that I can return to running supported code? Ideally, you'd also roll a new release of revpipyload. The MQTT fix is in there and I much prefer running release code and not have to run monkey-patches on my systems.

https://github.com/naruxde/revpipyload/compare/develop resolves (among other things) https://github.com/naruxde/revpipyload/issues/6 which I reported earlier.

Kees Jan
User avatar
nicolaiB
KUNBUS
Posts: 871
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: Cannot add MIO module,

Post by nicolaiB »

Hi Kees,

I'm glad to hear that the fix is working. We will prepare an update of pictory, which includes this fix. Regarding revpimodio2 / revpyload I'm in contact with Sven, the maintainer. Soon after he will release the next stable we will update the packages in our repository.

Nicolai
User avatar
nicolaiB
KUNBUS
Posts: 871
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: Cannot add MIO module,

Post by nicolaiB »

Hi Kees,

we just published an update for pictory to version 2.0.6 which includes the fixes from above.

Nicolai
User avatar
RR4711
Posts: 228
Joined: 22 Feb 2018, 13:28
Answers: 0

Re: Cannot add MIO module,

Post by RR4711 »

nicolaiB wrote: 19 Apr 2022, 17:09 Hi Kees,

we just published an update for pictory to version 2.0.6 which includes the fixes from above.

Nicolai
Does that only affect DI/DO or also DIO modules?
User avatar
nicolaiB
KUNBUS
Posts: 871
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: Cannot add MIO module,

Post by nicolaiB »

RR4711 wrote: 19 Apr 2022, 17:43 Does that only affect DI/DO or also DIO modules?
Only configurations with MIO, DI and DO modules, which were created with Pictory 2.0.5 are affected by this bug. For more details please a look look at our announcement post: viewtopic.php?p=12226#p12226
User avatar
RR4711
Posts: 228
Joined: 22 Feb 2018, 13:28
Answers: 0

Re: Cannot add MIO module,

Post by RR4711 »

Just wanted to double check as those modules are almost identical in hardware. Thanks for clarification, that means for us there is no urgent need for action as we only use DIO modules for now. But I will of course update soon.
Post Reply