notification-messages.c 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  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_1 = {
  42. .type = NotificationMessageTypeDelay,
  43. .data.delay.length = 1,
  44. };
  45. const NotificationMessage message_delay_10 = {
  46. .type = NotificationMessageTypeDelay,
  47. .data.delay.length = 10,
  48. };
  49. const NotificationMessage message_delay_25 = {
  50. .type = NotificationMessageTypeDelay,
  51. .data.delay.length = 25,
  52. };
  53. const NotificationMessage message_delay_50 = {
  54. .type = NotificationMessageTypeDelay,
  55. .data.delay.length = 50,
  56. };
  57. const NotificationMessage message_delay_100 = {
  58. .type = NotificationMessageTypeDelay,
  59. .data.delay.length = 100,
  60. };
  61. const NotificationMessage message_delay_250 = {
  62. .type = NotificationMessageTypeDelay,
  63. .data.delay.length = 250,
  64. };
  65. const NotificationMessage message_delay_500 = {
  66. .type = NotificationMessageTypeDelay,
  67. .data.delay.length = 500,
  68. };
  69. const NotificationMessage message_delay_1000 = {
  70. .type = NotificationMessageTypeDelay,
  71. .data.delay.length = 1000,
  72. };
  73. // Sound
  74. const NotificationMessage message_sound_off = {
  75. .type = NotificationMessageTypeSoundOff,
  76. };
  77. // Vibro
  78. const NotificationMessage message_vibro_on = {
  79. .type = NotificationMessageTypeVibro,
  80. .data.vibro.on = true,
  81. };
  82. const NotificationMessage message_vibro_off = {
  83. .type = NotificationMessageTypeVibro,
  84. .data.vibro.on = false,
  85. };
  86. // Reset
  87. const NotificationMessage message_do_not_reset = {
  88. .type = NotificationMessageTypeDoNotReset,
  89. };
  90. /****************************** Message sequences ******************************/
  91. // Reset
  92. const NotificationSequence sequence_reset_red = {
  93. &message_red_0,
  94. NULL,
  95. };
  96. const NotificationSequence sequence_reset_green = {
  97. &message_green_0,
  98. NULL,
  99. };
  100. const NotificationSequence sequence_reset_blue = {
  101. &message_blue_0,
  102. NULL,
  103. };
  104. const NotificationSequence sequence_reset_rgb = {
  105. &message_red_0,
  106. &message_blue_0,
  107. &message_green_0,
  108. NULL,
  109. };
  110. const NotificationSequence sequence_reset_display = {
  111. &message_display_off,
  112. NULL,
  113. };
  114. const NotificationSequence sequence_reset_sound = {
  115. &message_sound_off,
  116. NULL,
  117. };
  118. const NotificationSequence sequence_reset_vibro = {
  119. &message_vibro_off,
  120. NULL,
  121. };
  122. // Vibro
  123. const NotificationSequence sequence_set_vibro_on = {
  124. &message_vibro_on,
  125. &message_do_not_reset,
  126. NULL,
  127. };
  128. // Display
  129. const NotificationSequence sequence_display_on = {
  130. &message_display_on,
  131. NULL,
  132. };
  133. const NotificationSequence sequence_display_off = {
  134. &message_display_off,
  135. NULL,
  136. };
  137. // Charging
  138. const NotificationSequence sequence_charging = {
  139. &message_red_255,
  140. &message_green_0,
  141. NULL,
  142. };
  143. const NotificationSequence sequence_charged = {
  144. &message_green_255,
  145. &message_red_0,
  146. NULL,
  147. };
  148. const NotificationSequence sequence_not_charging = {
  149. &message_red_0,
  150. &message_green_0,
  151. NULL,
  152. };
  153. // Light up
  154. const NotificationSequence sequence_set_only_red_255 = {
  155. &message_red_255,
  156. &message_green_0,
  157. &message_blue_0,
  158. &message_do_not_reset,
  159. NULL,
  160. };
  161. const NotificationSequence sequence_set_only_green_255 = {
  162. &message_red_0,
  163. &message_green_255,
  164. &message_blue_0,
  165. &message_do_not_reset,
  166. NULL,
  167. };
  168. const NotificationSequence sequence_set_only_blue_255 = {
  169. &message_red_0,
  170. &message_green_0,
  171. &message_blue_255,
  172. &message_do_not_reset,
  173. NULL,
  174. };
  175. const NotificationSequence sequence_set_red_255 = {
  176. &message_red_255,
  177. &message_do_not_reset,
  178. NULL,
  179. };
  180. const NotificationSequence sequence_set_green_255 = {
  181. &message_green_255,
  182. &message_do_not_reset,
  183. NULL,
  184. };
  185. const NotificationSequence sequence_set_blue_255 = {
  186. &message_blue_255,
  187. &message_do_not_reset,
  188. NULL,
  189. };
  190. // Blink
  191. const NotificationSequence sequence_blink_blue_10 = {
  192. &message_blue_255,
  193. &message_delay_10,
  194. NULL,
  195. };
  196. const NotificationSequence sequence_blink_red_10 = {
  197. &message_red_255,
  198. &message_delay_10,
  199. NULL,
  200. };
  201. const NotificationSequence sequence_blink_green_10 = {
  202. &message_green_255,
  203. &message_delay_10,
  204. NULL,
  205. };
  206. const NotificationSequence sequence_blink_yellow_10 = {
  207. &message_red_255,
  208. &message_green_255,
  209. &message_delay_10,
  210. NULL,
  211. };
  212. const NotificationSequence sequence_blink_cyan_10 = {
  213. &message_green_255,
  214. &message_blue_255,
  215. &message_delay_10,
  216. NULL,
  217. };
  218. const NotificationSequence sequence_blink_red_100 = {
  219. &message_red_255,
  220. &message_delay_100,
  221. NULL,
  222. };
  223. const NotificationSequence sequence_blink_green_100 = {
  224. &message_green_255,
  225. &message_delay_100,
  226. NULL,
  227. };
  228. const NotificationSequence sequence_blink_blue_100 = {
  229. &message_blue_255,
  230. &message_delay_100,
  231. NULL,
  232. };
  233. const NotificationSequence sequence_blink_yellow_100 = {
  234. &message_red_255,
  235. &message_green_255,
  236. &message_delay_100,
  237. NULL,
  238. };
  239. const NotificationSequence sequence_blink_cyan_100 = {
  240. &message_green_255,
  241. &message_blue_255,
  242. &message_delay_100,
  243. NULL,
  244. };
  245. const NotificationSequence sequence_blink_magenta_100 = {
  246. &message_red_255,
  247. &message_blue_255,
  248. &message_delay_100,
  249. NULL,
  250. };
  251. const NotificationSequence sequence_blink_white_100 = {
  252. &message_red_255,
  253. &message_green_255,
  254. &message_blue_255,
  255. &message_delay_100,
  256. NULL,
  257. };
  258. // General
  259. const NotificationSequence sequence_double_vibro = {
  260. &message_vibro_on,
  261. &message_delay_100,
  262. &message_vibro_off,
  263. &message_delay_100,
  264. &message_vibro_on,
  265. &message_delay_100,
  266. &message_vibro_off,
  267. NULL,
  268. };
  269. const NotificationSequence sequence_success = {
  270. &message_display_on,
  271. &message_green_255,
  272. &message_vibro_on,
  273. &message_note_c5,
  274. &message_delay_50,
  275. &message_vibro_off,
  276. &message_note_e5,
  277. &message_delay_50,
  278. &message_note_g5,
  279. &message_delay_50,
  280. &message_note_c6,
  281. &message_delay_50,
  282. &message_sound_off,
  283. NULL,
  284. };
  285. const NotificationSequence sequence_error = {
  286. &message_display_on,
  287. &message_red_255,
  288. &message_vibro_on,
  289. &message_note_c5,
  290. &message_delay_100,
  291. &message_vibro_off,
  292. &message_sound_off,
  293. &message_delay_100,
  294. &message_vibro_on,
  295. &message_note_c5,
  296. &message_delay_100,
  297. &message_vibro_off,
  298. &message_sound_off,
  299. NULL,
  300. };