CaliDataManager.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Uestc.Auto6.Dso.Hardware.Calibration.Data.Base
  7. {
  8. public static class CaliDataManager
  9. {
  10. private static ICaliData? GetICaliData(CaliDataType caliDataType)
  11. {
  12. return caliDataType switch
  13. {
  14. CaliDataType.TiAdc_SyncSampleClock => TiAdc_SyncSampleClock.Default,
  15. CaliDataType.PhyChannel => ChannelParams.Default,
  16. CaliDataType.TiAdc_PhaseOffsetGain => TiAdc_PhaseOffsetGain.Default,
  17. CaliDataType.CoefficientsTable_AFC=> CoefficientsTable_AFC.Default,
  18. CaliDataType.CoefficientsTable_Interpolation => CoefficientsTable_Interpolation.Default,
  19. CaliDataType.CoefficientsTable_TiAdc => CoefficientsTable_TiAdc.Default,
  20. CaliDataType.Misc=> MiscData.Default,
  21. _ => null
  22. };
  23. }
  24. public static void SaveAllToFile()
  25. {
  26. foreach (CaliDataType dataType in Enum.GetValues(typeof(CaliDataType)))
  27. {
  28. GetICaliData(dataType)?.SaveToFile();
  29. }
  30. }
  31. public static void LoadAllFromFile()
  32. {
  33. foreach (CaliDataType dataType in Enum.GetValues(typeof(CaliDataType)))
  34. {
  35. GetICaliData(dataType)?.LoadFromFile();
  36. }
  37. }
  38. public static void LoadAllDefault()
  39. {
  40. foreach (CaliDataType dataType in Enum.GetValues(typeof(CaliDataType)))
  41. {
  42. GetICaliData(dataType)?.LoadFromFile();
  43. }
  44. }
  45. public static CaliDataType DataChangedCaliDataType
  46. {
  47. get;
  48. set;
  49. } = CaliDataType.None;
  50. }
  51. }