si4703
Dependencies: Si4703 mbed millis
main.cpp@1:ebbd4cc237bc, 2016-01-16 (annotated)
- Committer:
- vodavprasku
- Date:
- Sat Jan 16 19:27:51 2016 +0000
- Revision:
- 1:ebbd4cc237bc
- Parent:
- 0:11630d0d8271
abc
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vodavprasku | 1:ebbd4cc237bc | 1 | /* |
vodavprasku | 1:ebbd4cc237bc | 2 | +-----------------------------------------------------+ |
vodavprasku | 1:ebbd4cc237bc | 3 | | | |
vodavprasku | 1:ebbd4cc237bc | 4 | | | |
vodavprasku | 1:ebbd4cc237bc | 5 | | FM radio s Si4703 | |
vodavprasku | 1:ebbd4cc237bc | 6 | | | |
vodavprasku | 1:ebbd4cc237bc | 7 | | | |
vodavprasku | 1:ebbd4cc237bc | 8 | +-----------------------------------------------------+ |
vodavprasku | 1:ebbd4cc237bc | 9 | */ |
vodavprasku | 1:ebbd4cc237bc | 10 | // Autor: Adam Stepanek |
vodavprasku | 1:ebbd4cc237bc | 11 | // Vytvoreno v ramci projektu MPOA 2016 |
vodavprasku | 1:ebbd4cc237bc | 12 | |
vodavprasku | 1:ebbd4cc237bc | 13 | |
vodavprasku | 1:ebbd4cc237bc | 14 | // Inkluze knihoven |
vodavprasku | 0:11630d0d8271 | 15 | #include "mbed.h" |
vodavprasku | 0:11630d0d8271 | 16 | #include "SparkFun-Si4703.h" |
vodavprasku | 0:11630d0d8271 | 17 | #include "SSD1306.h" |
vodavprasku | 1:ebbd4cc237bc | 18 | #include "millis.h" |
vodavprasku | 0:11630d0d8271 | 19 | |
vodavprasku | 1:ebbd4cc237bc | 20 | // Definice pro tlacitka |
vodavprasku | 1:ebbd4cc237bc | 21 | #define LEFT 0x01 |
vodavprasku | 1:ebbd4cc237bc | 22 | #define CENTER 0x02 |
vodavprasku | 1:ebbd4cc237bc | 23 | #define RIGHT 0x03 |
vodavprasku | 0:11630d0d8271 | 24 | |
vodavprasku | 1:ebbd4cc237bc | 25 | // Definice pro displej |
vodavprasku | 1:ebbd4cc237bc | 26 | #define MAIN 0x01 |
vodavprasku | 1:ebbd4cc237bc | 27 | #define MENU 0x02 |
vodavprasku | 1:ebbd4cc237bc | 28 | #define ONOFF 0x04 |
vodavprasku | 1:ebbd4cc237bc | 29 | #define VOLUME 0x05 |
vodavprasku | 1:ebbd4cc237bc | 30 | |
vodavprasku | 1:ebbd4cc237bc | 31 | // Konstruktory |
vodavprasku | 0:11630d0d8271 | 32 | Serial pc(USBTX, USBRX); // tx, rx |
vodavprasku | 0:11630d0d8271 | 33 | Si4703_Breakout radio(I2C_SDA, I2C_SCL, PTA1, &pc); |
vodavprasku | 0:11630d0d8271 | 34 | |
vodavprasku | 1:ebbd4cc237bc | 35 | // Nastaveni I/O |
vodavprasku | 1:ebbd4cc237bc | 36 | DigitalIn btn_left(PTA5); |
vodavprasku | 1:ebbd4cc237bc | 37 | DigitalIn btn_center(PTC8); |
vodavprasku | 1:ebbd4cc237bc | 38 | DigitalIn btn_right(PTC9); |
vodavprasku | 1:ebbd4cc237bc | 39 | |
vodavprasku | 1:ebbd4cc237bc | 40 | // Definice funkci |
vodavprasku | 1:ebbd4cc237bc | 41 | int button_pressed(void); |
vodavprasku | 1:ebbd4cc237bc | 42 | void show_frequency(void); |
vodavprasku | 1:ebbd4cc237bc | 43 | void show_screen(int screen, int position); |
vodavprasku | 1:ebbd4cc237bc | 44 | |
vodavprasku | 1:ebbd4cc237bc | 45 | // Prostor pro ulozeni nastaveni |
vodavprasku | 1:ebbd4cc237bc | 46 | typedef struct{ |
vodavprasku | 1:ebbd4cc237bc | 47 | bool rds; |
vodavprasku | 1:ebbd4cc237bc | 48 | int volume; |
vodavprasku | 1:ebbd4cc237bc | 49 | bool tuning; |
vodavprasku | 1:ebbd4cc237bc | 50 | }Menu_Setup; |
vodavprasku | 1:ebbd4cc237bc | 51 | |
vodavprasku | 1:ebbd4cc237bc | 52 | Menu_Setup setup; |
vodavprasku | 0:11630d0d8271 | 53 | |
vodavprasku | 1:ebbd4cc237bc | 54 | // Prostor pro ulozeni aktualni frekvence |
vodavprasku | 1:ebbd4cc237bc | 55 | typedef struct{ |
vodavprasku | 1:ebbd4cc237bc | 56 | int current; |
vodavprasku | 1:ebbd4cc237bc | 57 | int high; |
vodavprasku | 1:ebbd4cc237bc | 58 | int low; |
vodavprasku | 1:ebbd4cc237bc | 59 | }Frequency_Info; |
vodavprasku | 1:ebbd4cc237bc | 60 | |
vodavprasku | 1:ebbd4cc237bc | 61 | Frequency_Info frequency; |
vodavprasku | 1:ebbd4cc237bc | 62 | |
vodavprasku | 1:ebbd4cc237bc | 63 | // Nezbytne promenne |
vodavprasku | 1:ebbd4cc237bc | 64 | char rds[8]; // Zde se uklada vysledek cteni RDS |
vodavprasku | 1:ebbd4cc237bc | 65 | char volume_char[2]; // Aktualni hlasitost prevedena na text |
vodavprasku | 1:ebbd4cc237bc | 66 | char channel_char[4]; // Aktualni frekvence prevedena na text |
vodavprasku | 1:ebbd4cc237bc | 67 | int btn_pressed = false; // Bylo v minulosti zmacknuto tlacitko? |
vodavprasku | 1:ebbd4cc237bc | 68 | bool exit_menu = false; // Navrat z menu |
vodavprasku | 1:ebbd4cc237bc | 69 | bool exit_submenu = false; // Navrat z menu druhe urovne |
vodavprasku | 1:ebbd4cc237bc | 70 | int menu_position = 0; // Ulozeni aktualni pozice sipky v menu |
vodavprasku | 1:ebbd4cc237bc | 71 | int submenu_position = 0; // Ulozeni aktualni pozice sipky v submenu |
vodavprasku | 1:ebbd4cc237bc | 72 | |
vodavprasku | 1:ebbd4cc237bc | 73 | // HLAVNI FUNKCE |
vodavprasku | 0:11630d0d8271 | 74 | int main() { |
vodavprasku | 1:ebbd4cc237bc | 75 | init(); // Inicializace displeje SSD1306 |
vodavprasku | 1:ebbd4cc237bc | 76 | cls(); // Smazani obrazovky |
vodavprasku | 1:ebbd4cc237bc | 77 | startMillis(); // Zapnuti pocitani milisekund |
vodavprasku | 1:ebbd4cc237bc | 78 | radio.powerOn(); // Zapnuti radia |
vodavprasku | 1:ebbd4cc237bc | 79 | setup.volume = 2; |
vodavprasku | 1:ebbd4cc237bc | 80 | radio.setVolume(setup.volume); // Nastaveni vychozi hlasitosti |
vodavprasku | 1:ebbd4cc237bc | 81 | frequency.current = 760; // Naladeni vychozi frekvence |
vodavprasku | 1:ebbd4cc237bc | 82 | radio.setChannel(frequency.current); |
vodavprasku | 1:ebbd4cc237bc | 83 | |
vodavprasku | 1:ebbd4cc237bc | 84 | show_screen(MAIN, 0); // Zobrazeni hlavni obrazovky |
vodavprasku | 1:ebbd4cc237bc | 85 | show_frequency(); // Zobrazeni aktualni frekvence |
vodavprasku | 0:11630d0d8271 | 86 | |
vodavprasku | 0:11630d0d8271 | 87 | |
vodavprasku | 1:ebbd4cc237bc | 88 | // HLAVNI SMYCKA |
vodavprasku | 1:ebbd4cc237bc | 89 | while(true){ |
vodavprasku | 1:ebbd4cc237bc | 90 | if(setup.rds){ // Cti RDS pokud je tato funkce zapnuta |
vodavprasku | 1:ebbd4cc237bc | 91 | radio.readRDS(rds, 1500); // Cteni RDS s timeoutem 1.5 sekundy |
vodavprasku | 1:ebbd4cc237bc | 92 | OLED_ShowStr(50, 5, rds, 1);// Zobrazeni vysledku RDS, pokud byla prijata |
vodavprasku | 1:ebbd4cc237bc | 93 | } |
vodavprasku | 1:ebbd4cc237bc | 94 | |
vodavprasku | 1:ebbd4cc237bc | 95 | switch(button_pressed()){ // Ceka, dokud nebude zmacknuto tlacitko |
vodavprasku | 1:ebbd4cc237bc | 96 | case LEFT: // Zmacknuto leve tlacitko |
vodavprasku | 1:ebbd4cc237bc | 97 | if(setup.tuning) // Je zapnuto manualni ladeni? |
vodavprasku | 1:ebbd4cc237bc | 98 | radio.setChannel(--frequency.current); // Manualni ladeni |
vodavprasku | 1:ebbd4cc237bc | 99 | else |
vodavprasku | 1:ebbd4cc237bc | 100 | frequency.current = radio.seekDown(); // Automaticke ladeni |
vodavprasku | 1:ebbd4cc237bc | 101 | if(frequency.current < 760){ // Pokud dosahneme pod minimalni frekvenci, |
vodavprasku | 1:ebbd4cc237bc | 102 | frequency.current = 1080; // bude naladena nejvyssi |
vodavprasku | 1:ebbd4cc237bc | 103 | radio.setChannel(frequency.current); |
vodavprasku | 1:ebbd4cc237bc | 104 | } |
vodavprasku | 1:ebbd4cc237bc | 105 | show_frequency(); |
vodavprasku | 1:ebbd4cc237bc | 106 | break; |
vodavprasku | 1:ebbd4cc237bc | 107 | |
vodavprasku | 1:ebbd4cc237bc | 108 | case RIGHT: // Zmacknuto prave tlacitko |
vodavprasku | 1:ebbd4cc237bc | 109 | if(setup.tuning) // Je zapnuto manualni ladeni? |
vodavprasku | 1:ebbd4cc237bc | 110 | radio.setChannel(++frequency.current); // Manualni ladeni |
vodavprasku | 1:ebbd4cc237bc | 111 | else |
vodavprasku | 1:ebbd4cc237bc | 112 | frequency.current = radio.seekUp(); // Automaticke ladeni |
vodavprasku | 1:ebbd4cc237bc | 113 | if(frequency.current < 760) // Ochrana proti naladeni neplatne frekvence |
vodavprasku | 1:ebbd4cc237bc | 114 | frequency.current = radio.seekUp(); |
vodavprasku | 1:ebbd4cc237bc | 115 | show_frequency(); |
vodavprasku | 1:ebbd4cc237bc | 116 | break; |
vodavprasku | 1:ebbd4cc237bc | 117 | |
vodavprasku | 1:ebbd4cc237bc | 118 | |
vodavprasku | 1:ebbd4cc237bc | 119 | |
vodavprasku | 1:ebbd4cc237bc | 120 | case CENTER: // Vstup do MENU |
vodavprasku | 1:ebbd4cc237bc | 121 | while(!exit_menu){ |
vodavprasku | 1:ebbd4cc237bc | 122 | |
vodavprasku | 1:ebbd4cc237bc | 123 | show_screen(MENU, menu_position+2); // Ukaze sipku v menu |
vodavprasku | 1:ebbd4cc237bc | 124 | |
vodavprasku | 1:ebbd4cc237bc | 125 | switch(button_pressed()){ // Ceka dokud nebude zmacknuto tlacitko |
vodavprasku | 1:ebbd4cc237bc | 126 | |
vodavprasku | 1:ebbd4cc237bc | 127 | case LEFT: // Zmacknuto leve tlacitko, |
vodavprasku | 1:ebbd4cc237bc | 128 | if(menu_position == 0) // provede se posunuti sipky |
vodavprasku | 1:ebbd4cc237bc | 129 | menu_position = 3; |
vodavprasku | 1:ebbd4cc237bc | 130 | else |
vodavprasku | 1:ebbd4cc237bc | 131 | menu_position--; |
vodavprasku | 1:ebbd4cc237bc | 132 | break; |
vodavprasku | 1:ebbd4cc237bc | 133 | |
vodavprasku | 1:ebbd4cc237bc | 134 | case RIGHT: // Zmacknuto leve tlacitko, |
vodavprasku | 1:ebbd4cc237bc | 135 | if(menu_position == 3) // provede se posunuti sipky |
vodavprasku | 1:ebbd4cc237bc | 136 | menu_position = 0; |
vodavprasku | 1:ebbd4cc237bc | 137 | else |
vodavprasku | 1:ebbd4cc237bc | 138 | menu_position++; |
vodavprasku | 1:ebbd4cc237bc | 139 | break; |
vodavprasku | 1:ebbd4cc237bc | 140 | |
vodavprasku | 1:ebbd4cc237bc | 141 | case CENTER: // Vstup do dalsi urovne MENU |
vodavprasku | 1:ebbd4cc237bc | 142 | exit_submenu = false; |
vodavprasku | 1:ebbd4cc237bc | 143 | switch(menu_position){ |
vodavprasku | 1:ebbd4cc237bc | 144 | case 0: // SUBMENU Nastaveni Hlasitosti |
vodavprasku | 1:ebbd4cc237bc | 145 | exit_submenu = false; |
vodavprasku | 1:ebbd4cc237bc | 146 | while(!exit_submenu){ |
vodavprasku | 1:ebbd4cc237bc | 147 | radio.setVolume(setup.volume); |
vodavprasku | 1:ebbd4cc237bc | 148 | show_screen(VOLUME, 0); |
vodavprasku | 1:ebbd4cc237bc | 149 | switch(button_pressed()){ // Pridat volume |
vodavprasku | 1:ebbd4cc237bc | 150 | case LEFT: |
vodavprasku | 1:ebbd4cc237bc | 151 | if(setup.volume == 0); |
vodavprasku | 1:ebbd4cc237bc | 152 | else |
vodavprasku | 1:ebbd4cc237bc | 153 | setup.volume--; |
vodavprasku | 1:ebbd4cc237bc | 154 | break; |
vodavprasku | 1:ebbd4cc237bc | 155 | case RIGHT: // Ubrat volume |
vodavprasku | 1:ebbd4cc237bc | 156 | if(setup.volume == 15); |
vodavprasku | 1:ebbd4cc237bc | 157 | else |
vodavprasku | 1:ebbd4cc237bc | 158 | setup.volume++; |
vodavprasku | 1:ebbd4cc237bc | 159 | break; |
vodavprasku | 1:ebbd4cc237bc | 160 | case CENTER: // Navrat do hlavniho menu |
vodavprasku | 1:ebbd4cc237bc | 161 | exit_submenu = true; |
vodavprasku | 1:ebbd4cc237bc | 162 | break; |
vodavprasku | 1:ebbd4cc237bc | 163 | } |
vodavprasku | 1:ebbd4cc237bc | 164 | } |
vodavprasku | 1:ebbd4cc237bc | 165 | |
vodavprasku | 1:ebbd4cc237bc | 166 | break; |
vodavprasku | 1:ebbd4cc237bc | 167 | case 1: // SUBMENU Manualni ladeni |
vodavprasku | 1:ebbd4cc237bc | 168 | exit_submenu = false; |
vodavprasku | 1:ebbd4cc237bc | 169 | while(!exit_submenu){ |
vodavprasku | 1:ebbd4cc237bc | 170 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 171 | show_screen(ONOFF, setup.tuning+3); |
vodavprasku | 1:ebbd4cc237bc | 172 | if(button_pressed() == CENTER) |
vodavprasku | 1:ebbd4cc237bc | 173 | exit_submenu = true; |
vodavprasku | 1:ebbd4cc237bc | 174 | else |
vodavprasku | 1:ebbd4cc237bc | 175 | setup.tuning = !setup.tuning; // Zapnuti nebo vypnuti |
vodavprasku | 1:ebbd4cc237bc | 176 | } // manualniho ladeni |
vodavprasku | 1:ebbd4cc237bc | 177 | break; |
vodavprasku | 1:ebbd4cc237bc | 178 | case 2: // SUBMENU Nastaveni RDS |
vodavprasku | 1:ebbd4cc237bc | 179 | exit_submenu = false; |
vodavprasku | 1:ebbd4cc237bc | 180 | while(!exit_submenu){ |
vodavprasku | 1:ebbd4cc237bc | 181 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 182 | show_screen(ONOFF, setup.rds+3); |
vodavprasku | 1:ebbd4cc237bc | 183 | if(button_pressed() == CENTER) |
vodavprasku | 1:ebbd4cc237bc | 184 | exit_submenu = true; |
vodavprasku | 1:ebbd4cc237bc | 185 | else |
vodavprasku | 1:ebbd4cc237bc | 186 | setup.rds = !setup.rds; // Zapnuti nebo vypnuti RDS |
vodavprasku | 1:ebbd4cc237bc | 187 | } |
vodavprasku | 1:ebbd4cc237bc | 188 | break; |
vodavprasku | 1:ebbd4cc237bc | 189 | case 3: // Navrat z menu |
vodavprasku | 1:ebbd4cc237bc | 190 | show_screen(MAIN, 0); |
vodavprasku | 1:ebbd4cc237bc | 191 | show_frequency(); |
vodavprasku | 1:ebbd4cc237bc | 192 | exit_menu = true; |
vodavprasku | 1:ebbd4cc237bc | 193 | break; |
vodavprasku | 1:ebbd4cc237bc | 194 | } |
vodavprasku | 1:ebbd4cc237bc | 195 | |
vodavprasku | 1:ebbd4cc237bc | 196 | break; |
vodavprasku | 1:ebbd4cc237bc | 197 | } |
vodavprasku | 1:ebbd4cc237bc | 198 | } |
vodavprasku | 1:ebbd4cc237bc | 199 | break; |
vodavprasku | 1:ebbd4cc237bc | 200 | } |
vodavprasku | 1:ebbd4cc237bc | 201 | exit_menu = false; |
vodavprasku | 1:ebbd4cc237bc | 202 | menu_position = 0; |
vodavprasku | 1:ebbd4cc237bc | 203 | |
vodavprasku | 1:ebbd4cc237bc | 204 | OLED_ShowStr(0, 5, "Staince: ", 1); // Smazani informaci z RDS, pokud dojde k preladeni |
vodavprasku | 1:ebbd4cc237bc | 205 | } |
vodavprasku | 1:ebbd4cc237bc | 206 | } |
vodavprasku | 1:ebbd4cc237bc | 207 | |
vodavprasku | 1:ebbd4cc237bc | 208 | |
vodavprasku | 1:ebbd4cc237bc | 209 | |
vodavprasku | 1:ebbd4cc237bc | 210 | |
vodavprasku | 1:ebbd4cc237bc | 211 | |
vodavprasku | 1:ebbd4cc237bc | 212 | // FUNKCE |
vodavprasku | 1:ebbd4cc237bc | 213 | |
vodavprasku | 1:ebbd4cc237bc | 214 | // Funkce pro zjisteni, ktere tlacitko bylo stisknuto |
vodavprasku | 1:ebbd4cc237bc | 215 | int button_pressed(void){ |
vodavprasku | 1:ebbd4cc237bc | 216 | btn_pressed = false; |
vodavprasku | 1:ebbd4cc237bc | 217 | while(!btn_pressed){ |
vodavprasku | 1:ebbd4cc237bc | 218 | |
vodavprasku | 1:ebbd4cc237bc | 219 | if (btn_left) |
vodavprasku | 1:ebbd4cc237bc | 220 | btn_pressed = LEFT; // Indikace zmacknuteho leveho tlacitka |
vodavprasku | 1:ebbd4cc237bc | 221 | |
vodavprasku | 1:ebbd4cc237bc | 222 | if (btn_center) |
vodavprasku | 1:ebbd4cc237bc | 223 | btn_pressed = CENTER; // Indikace zmacknuteho prostredniho tlacitka |
vodavprasku | 1:ebbd4cc237bc | 224 | |
vodavprasku | 1:ebbd4cc237bc | 225 | if (btn_right) |
vodavprasku | 1:ebbd4cc237bc | 226 | btn_pressed = RIGHT; // Indikace zmacknuteho praveho tlacitka |
vodavprasku | 1:ebbd4cc237bc | 227 | } |
vodavprasku | 1:ebbd4cc237bc | 228 | while(btn_left || btn_center || btn_right); // Dokud je tlacitko zmacknute, ceka |
vodavprasku | 1:ebbd4cc237bc | 229 | wait_ms(200); // Jednoduche odstraneni zakmitu |
vodavprasku | 1:ebbd4cc237bc | 230 | return btn_pressed; |
vodavprasku | 1:ebbd4cc237bc | 231 | } |
vodavprasku | 1:ebbd4cc237bc | 232 | |
vodavprasku | 1:ebbd4cc237bc | 233 | // Funkce pro zobrazeni aktualni frekvence |
vodavprasku | 1:ebbd4cc237bc | 234 | void show_frequency(void){ |
vodavprasku | 1:ebbd4cc237bc | 235 | frequency.high = frequency.current / 10; |
vodavprasku | 1:ebbd4cc237bc | 236 | frequency.low = frequency.current % 10; |
vodavprasku | 1:ebbd4cc237bc | 237 | OLED_ShowStr(38, 2, " ", 2); |
vodavprasku | 1:ebbd4cc237bc | 238 | sprintf(channel_char, "%d.%d",frequency.high, frequency.low); |
vodavprasku | 1:ebbd4cc237bc | 239 | OLED_ShowStr(38, 2, channel_char, 2); |
vodavprasku | 1:ebbd4cc237bc | 240 | } |
vodavprasku | 1:ebbd4cc237bc | 241 | |
vodavprasku | 1:ebbd4cc237bc | 242 | //Funkce pro zobrazeni displeje (menu, hlavni obrazovka...) |
vodavprasku | 1:ebbd4cc237bc | 243 | void show_screen(int screen, int position){ |
vodavprasku | 1:ebbd4cc237bc | 244 | switch(screen){ |
vodavprasku | 1:ebbd4cc237bc | 245 | |
vodavprasku | 1:ebbd4cc237bc | 246 | case MAIN: // Zobrazeni hlavni obrazovky |
vodavprasku | 1:ebbd4cc237bc | 247 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 248 | locate(0, 0); |
vodavprasku | 1:ebbd4cc237bc | 249 | OLED_ShowStr(0, 0, " FM Radio", 2); |
vodavprasku | 1:ebbd4cc237bc | 250 | OLED_ShowStr(0, 2, "< MHz >", 2); |
vodavprasku | 1:ebbd4cc237bc | 251 | OLED_ShowStr(0, 5, "Staince:", 1); |
vodavprasku | 1:ebbd4cc237bc | 252 | OLED_ShowStr(0, 7, " [MENU] ", 1); |
vodavprasku | 1:ebbd4cc237bc | 253 | show_frequency(); |
vodavprasku | 1:ebbd4cc237bc | 254 | break; |
vodavprasku | 1:ebbd4cc237bc | 255 | |
vodavprasku | 1:ebbd4cc237bc | 256 | case MENU: // Zobrazeni menu |
vodavprasku | 1:ebbd4cc237bc | 257 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 258 | OLED_ShowStr(0, 0, " MENU", 2); |
vodavprasku | 1:ebbd4cc237bc | 259 | OLED_ShowStr(0, 2, " Hlasitost", 1); |
vodavprasku | 1:ebbd4cc237bc | 260 | OLED_ShowStr(0, 3, " Manualni ladeni", 1); |
vodavprasku | 1:ebbd4cc237bc | 261 | OLED_ShowStr(0, 4, " RDS", 1); |
vodavprasku | 1:ebbd4cc237bc | 262 | OLED_ShowStr(0, 5, " Zpet", 1); |
vodavprasku | 1:ebbd4cc237bc | 263 | OLED_ShowStr(0, 7, " [VYBRAT] ", 1); |
vodavprasku | 1:ebbd4cc237bc | 264 | OLED_ShowStr(0, position, "->", 1); // Zobrazeni sipky na spravne pozici |
vodavprasku | 1:ebbd4cc237bc | 265 | break; |
vodavprasku | 1:ebbd4cc237bc | 266 | |
vodavprasku | 1:ebbd4cc237bc | 267 | case ONOFF: // Zobrazeni submenu volby On/Off |
vodavprasku | 1:ebbd4cc237bc | 268 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 269 | OLED_ShowStr(0, 3, " Off", 1); |
vodavprasku | 1:ebbd4cc237bc | 270 | OLED_ShowStr(0, 4, " On", 1); |
vodavprasku | 1:ebbd4cc237bc | 271 | OLED_ShowStr(0, position, "->", 1); // Zobrazeni sipky na spravne pozici |
vodavprasku | 1:ebbd4cc237bc | 272 | OLED_ShowStr(0, 7, " [OK] ", 1); |
vodavprasku | 1:ebbd4cc237bc | 273 | |
vodavprasku | 1:ebbd4cc237bc | 274 | break; |
vodavprasku | 1:ebbd4cc237bc | 275 | |
vodavprasku | 1:ebbd4cc237bc | 276 | case VOLUME: // Volba hlasitosti |
vodavprasku | 1:ebbd4cc237bc | 277 | cls(); |
vodavprasku | 1:ebbd4cc237bc | 278 | sprintf(volume_char, "%d",setup.volume); // Zobrazeni aktualni hlasitosti |
vodavprasku | 1:ebbd4cc237bc | 279 | OLED_ShowStr(60, 3, volume_char, 2); |
vodavprasku | 1:ebbd4cc237bc | 280 | break; |
vodavprasku | 0:11630d0d8271 | 281 | } |
vodavprasku | 1:ebbd4cc237bc | 282 | } |