                 displayArrows();
             }
         }
-        running = running && pano.next();
+        running = running && pano->next();
     };
 
     running = false;
     displayPanoStatus();
 
-    pano.end();
-
-    hid.waitAnyKey();
+    pano->end();
+
+    hid->waitAnyKey();
 }
 
 /*

 * Display progress information (minutes / progress bar)
 */
void displayProgress(void){
    int photos = pano.getHorizShots() * pano.getVertShots();
    display.setTextCursor(6, 0);
    display.printf("%d minutes ", pano.getTimeLeft()/60);
    if (pano.steady_delay_avg > 500){
        display.setTextCursor(6, 16);
        display.printf("%2ds ", (pano.steady_delay_avg+500)/1000);
        display.printf((pano.steady_delay_avg < 8000) ? "\x12" : "!");
    }
    display.setTextCursor(7, 0);
    for (int i=(pano.position+1) * DISPLAY_COLS / photos; i > 0; i--){
        display.print('\xda');
    }
    display.println();

        return false;
    }

    pano->setFOV(horiz, vert);
    if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){
        return false;
    }
