You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.7 KiB

5 years ago
  1. #include <ControlStates.h>
  2. ControlDateState::ControlDateState(DS3231 &_ds3231)
  3. {
  4. ds3231 = _ds3231;
  5. }
  6. void ControlDateState::leftPressed(ViewStates &viewState, ControlStates &controlState)
  7. {
  8. switch (controlState)
  9. {
  10. case ControlStates::DATE_YEAR:
  11. controlState = ControlStates::DATE_MONTH;
  12. break;
  13. case ControlStates::DATE_MONTH:
  14. controlState = ControlStates::DATE_DATE;
  15. break;
  16. case ControlStates::DATE_DATE:
  17. controlState = ControlStates::DATE_YEAR;
  18. break;
  19. }
  20. };
  21. void ControlDateState::rightPressed(ViewStates &viewState, ControlStates &controlState)
  22. {
  23. switch (controlState)
  24. {
  25. case ControlStates::DATE_DATE:
  26. controlState = ControlStates::DATE_MONTH;
  27. break;
  28. case ControlStates::DATE_MONTH:
  29. controlState = ControlStates::DATE_YEAR;
  30. break;
  31. case ControlStates::DATE_YEAR:
  32. controlState = ControlStates::DATE_DATE;
  33. break;
  34. }
  35. };
  36. void ControlDateState::enterPressed(ViewStates &viewState, ControlStates &controlState)
  37. {
  38. controlState = ControlStates::VIEW;
  39. };
  40. void ControlDateState::decrementPressed(ViewStates &viewState, ControlStates &controlState)
  41. {
  42. switch (controlState)
  43. {
  44. case ControlStates::DATE_DATE:
  45. ds3231.decrementDate();
  46. break;
  47. case ControlStates::DATE_MONTH:
  48. ds3231.decrementMonth();
  49. break;
  50. case ControlStates::DATE_YEAR:
  51. ds3231.decrementYear();
  52. break;
  53. }
  54. };
  55. void ControlDateState::incrementPressed(ViewStates &viewState, ControlStates &controlState)
  56. {
  57. switch (controlState)
  58. {
  59. case ControlStates::DATE_DATE:
  60. ds3231.incrementDate();
  61. break;
  62. case ControlStates::DATE_MONTH:
  63. ds3231.incrementMonth();
  64. break;
  65. case ControlStates::DATE_YEAR:
  66. ds3231.incrementYear();
  67. break;
  68. }
  69. };