utils.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include <furi.h>
  2. #include "utils.h"
  3. static const NotificationSequence sequence_beep = {
  4. &message_blue_255,
  5. &message_note_d5,
  6. &message_delay_100,
  7. &message_sound_off,
  8. NULL,
  9. };
  10. static const NotificationSequence sequence_timeup = {
  11. &message_force_display_brightness_setting_1f,
  12. &message_display_backlight_on,
  13. &message_vibro_on,
  14. &message_note_c8,
  15. &message_delay_50,
  16. &message_sound_off,
  17. &message_delay_50,
  18. &message_delay_25,
  19. &message_note_c8,
  20. &message_delay_50,
  21. &message_sound_off,
  22. &message_delay_50,
  23. &message_delay_25,
  24. &message_note_c8,
  25. &message_delay_50,
  26. &message_sound_off,
  27. &message_delay_50,
  28. &message_delay_25,
  29. &message_note_c8,
  30. &message_delay_50,
  31. &message_sound_off,
  32. &message_delay_50,
  33. &message_delay_25,
  34. &message_vibro_off,
  35. &message_display_backlight_off,
  36. &message_delay_500,
  37. NULL,
  38. };
  39. void notification_beep_once() {
  40. notification_message(furi_record_open(RECORD_NOTIFICATION), &sequence_beep);
  41. notification_off();
  42. }
  43. void notification_off() {
  44. furi_record_close(RECORD_NOTIFICATION);
  45. }
  46. void notification_timeup() {
  47. notification_message(furi_record_open(RECORD_NOTIFICATION), &sequence_timeup);
  48. }
  49. void parse_sec_to_time_str(char* buffer, size_t len, int32_t sec) {
  50. snprintf(
  51. buffer,
  52. len,
  53. "%02ld:%02ld:%02ld",
  54. (sec % (60 * 60 * 24)) / (60 * 60), // hour
  55. (sec % (60 * 60)) / 60, // minute
  56. sec % 60); // second
  57. }