From e876c97c30759d2af0dd98ea8bee3249542303bf Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Tue, 29 Oct 2024 08:24:10 +0100 Subject: [PATCH] test: Core devices --- tests/revpi3/config_core.rsc | 4378 ++++++++++++++++++++++++++++++++++ tests/revpi3/test_core.py | 93 + 2 files changed, 4471 insertions(+) create mode 100644 tests/revpi3/config_core.rsc create mode 100644 tests/revpi3/test_core.py diff --git a/tests/revpi3/config_core.rsc b/tests/revpi3/config_core.rsc new file mode 100644 index 0000000..37f128c --- /dev/null +++ b/tests/revpi3/config_core.rsc @@ -0,0 +1,4378 @@ +{ + "App": { + "name": "PiCtory", + "version": "1.2.3", + "saveTS": "20170826120906", + "language": "en", + "layout": { + "north": { + "size": 70, + "initClosed": false, + "initHidden": false + }, + "south": { + "size": 480, + "initClosed": false, + "initHidden": false, + "children": { + "layout1": { + "east": { + "size": 500, + "initClosed": false, + "initHidden": false + } + } + } + }, + "east": { + "size": 70, + "initClosed": true, + "initHidden": false, + "children": { + "layout1": { + "north": { + "size": 100, + "initClosed": false, + "initHidden": false + }, + "south": { + "size": 98, + "initClosed": false, + "initHidden": false + } + } + } + }, + "west": { + "size": 200, + "initClosed": false, + "initHidden": false, + "children": { + "layout1": {} + } + } + } + }, + "Summary": { + "inpTotal": 338, + "outTotal": 113 + }, + "Devices": [ + { + "catalogNr": "RevPiCore", + "GUID": "4ebb85e8-92ea-415d-b191-cc58c2857c0a", + "id": "device_RevPiCore_20170404_1_2_001", + "type": "BASE", + "productType": "95", + "position": "0", + "name": "picore01", + "bmk": "RevPi Core V1.2", + "inpVariant": 0, + "outVariant": 0, + "comment": "This is a RevPiCore Device", + "offset": 0, + "inp": { + "0": [ + "RevPiStatus", + "0", + "8", + "0", + true, + "0000", + "", + "" + ], + "1": [ + "RevPiIOCycle", + "0", + "8", + "1", + true, + "0001", + "", + "" + ], + "2": [ + "RS485ErrorCnt", + "0", + "16", + "2", + false, + "0002", + "", + "" + ], + "3": [ + "Core_Temperatur", + "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": {} + }, + { + "catalogNr": "RevPiDI", + "GUID": "2e2c089e-6bef-14c0-852b-41b7cf48d846", + "id": "device_RevPiDI_20160818_1_0_001", + "type": "LEFT_RIGHT", + "productType": "97", + "position": "32", + "name": "di01", + "bmk": "RevPi DI", + "inpVariant": 0, + "outVariant": 0, + "comment": "", + "offset": 11, + "inp": { + "0": [ + "notaus_ok", + "0", + "1", + "0", + true, + "0000", + "", + "0" + ], + "1": [ + "motorschutz_ok", + "0", + "1", + "0", + true, + "0001", + "", + "1" + ], + "2": [ + "fu_ok", + "0", + "1", + "0", + true, + "0002", + "", + "2" + ], + "3": [ + "fu_motoran", + "0", + "1", + "0", + true, + "0003", + "", + "3" + ], + "4": [ + "I_5", + "0", + "1", + "0", + true, + "0004", + "", + "4" + ], + "5": [ + "I_6", + "0", + "1", + "0", + true, + "0005", + "", + "5" + ], + "6": [ + "I_7", + "0", + "1", + "0", + true, + "0006", + "", + "6" + ], + "7": [ + "I_8", + "0", + "1", + "0", + true, + "0007", + "", + "7" + ], + "8": [ + "t_automatik", + "0", + "1", + "0", + true, + "0008", + "", + "8" + ], + "9": [ + "t_start", + "0", + "1", + "0", + true, + "0009", + "", + "9" + ], + "10": [ + "t_stop", + "0", + "1", + "0", + true, + "0010", + "", + "10" + ], + "11": [ + "t_quit", + "0", + "1", + "0", + true, + "0011", + "", + "11" + ], + "12": [ + "t_notaus", + "0", + "1", + "0", + true, + "0012", + "", + "12" + ], + "13": [ + "I_14", + "0", + "1", + "0", + true, + "0013", + "", + "13" + ], + "14": [ + "I_15", + "0", + "1", + "0", + true, + "0014", + "", + "14" + ], + "15": [ + "I_16", + "0", + "1", + "0", + true, + "0015", + "", + "15" + ], + "16": [ + "Status", + "0", + "16", + "4", + false, + "0016", + "", + "" + ], + "17": [ + "Counter_1", + "0", + "32", + "6", + false, + "0017", + "", + "" + ], + "18": [ + "Counter_2", + "0", + "32", + "10", + false, + "0018", + "", + "" + ], + "19": [ + "Counter_3", + "0", + "32", + "14", + false, + "0019", + "", + "" + ], + "20": [ + "Counter_4", + "0", + "32", + "18", + false, + "0020", + "", + "" + ], + "21": [ + "Counter_5", + "0", + "32", + "22", + false, + "0021", + "", + "" + ], + "22": [ + "Counter_6", + "0", + "32", + "26", + false, + "0022", + "", + "" + ], + "23": [ + "Counter_7", + "0", + "32", + "30", + false, + "0023", + "", + "" + ], + "24": [ + "Counter_8", + "0", + "32", + "34", + false, + "0024", + "", + "" + ], + "25": [ + "Counter_9", + "0", + "32", + "38", + false, + "0025", + "", + "" + ], + "26": [ + "Counter_10", + "0", + "32", + "42", + false, + "0026", + "", + "" + ], + "27": [ + "Counter_11", + "0", + "32", + "46", + false, + "0027", + "", + "" + ], + "28": [ + "Counter_12", + "0", + "32", + "50", + false, + "0028", + "", + "" + ], + "29": [ + "Counter_13", + "0", + "32", + "54", + false, + "0029", + "", + "" + ], + "30": [ + "Counter_14", + "0", + "32", + "58", + false, + "0030", + "", + "" + ], + "31": [ + "Counter_15", + "0", + "32", + "62", + false, + "0031", + "", + "" + ], + "32": [ + "Counter_16", + "0", + "32", + "66", + false, + "0032", + "", + "" + ], + "33": [ + "Output_Status", + "0", + "16", + "2", + false, + "0050", + "", + "" + ] + }, + "out": { + "0": [ + "Output", + "0", + "16", + "70", + false, + "0051", + "", + "" + ], + "1": [ + "PWM_1", + "0", + "8", + "72", + false, + "0052", + "", + "" + ], + "2": [ + "PWM_2", + "0", + "8", + "73", + false, + "0053", + "", + "" + ], + "3": [ + "PWM_3", + "0", + "8", + "74", + false, + "0054", + "", + "" + ], + "4": [ + "PWM_4", + "0", + "8", + "75", + false, + "0055", + "", + "" + ], + "5": [ + "PWM_5", + "0", + "8", + "76", + false, + "0056", + "", + "" + ], + "6": [ + "PWM_6", + "0", + "8", + "77", + false, + "0057", + "", + "" + ], + "7": [ + "PWM_7", + "0", + "8", + "78", + false, + "0058", + "", + "" + ], + "8": [ + "PWM_8", + "0", + "8", + "79", + false, + "0059", + "", + "" + ], + "9": [ + "PWM_9", + "0", + "8", + "80", + false, + "0060", + "", + "" + ], + "10": [ + "PWM_10", + "0", + "8", + "81", + false, + "0061", + "", + "" + ], + "11": [ + "PWM_11", + "0", + "8", + "82", + false, + "0062", + "", + "" + ], + "12": [ + "PWM_12", + "0", + "8", + "83", + false, + "0063", + "", + "" + ], + "13": [ + "PWM_13", + "0", + "8", + "84", + false, + "0064", + "", + "" + ], + "14": [ + "PWM_14", + "0", + "8", + "85", + false, + "0065", + "", + "" + ], + "15": [ + "PWM_15", + "0", + "8", + "86", + false, + "0066", + "", + "" + ], + "16": [ + "PWM_16", + "0", + "8", + "87", + false, + "0067", + "", + "" + ] + }, + "mem": { + "0": [ + "InputMode_1", + "0", + "8", + "88", + false, + "0033", + "", + "" + ], + "1": [ + "InputMode_2", + "0", + "8", + "89", + false, + "0034", + "", + "" + ], + "2": [ + "InputMode_3", + "0", + "8", + "90", + false, + "0035", + "", + "" + ], + "3": [ + "InputMode_4", + "0", + "8", + "91", + false, + "0036", + "", + "" + ], + "4": [ + "InputMode_5", + "0", + "8", + "92", + false, + "0037", + "", + "" + ], + "5": [ + "InputMode_6", + "0", + "8", + "93", + false, + "0038", + "", + "" + ], + "6": [ + "InputMode_7", + "0", + "8", + "94", + false, + "0039", + "", + "" + ], + "7": [ + "InputMode_8", + "0", + "8", + "95", + false, + "0040", + "", + "" + ], + "8": [ + "InputMode_9", + "0", + "8", + "96", + false, + "0041", + "", + "" + ], + "9": [ + "InputMode_10", + "0", + "8", + "97", + false, + "0042", + "", + "" + ], + "10": [ + "InputMode_11", + "0", + "8", + "98", + false, + "0043", + "", + "" + ], + "11": [ + "InputMode_12", + "0", + "8", + "99", + false, + "0044", + "", + "" + ], + "12": [ + "InputMode_13", + "0", + "8", + "100", + false, + "0045", + "", + "" + ], + "13": [ + "InputMode_14", + "0", + "8", + "101", + false, + "0046", + "", + "" + ], + "14": [ + "InputMode_15", + "0", + "8", + "102", + false, + "0047", + "", + "" + ], + "15": [ + "InputMode_16", + "0", + "8", + "103", + false, + "0048", + "", + "" + ], + "16": [ + "InputDebounce", + "0", + "16", + "104", + false, + "0049", + "", + "" + ], + "17": [ + "OutputPushPull", + "0", + "16", + "106", + false, + "0068", + "", + "" + ], + "18": [ + "OutputOpenLoadDetect", + "0", + "16", + "108", + false, + "0069", + "", + "" + ], + "19": [ + "OutputPWMActive", + "0", + "16", + "110", + false, + "0070", + "", + "" + ], + "20": [ + "OutputPWMFrequency", + "2", + "8", + "112", + false, + "0071", + "", + "" + ] + }, + "extend": {} + }, + { + "catalogNr": "RevPiDI", + "GUID": "81e6c459-0398-a7c4-4954-d793ee9a5b89", + "id": "device_RevPiDI_20160818_1_0_002", + "type": "LEFT_RIGHT", + "productType": "97", + "position": "33", + "name": "di02", + "bmk": "RevPi DI", + "inpVariant": 0, + "outVariant": 0, + "comment": "", + "offset": 124, + "inp": { + "0": [ + "m_druck_ok", + "0", + "1", + "0", + true, + "0000", + "", + "0" + ], + "1": [ + "m_m1_eingefahren", + "0", + "1", + "0", + true, + "0001", + "", + "1" + ], + "2": [ + "m_m1_ausgefahren", + "0", + "1", + "0", + true, + "0002", + "", + "2" + ], + "3": [ + "m_m2_eingefahren", + "0", + "1", + "0", + true, + "0003", + "", + "3" + ], + "4": [ + "m_m2_ausgefahren", + "0", + "1", + "0", + true, + "0004", + "", + "4" + ], + "5": [ + "m_m3_eingefahren", + "0", + "1", + "0", + true, + "0005", + "", + "5" + ], + "6": [ + "m_m3_ausgefahren", + "0", + "1", + "0", + true, + "0006", + "", + "6" + ], + "7": [ + "s_rutsche", + "0", + "1", + "0", + true, + "0007", + "", + "7" + ], + "8": [ + "s_metall", + "0", + "1", + "0", + true, + "0008", + "", + "8" + ], + "9": [ + "s_magazin1", + "0", + "1", + "0", + true, + "0009", + "", + "9" + ], + "10": [ + "s_magazin2", + "0", + "1", + "0", + true, + "0010", + "", + "10" + ], + "11": [ + "I_12_i03", + "0", + "1", + "0", + true, + "0011", + "", + "11" + ], + "12": [ + "I_13_i03", + "0", + "1", + "0", + true, + "0012", + "", + "12" + ], + "13": [ + "I_14_i03", + "0", + "1", + "0", + true, + "0013", + "", + "13" + ], + "14": [ + "I_15_i03", + "0", + "1", + "0", + true, + "0014", + "", + "14" + ], + "15": [ + "mb_status", + "0", + "1", + "0", + true, + "0015", + "", + "15" + ], + "16": [ + "Status_i03", + "0", + "16", + "4", + false, + "0016", + "", + "" + ], + "17": [ + "Counter_1_i03", + "0", + "32", + "6", + false, + "0017", + "", + "" + ], + "18": [ + "Counter_2_i03", + "0", + "32", + "10", + false, + "0018", + "", + "" + ], + "19": [ + "Counter_3_i03", + "0", + "32", + "14", + false, + "0019", + "", + "" + ], + "20": [ + "Counter_4_i03", + "0", + "32", + "18", + false, + "0020", + "", + "" + ], + "21": [ + "Counter_5_i03", + "0", + "32", + "22", + false, + "0021", + "", + "" + ], + "22": [ + "Counter_6_i03", + "0", + "32", + "26", + false, + "0022", + "", + "" + ], + "23": [ + "Counter_7_i03", + "0", + "32", + "30", + false, + "0023", + "", + "" + ], + "24": [ + "Counter_8_i03", + "0", + "32", + "34", + false, + "0024", + "", + "" + ], + "25": [ + "Counter_9_i03", + "0", + "32", + "38", + false, + "0025", + "", + "" + ], + "26": [ + "Counter_10_i03", + "0", + "32", + "42", + false, + "0026", + "", + "" + ], + "27": [ + "Counter_11_i03", + "0", + "32", + "46", + false, + "0027", + "", + "" + ], + "28": [ + "Counter_12_i03", + "0", + "32", + "50", + false, + "0028", + "", + "" + ], + "29": [ + "Counter_13_i03", + "0", + "32", + "54", + false, + "0029", + "", + "" + ], + "30": [ + "Counter_14_i03", + "0", + "32", + "58", + false, + "0030", + "", + "" + ], + "31": [ + "Counter_15_i03", + "0", + "32", + "62", + false, + "0031", + "", + "" + ], + "32": [ + "Counter_16_i03", + "0", + "32", + "66", + false, + "0032", + "", + "" + ], + "33": [ + "Output_Status_i03", + "0", + "16", + "2", + false, + "0050", + "", + "" + ] + }, + "out": { + "0": [ + "Output_i03", + "0", + "16", + "70", + false, + "0051", + "", + "" + ], + "1": [ + "PWM_1_i03", + "0", + "8", + "72", + false, + "0052", + "", + "" + ], + "2": [ + "PWM_2_i03", + "0", + "8", + "73", + false, + "0053", + "", + "" + ], + "3": [ + "PWM_3_i03", + "0", + "8", + "74", + false, + "0054", + "", + "" + ], + "4": [ + "PWM_4_i03", + "0", + "8", + "75", + false, + "0055", + "", + "" + ], + "5": [ + "PWM_5_i03", + "0", + "8", + "76", + false, + "0056", + "", + "" + ], + "6": [ + "PWM_6_i03", + "0", + "8", + "77", + false, + "0057", + "", + "" + ], + "7": [ + "PWM_7_i03", + "0", + "8", + "78", + false, + "0058", + "", + "" + ], + "8": [ + "PWM_8_i03", + "0", + "8", + "79", + false, + "0059", + "", + "" + ], + "9": [ + "PWM_9_i03", + "0", + "8", + "80", + false, + "0060", + "", + "" + ], + "10": [ + "PWM_10_i03", + "0", + "8", + "81", + false, + "0061", + "", + "" + ], + "11": [ + "PWM_11_i03", + "0", + "8", + "82", + false, + "0062", + "", + "" + ], + "12": [ + "PWM_12_i03", + "0", + "8", + "83", + false, + "0063", + "", + "" + ], + "13": [ + "PWM_13_i03", + "0", + "8", + "84", + false, + "0064", + "", + "" + ], + "14": [ + "PWM_14_i03", + "0", + "8", + "85", + false, + "0065", + "", + "" + ], + "15": [ + "PWM_15_i03", + "0", + "8", + "86", + false, + "0066", + "", + "" + ], + "16": [ + "PWM_16_i03", + "0", + "8", + "87", + false, + "0067", + "", + "" + ] + }, + "mem": { + "0": [ + "InputMode_1_i03", + "0", + "8", + "88", + false, + "0033", + "", + "" + ], + "1": [ + "InputMode_2_i03", + "0", + "8", + "89", + false, + "0034", + "", + "" + ], + "2": [ + "InputMode_3_i03", + "0", + "8", + "90", + false, + "0035", + "", + "" + ], + "3": [ + "InputMode_4_i03", + "0", + "8", + "91", + false, + "0036", + "", + "" + ], + "4": [ + "InputMode_5_i03", + "0", + "8", + "92", + false, + "0037", + "", + "" + ], + "5": [ + "InputMode_6_i03", + "0", + "8", + "93", + false, + "0038", + "", + "" + ], + "6": [ + "InputMode_7_i03", + "0", + "8", + "94", + false, + "0039", + "", + "" + ], + "7": [ + "InputMode_8_i03", + "0", + "8", + "95", + false, + "0040", + "", + "" + ], + "8": [ + "InputMode_9_i03", + "0", + "8", + "96", + false, + "0041", + "", + "" + ], + "9": [ + "InputMode_10_i03", + "0", + "8", + "97", + false, + "0042", + "", + "" + ], + "10": [ + "InputMode_11_i03", + "0", + "8", + "98", + false, + "0043", + "", + "" + ], + "11": [ + "InputMode_12_i03", + "0", + "8", + "99", + false, + "0044", + "", + "" + ], + "12": [ + "InputMode_13_i03", + "0", + "8", + "100", + false, + "0045", + "", + "" + ], + "13": [ + "InputMode_14_i03", + "0", + "8", + "101", + false, + "0046", + "", + "" + ], + "14": [ + "InputMode_15_i03", + "0", + "8", + "102", + false, + "0047", + "", + "" + ], + "15": [ + "InputMode_16_i03", + "0", + "8", + "103", + false, + "0048", + "", + "" + ], + "16": [ + "InputDebounce_i03", + "0", + "16", + "104", + false, + "0049", + "", + "" + ], + "17": [ + "OutputPushPull_i03", + "0", + "16", + "106", + false, + "0068", + "", + "" + ], + "18": [ + "OutputOpenLoadDetect_i03", + "0", + "16", + "108", + false, + "0069", + "", + "" + ], + "19": [ + "OutputPWMActive_i03", + "0", + "16", + "110", + false, + "0070", + "", + "" + ], + "20": [ + "OutputPWMFrequency_i03", + "2", + "8", + "112", + false, + "0071", + "", + "" + ] + }, + "extend": {} + }, + { + "catalogNr": "RevPiDO", + "GUID": "4f8da9ea-91b2-d028-c60d-4476096a9dc2", + "id": "device_RevPiDO_20160818_1_0_001", + "type": "LEFT_RIGHT", + "productType": "98", + "position": "34", + "name": "do01", + "bmk": "RevPi DO", + "inpVariant": 0, + "outVariant": 0, + "comment": "", + "offset": 237, + "inp": { + "0": [ + "Output_Status_i04", + "0", + "16", + "2", + false, + "0000", + "", + "" + ], + "1": [ + "Status_i04", + "0", + "16", + "4", + false, + "0001", + "", + "" + ], + "2": [ + "Input", + "0", + "16", + "0", + false, + "0038", + "", + "" + ], + "3": [ + "Counter_1_i04", + "0", + "32", + "6", + false, + "0039", + "", + "" + ], + "4": [ + "Counter_2_i04", + "0", + "32", + "10", + false, + "0040", + "", + "" + ], + "5": [ + "Counter_3_i04", + "0", + "32", + "14", + false, + "0041", + "", + "" + ], + "6": [ + "Counter_4_i04", + "0", + "32", + "18", + false, + "0042", + "", + "" + ], + "7": [ + "Counter_5_i04", + "0", + "32", + "22", + false, + "0043", + "", + "" + ], + "8": [ + "Counter_6_i04", + "0", + "32", + "26", + false, + "0044", + "", + "" + ], + "9": [ + "Counter_7_i04", + "0", + "32", + "30", + false, + "0045", + "", + "" + ], + "10": [ + "Counter_8_i04", + "0", + "32", + "34", + false, + "0046", + "", + "" + ], + "11": [ + "Counter_9_i04", + "0", + "32", + "38", + false, + "0047", + "", + "" + ], + "12": [ + "Counter_10_i04", + "0", + "32", + "42", + false, + "0048", + "", + "" + ], + "13": [ + "Counter_11_i04", + "0", + "32", + "46", + false, + "0049", + "", + "" + ], + "14": [ + "Counter_12_i04", + "0", + "32", + "50", + false, + "0050", + "", + "" + ], + "15": [ + "Counter_13_i04", + "0", + "32", + "54", + false, + "0051", + "", + "" + ], + "16": [ + "Counter_14_i04", + "0", + "32", + "58", + false, + "0052", + "", + "" + ], + "17": [ + "Counter_15_i04", + "0", + "32", + "62", + false, + "0053", + "", + "" + ], + "18": [ + "Counter_16_i04", + "0", + "32", + "66", + false, + "0054", + "", + "" + ] + }, + "out": { + "0": [ + "fu_rechts", + "0", + "1", + "70", + true, + "0002", + "", + "0" + ], + "1": [ + "fu_links", + "0", + "1", + "70", + true, + "0003", + "", + "1" + ], + "2": [ + "fu_schnell", + "0", + "1", + "70", + true, + "0004", + "", + "2" + ], + "3": [ + "fu_lahm", + "0", + "1", + "70", + true, + "0005", + "", + "3" + ], + "4": [ + "v_druck", + "0", + "1", + "70", + true, + "0006", + "", + "4" + ], + "5": [ + "v_m1_einfahren", + "0", + "1", + "70", + true, + "0007", + "", + "5" + ], + "6": [ + "v_m1_ausfahren", + "0", + "1", + "70", + true, + "0008", + "", + "6" + ], + "7": [ + "v_m2_einfahren", + "0", + "1", + "70", + true, + "0009", + "", + "7" + ], + "8": [ + "v_m2_ausfahren", + "0", + "1", + "70", + true, + "0010", + "", + "8" + ], + "9": [ + "v_m3_einfahren", + "0", + "1", + "70", + true, + "0011", + "", + "9" + ], + "10": [ + "v_m3_ausfahren", + "0", + "1", + "70", + true, + "0012", + "", + "10" + ], + "11": [ + "O_12", + "0", + "1", + "70", + true, + "0013", + "", + "11" + ], + "12": [ + "O_13", + "0", + "1", + "70", + true, + "0014", + "", + "12" + ], + "13": [ + "O_14", + "0", + "1", + "70", + true, + "0015", + "", + "13" + ], + "14": [ + "O_15", + "0", + "1", + "70", + true, + "0016", + "", + "14" + ], + "15": [ + "fu_frei", + "0", + "1", + "70", + true, + "0017", + "", + "15" + ], + "16": [ + "PWM_1_i04", + "0", + "8", + "72", + false, + "0018", + "", + "" + ], + "17": [ + "PWM_2_i04", + "0", + "8", + "73", + false, + "0019", + "", + "" + ], + "18": [ + "PWM_3_i04", + "0", + "8", + "74", + false, + "0020", + "", + "" + ], + "19": [ + "PWM_4_i04", + "0", + "8", + "75", + false, + "0021", + "", + "" + ], + "20": [ + "PWM_5_i04", + "0", + "8", + "76", + false, + "0022", + "", + "" + ], + "21": [ + "PWM_6_i04", + "0", + "8", + "77", + false, + "0023", + "", + "" + ], + "22": [ + "PWM_7_i04", + "0", + "8", + "78", + false, + "0024", + "", + "" + ], + "23": [ + "PWM_8_i04", + "0", + "8", + "79", + false, + "0025", + "", + "" + ], + "24": [ + "PWM_9_i04", + "0", + "8", + "80", + false, + "0026", + "", + "" + ], + "25": [ + "PWM_10_i04", + "0", + "8", + "81", + false, + "0027", + "", + "" + ], + "26": [ + "PWM_11_i04", + "0", + "8", + "82", + false, + "0028", + "", + "" + ], + "27": [ + "PWM_12_i04", + "0", + "8", + "83", + false, + "0029", + "", + "" + ], + "28": [ + "PWM_13_i04", + "0", + "8", + "84", + false, + "0030", + "", + "" + ], + "29": [ + "PWM_14_i04", + "0", + "8", + "85", + false, + "0031", + "", + "" + ], + "30": [ + "PWM_15_i04", + "0", + "8", + "86", + false, + "0032", + "", + "" + ], + "31": [ + "PWM_16_i04", + "0", + "8", + "87", + false, + "0033", + "", + "" + ] + }, + "mem": { + "0": [ + "OutputPushPull_i04", + "0", + "16", + "106", + false, + "0034", + "", + "" + ], + "1": [ + "OutputOpenLoadDetect_i04", + "0", + "16", + "108", + false, + "0035", + "", + "" + ], + "2": [ + "OutputPWMActive_i04", + "0", + "16", + "110", + false, + "0036", + "", + "" + ], + "3": [ + "OutputPWMFrequency_i04", + "1", + "8", + "112", + false, + "0037", + "", + "" + ], + "4": [ + "InputMode_1_i04", + "0", + "8", + "88", + false, + "0055", + "", + "" + ], + "5": [ + "InputMode_2_i04", + "0", + "8", + "89", + false, + "0056", + "", + "" + ], + "6": [ + "InputMode_3_i04", + "0", + "8", + "90", + false, + "0057", + "", + "" + ], + "7": [ + "InputMode_4_i04", + "0", + "8", + "91", + false, + "0058", + "", + "" + ], + "8": [ + "InputMode_5_i04", + "0", + "8", + "92", + false, + "0059", + "", + "" + ], + "9": [ + "InputMode_6_i04", + "0", + "8", + "93", + false, + "0060", + "", + "" + ], + "10": [ + "InputMode_7_i04", + "0", + "8", + "94", + false, + "0061", + "", + "" + ], + "11": [ + "InputMode_8_i04", + "0", + "8", + "95", + false, + "0062", + "", + "" + ], + "12": [ + "InputMode_9_i04", + "0", + "8", + "96", + false, + "0063", + "", + "" + ], + "13": [ + "InputMode_10_i04", + "0", + "8", + "97", + false, + "0064", + "", + "" + ], + "14": [ + "InputMode_11_i04", + "0", + "8", + "98", + false, + "0065", + "", + "" + ], + "15": [ + "InputMode_12_i04", + "0", + "8", + "99", + false, + "0066", + "", + "" + ], + "16": [ + "InputMode_13_i04", + "0", + "8", + "100", + false, + "0067", + "", + "" + ], + "17": [ + "InputMode_14_i04", + "0", + "8", + "101", + false, + "0068", + "", + "" + ], + "18": [ + "InputMode_15_i04", + "0", + "8", + "102", + false, + "0069", + "", + "" + ], + "19": [ + "InputMode_16_i04", + "0", + "8", + "103", + false, + "0070", + "", + "" + ], + "20": [ + "InputDebounce_i04", + "0", + "16", + "104", + false, + "0071", + "", + "" + ] + }, + "extend": {} + }, + { + "catalogNr": "RevPiDO", + "GUID": "b8a70c62-9b91-9e1a-af2a-37f74b16aca2", + "id": "device_RevPiDO_20160818_1_0_002", + "type": "LEFT_RIGHT", + "productType": "98", + "position": "35", + "name": "do02", + "bmk": "RevPi DO", + "inpVariant": 0, + "outVariant": 0, + "comment": "", + "offset": 350, + "inp": { + "0": [ + "Output_Status_i05", + "0", + "16", + "2", + false, + "0000", + "", + "" + ], + "1": [ + "Status_i05", + "0", + "16", + "4", + false, + "0001", + "", + "" + ], + "2": [ + "Input_i05", + "0", + "16", + "0", + false, + "0038", + "", + "" + ], + "3": [ + "Counter_1_i05", + "0", + "32", + "6", + false, + "0039", + "", + "" + ], + "4": [ + "Counter_2_i05", + "0", + "32", + "10", + false, + "0040", + "", + "" + ], + "5": [ + "Counter_3_i05", + "0", + "32", + "14", + false, + "0041", + "", + "" + ], + "6": [ + "Counter_4_i05", + "0", + "32", + "18", + false, + "0042", + "", + "" + ], + "7": [ + "Counter_5_i05", + "0", + "32", + "22", + false, + "0043", + "", + "" + ], + "8": [ + "Counter_6_i05", + "0", + "32", + "26", + false, + "0044", + "", + "" + ], + "9": [ + "Counter_7_i05", + "0", + "32", + "30", + false, + "0045", + "", + "" + ], + "10": [ + "Counter_8_i05", + "0", + "32", + "34", + false, + "0046", + "", + "" + ], + "11": [ + "Counter_9_i05", + "0", + "32", + "38", + false, + "0047", + "", + "" + ], + "12": [ + "Counter_10_i05", + "0", + "32", + "42", + false, + "0048", + "", + "" + ], + "13": [ + "Counter_11_i05", + "0", + "32", + "46", + false, + "0049", + "", + "" + ], + "14": [ + "Counter_12_i05", + "0", + "32", + "50", + false, + "0050", + "", + "" + ], + "15": [ + "Counter_13_i05", + "0", + "32", + "54", + false, + "0051", + "", + "" + ], + "16": [ + "Counter_14_i05", + "0", + "32", + "58", + false, + "0052", + "", + "" + ], + "17": [ + "Counter_15_i05", + "0", + "32", + "62", + false, + "0053", + "", + "" + ], + "18": [ + "Counter_16_i05", + "0", + "32", + "66", + false, + "0054", + "", + "" + ] + }, + "out": { + "0": [ + "fu_reset", + "0", + "1", + "70", + true, + "0002", + "", + "0" + ], + "1": [ + "h_start", + "0", + "1", + "70", + true, + "0003", + "", + "1" + ], + "2": [ + "h_fehler", + "0", + "1", + "70", + true, + "0004", + "", + "2" + ], + "3": [ + "O_04_i05", + "0", + "1", + "70", + true, + "0005", + "", + "3" + ], + "4": [ + "O_05_i05", + "0", + "1", + "70", + true, + "0006", + "", + "4" + ], + "5": [ + "O_06_i05", + "0", + "1", + "70", + true, + "0007", + "", + "5" + ], + "6": [ + "O_07_i05", + "0", + "1", + "70", + true, + "0008", + "", + "6" + ], + "7": [ + "O_08_i05", + "0", + "1", + "70", + true, + "0009", + "", + "7" + ], + "8": [ + "O_09_i05", + "0", + "1", + "70", + true, + "0010", + "", + "8" + ], + "9": [ + "O_10_i05", + "0", + "1", + "70", + true, + "0011", + "", + "9" + ], + "10": [ + "O_11_i05", + "0", + "1", + "70", + true, + "0012", + "", + "10" + ], + "11": [ + "O_12_i05", + "0", + "1", + "70", + true, + "0013", + "", + "11" + ], + "12": [ + "O_13_i05", + "0", + "1", + "70", + true, + "0014", + "", + "12" + ], + "13": [ + "O_14_i05", + "0", + "1", + "70", + true, + "0015", + "", + "13" + ], + "14": [ + "O_15_i05", + "0", + "1", + "70", + true, + "0016", + "", + "14" + ], + "15": [ + "mb_connect", + "0", + "1", + "70", + true, + "0017", + "", + "15" + ], + "16": [ + "PWM_1_i05", + "0", + "8", + "72", + false, + "0018", + "", + "" + ], + "17": [ + "PWM_2_i05", + "0", + "8", + "73", + false, + "0019", + "", + "" + ], + "18": [ + "PWM_3_i05", + "0", + "8", + "74", + false, + "0020", + "", + "" + ], + "19": [ + "PWM_4_i05", + "0", + "8", + "75", + false, + "0021", + "", + "" + ], + "20": [ + "PWM_5_i05", + "0", + "8", + "76", + false, + "0022", + "", + "" + ], + "21": [ + "PWM_6_i05", + "0", + "8", + "77", + false, + "0023", + "", + "" + ], + "22": [ + "PWM_7_i05", + "0", + "8", + "78", + false, + "0024", + "", + "" + ], + "23": [ + "PWM_8_i05", + "0", + "8", + "79", + false, + "0025", + "", + "" + ], + "24": [ + "PWM_9_i05", + "0", + "8", + "80", + false, + "0026", + "", + "" + ], + "25": [ + "PWM_10_i05", + "0", + "8", + "81", + false, + "0027", + "", + "" + ], + "26": [ + "PWM_11_i05", + "0", + "8", + "82", + false, + "0028", + "", + "" + ], + "27": [ + "PWM_12_i05", + "0", + "8", + "83", + false, + "0029", + "", + "" + ], + "28": [ + "PWM_13_i05", + "0", + "8", + "84", + false, + "0030", + "", + "" + ], + "29": [ + "PWM_14_i05", + "0", + "8", + "85", + false, + "0031", + "", + "" + ], + "30": [ + "PWM_15_i05", + "0", + "8", + "86", + false, + "0032", + "", + "" + ], + "31": [ + "PWM_16_i05", + "0", + "8", + "87", + false, + "0033", + "", + "" + ] + }, + "mem": { + "0": [ + "OutputPushPull_i05", + "0", + "16", + "106", + false, + "0034", + "", + "" + ], + "1": [ + "OutputOpenLoadDetect_i05", + "0", + "16", + "108", + false, + "0035", + "", + "" + ], + "2": [ + "OutputPWMActive_i05", + "0", + "16", + "110", + false, + "0036", + "", + "" + ], + "3": [ + "OutputPWMFrequency_i05", + "1", + "8", + "112", + false, + "0037", + "", + "" + ], + "4": [ + "InputMode_1_i05", + "0", + "8", + "88", + false, + "0055", + "", + "" + ], + "5": [ + "InputMode_2_i05", + "0", + "8", + "89", + false, + "0056", + "", + "" + ], + "6": [ + "InputMode_3_i05", + "0", + "8", + "90", + false, + "0057", + "", + "" + ], + "7": [ + "InputMode_4_i05", + "0", + "8", + "91", + false, + "0058", + "", + "" + ], + "8": [ + "InputMode_5_i05", + "0", + "8", + "92", + false, + "0059", + "", + "" + ], + "9": [ + "InputMode_6_i05", + "0", + "8", + "93", + false, + "0060", + "", + "" + ], + "10": [ + "InputMode_7_i05", + "0", + "8", + "94", + false, + "0061", + "", + "" + ], + "11": [ + "InputMode_8_i05", + "0", + "8", + "95", + false, + "0062", + "", + "" + ], + "12": [ + "InputMode_9_i05", + "0", + "8", + "96", + false, + "0063", + "", + "" + ], + "13": [ + "InputMode_10_i05", + "0", + "8", + "97", + false, + "0064", + "", + "" + ], + "14": [ + "InputMode_11_i05", + "0", + "8", + "98", + false, + "0065", + "", + "" + ], + "15": [ + "InputMode_12_i05", + "0", + "8", + "99", + false, + "0066", + "", + "" + ], + "16": [ + "InputMode_13_i05", + "0", + "8", + "100", + false, + "0067", + "", + "" + ], + "17": [ + "InputMode_14_i05", + "0", + "8", + "101", + false, + "0068", + "", + "" + ], + "18": [ + "InputMode_15_i05", + "0", + "8", + "102", + false, + "0069", + "", + "" + ], + "19": [ + "InputMode_16_i05", + "0", + "8", + "103", + false, + "0070", + "", + "" + ], + "20": [ + "InputDebounce_i05", + "0", + "16", + "104", + false, + "0071", + "", + "" + ] + }, + "extend": {} + }, + { + "catalogNr": "RevPiAIO", + "GUID": "76f10e57-ecaf-2a45-f4df-b9a66e3f40db", + "id": "device_RevPiAIO_20170301_1_0_001", + "type": "LEFT_RIGHT", + "productType": "103", + "position": "36", + "name": "aio01", + "bmk": "RevPi AIO", + "inpVariant": 0, + "outVariant": 0, + "comment": "", + "offset": 463, + "inp": { + "0": [ + "fu_ist", + "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": [ + "tmp_schrank", + "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": [ + "fu_soll", + "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", + "2", + "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": {} + }, + { + "catalogNr": "Virtual01", + "GUID": "c3bf8705-d96a-6452-2566-40c5d86a5061", + "id": "device_Virtual01_20160818_1_0_001", + "type": "VIRTUAL", + "productType": "32768", + "position": "64", + "name": "virt01", + "bmk": "Virtual Device 32 Byte", + "inpVariant": 0, + "outVariant": 0, + "comment": "Virtual Device to reserve space in process image for user applications", + "offset": 552, + "inp": { + "0": [ + "pbit0_7", + "0", + "8", + "0", + false, + "0000", + "", + "" + ], + "1": [ + "pbit8_15", + "0", + "8", + "1", + false, + "0001", + "", + "" + ], + "2": [ + "pbit16_23", + "0", + "8", + "2", + false, + "0002", + "", + "" + ], + "3": [ + "pbit24_31", + "0", + "8", + "3", + false, + "0003", + "", + "" + ], + "4": [ + "magazin1_max", + "4", + "8", + "4", + false, + "0004", + "", + "" + ], + "5": [ + "magazin2_max", + "4", + "8", + "5", + false, + "0005", + "", + "" + ], + "6": [ + "p_drehzahl1", + "136", + "8", + "6", + false, + "0006", + "", + "" + ], + "7": [ + "p_drehzahl2", + "19", + "8", + "7", + false, + "0007", + "", + "" + ], + "8": [ + "Input_9", + "0", + "8", + "8", + false, + "0008", + "", + "" + ], + "9": [ + "Input_10", + "0", + "8", + "9", + false, + "0009", + "", + "" + ], + "10": [ + "Input_11", + "0", + "8", + "10", + false, + "0010", + "", + "" + ], + "11": [ + "Input_12", + "0", + "8", + "11", + false, + "0011", + "", + "" + ], + "12": [ + "Input_13", + "0", + "8", + "12", + false, + "0012", + "", + "" + ], + "13": [ + "Input_14", + "0", + "8", + "13", + false, + "0013", + "", + "" + ], + "14": [ + "Input_15", + "0", + "8", + "14", + false, + "0014", + "", + "" + ], + "15": [ + "Input_16", + "0", + "8", + "15", + false, + "0015", + "", + "" + ], + "16": [ + "Input_17", + "0", + "8", + "16", + false, + "0016", + "", + "" + ], + "17": [ + "Input_18", + "0", + "8", + "17", + false, + "0017", + "", + "" + ], + "18": [ + "Input_19", + "0", + "8", + "18", + false, + "0018", + "", + "" + ], + "19": [ + "Input_20", + "0", + "8", + "19", + false, + "0019", + "", + "" + ], + "20": [ + "Input_21", + "0", + "8", + "20", + false, + "0020", + "", + "" + ], + "21": [ + "Input_22", + "0", + "8", + "21", + false, + "0021", + "", + "" + ], + "22": [ + "Input_23", + "0", + "8", + "22", + false, + "0022", + "", + "" + ], + "23": [ + "Input_24", + "0", + "8", + "23", + false, + "0023", + "", + "" + ], + "24": [ + "Input_25", + "0", + "8", + "24", + false, + "0024", + "", + "" + ], + "25": [ + "Input_26", + "0", + "8", + "25", + false, + "0025", + "", + "" + ], + "26": [ + "Input_27", + "0", + "8", + "26", + false, + "0026", + "", + "" + ], + "27": [ + "Input_28", + "0", + "8", + "27", + false, + "0027", + "", + "" + ], + "28": [ + "Input_29", + "0", + "8", + "28", + false, + "0028", + "", + "" + ], + "29": [ + "Input_30", + "0", + "8", + "29", + false, + "0029", + "", + "" + ], + "30": [ + "Input_31", + "0", + "8", + "30", + false, + "0030", + "", + "" + ], + "31": [ + "Input_32", + "0", + "8", + "31", + false, + "0031", + "", + "" + ] + }, + "out": { + "0": [ + "meldung0_7", + "0", + "8", + "32", + false, + "0032", + "", + "" + ], + "1": [ + "meldung8_15", + "0", + "8", + "33", + false, + "0033", + "", + "" + ], + "2": [ + "meldung16_23", + "0", + "8", + "34", + false, + "0034", + "", + "" + ], + "3": [ + "meldung24_31", + "0", + "8", + "35", + false, + "0035", + "", + "" + ], + "4": [ + "magazin1", + "0", + "8", + "36", + false, + "0036", + "", + "" + ], + "5": [ + "magazin2", + "0", + "8", + "37", + false, + "0037", + "", + "" + ], + "6": [ + "Output_7", + "0", + "8", + "38", + false, + "0038", + "", + "" + ], + "7": [ + "Output_8", + "0", + "8", + "39", + false, + "0039", + "", + "" + ], + "8": [ + "Output_9", + "0", + "8", + "40", + false, + "0040", + "", + "" + ], + "9": [ + "Output_10", + "0", + "8", + "41", + false, + "0041", + "", + "" + ], + "10": [ + "Output_11", + "0", + "8", + "42", + false, + "0042", + "", + "" + ], + "11": [ + "Output_12", + "0", + "8", + "43", + false, + "0043", + "", + "" + ], + "12": [ + "Output_13", + "0", + "8", + "44", + false, + "0044", + "", + "" + ], + "13": [ + "Output_14", + "0", + "8", + "45", + false, + "0045", + "", + "" + ], + "14": [ + "Output_15", + "0", + "8", + "46", + false, + "0046", + "", + "" + ], + "15": [ + "Output_16", + "0", + "8", + "47", + false, + "0047", + "", + "" + ], + "16": [ + "Output_17", + "0", + "8", + "48", + false, + "0048", + "", + "" + ], + "17": [ + "Output_18", + "0", + "8", + "49", + false, + "0049", + "", + "" + ], + "18": [ + "Output_19", + "0", + "8", + "50", + false, + "0050", + "", + "" + ], + "19": [ + "Output_20", + "0", + "8", + "51", + false, + "0051", + "", + "" + ], + "20": [ + "Output_21", + "0", + "8", + "52", + false, + "0052", + "", + "" + ], + "21": [ + "Output_22", + "0", + "8", + "53", + false, + "0053", + "", + "" + ], + "22": [ + "Output_23", + "0", + "8", + "54", + false, + "0054", + "", + "" + ], + "23": [ + "Output_24", + "0", + "8", + "55", + false, + "0055", + "", + "" + ], + "24": [ + "Output_25", + "0", + "8", + "56", + false, + "0056", + "", + "" + ], + "25": [ + "Output_26", + "0", + "8", + "57", + false, + "0057", + "", + "" + ], + "26": [ + "Output_27", + "0", + "8", + "58", + false, + "0058", + "", + "" + ], + "27": [ + "Output_28", + "0", + "8", + "59", + false, + "0059", + "", + "" + ], + "28": [ + "Output_29", + "0", + "8", + "60", + false, + "0060", + "", + "" + ], + "29": [ + "Output_30", + "0", + "8", + "61", + false, + "0061", + "", + "" + ], + "30": [ + "Output_31", + "0", + "8", + "62", + false, + "0062", + "", + "" + ], + "31": [ + "Output_32", + "0", + "8", + "63", + false, + "0063", + "", + "" + ] + }, + "mem": {}, + "extend": {} + } + ], + "Connections": [] +} diff --git a/tests/revpi3/test_core.py b/tests/revpi3/test_core.py new file mode 100644 index 0000000..de52730 --- /dev/null +++ b/tests/revpi3/test_core.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +"""Tests for RevPi Core 1/3 devices.""" +__author__ = "Sven Sager" +__copyright__ = "Copyright (C) 2024 Sven Sager" +__license__ = "GPLv2" + +from os.path import dirname + +from revpimodio2 import RED, GREEN, OFF, BLUE +from revpimodio2.io import IOBase, IntIO +from tests import TestRevPiModIO + + +class TestRevPiCore(TestRevPiModIO): + + data_dir = dirname(__file__) + + def test_core(self): + """Test Core device.""" + rpi = self.modio(configrsc="config_core.rsc") + + # Test IOs of core device + for io in rpi.core: + self.assertIsInstance(io, IntIO) + self.assertEqual(type(io.value), int) + + # Test CORE LEDs + def get_led_byte(): + self.fh_procimg.seek(6) + return self.fh_procimg.read(1) + + lst_test_led = [ + (rpi.core._get_leda1, rpi.core._set_leda1, GREEN, b"\x01"), + (rpi.core._get_leda1, rpi.core._set_leda1, OFF, b"\x00"), + (rpi.core._get_leda1, rpi.core._set_leda1, RED, b"\x02"), + (rpi.core._get_leda2, rpi.core._set_leda2, GREEN, b"\x06"), + (rpi.core._get_leda2, rpi.core._set_leda2, OFF, b"\x02"), + (rpi.core._get_leda2, rpi.core._set_leda2, RED, b"\x0a"), + ] + for get_led, set_led, value, expected in lst_test_led: + with rpi.io: + set_led(value) + self.assertEqual(rpi.io.RevPiLED.get_value(), expected) + self.assertEqual(get_led_byte(), expected) + self.assertEqual(get_led(), value) + with self.assertRaises(ValueError): + set_led(BLUE) + + # LED IOs after previews tests both read leds are on + self.assertIsInstance(rpi.core.a1green, IOBase) + self.assertIsInstance(rpi.core.a1red, IOBase) + self.assertIsInstance(rpi.core.a2green, IOBase) + self.assertIsInstance(rpi.core.a1red, IOBase) + with self.assertRaises(AttributeError): + rpi.core.a1green = True + with self.assertRaises(AttributeError): + rpi.core.a1red = True + with self.assertRaises(AttributeError): + rpi.core.a2green = True + with self.assertRaises(AttributeError): + rpi.core.a2red = True + with rpi.io: + self.assertTrue(rpi.core.a1red()) + self.assertFalse(rpi.core.a1green()) + self.assertTrue(rpi.core.a2red()) + self.assertFalse(rpi.core.a2green()) + + # Software watchdog (same bit as hardware watchdog on connect 3) + self.assertFalse(rpi.core.wd.value) + rpi.core.wd_toggle() + self.assertTrue(rpi.core.wd.value) + + self.assertIsInstance(rpi.core.status, int) + self.assertIsInstance(rpi.core.picontrolrunning, bool) + self.assertIsInstance(rpi.core.unconfdevice, bool) + self.assertIsInstance(rpi.core.missingdeviceorgate, bool) + self.assertIsInstance(rpi.core.overunderflow, bool) + self.assertIsInstance(rpi.core.leftgate, bool) + self.assertIsInstance(rpi.core.rightgate, bool) + self.assertIsInstance(rpi.core.iocycle, int) + self.assertIsInstance(rpi.core.temperature, int) + self.assertIsInstance(rpi.core.frequency, int) + self.assertIsInstance(rpi.core.ioerrorcount, int) + self.assertIsInstance(rpi.core.errorlimit1, int) + rpi.core.errorlimit1 = 10 + self.assertEqual(rpi.core.errorlimit1, 10) + with self.assertRaises(ValueError): + rpi.core.errorlimit1 = -1 + self.assertIsInstance(rpi.core.errorlimit2, int) + rpi.core.errorlimit2 = 1100 + self.assertEqual(rpi.core.errorlimit2, 1100) + with self.assertRaises(ValueError): + rpi.core.errorlimit2 = 65999