notification-messages.c 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. #include "notification.h"
  2. #include "notification-messages-notes.h"
  3. #include <stddef.h>
  4. /*********************************** Messages **********************************/
  5. // Display
  6. const NotificationMessage message_display_on = {
  7. .type = NotificationMessageTypeLedDisplay,
  8. .data.led.value = 0xFF,
  9. };
  10. const NotificationMessage message_display_off = {
  11. .type = NotificationMessageTypeLedDisplay,
  12. .data.led.value = 0x00,
  13. };
  14. // Led ON
  15. const NotificationMessage message_red_255 = {
  16. .type = NotificationMessageTypeLedRed,
  17. .data.led.value = 0xFF,
  18. };
  19. const NotificationMessage message_green_255 = {
  20. .type = NotificationMessageTypeLedGreen,
  21. .data.led.value = 0xFF,
  22. };
  23. const NotificationMessage message_blue_255 = {
  24. .type = NotificationMessageTypeLedBlue,
  25. .data.led.value = 0xFF,
  26. };
  27. // Led OFF
  28. const NotificationMessage message_red_0 = {
  29. .type = NotificationMessageTypeLedRed,
  30. .data.led.value = 0x00,
  31. };
  32. const NotificationMessage message_green_0 = {
  33. .type = NotificationMessageTypeLedGreen,
  34. .data.led.value = 0x00,
  35. };
  36. const NotificationMessage message_blue_0 = {
  37. .type = NotificationMessageTypeLedBlue,
  38. .data.led.value = 0x00,
  39. };
  40. // Delay
  41. const NotificationMessage message_delay_10 = {
  42. .type = NotificationMessageTypeDelay,
  43. .data.delay.length = 10,
  44. };
  45. const NotificationMessage message_delay_25 = {
  46. .type = NotificationMessageTypeDelay,
  47. .data.delay.length = 25,
  48. };
  49. const NotificationMessage message_delay_50 = {
  50. .type = NotificationMessageTypeDelay,
  51. .data.delay.length = 50,
  52. };
  53. const NotificationMessage message_delay_100 = {
  54. .type = NotificationMessageTypeDelay,
  55. .data.delay.length = 100,
  56. };
  57. const NotificationMessage message_delay_250 = {
  58. .type = NotificationMessageTypeDelay,
  59. .data.delay.length = 250,
  60. };
  61. const NotificationMessage message_delay_500 = {
  62. .type = NotificationMessageTypeDelay,
  63. .data.delay.length = 500,
  64. };
  65. const NotificationMessage message_delay_1000 = {
  66. .type = NotificationMessageTypeDelay,
  67. .data.delay.length = 1000,
  68. };
  69. // Sound
  70. const NotificationMessage message_sound_off = {
  71. .type = NotificationMessageTypeSoundOff,
  72. };
  73. // Vibro
  74. const NotificationMessage message_vibro_on = {
  75. .type = NotificationMessageTypeVibro,
  76. .data.vibro.on = true,
  77. };
  78. const NotificationMessage message_vibro_off = {
  79. .type = NotificationMessageTypeVibro,
  80. .data.vibro.on = false,
  81. };
  82. // Reset
  83. const NotificationMessage message_do_not_reset = {
  84. .type = NotificationMessageTypeDoNotReset,
  85. };
  86. /****************************** Message sequences ******************************/
  87. // Reset
  88. const NotificationSequence sequence_reset_red = {
  89. &message_red_0,
  90. NULL,
  91. };
  92. const NotificationSequence sequence_reset_green = {
  93. &message_blue_0,
  94. NULL,
  95. };
  96. const NotificationSequence sequence_reset_blue = {
  97. &message_green_0,
  98. NULL,
  99. };
  100. const NotificationSequence sequence_reset_rgb = {
  101. &message_red_0,
  102. &message_blue_0,
  103. &message_green_0,
  104. NULL,
  105. };
  106. const NotificationSequence sequence_reset_display = {
  107. &message_display_off,
  108. NULL,
  109. };
  110. const NotificationSequence sequence_reset_sound = {
  111. &message_sound_off,
  112. NULL,
  113. };
  114. const NotificationSequence sequence_reset_vibro = {
  115. &message_vibro_off,
  116. NULL,
  117. };
  118. // Vibro
  119. const NotificationSequence sequence_set_vibro_on = {
  120. &message_vibro_on,
  121. &message_do_not_reset,
  122. NULL,
  123. };
  124. // Display
  125. const NotificationSequence sequence_display_on = {
  126. &message_display_on,
  127. NULL,
  128. };
  129. const NotificationSequence sequence_display_off = {
  130. &message_display_off,
  131. NULL,
  132. };
  133. // Charging
  134. const NotificationSequence sequence_charging = {
  135. &message_red_255,
  136. &message_green_0,
  137. NULL,
  138. };
  139. const NotificationSequence sequence_charged = {
  140. &message_green_255,
  141. &message_red_0,
  142. NULL,
  143. };
  144. const NotificationSequence sequence_not_charging = {
  145. &message_red_0,
  146. &message_green_0,
  147. NULL,
  148. };
  149. // Light up
  150. const NotificationSequence sequence_set_only_red_255 = {
  151. &message_red_255,
  152. &message_green_0,
  153. &message_blue_0,
  154. &message_do_not_reset,
  155. NULL,
  156. };
  157. const NotificationSequence sequence_set_only_green_255 = {
  158. &message_red_0,
  159. &message_green_255,
  160. &message_blue_0,
  161. &message_do_not_reset,
  162. NULL,
  163. };
  164. const NotificationSequence sequence_set_only_blue_255 = {
  165. &message_red_0,
  166. &message_green_0,
  167. &message_blue_255,
  168. &message_do_not_reset,
  169. NULL,
  170. };
  171. const NotificationSequence sequence_set_red_255 = {
  172. &message_red_255,
  173. &message_do_not_reset,
  174. NULL,
  175. };
  176. const NotificationSequence sequence_set_green_255 = {
  177. &message_green_255,
  178. &message_do_not_reset,
  179. NULL,
  180. };
  181. const NotificationSequence sequence_set_blue_255 = {
  182. &message_blue_255,
  183. &message_do_not_reset,
  184. NULL,
  185. };
  186. // Blink
  187. const NotificationSequence sequence_blink_blue_10 = {
  188. &message_blue_255,
  189. &message_delay_10,
  190. NULL,
  191. };
  192. const NotificationSequence sequence_blink_red_10 = {
  193. &message_red_255,
  194. &message_delay_10,
  195. NULL,
  196. };
  197. const NotificationSequence sequence_blink_green_10 = {
  198. &message_green_255,
  199. &message_delay_10,
  200. NULL,
  201. };
  202. const NotificationSequence sequence_blink_yellow_10 = {
  203. &message_red_255,
  204. &message_green_255,
  205. &message_delay_10,
  206. NULL,
  207. };
  208. const NotificationSequence sequence_blink_red_100 = {
  209. &message_red_255,
  210. &message_delay_100,
  211. NULL,
  212. };
  213. const NotificationSequence sequence_blink_green_100 = {
  214. &message_green_255,
  215. &message_delay_100,
  216. NULL,
  217. };
  218. const NotificationSequence sequence_blink_blue_100 = {
  219. &message_blue_255,
  220. &message_delay_100,
  221. NULL,
  222. };
  223. const NotificationSequence sequence_blink_yellow_100 = {
  224. &message_red_255,
  225. &message_green_255,
  226. &message_delay_100,
  227. NULL,
  228. };
  229. const NotificationSequence sequence_blink_cyan_100 = {
  230. &message_green_255,
  231. &message_blue_255,
  232. &message_delay_100,
  233. NULL,
  234. };
  235. const NotificationSequence sequence_blink_magenta_100 = {
  236. &message_red_255,
  237. &message_blue_255,
  238. &message_delay_100,
  239. NULL,
  240. };
  241. const NotificationSequence sequence_blink_white_100 = {
  242. &message_red_255,
  243. &message_green_255,
  244. &message_blue_255,
  245. &message_delay_100,
  246. NULL,
  247. };
  248. // General
  249. const NotificationSequence sequence_success = {
  250. &message_display_on,
  251. &message_green_255,
  252. &message_vibro_on,
  253. &message_note_c5,
  254. &message_delay_50,
  255. &message_vibro_off,
  256. &message_note_e5,
  257. &message_delay_50,
  258. &message_note_g5,
  259. &message_delay_50,
  260. &message_note_c6,
  261. &message_delay_50,
  262. &message_sound_off,
  263. NULL,
  264. };
  265. const NotificationSequence sequence_error = {
  266. &message_display_on,
  267. &message_red_255,
  268. &message_vibro_on,
  269. &message_note_c5,
  270. &message_delay_100,
  271. &message_vibro_off,
  272. &message_sound_off,
  273. &message_delay_100,
  274. &message_vibro_on,
  275. &message_note_c5,
  276. &message_delay_100,
  277. &message_vibro_off,
  278. &message_sound_off,
  279. NULL,
  280. };