static void setFrequency(Programmer programmer, string frequencyString) { // Convert the frequency string to a decimal. decimal frequency; try { frequency = decimal.Parse(frequencyString); } catch (Exception exception) { throw new ArgumentException("Invalid frequency \"" + frequencyString + "\".", exception); } // Convert the frequency to the SckDuration parameter. bool exactMatch; SckDuration sckDuration = Programmer.frequencyToSckDuration(frequency, out exactMatch); string sckDurationString = Programmer.sckDurationToString(sckDuration); if (!exactMatch) { Console.WriteLine("Frequency " + frequencyString + " kHz not supported, using " + sckDurationString + " instead."); } // Set the SckDuration. programmer.setSckDuration(sckDuration); }
public static string sckDurationToString(SckDuration sckDuration) { switch (sckDuration) { case SckDuration.Frequency2000: return("2000 kHz"); case SckDuration.Frequency1500: return("1500 kHz"); case SckDuration.Frequency750: return("750 kHz"); case SckDuration.Frequency200: return("200 kHz"); default: if (sckDuration <= SckDuration.Frequency4) { return("4 kHz"); } else { return("1.5 kHz"); } } }
public void setSckDuration(SckDuration value) { setVariable(VariableId.SCK_DURATION, (byte)value); }
public static string sckDurationToString(SckDuration sckDuration) { switch (sckDuration) { case SckDuration.Frequency2000: return "2000 kHz"; case SckDuration.Frequency1500: return "1500 kHz"; case SckDuration.Frequency750: return "750 kHz"; case SckDuration.Frequency200: return "200 kHz"; default: if (sckDuration <= SckDuration.Frequency4) { return "4 kHz"; } else { return "1.5 kHz"; } } }