Example #1
0
        const string OUTPUT_TERM_NAME_2 = "out2"; //out2 terminal


        public CyCustErr CustomizeShapes(ICyInstQuery_v1 instQuery, ICySymbolShapeEdit_v1 shapeEdit,
                                         ICyTerminalEdit_v1 termEdit)
        {
            CyCustErr err;

            // We leave the symbol as it is for symbol preview
            if (instQuery.IsPreviewCanvas)
            {
                return(CyCustErr.OK);
            }

            //todo: if single output -> name it "out" instead of "out1"

            // Read Parameters
            CyCompDevParam outWidthParam1  = instQuery.GetCommittedParam("out1_width");
            byte           outWidth1       = byte.Parse(outWidthParam1.Value);
            byte           maxOutBitIndex1 = (byte)(outWidth1 - 1);
            string         outTermName1    = termEdit.GetTermName(OUTPUT_TERM_NAME_1);

            if (maxOutBitIndex1 != 0)
            {
                err = termEdit.TerminalRename(outTermName1, string.Format("{0}[{1}:0]", OUTPUT_TERM_NAME_1, maxOutBitIndex1.ToString()));
            }
            else
            {
                err = termEdit.TerminalRename(outTermName1, string.Format("{0}", OUTPUT_TERM_NAME_1));
            }

            if (err.IsNotOK)
            {
                return(err);
            }



            // Read Parameters
            CyCompDevParam outWidthParam2  = instQuery.GetCommittedParam("out2_width");
            byte           outWidth2       = byte.Parse(outWidthParam2.Value);
            byte           maxOutBitIndex2 = (byte)(outWidth2 - 1);
            string         outTermName2    = termEdit.GetTermName(OUTPUT_TERM_NAME_2);

            if (maxOutBitIndex2 != 0)
            {
                err = termEdit.TerminalRename(outTermName2, string.Format("{0}[{1}:0]", OUTPUT_TERM_NAME_2, maxOutBitIndex2.ToString()));
            }
            else
            {
                err = termEdit.TerminalRename(outTermName2, string.Format("{0}", OUTPUT_TERM_NAME_2));
            }

            if (err.IsNotOK)
            {
                return(err);
            }



            return(CyCustErr.OK);
        }
Example #2
0
        public CyCustErr CustomizeShapes(
            ICyInstQuery_v1 instQuery,
            ICySymbolShapeEdit_v1 shapeEdit,
            ICyTerminalEdit_v1 termEdit)
        {
            CyCompDevParam width_param = instQuery.GetCommittedParam("Width");
            int            terminal_width;
            CyCustErr      err = width_param.TryGetValueAs <int>(out terminal_width);

            if (err.IsNotOk)
            {
                return(err);
            }

            // Shape the width of the data buses
            string suffix = (terminal_width > 1) ? string.Format("[{0}:0]", terminal_width - 1) : string.Empty;

            string term_name = termEdit.GetTermName("slope");

            termEdit.TerminalRename(term_name, term_name + suffix);

            term_name = termEdit.GetTermName("value");
            termEdit.TerminalRename(term_name, term_name + suffix);

            return(CyCustErr.OK);
        }
        public static T GetValue <T>(string paramName, ICyInstQuery_v1 instQuery)
        {
            if (instQuery == null)
            {
                return(default(T));
            }
            T         value;
            CyCustErr err = instQuery.GetCommittedParam(paramName).TryGetValueAs <T>(out value);

            return((err != null && err.IsOK) ? value : default(T));
        }
Example #4
0
        CyCustErr VerifyNumberOfDatabits(ICyInstQuery_v1 instQuery)
        {
            CyCustErr result = CyCustErr.OK;

            byte value = 0;

            instQuery.GetCommittedParam(CyParamNames.NUMBER_OF_DATA_BITS).TryGetValueAs <byte>(out value);

            if (value < CyParamRange.NUM_BITS_MIN)
            {
                result = new CyCustErr(string.Format(Properties.Resources.DRCNumberOfDataBitsMsg,
                                                     CyParamRange.NUM_BITS_MIN, CyParamRange.NUM_BITS_MAX));
            }
            return(result);
        }
Example #5
0
        public IEnumerable<CyAPICustomizer> CustomizeAPIs(ICyInstQuery_v1 query, ICyTerminalQuery_v1 termQuery, 
            IEnumerable<CyAPICustomizer> apis)
        {
            List<CyClockData> clockStuff = termQuery.GetClockData(ADC_ClockTermName, 3);

            Dictionary<string, string> paramDict = null;
            m_termQuery = termQuery;
            m_instQuery = query;
            foreach (CyAPICustomizer api in apis)
            {
                // Get parameter dictionary
                paramDict = api.MacroDictionary;

            }

            bool isPSoC3 = query.GetCommittedParam(Resource.DsmNameText).Value == Resource.DSMText;
            float vdda = float.Parse(query.GetCommittedParam(Resource.VddaValueText).Value);

            // Calculate values
            CalcValues(ref paramDict, isPSoC3, vdda);

            // Assign dictionary back to API customizers
            foreach (CyAPICustomizer api in apis)
            {
                // Get parameter dictionary
                api.MacroDictionary = paramDict;
            }
            // Return customizers
            return apis;
        }