Menu.cpp
 1  // SPDX-FileCopyrightText: 2019 Anne Barela for Adafruit Industries
 2  //
 3  // SPDX-License-Identifier: MIT
 4  
 5  #include <Arduino.h>
 6  extern uint8_t mode;
 7  
 8  const uint8_t tetrisBoot[16]={
 9    B00000000,
10    B00000000,
11    B00001000,
12    B00001100,
13    B00000100,
14    B00000000,
15    B00000000,
16    B00100000,
17    B11100000,
18    B11111010,
19    B10111110,
20    B11011110,
21    B01111111,
22    B11111101,
23    B11011111,
24    B10110111
25  };
26  
27  const uint8_t snakeBoot[16]={
28    B00000000,
29    B00000000,
30    B00000100,
31    B00000000,
32    B00000000,
33    B00000000,
34    B00000100,
35    B00000100,
36    B00000100,
37    B01111100,
38    B01000000,
39    B01000000,
40    B01100000,
41    B00100000,
42    B00100000,
43    B00100000
44  };
45  
46  const uint8_t paintBoot[16]={
47    B01100000,
48    B11000000,
49    B10000010,
50    B00001010,
51    B00011110,
52    B00110110,
53    B01100011,
54    B11000001,
55    B01010101,
56    B01010001,
57    B01111111,
58    B00101000,
59    B11101111,
60    B00000000,
61    B11011011,
62    B00000000
63  };
64  
65  uint8_t option=1;
66  
67  void changeMode(){
68    mode = option;
69  }
70  
71  uint8_t* getMenu(){
72    switch(option) {
73      case 1:
74        return (uint8_t*)tetrisBoot;
75      case 2:
76        return (uint8_t*)snakeBoot;
77      case 3:
78        return (uint8_t*)paintBoot;
79    }
80    return 0;
81  }
82  
83  void changeOption(int8_t i){
84    int8_t temp = option+i;
85    if (temp<1 || temp>3) return;
86    option=temp;
87  }