private static Tuple <DataTypeBase, EditorImplBase> findParent(DataProcessor dataprocessor, DataTypeBase child, byte type)
        {
            if (child.eventConfig[0] == (byte)DATA_PROCESSOR && child.eventConfig[1] == DataProcessor.NOTIFY)
            {
                var processor = dataprocessor.lookupProcessor(child.eventConfig[2]);
                if (processor.Item2.config[0] == type)
                {
                    return(processor);
                }

                return(findParent(dataprocessor, child.input, type));
            }
            return(null);
        }
Ejemplo n.º 2
0
        internal static String createIdentifier(DataTypeBase dataType, DataProcessor dataprocessor, Version firmware, byte revision)
        {
            byte register = Util.clearRead(dataType.eventConfig[1]);

            switch (register)
            {
            case NOTIFY:
            case STATE:
                var processor = dataprocessor.lookupProcessor(dataType.eventConfig[2]);
                DataProcessorConfig config = DataProcessorConfig.from(firmware, revision, processor.Item2.config);

                return(config.CreateIdentifier(register == STATE, dataType.eventConfig[2]));

            default:
                return(null);
            }
        }