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); }
private CyParameters(ICyInstQuery_v1 instQuery, ICyInstEdit_v1 instEdit) { m_instQuery = instQuery; m_instEdit = instEdit; m_ioComponentList = new List <string>(); }
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); }
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)); }
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); }
public CyParameters(ICyInstQuery_v1 instQuery) : this(instQuery, null) { }
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; }
public IEnumerable <CyAPICustomizer> CustomizeAPIs( ICyInstQuery_v1 query, ICyTerminalQuery_v1 termQuery, IEnumerable <CyAPICustomizer> apis) { List <CyAPICustomizer> customizers = new List <CyAPICustomizer>(apis); Dictionary <string, string> paramDict = new Dictionary <string, string>(); string instanceName = ""; // Get the parameters from the characterLCD.c file customizer for (int i = 0; i < customizers.Count; i++) { CyAPICustomizer api = customizers[i]; // Get dict from main file. if (api.OriginalName.EndsWith(LCD_CFILE_NAME)) { paramDict = api.MacroDictionary; paramDict.TryGetValue(INSTANCE_NAME_PARAM, out instanceName); } else if (api.OriginalName.EndsWith(CUST_CHARS_CFILE_NAME)) { m_custChar_CFile = api; } else if (api.OriginalName.EndsWith(BARGRAPH_CFILE_NAME)) { m_barGraph_CFile = api; } } // Determine Custom Character Set string value; paramDict.TryGetValue(CUSTOM_CHARACTER_SET_PARAM, out value); m_customCharacterSet = (CyCustomCharacterSetTypes)(int.Parse(value)); // Determine existence of ASCII Routines paramDict.TryGetValue(CONVERSION_ROUTINE_PARAM, out value); m_conversionRoutines = (value == "1"); #region New Code Substitution Values const string CUSTOM_CHAR_DEFINES_MACRO = "CustomCharDefines_API_GEN"; const string CONVERSION_ROUTINE_MACRO = "ConversionRoutines_DEF"; string customCharDeleted = "0"; string customCharDefined = ((byte)m_customCharacterSet).ToString(); #region Literal String Code for Conversion Routines string conversionRoutineDeleted = "0"; string conversionRoutineDefined = "1"; #endregion #endregion // If a character set is selected, build c file with data in it. switch (m_customCharacterSet) { case CyCustomCharacterSetTypes.USERDEFINED: ConvertCharacters(LoadUserDefinedCharacters(paramDict), paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_barGraph_CFile); break; case CyCustomCharacterSetTypes.VERTICAL: GenerateVerticalBargraph(paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_custChar_CFile); break; case CyCustomCharacterSetTypes.HORIZONTAL: GenerateHorizontalBargraph(paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_custChar_CFile); break; default: paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDeleted); customizers.Remove(m_barGraph_CFile); customizers.Remove(m_custChar_CFile); break; } // If conversion routines are selected, import them if (m_conversionRoutines) { paramDict.Add(CONVERSION_ROUTINE_MACRO, conversionRoutineDefined); } else { paramDict.Add(CONVERSION_ROUTINE_MACRO, conversionRoutineDeleted); } // Replace macro dictionaries with paramDict for (int i = 0; i < customizers.Count; i++) { CyAPICustomizer api = customizers[i]; api.MacroDictionary = paramDict; } return(customizers); }
public IEnumerable<CyAPICustomizer> CustomizeAPIs( ICyInstQuery_v1 query, ICyTerminalQuery_v1 termQuery, IEnumerable<CyAPICustomizer> apis) { List<CyAPICustomizer> customizers = new List<CyAPICustomizer>(apis); Dictionary<string, string> paramDict = new Dictionary<string, string>(); string instanceName = ""; // Get the parameters from the characterLCD.c file customizer for (int i = 0; i < customizers.Count; i++) { CyAPICustomizer api = customizers[i]; // Get dict from main file. if (api.OriginalName.EndsWith(LCD_CFILE_NAME)) { paramDict = api.MacroDictionary; paramDict.TryGetValue(INSTANCE_NAME_PARAM, out instanceName); } else if (api.OriginalName.EndsWith(CUST_CHARS_CFILE_NAME)) { m_custChar_CFile = api; } else if (api.OriginalName.EndsWith(BARGRAPH_CFILE_NAME)) { m_barGraph_CFile = api; } } // Determine Custom Character Set string value; paramDict.TryGetValue(CUSTOM_CHARACTER_SET_PARAM, out value); m_customCharacterSet = (CyCustomCharacterSetTypes)(int.Parse(value)); // Determine existence of ASCII Routines paramDict.TryGetValue(CONVERSION_ROUTINE_PARAM, out value); m_conversionRoutines = (value == "1"); #region New Code Substitution Values const string CUSTOM_CHAR_DEFINES_MACRO = "CustomCharDefines_API_GEN"; const string CONVERSION_ROUTINE_MACRO = "ConversionRoutines_DEF"; string customCharDeleted = "0"; string customCharDefined = ((byte)m_customCharacterSet).ToString(); #region Literal String Code for Conversion Routines string conversionRoutineDeleted = "0"; string conversionRoutineDefined = "1"; #endregion #endregion // If a character set is selected, build c file with data in it. switch (m_customCharacterSet) { case CyCustomCharacterSetTypes.USERDEFINED: ConvertCharacters(LoadUserDefinedCharacters(paramDict), paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_barGraph_CFile); break; case CyCustomCharacterSetTypes.VERTICAL: GenerateVerticalBargraph(paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_custChar_CFile); break; case CyCustomCharacterSetTypes.HORIZONTAL: GenerateHorizontalBargraph(paramDict); paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDefined); customizers.Remove(m_custChar_CFile); break; default: paramDict.Add(CUSTOM_CHAR_DEFINES_MACRO, customCharDeleted); customizers.Remove(m_barGraph_CFile); customizers.Remove(m_custChar_CFile); break; } // If conversion routines are selected, import them if (m_conversionRoutines) { paramDict.Add(CONVERSION_ROUTINE_MACRO, conversionRoutineDefined); } else { paramDict.Add(CONVERSION_ROUTINE_MACRO, conversionRoutineDeleted); } // Replace macro dictionaries with paramDict for (int i = 0; i < customizers.Count; i++) { CyAPICustomizer api = customizers[i]; api.MacroDictionary = paramDict; } return customizers; }