settings_ai.c 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "at32f403a_407.h"
  2. #include "settings_api.h"
  3. #include "settings_ai.h"
  4. #include "analog_input.h"
  5. #if defined (MAI_12)
  6. //
  7. void settings_ai_set_all_default(void)
  8. {
  9. // Аналоговые входы
  10. settings_ai_def(&settings);
  11. // Питание внешних датчиков
  12. settings_ext_sens_power_def(&settings);
  13. }
  14. //
  15. void settings_ai_def(settings_t *settings)
  16. {
  17. // Все входы выключены
  18. settings->ai_state_bits = 0;
  19. // Режим измерения напряжения
  20. settings->ai_mode_bits = 0;
  21. for (int i = 0; i < AI_ALL_NUMBER; i++)
  22. {
  23. settings->ai[i].state = 0; // вход выключен
  24. settings->ai[i].mode = 0; // режим измерения напряжения
  25. settings->ai[i].gain_factor = 1; // коэф-т усиления внешнего ADC
  26. }
  27. settings->ai[0].name = AN_INP_1;
  28. settings->ai[1].name = AN_INP_2;
  29. settings->ai[2].name = AN_INP_3;
  30. settings->ai[3].name = AN_INP_4;
  31. settings->ai[4].name = AN_INP_5;
  32. settings->ai[5].name = AN_INP_6;
  33. settings->ai[6].name = V_ISO_CL;
  34. settings->ai[7].name = V_ISO;
  35. settings->ai[8].name = AN_INP_7;
  36. settings->ai[9].name = AN_INP_8;
  37. settings->ai[10].name = AN_INP_9;
  38. settings->ai[11].name = AN_INP_10;
  39. settings->ai[12].name = AN_INP_11;
  40. settings->ai[13].name = AN_INP_12;
  41. settings->ai[14].name = CRNT_LIM_U_BFR_R;
  42. settings->ai[15].name = CRNT_LIM_U_ABFR_R;
  43. // Дополнительные каналы работают всегда (режим измерения напряжения).
  44. settings->ai[6].state = 1;
  45. settings->ai[7].state = 1;
  46. settings->ai[14].state = 1;
  47. settings->ai[15].state = 1;
  48. }
  49. //
  50. void settings_ext_sens_power_def(settings_t *settings)
  51. {
  52. settings->ext_sens_power = 0;
  53. }
  54. #endif