 {
 #ifdef USE_LCD
     pinMode(backLightPin, OUTPUT);
-    analogWrite(backLightPin, 200);
+    analogWrite(backLightPin, MAX_BRIGHTNESS);
     lcd.begin(16, 2);
     lcd.clear();
     lcd.print(F("Init,fifo: "));

                    }
                }
            }
        }

        if (abs(az.lastDelta()) > lightSens || abs(el.lastDelta()) > lightSens)
        {
            light = 0;
#ifdef USE_LCD
            analogWrite(backLightPin, 100);
#endif
        }

        if (light > 30000)
        {
#ifdef USE_LCD
            digitalWrite(backLightPin, LOW);
#endif
            set_sleep_mode(SLEEP_MODE_IDLE); //only idle seems works by interrupt from sensor
            sleep_enable();
            sleep_mode();
            sleep_disable();
        }
        else
        {
#ifdef USE_LCD
            if (light > 7000) analogWrite(backLightPin, 10);
#endif

            if (timeElapsed > 250)
            {
                auto t = mpu.getTemperature() / 340. + +36.53; //celsius
                printValues(getAz(az - az0), el - el0, t);
                timeElapsed = 0;
            }
        }
    }
}
    // if programming failed, don't try to do anything
    if (!dmpReady) return;

    while (sensorDataReady)
        readSensor(az, el);


    if (once)
    {
        //let it stabilize for 5seconds
        if (timeElapsed > 10000 + 1000 * (200 / SENSOR_6050_FIFO_HZ ))
        {
            //after pressing "reset" current position will be used as zero
            az0 = az;
            el0 = el;
            az.clear(az0);
            el.clear(el0);
            timeElapsed = 0;
            light = 0;
            hadUsb = 60000;
            interrupts();
            once = false;
        }
    }
    else
    {
        interrupts();
        while (Serial.available() >= 3 + 9)
        {
            interrupts();
            if (Serial.find(MESSAGE_HDR))
            {
                //computer makes S/R request, and arduino just responds
                Serial.readBytes(msg.buffer, 9);
                {
                    if (msg.message.Command == 'S') //set
                    {
                        float azm = 0;
                        float elm = 0;

                        ard_st::readAzEl(msg.message.value, &azm, &elm);
                        my_helpers::no_interrupts dumb;
                        az0 = az - azm;
                        el0 = el - elm;
                        az.clear(azm);
                        el.clear(elm);
                        continue;
                    }
                    if (msg.message.Command == 'R' && light > 250) //read, other part of message must be present but ignored
                    {
                        ard_st::packAzEl(msg.message.value, getAz(az - az0), el - el0);
                        Serial.write(msg.message.value.buffer, sizeof(msg.message.value.buffer));
