Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <EEPROMex.h>
- #include <EEPROMVar.h>
- #include "U8glib.h"
- #include "RTClib.h"
- #include <OneWire.h>
- #include <Wire.h>
- #include <DallasTemperature.h>
- #define ONE_WIRE_BUS 2
- #define led 13
- #define rst 7
- #define buzzer 9
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- RTC_DS1307 RTC;
- U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK);
- #define LEAP_YEAR(Y) ( (Y>0) && !(Y%4) && ( (Y%100) || !(Y%400) ))
- int tempC=0;
- uint8_t encoderA = 5;
- uint8_t encoderB = 4;
- uint8_t button = 3;
- uint8_t buttonB = 6;
- int Last = LOW;
- bool up=false;
- bool down=false;
- bool sel=false;
- byte n = LOW;
- int selectie;
- int val;
- byte a=1;
- bool interr=1 ;
- int s=0;
- int *data[]={0, 0, 0, 0, 0, 0, 0,0};
- byte offset=0
- int *oraz[]={0, 0, 0, 0};
- char serviceUlei=NULL;
- #define main_menuitems 5
- #define sub_menu20items 4
- #define sub_menu0items 4
- #define sub_menu2items 3
- #define sub_menu3items 3
- #define sub_menu4items 4
- char const *main_menu[main_menuitems] = { "Data/Ora", "Interval refresh", "Calibrare B+GPL", "Service ulei", "Iesire" };
- char const *submenu20 [sub_menu20items] = { "Calibrare Max", "Calibrare Min", "Resetare", "Inapoi" };
- char const *submenu2 [sub_menu2items] = { "Benzina", "GPL", "Inapoi" };
- char const *submenu3 [sub_menu3items] = {serviceUlei, "Setati", "Inapoi" };
- char const *submenu0 [sub_menu0items] = {String(data), String(oraz), "Setati", "Inapoi" };
- bool MainMenuToggle=0;
- const char *menu_item[5];
- uint8_t menu_current = 0;
- uint8_t menu_redraw_required = 0;
- const unsigned char splash [] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFC,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C,
- 0x00, 0x00, 0x3F, 0xFC, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
- 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80,
- 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
- 0x03, 0xC1, 0xFC, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00,
- 0x0F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x1C, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x70, 0x38, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xE0, 0x70, 0x00, 0x00, 0xF8, 0x01, 0x80, 0x3E, 0x38, 0x38, 0x07, 0x03, 0x8C, 0x01, 0xF0, 0x00,
- 0xC0, 0x60, 0x00, 0x00, 0xFF, 0x03, 0xC0, 0xFF, 0x38, 0x38, 0x07, 0x03, 0x9C, 0x03, 0xF8, 0x00,
- 0xC0, 0xC0, 0x00, 0x00, 0xFF, 0x83, 0xC1, 0xFF, 0x38, 0x7C, 0x03, 0x87, 0x7C, 0x07, 0xBC, 0x00,
- 0xC0, 0xC0, 0x00, 0x00, 0xE3, 0x87, 0xE1, 0xC0, 0x38, 0x7C, 0x03, 0x87, 0x7C, 0x07, 0x1C, 0x00,
- 0xC0, 0xC0, 0x00, 0x00, 0xE1, 0xC7, 0xE3, 0x80, 0x38, 0xEC, 0x01, 0xCE, 0x5C, 0x06, 0x0C, 0x00,
- 0xC0, 0x80, 0x00, 0x00, 0xE1, 0xCE, 0x63, 0x80, 0x38, 0xEE, 0x01, 0xCE, 0x1C, 0x0E, 0x0C, 0x00,
- 0xC0, 0x80, 0x00, 0x00, 0xE1, 0xCE, 0x73, 0x80, 0x39, 0xCE, 0x00, 0xCC, 0x1C, 0x0E, 0x0C, 0x00,
- 0xC0, 0xC0, 0x00, 0x00, 0xE1, 0xCF, 0x73, 0x80, 0x39, 0xDF, 0x00, 0xFC, 0x1C, 0x06, 0x0C, 0x00,
- 0x60, 0xC0, 0x00, 0x00, 0xE3, 0x9F, 0xF9, 0xC0, 0x39, 0xFF, 0x00, 0xFC, 0x1C, 0x07, 0x1C, 0x00,
- 0x60, 0xC0, 0x00, 0x00, 0xEF, 0x9F, 0xF9, 0xF3, 0x3B, 0xFF, 0x80, 0x78, 0x1C, 0xE7, 0x1C, 0x00,
- 0x7E, 0xC0, 0x00, 0x00, 0xFF, 0x38, 0x1C, 0xFF, 0x3B, 0x83, 0x80, 0x78, 0x1C, 0xE3, 0xF8, 0x00,
- 0x3F, 0xE0, 0x00, 0x00, 0xFC, 0x38, 0x1C, 0x3F, 0x3F, 0x03, 0x80, 0x30, 0x1C, 0xE1, 0xF0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- const unsigned char benzina [] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x0F, 0xF8, 0x08, 0x18, 0x08, 0x1E, 0x08, 0x1E, 0x0D, 0xDA,
- 0x0F, 0xFA, 0x0F, 0xF9, 0x0F, 0xF9, 0x0F, 0xF9, 0x0F, 0xFF, 0x0F, 0xFB, 0x0F, 0xFB, 0x0F, 0xFB,
- 0x0F, 0xF8, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x72,
- 0x2F, 0x00,
- };
- const unsigned char gpl [] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x73, 0x7E, 0xFB, 0x66, 0xDB, 0x66, 0xDB,
- 0x60, 0xDB, 0x60, 0xFB, 0x6E, 0xF3, 0x6E, 0xC3, 0x66, 0xC3, 0x66, 0xC3, 0x7E, 0xC3, 0x3C, 0xC3,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
- 0x2F, 0x00,
- };
- void drawMenu( const char *label[], int nr) {
- uint8_t h;
- u8g_uint_t d;
- u8g.setFont(u8g_font_7x14);
- u8g.setFontRefHeightText();
- u8g.setFontPosTop();
- h = u8g.getFontAscent()-u8g.getFontDescent();
- for( i = offset; i < nr; i++ ) {
- d = (128-u8g.getStrWidth(label[i]))/2;
- u8g.setDefaultForegroundColor();
- if ( i == menu_current ) {
- u8g.drawBox(0, i*h+1, 128, h);
- u8g.setDefaultBackgroundColor();
- }
- u8g.drawStr(d, i*h, label[i]);
- }
- }
- void updateMenu(int nr)
- {
- if ( up ) {
- menu_current++;
- if ( menu_current >= nr )
- menu_current = 0;
- menu_redraw_required = 1;
- }
- else if ( down ) {
- if ( menu_current == 0 )
- menu_current = nr;
- menu_current--;
- menu_redraw_required = 1;
- }
- }
- void uiSetup(void) {
- pinMode(encoderA, INPUT);
- digitalWrite(encoderA, HIGH);
- pinMode(encoderB, INPUT);
- digitalWrite(encoderB, HIGH);
- pinMode(button, INPUT);
- digitalWrite(button, HIGH);
- pinMode(buttonB, INPUT);
- digitalWrite(buttonB, HIGH);
- pinMode(rst, OUTPUT);
- }
- int dayOfWeek(uint16_t year, uint8_t month, uint8_t day)
- {
- uint16_t months[] =
- {
- 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 // days until 1st of month
- };
- uint32_t days = year * 365;
- for (uint16_t i = 4; i < year; i+=4)
- {
- if (LEAP_YEAR(i)) days++;
- }
- days += months[month-1] + day;
- if ((month > 2) && LEAP_YEAR(year)) days++;
- return days % 7;
- }
- void drawdate(void){
- DateTime now = RTC.now();
- u8g.setFont(u8g_font_7x14);
- u8g.setPrintPos(32, 58);
- u8g.println(String(now.day(), DEC) + "/"+String(now.month(), DEC)+"/"+ String(now.year() , DEC));
- }
- void drawday(void){
- String zi="";
- DateTime now = RTC.now();
- u8g.setFont(u8g_font_7x14);
- switch(dayOfWeek(now.year(), now.month(), now.day())){
- case 0: zi="Duminica"; break;
- case 1: zi="Luni"; break;
- case 2: zi="Marti"; break;
- case 3: zi="Miercuri"; break;
- case 4: zi="Joi"; break;
- case 5: zi="Vineri"; break;
- case 6: zi="Sambata"; break;
- default: zi="Eroare!"; break;}
- u8g.setPrintPos(20, 58);
- u8g.println(zi);
- }
- void f(void){if(interr){
- MainMenuToggle=0;
- digitalWrite(led, HIGH);
- delay(100);
- digitalWrite(led, LOW);
- tone(buzzer, 2000, 50);
- menu_redraw_required = 1;
- menu_current=0;
- a=0;
- interr=0;}
- }
- void setup(void) {
- Wire.begin();
- uiSetup();
- attachInterrupt(1, f, LOW);
- menu_redraw_required = 1;
- pinMode(led, OUTPUT);
- Serial.begin(9600);
- tone(buzzer, 1000, 50);
- //SplashScreen Date
- u8g.firstPage();
- do {
- u8g.drawBitmapP( 0, 0, 16, 64, splash);
- drawdate();
- } while( u8g.nextPage());
- delay(2000);
- //SplashScreen Day
- u8g.firstPage();
- do {
- u8g.drawBitmapP( 0, 0, 16, 64, splash);
- drawday();
- } while( u8g.nextPage());
- delay(2000);
- tone(buzzer, 1000, 50);
- }
- void mainScreen(void){
- u8g.setFont(u8g_font_helvR14);
- DateTime now = RTC.now();
- unsigned int ora=0, minut=0;
- String oras="", minuts="";
- ora=now.hour();
- minut=now.minute();
- if(ora<10)oras="0"+String(now.hour());
- else oras=String(now.hour());
- if(minut<10)minuts="0"+String(now.minute());
- else minuts=String(now.minute());
- u8g.setPrintPos(84, 14);
- u8g.println(oras + ":" + minuts);
- u8g.drawLine(0, 16, 128, 16);
- u8g.drawLine(82, 0, 82, 15);
- u8g.setPrintPos(0, 14);
- u8g.println("12.2v");
- u8g.drawLine(46, 0, 46, 15);
- if(tempC<9)u8g.setPrintPos(49, 14);
- else u8g.setPrintPos(56, 14);
- u8g.println(tempC);
- u8g.drawCircle(78, 2, 2);
- u8g.drawBitmapP( 0, 20, 2, 20, benzina);
- u8g.drawBitmapP( 0, 42, 2, 20, gpl );
- u8g.drawFrame(22, 20, 60, 20);
- u8g.drawFrame(22, 42, 60, 20);
- u8g.drawBox(24, 22, 40, 16);
- u8g.drawBox(24, 44, 20, 16);
- u8g.setPrintPos(120, 37);
- u8g.println("L");
- u8g.setPrintPos(120, 57);
- u8g.println("L");
- u8g.setPrintPos(84, 37);
- u8g.println("~30");
- u8g.setPrintPos(84, 57);
- u8g.println("~15");
- }
- void SUBMENIU1(){MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu0items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu0[x];
- }
- }
- void SUBMENIU2(){
- MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu3items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu3[x];
- }
- }
- void SUBMENIU3()
- {MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu2items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu2[x];
- }
- }
- void SUBMENIU4(){
- MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu3items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu3[x];
- }
- }
- void SUBMENIU20(){
- MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu20items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu20[x];
- }
- }
- void SUBMENIU21(){
- MainMenuToggle=1;
- menu_redraw_required = 1;
- selectie=sub_menu20items;
- for(int x=0;x<selectie;x++){
- menu_item[x]=submenu20[x];
- }
- }
- void MENIU(void){
- selectie=main_menuitems;
- menu_redraw_required = 1;
- for(int x=0;x<selectie;x++)
- menu_item[x]=main_menu[x];
- MainMenuToggle=1;
- }
- /*void data_meniu(void){
- DateTime now = RTC.now();
- (String(now.day(), DEC) + "/"+String(now.month(), DEC)+"/"+ String(now.year() , DEC)).toCharArray(data, 10);
- unsigned int ora=0, minut=0;
- String oras="", minuts="";
- ora=now.hour();
- minut=now.minute();
- if(ora<10)oras="0"+String(now.hour());
- else oras=String(now.hour());
- if(minut<10)minuts="0"+String(now.minute());
- else minuts=String(now.minute());
- u8g.setPrintPos(84, 14);
- (String(oras + ":" + minuts)).toCharArray(oraz, 10, 0);
- }
- */
- void loop(void) {
- if(a){inceput:
- interr=1;
- a=1;
- sensors.requestTemperatures();
- tempC = sensors.getTempCByIndex(0);
- u8g.firstPage();
- do {
- mainScreen();
- } while( u8g.nextPage());
- }
- else{
- up=false;
- down=false;
- n = digitalRead(encoderA);
- if ((Last == LOW) && (n == HIGH)) {
- if (digitalRead(encoderB) == LOW) {
- down = true; tone(buzzer, 1000, 50);}
- else
- {up = true;tone(buzzer, 1200, 50);}
- }
- Last = n;
- if (digitalRead(button) == LOW){
- tone(buzzer, 2000, 50);
- if (s==0){
- switch(menu_current)
- {
- case 0: {s=1; /*data_meniu();*/SUBMENIU1();menu_current=3;} break;
- case 1: {s=2; SUBMENIU2();menu_current=2;} break;
- case 2: {s=3;SUBMENIU3();menu_current=2;} break;
- case 3: {s=4; (String(EEPROM.readLong(0))).toCharArray(serviceUlei, 6);
- Serial.print("Long ");
- Serial.print(EEPROM.readLong(0));
- Serial.print(" String ");
- Serial.print(String(EEPROM.readLong(0)));
- Serial.print(" Char ");
- Serial.print(serviceUlei);
- SUBMENIU4();menu_current=2;} break;
- case 4: {MainMenuToggle=1;u8g.setDefaultForegroundColor(); a=1; interr=1; goto inceput;} break;
- }}
- // Logic for Submenu 1
- else if (s==1){
- switch (menu_current)
- {
- case 0: break;
- case 1: break;
- case 2: break;
- case 3:{MENIU();s=0;MainMenuToggle=0;menu_current=0;} break;
- }}
- // Logic for Submenu 2
- else if (s==2)
- switch (menu_current)
- {
- case 0: break;
- case 1: break;
- case 2:{MENIU();s=0;MainMenuToggle=0;menu_current=1;}; break;
- }
- // Logic for Submenu 3
- else if (s==3)
- switch (menu_current)
- {
- case 0:{SUBMENIU20(); s=5; menu_current=3;} break;
- case 1:{SUBMENIU21(); s=6; menu_current=3;} break;
- case 2:{MENIU();s=0;MainMenuToggle=0;menu_current=2;} break;
- }
- else if (s==4)
- switch (menu_current)
- {
- case 0: break;
- case 1:menu_current=3; break;
- case 2:{MENIU(); s=0;MainMenuToggle=0;menu_current=3;} break;
- }
- else if (s==5)
- switch (menu_current)
- {
- case 0: break;
- case 1: break;
- case 2: break;
- case 3:{SUBMENIU3(); s=3;MainMenuToggle=0;menu_current=2;} break;
- }
- else if (s==6)
- switch (menu_current)
- {
- case 0: break;
- case 1: break;
- case 2: break;
- case 3:{SUBMENIU3(); s=3;MainMenuToggle=0;menu_current=2;} break;
- }
- }
- else if (MainMenuToggle==0&&s==0) MENIU();
- if ( menu_redraw_required != 0 ) {
- u8g.firstPage();
- do {
- drawMenu( menu_item, selectie);
- } while( u8g.nextPage() );
- menu_redraw_required = 0;
- }
- updateMenu(selectie);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement