GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — kactus2dev/PythonAPI/constructPythonComponent.py at main · kactus2/kactus2dev Expand file tree/ Copy pathconstructPythonComponent.pyMore file actions 95 lines (72 loc) · 3.8 KB / Copy pathconstructPythonComponent.pyFile metadata and controls95 lines (72 loc) · 3.8 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 from ipmm_core_pkg.component import Component from ipmm_core_pkg.port import Port from ipmm_core_pkg.parameter import Parameter from ipmm_core_pkg.addressBlock import AddressBlock from ipmm_core_pkg.register import Register from ipmm_core_pkg.field import Field from ipmm_core_pkg.reset import Reset def createComponent(api, portsInterface, parameterInterface): componentName = api.getComponentName().toStdString() componentDescription = api.getComponentDescription().toStdString() newComponent = Component(componentName, componentDescription) for portName in portsInterface.getItemNames(): if portsInterface.portIsWire(portName): portDescription = portsInterface.getDescription(portName) portDataType = "" portBitWidth = portsInterface.getWidth(portName) portDirection = portsInterface.getDirection(portName) newComponent.add_port(Port(portName, portDescription, portDataType, portBitWidth, portDirection)) for parameterName in parameterInterface.getItemNames(): description = parameterInterface.getDescription(parameterName) dataType = parameterInterface.getType(parameterName) bitWidthLeft = parameterInterface.getBitWidthLeftValue(parameterName, 10) if not bitWidthLeft: bitWidthLeft = "0" bitWidthRight = parameterInterface.getBitWidthRightValue(parameterName, 10) if not bitWidthRight: bitWidthRight = "0" bitWidth = abs(int(bitWidthLeft) - int(bitWidthRight)) + 1 value = parameterInterface.getValueFormattedExpression(parameterName) newComponent.add_parameter(Parameter(parameterName, description, dataType, bitWidth, value)) mapName = "Map" mapInterface = api.getMapInterface() blockInterface = mapInterface.getSubInterface() registerInterface = blockInterface.getSubInterface() fieldInterface = registerInterface.getSubInterface() resetInterface = fieldInterface.getSubInterface() if mapInterface is not None: for mapName in mapInterface.getItemNames(): api.setBlocksForInterface(mapName) for blockName in blockInterface.getItemNames(): blockDescription = blockInterface.getDescription(blockName) blockRange = blockInterface.getRangeValue(blockName, 10) blockWidth = blockInterface.getWidthValue(blockName, 10) newBlock = AddressBlock(blockName, blockDescription, blockRange, blockWidth) api.setRegistersForInterface(mapName, blockName) for registerName in registerInterface.getItemNames(): registerDescription = registerInterface.getDescription(registerName) registerOffset = registerInterface.getOffsetValue(registerName, 10) registerSize = registerInterface.getSizeValue(registerName, 10) newRegister = Register(registerName, registerDescription, registerOffset, registerSize) newBlock.add_register(newRegister) api.setFieldsForInterface(mapName, blockName, registerName) for fieldName in fieldInterface.getItemNames(): fieldDescription = fieldInterface.getDescription(fieldName) fieldBitOffset = fieldInterface.getOffsetValue(fieldName, 10) fieldBitWidth = fieldInterface.getWidthValue(fieldName, 10) fieldAccess = fieldInterface.getAccess(fieldName) newField = Field(fieldName, fieldDescription, fieldBitOffset, fieldBitWidth, fieldAccess) newRegister.add_field(newField) api.setResetsForInterface(mapName, blockName, registerName, fieldName) for resetType in resetInterface.getItemNames(): newResetType = resetType if not newResetType: newResetType = "HARD" resetName = "" resetDescription = "" resetValue = resetInterface.getResetValue(resetType, 10) resetMask = resetInterface.getResetMaskValue(resetType, 10) newField.add_reset(Reset(resetName, resetDescription, newResetType, resetValue, resetMask)) newBlock.printer() print("\n") return newComponent |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |