     switch (scheduler.pollWaiting()) {
         // Control first MaxM
         case MAXM1:
-            /* Serial.print("MAXM1 is operational "); */
-            /* Serial.println(is_operational); */
-            /* Serial.flush(); */
+            maxm1.send();
+            maxm1.write('p');
+            maxm1.write(0);
+            maxm1.write(1);
+            maxm1.write(0);
+            maxm1.stop();
+#ifdef DEBUG_TRACE
+            Serial.print("MAXM1 is operational ");
+            Serial.println(is_operational);
+            Serial.flush();
+#endif
             if (is_operational == 1) {
-#ifdef DEBUG
+#ifdef DEBUG_FLASH
                 doFlash(led1, 1);
 #endif
-                // TODO
-                // Start script on first MaxM 
                 // TODO need correct amount to reschedule
-                /* Serial.println("MAXM1"); */
-                /* Serial.flush(); */
-
+#ifdef DEBUG_TRACE
+                Serial.println("MAXM1");
+                Serial.flush();
+#endif
             }
-            scheduler.timer(MAXM2, 30);
-            scheduler.timer(MAXM1, 100);
+
+            scheduler.timer(MAXM2, maxm2_offset * 10);
+            scheduler.timer(MAXM1, 900);
             break;
 
         // Control second MaxM
         case MAXM2:
             if  (is_operational != 1) break;
-
-#ifdef DEBUG
+            maxm2.send();
+            maxm2.write('p');
+            maxm2.write(0);
+            maxm2.write(1);
+            maxm2.write(0);
+            maxm2.stop();
+
+#ifdef DEBUG_FLASH
             doFlash(led1, 2);
 #endif
             break;

    return (hh * 60) + mm;
}

#ifdef DEBUG
void doFlash(const Port ldnum, const byte cnt) {
    byte cntr = cnt;
    while (cntr > 0) {

Scheduler scheduler (schedBuf, TASK_LIMIT);

void setup () {
#ifdef DEBUG_TRACE
    Serial.begin(57600);
    Serial.println("Single bench start");
    Serial.flush();
