io_utils.c 756 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "at32f403a_407.h"
  2. #include "io_utils.h"
  3. #include "FreeRTOS.h"
  4. #include "task.h"
  5. #include "settings_api.h"
  6. #include "mux.h"
  7. #include <stdio.h>
  8. bool save_mode = false;
  9. static uint16_t counter = 0;
  10. //
  11. void save_mode_init(void)
  12. {
  13. save_mode = settings.save_mode;
  14. save_mode ? mux_led_status(false) : mux_led_status(true);
  15. }
  16. //
  17. void save_mode_set(bool state)
  18. {
  19. save_mode = state;
  20. save_mode ? mux_led_status(false) : mux_led_status(true);
  21. }
  22. //
  23. bool save_mode_get(void)
  24. {
  25. return save_mode;
  26. }
  27. // Должна вызываться раз в секунду
  28. void save_mode_inc_cnt(void)
  29. {
  30. bool foo = counter++ > settings.save_delay ? true : false;
  31. save_mode_set(foo);
  32. }
  33. //
  34. void save_mode_reset_cnt(void)
  35. {
  36. counter = 0;
  37. }