From 286557fd1024928543e9917ca98ad399019be1e4 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Thu, 1 Sep 2016 21:23:48 -0700 Subject: [PATCH 01/27] Converted to library, should help with #58 The PanoController application is now just an example sketch, and more "examples" can be added with different functionality. --- .gitignore | 4 ++++ Makefile | 2 +- README.md | 6 ++--- .../PanoController/PanoController.ino | 0 config.h => examples/PanoController/config.h | 24 +++++++++++-------- .../PanoController/config_feather_m0.h | 0 .../PanoController/config_teensy.h | 0 keywords.txt | 8 +++++++ library.properties | 11 +++++++++ ble_remote.cpp => src/ble_remote.cpp | 0 ble_remote.h => src/ble_remote.h | 0 camera.cpp => src/camera.cpp | 0 camera.h => src/camera.h | 0 display.cpp => src/display.cpp | 0 display.h => src/display.h | 0 eeprom.h => src/eeprom.h | 0 hid.h => src/hid.h | 0 joystick.cpp => src/joystick.cpp | 0 joystick.h => src/joystick.h | 0 menu.cpp => src/menu.cpp | 0 menu.h => src/menu.h | 0 .../menus_definition.cpp | 0 mpu.cpp => src/mpu.cpp | 0 mpu.h => src/mpu.h | 0 pano.cpp => src/pano.cpp | 0 pano.h => src/pano.h | 0 remote.cpp => src/remote.cpp | 0 remote.h => src/remote.h | 0 28 files changed, 41 insertions(+), 14 deletions(-) rename pano-controller.ino => examples/PanoController/PanoController.ino (100%) rename config.h => examples/PanoController/config.h (82%) rename config_feather_m0.h => examples/PanoController/config_feather_m0.h (100%) rename config_teensy.h => examples/PanoController/config_teensy.h (100%) create mode 100644 keywords.txt create mode 100644 library.properties rename ble_remote.cpp => src/ble_remote.cpp (100%) rename ble_remote.h => src/ble_remote.h (100%) rename camera.cpp => src/camera.cpp (100%) rename camera.h => src/camera.h (100%) rename display.cpp => src/display.cpp (100%) rename display.h => src/display.h (100%) rename eeprom.h => src/eeprom.h (100%) rename hid.h => src/hid.h (100%) rename joystick.cpp => src/joystick.cpp (100%) rename joystick.h => src/joystick.h (100%) rename menu.cpp => src/menu.cpp (100%) rename menu.h => src/menu.h (100%) rename menus_definition.cpp => src/menus_definition.cpp (100%) rename mpu.cpp => src/mpu.cpp (100%) rename mpu.h => src/mpu.h (100%) rename pano.cpp => src/pano.cpp (100%) rename pano.h => src/pano.h (100%) rename remote.cpp => src/remote.cpp (100%) rename remote.h => src/remote.h (100%) diff --git a/.gitignore b/.gitignore index b8bd026..10e6534 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,7 @@ *.exe *.out *.app + +# Eclipse +.*project + diff --git a/Makefile b/Makefile index d60d91d..90a5e69 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ ARDUINO := arduino --verbose --preserve-temp-files #ARDUINO := Arduino.app/Contents/MacOS/Arduino --verbose --preserve-temp-files TMPDIR := /tmp/pano-controller-build -SOURCES := pano-controller.ino *.cpp *.h +SOURCES := examples/PanoController/PanoController.ino src/*.cpp src/*.h # # Specify which of the below targets to build (default teensyLC) diff --git a/README.md b/README.md index 63f3965..d805f69 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ See the Official Facebook page Current state: fully functional prototype board, field-tested, frequently upgraded. -Pano Controller Prototype Board installed in Gigapan EPIC 100 -Pano Controller Pano Information Screen +Pano Controller Prototype Board installed in Gigapan EPIC 100 +Pano Controller Pano Information Screen ## Features: ### Software @@ -106,7 +106,7 @@ Current state: fully functional prototype board, field-tested, frequently upgrad Should use same pinout for connecting to external BLE board (SPI). - nrf24 library hardcodes pin 13 so if we plan to use it, we'll have to rewire. -Breadboard setup with Teensy LC +Breadboard setup with Teensy LC ## Setting DRV8834 reference diff --git a/pano-controller.ino b/examples/PanoController/PanoController.ino similarity index 100% rename from pano-controller.ino rename to examples/PanoController/PanoController.ino diff --git a/config.h b/examples/PanoController/config.h similarity index 82% rename from config.h rename to examples/PanoController/config.h index fb6c536..97478f4 100644 --- a/config.h +++ b/examples/PanoController/config.h @@ -2,16 +2,6 @@ * Pano Controller Master Configuration File */ -#if defined(__AVR__) -#error "AVR is not supported" - -#elif !defined(ARDUINO_SAMD_FEATHER_M0) -#include "config_teensy.h" - -#else -#include "config_feather_m0.h" -#endif - // Address of I2C OLED display. If screen looks scaled edit Adafruit_SSD1306.h // and pick SSD1306_128_64 or SSD1306_128_32 that matches display type. #define DISPLAY_I2C_ADDRESS 0x3C @@ -34,3 +24,17 @@ // Stepper motors steps per revolution #define MOTOR_STEPS 200 + +// board-specific pin settings +#if defined(ARDUINO_ARCH_SAMD) && defined(ARDUINO_SAMD_FEATHER_M0) +#include "config_feather_m0.h" + +#elif defined(__arm__) && defined(CORE_TEENSY) +#include "config_teensy.h" + +#elif defined(__AVR__) +#error "AVR is not supported" + +#else +#error "Unsupported board" +#endif diff --git a/config_feather_m0.h b/examples/PanoController/config_feather_m0.h similarity index 100% rename from config_feather_m0.h rename to examples/PanoController/config_feather_m0.h diff --git a/config_teensy.h b/examples/PanoController/config_teensy.h similarity index 100% rename from config_teensy.h rename to examples/PanoController/config_teensy.h diff --git a/keywords.txt b/keywords.txt new file mode 100644 index 0000000..f92faee --- /dev/null +++ b/keywords.txt @@ -0,0 +1,8 @@ +Pano KEYWORD1 +Menu KEYWORD1 +Display KEYWORD1 +Camera KEYWORD1 +Joystick KEYWORD1 +BLERemote KEYWORD1 +AllHID KEYWORD1 +MPU KEYWORD1 diff --git a/library.properties b/library.properties new file mode 100644 index 0000000..20c6f6b --- /dev/null +++ b/library.properties @@ -0,0 +1,11 @@ +name=PanoController +version=1.4.0 +author=Laurentiu Badea +maintainer=Laurentiu Badea +sentence=Controller for high-resolution panoramic photography. +paragraph=Move a camera to take a mosaic of images at high zoom, or an almost complete 360 photo sphere. A physical camera platform with two stepper motors is required. +category=Other +url=https://github.com/laurb9/StepperDriver +architectures=* +dot_a_linkage=false +includes=camera.h,display.h,menu.h,mpu.h,pano.h,hid.h,joystick.h,remote.h,ble_remote.h diff --git a/ble_remote.cpp b/src/ble_remote.cpp similarity index 100% rename from ble_remote.cpp rename to src/ble_remote.cpp diff --git a/ble_remote.h b/src/ble_remote.h similarity index 100% rename from ble_remote.h rename to src/ble_remote.h diff --git a/camera.cpp b/src/camera.cpp similarity index 100% rename from camera.cpp rename to src/camera.cpp diff --git a/camera.h b/src/camera.h similarity index 100% rename from camera.h rename to src/camera.h diff --git a/display.cpp b/src/display.cpp similarity index 100% rename from display.cpp rename to src/display.cpp diff --git a/display.h b/src/display.h similarity index 100% rename from display.h rename to src/display.h diff --git a/eeprom.h b/src/eeprom.h similarity index 100% rename from eeprom.h rename to src/eeprom.h diff --git a/hid.h b/src/hid.h similarity index 100% rename from hid.h rename to src/hid.h diff --git a/joystick.cpp b/src/joystick.cpp similarity index 100% rename from joystick.cpp rename to src/joystick.cpp diff --git a/joystick.h b/src/joystick.h similarity index 100% rename from joystick.h rename to src/joystick.h diff --git a/menu.cpp b/src/menu.cpp similarity index 100% rename from menu.cpp rename to src/menu.cpp diff --git a/menu.h b/src/menu.h similarity index 100% rename from menu.h rename to src/menu.h diff --git a/menus_definition.cpp b/src/menus_definition.cpp similarity index 100% rename from menus_definition.cpp rename to src/menus_definition.cpp diff --git a/mpu.cpp b/src/mpu.cpp similarity index 100% rename from mpu.cpp rename to src/mpu.cpp diff --git a/mpu.h b/src/mpu.h similarity index 100% rename from mpu.h rename to src/mpu.h diff --git a/pano.cpp b/src/pano.cpp similarity index 100% rename from pano.cpp rename to src/pano.cpp diff --git a/pano.h b/src/pano.h similarity index 100% rename from pano.h rename to src/pano.h diff --git a/remote.cpp b/src/remote.cpp similarity index 100% rename from remote.cpp rename to src/remote.cpp diff --git a/remote.h b/src/remote.h similarity index 100% rename from remote.h rename to src/remote.h From a65d94385e167140a8afc47da273c0996a0f7d96 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Thu, 1 Sep 2016 23:25:11 -0700 Subject: [PATCH 02/27] Basic Menu-less controller Only joystick controls supported. Configuration is expected to be already set. This could be the base of the headless controller for #58 --- .../PanoControllerBasic.ino | 420 ++++++++++++++++++ examples/PanoControllerBasic/config.h | 40 ++ .../PanoControllerBasic/config_feather_m0.h | 41 ++ examples/PanoControllerBasic/config_teensy.h | 45 ++ 4 files changed, 546 insertions(+) create mode 100644 examples/PanoControllerBasic/PanoControllerBasic.ino create mode 100644 examples/PanoControllerBasic/config.h create mode 100644 examples/PanoControllerBasic/config_feather_m0.h create mode 100644 examples/PanoControllerBasic/config_teensy.h diff --git a/examples/PanoControllerBasic/PanoControllerBasic.ino b/examples/PanoControllerBasic/PanoControllerBasic.ino new file mode 100644 index 0000000..0369ba3 --- /dev/null +++ b/examples/PanoControllerBasic/PanoControllerBasic.ino @@ -0,0 +1,420 @@ +/* + * Headless Pano Controller + * + * A basic panorama controller without menus and advanced HID devices. + * + * Copyright (C)2015,2016 Laurentiu Badea + * + * This file may be redistributed under the terms of the MIT license. + * A copy of this license has been included with this distribution in the file LICENSE. + */ +#include +#include +#include +#include "config.h" +#include "pano.h" +#include "camera.h" +#include "hid.h" +#include "joystick.h" +#include "remote.h" +#include "display.h" +#include "mpu.h" + +// these variables are modified by the menu +volatile int focal, shutter, pre_shutter, post_wait, long_pulse, + orientation, aspect, shots, motors_enable, display_invert, + horiz, vert, running; + +static Display display(OLED_RESET); + +static Camera* camera; +static Joystick* joystick; +static Remote* remote; +// HID (Human Interface Device) Combined joystick+remote +static AllHID* hid; +static MPU* mpu; +static DRV8834* horiz_motor; +static DRV8834* vert_motor; +static Pano* pano; + +void setup() { + Serial.begin(38400); + delay(1000); // wait for serial + + display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_I2C_ADDRESS, false); + //display.setRotation(2); + display.clearDisplay(); + display.setTextCursor(0,0); + display.setTextColor(WHITE); + display.setTextSize(TEXT_SIZE); + + camera = new Camera(CAMERA_FOCUS, CAMERA_SHUTTER); + joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); + remote = new Remote(REMOTE_IN); + // HID (Human Interface Device) Combined joystick+remote + hid = new AllHID(2, new HID* const[2] {joystick, remote}); + + mpu = new MPU(MPU_I2C_ADDRESS, MPU_INT); + mpu->init(); + + horiz_motor = new DRV8834(MOTOR_STEPS, DIR, HORIZ_STEP, nENABLE); + vert_motor = new DRV8834(MOTOR_STEPS, DIR, VERT_STEP); + horiz_motor->setMicrostep(32); + vert_motor->setMicrostep(32); + + pano = new Pano(*horiz_motor, *vert_motor, *camera, *mpu); + + pinMode(BATTERY, INPUT); +#if defined(__MK20DX256__) || defined(__MKL26Z64__) + analogReadRes(10); + analogReadAveraging(32); +#endif +} + +int readBattery(void){ + return map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); +} + +/* + * Add a status overlay (currently battery and bluetooth status) + */ +void displayStatusOverlay(void){ + + // Print battery voltage at cursor, format is #.#V (4 chars) + int battmV = readBattery(); + display.setTextCursor(0, 16); + // poor attempt at blinking + if (battmV < LOW_BATTERY && millis() & 1024){ + display.setTextColor(BLACK, WHITE); + } + display.printf("%2d.%dV", battmV/1000, (battmV % 1000)/100); + display.setTextColor(WHITE, BLACK); +} + +/* + * Display current panorama status (photo index, etc) + */ +void displayPanoStatus(void){ + display.clearDisplay(); + display.setTextCursor(0,0); + + display.printf("Photo %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("At %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); + displayPanoSize(); + displayStatusOverlay(); + displayProgress(); + display.display(); +} +/* + * 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(); +} +/* + * Display panorama information + */ +void displayPanoInfo(void){ + float horiz_fov = camera->getHorizFOV(); + float vert_fov = camera->getVertFOV(); + display.clearDisplay(); + display.setTextCursor(0,0); + display.printf("Lens: %dmm\n", focal); + display.printf(" %d.%d x %d.%d\n", + int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), + int(vert_fov), round(10*(vert_fov-int(vert_fov)))); + display.printf("Pano FOV %d x %d \n", pano->horiz_fov, pano->vert_fov); + displayPanoSize(); + display.printf("%d photos\n", pano->getHorizShots()*pano->getVertShots()); + displayProgress(); + displayStatusOverlay(); + display.display(); +} + +/* + * Display the panorama grid size + */ +void displayPanoSize(){ + display.printf("Grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); +} + +/* + * Display the four navigation arrows, cancel and OK buttons. + */ +void displayArrows(){ + display.setTextCursor(3, 0); + display.println(" \x1e \n" + " [X] \x11+\x10 [OK]\n" + " \x1f "); + display.display(); +} + +/* + * Let user move the camera while optionally recording position + * @param msg: title string + * @param horiz: pointer to store horizontal movement + * @param vert: pointer to store vertical movement + */ +bool positionCamera(const char *msg, volatile int *horiz, volatile int *vert){ + int pos_x, pos_y; + int horiz_rpm, vert_rpm; + + display.clearDisplay(); + display.setTextCursor(0,0); + display.println(msg); + displayArrows(); + pano->motorsEnable(true); + + if (horiz || vert){ + pano->setMotorsHomePosition(); + } + + while (true){ + hid->read(); + if (hid->isLastEventOk() || hid->isLastEventCancel()) break; + + pos_x = joystick->getPositionX(); + horiz_rpm = DYNAMIC_HORIZ_RPM(camera->getHorizFOV()); + if (pos_x == 0){ + if (hid->isLastEventRight()) pos_x = 1; + if (hid->isLastEventLeft()) pos_x = -1; + horiz_rpm /= 3; + } else { + // proportional speed control + horiz_rpm = horiz_rpm * abs(pos_x) / joystick->range; + pos_x = pos_x / abs(pos_x); + } + if (pos_x && horiz){ + if (pos_x < -pano->horiz_home_offset){ + pos_x = -pano->horiz_home_offset; + } else if (abs(pos_x + pano->horiz_home_offset) + camera->getHorizFOV() > 360){ + pos_x = 360 - camera->getHorizFOV() - pano->horiz_home_offset; + } + } + + pos_y = joystick->getPositionY(); + vert_rpm = DYNAMIC_VERT_RPM(camera->getVertFOV()); + if (pos_y == 0){ + if (hid->isLastEventUp()) pos_y = 1; + if (hid->isLastEventDown()) pos_y = -1; + vert_rpm /= 3; + } else { + // proportional speed control + vert_rpm = vert_rpm * abs(pos_y) / joystick->range; + pos_y = pos_y / abs(pos_y); + } + if (pos_y && vert){ + if (pos_y > -pano->vert_home_offset){ + pos_y = -pano->vert_home_offset; + } else if (-(pos_y + pano->vert_home_offset) + camera->getVertFOV() > 180){ + pos_y = -(180 - camera->getVertFOV() + pano->vert_home_offset); + } + } + + if (vert && !pos_x && !pos_y){ + pano->setFOV((horiz) ? abs(pano->horiz_home_offset) + camera->getHorizFOV() : 360, + abs(pano->vert_home_offset) + camera->getVertFOV()); + pano->computeGrid(); + display.setTextCursor(6, 0); + display.print(" "); + display.setTextCursor(6, 0); + displayPanoSize(); + display.printf("FOV %d x %d ", pano->horiz_fov, pano->vert_fov); + displayStatusOverlay(); + display.display(); + } + + if (pos_x || pos_y){ + horiz_motor->setRPM(horiz_rpm); + vert_motor->setRPM(vert_rpm); + pano->moveMotors(pos_x, pos_y); + } + } + + if (horiz || vert){ + if (horiz){ + *horiz = abs(pano->horiz_home_offset) + camera->getHorizFOV(); + } + if (vert){ + *vert = abs(pano->vert_home_offset) + camera->getVertFOV(); + } + pano->moveMotorsHome(); + } + return (hid->isLastEventOk()); +} + +/* + * Execute panorama from start to finish. + * Button click interrupts. + */ +void executePano(void){ + + hid->clear(4000); + pano->start(); + + while (running){ + displayPanoStatus(); + if (!pano->position){ + delay(2000); + } + if (shutter > 0){ + pano->shutter(); + } + + if (shutter == 0 || hid->read()){ + hid->clear(1000); + // button was clicked mid-pano or we are in manual shutter mode + displayPanoStatus(); + displayArrows(); + while (running){ + if (!hid->read()) continue; + else if (hid->isLastEventLeft()) pano->prev(); + else if (hid->isLastEventRight()) pano->next(); + else if (hid->isLastEventUp()) pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); + else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); + else if (hid->isLastEventOk()) break; + else if (hid->isLastEventCancel()){ + running = false; + break; + } + displayPanoStatus(); + displayArrows(); + } + } + running = running && pano->next(); + }; + + running = false; + displayPanoStatus(); + + pano->end(); + + hid->waitAnyKey(); +} + +/* + * Update common camera and pano settings from external vars + */ +void setPanoParams(void){ + camera->setAspect(aspect); + camera->setFocalLength(focal); + pano->setShutter(shutter, pre_shutter, post_wait, long_pulse); + pano->setShots(shots); +} + +/* + * Menu callback invoked by selecting "Start" + */ +int onStart(int __){ + setPanoParams(); + + // set panorama FOV + if (!positionCamera("Set Top Left", NULL, NULL) || + !positionCamera("Set Bottom Right", &horiz, &vert)){ + return false; + } + + pano->setFOV(horiz, vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + running = true; + executePano(); + return __; +} + +/* + * Menu callback invoked by selecting "Repeat" + */ +int onRepeat(int __){ + setPanoParams(); + + pano->setFOV(horiz, vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + running = true; + executePano(); + return __; +} + +/* + * Menu callback invoked by selecting "Repeat" + */ +int on360(int __){ + setPanoParams(); + + // set panorama FOV + horiz = 360; + if (!positionCamera("Set Top", NULL, NULL) || + !positionCamera("Set Bottom", NULL, &vert)){ + return false; + } + + pano->setFOV(horiz, vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + running = true; + //menu->sync(); + executePano(); + return __; +} + +/* + * Menu callback for displaying last pano info + */ +int onPanoInfo(int __){ + setPanoParams(); + pano->setFOV(horiz, vert); + pano->computeGrid(); + displayPanoInfo(); + hid->waitAnyKey(); + return __; +} + +/* + * Menu callback for testing camera shutter + */ +int onTestShutter(int __){ + setPanoParams(); + pano->shutter(); + return __; +} + +/* + * Menu callback for displaying About... info + */ +int onAboutPanoController(int __){ + display.clearDisplay(); + display.setTextCursor(2, 0); + display.print("Pano Controller\n\n" + "Built " __DATE__ "\n" + __TIME__ "\n"); + display.display(); + hid->waitAnyKey(); + return __; +} + +void onMenuLoop(void){ + displayStatusOverlay(); + display.invertDisplay(display_invert); + pano->motorsEnable(motors_enable); +} + +void loop() { + onPanoInfo(0); + onStart(0); +} diff --git a/examples/PanoControllerBasic/config.h b/examples/PanoControllerBasic/config.h new file mode 100644 index 0000000..97478f4 --- /dev/null +++ b/examples/PanoControllerBasic/config.h @@ -0,0 +1,40 @@ +/* + * Pano Controller Master Configuration File + */ + +// Address of I2C OLED display. If screen looks scaled edit Adafruit_SSD1306.h +// and pick SSD1306_128_64 or SSD1306_128_32 that matches display type. +#define DISPLAY_I2C_ADDRESS 0x3C +#define OLED_RESET 12 +#define TEXT_SIZE 1 +#define DISPLAY_ROWS SSD1306_LCDHEIGHT/8/TEXT_SIZE +#define DISPLAY_COLS SSD1306_LCDWIDTH/6/TEXT_SIZE + +// Battery monitoring settings +#define VCC 3300 +#define LOW_BATTERY 7000 +// R1/R2 is the voltage divisor in Ω (GND-R1-A0-R2-Vin) +// measure resistors and enter actual values for a more accurate voltage +#define BATT_R1 9980 +#define BATT_R2 46500 +#define BATT_RANGE (VCC * (BATT_R1 + BATT_R2) / BATT_R1) + +// MPU (accel/gyro) +#define MPU_I2C_ADDRESS 0x68 + +// Stepper motors steps per revolution +#define MOTOR_STEPS 200 + +// board-specific pin settings +#if defined(ARDUINO_ARCH_SAMD) && defined(ARDUINO_SAMD_FEATHER_M0) +#include "config_feather_m0.h" + +#elif defined(__arm__) && defined(CORE_TEENSY) +#include "config_teensy.h" + +#elif defined(__AVR__) +#error "AVR is not supported" + +#else +#error "Unsupported board" +#endif diff --git a/examples/PanoControllerBasic/config_feather_m0.h b/examples/PanoControllerBasic/config_feather_m0.h new file mode 100644 index 0000000..1d23e70 --- /dev/null +++ b/examples/PanoControllerBasic/config_feather_m0.h @@ -0,0 +1,41 @@ +/* + * Pano Controller Configuration File for Adafruit Feather M0 + * Supported: + * - Adafruit Feather M0 + * - Adafruit Feather M0 Bluefruit + */ + +// Bluetooth module. These internally connected on the Feather Bluefruit. +#define BLUEFRUIT_SPI_CS 8 +#define BLUEFRUIT_SPI_IRQ 7 +#define BLUEFRUIT_SPI_RST 4 + +// Camera shutter controls +#define CAMERA_FOCUS 0 +#define CAMERA_SHUTTER 1 + +// Battery measurement pin R1/R2 +#define BATTERY A4 + +// Joystick inputs +#define JOYSTICK_X A3 +#define JOYSTICK_Y A2 +#define JOYSTICK_SW A1 + +// IR remote is not supported on Feather M0 +// https://github.com/z3t0/Arduino-IRremote/issues/274 +#define REMOTE_IN -1 + +// MPU (accel/gyro) +#define MPU_INT 12 + +// Future devices +//#define COMPASS_DRDY 11 + +// Stepper drivers control +#define DIR 5 +#define VERT_STEP 6 +#define HORIZ_STEP 9 + +// this should be hooked up to nENABLE on both drivers +#define nENABLE 10 diff --git a/examples/PanoControllerBasic/config_teensy.h b/examples/PanoControllerBasic/config_teensy.h new file mode 100644 index 0000000..3b60f59 --- /dev/null +++ b/examples/PanoControllerBasic/config_teensy.h @@ -0,0 +1,45 @@ +/* + * Pano Controller Configuration File for Teensy boards from PJRC + * Supported: + * - Teensy LC + * - Teensy 3.1 + * - Teensy 3.2 + */ + +// Bluetooth module SPI +#define BLUEFRUIT_SPI_CS 8 +#define BLUEFRUIT_SPI_IRQ 7 +#define BLUEFRUIT_SPI_RST 4 // Optional but recommended, set to -1 if unused + +#define SPI_MOSI 11 +#define SPI_MISO 12 +#define SPI_SCK 13 + +// Camera shutter controls +#define CAMERA_FOCUS 0 +#define CAMERA_SHUTTER 1 + +// Battery measurement pin R1/R2 +#define BATTERY A0 + +// Joystick inputs +#define JOYSTICK_X A3 +#define JOYSTICK_Y A2 +#define JOYSTICK_SW A1 + +// IR remote +#define REMOTE_IN 3 + +// MPU (accel/gyro) +#define MPU_INT 2 + +// Future devices +//#define COMPASS_DRDY 4 + +// Stepper drivers control +#define DIR 5 +#define VERT_STEP 6 +#define HORIZ_STEP 9 + +// this should be hooked up to nENABLE on both drivers +#define nENABLE 10 From a4612c7ec269743b9518096e78295319647e9b96 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Fri, 2 Sep 2016 09:16:18 -0700 Subject: [PATCH 03/27] Broke out a Basic controller (no menus). Also moved all the various pano settings in a PanoSettings object instead of individual variables. --- examples/PanoController/PanoController.ino | 54 +++++++++--------- .../PanoControllerBasic.ino | 56 +++++++++---------- src/menu.h | 3 +- src/menus_definition.cpp | 37 ++++-------- src/pano.h | 1 + src/pano_settings.h | 28 ++++++++++ 6 files changed, 97 insertions(+), 82 deletions(-) create mode 100644 src/pano_settings.h diff --git a/examples/PanoController/PanoController.ino b/examples/PanoController/PanoController.ino index f168d9a..673fa3a 100644 --- a/examples/PanoController/PanoController.ino +++ b/examples/PanoController/PanoController.ino @@ -23,9 +23,7 @@ #include "mpu.h" // these variables are modified by the menu -volatile int focal, shutter, pre_shutter, post_wait, long_pulse, - orientation, aspect, shots, motors_enable, display_invert, - horiz, vert, running; +PanoSettings settings; static Display display(OLED_RESET); Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST); @@ -88,7 +86,7 @@ void setup() { analogReadAveraging(32); #endif - menu = getMainMenu(); + menu = getMainMenu(settings); } int readBattery(void){ @@ -157,7 +155,7 @@ void displayPanoInfo(void){ float vert_fov = camera->getVertFOV(); display.clearDisplay(); display.setTextCursor(0,0); - display.printf("Lens: %dmm\n", focal); + display.printf("Lens: %dmm\n", settings.focal); display.printf(" %d.%d x %d.%d\n", int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), int(vert_fov), round(10*(vert_fov-int(vert_fov)))); @@ -290,21 +288,21 @@ void executePano(void){ hid->clear(4000); pano->start(); - while (running){ + while (settings.running){ displayPanoStatus(); if (!pano->position){ delay(2000); } - if (shutter > 0){ + if (settings.shutter > 0){ pano->shutter(); } - if (shutter == 0 || hid->read()){ + if (settings.shutter == 0 || hid->read()){ hid->clear(1000); // button was clicked mid-pano or we are in manual shutter mode displayPanoStatus(); displayArrows(); - while (running){ + while (settings.running){ if (!hid->read()) continue; else if (hid->isLastEventLeft()) pano->prev(); else if (hid->isLastEventRight()) pano->next(); @@ -312,17 +310,17 @@ void executePano(void){ else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); else if (hid->isLastEventOk()) break; else if (hid->isLastEventCancel()){ - running = false; + settings.running = false; break; } displayPanoStatus(); displayArrows(); } } - running = running && pano->next(); + settings.running = settings.running && pano->next(); }; - running = false; + settings.running = false; displayPanoStatus(); pano->end(); @@ -335,10 +333,10 @@ void executePano(void){ */ void setPanoParams(void){ menu->cancel(); - camera->setAspect(aspect); - camera->setFocalLength(focal); - pano->setShutter(shutter, pre_shutter, post_wait, long_pulse); - pano->setShots(shots); + camera->setAspect(settings.aspect); + camera->setFocalLength(settings.focal); + pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); + pano->setShots(settings.shots); } /* @@ -349,15 +347,15 @@ int onStart(int __){ // set panorama FOV if (!positionCamera("Set Top Left", NULL, NULL) || - !positionCamera("Set Bottom Right", &horiz, &vert)){ + !positionCamera("Set Bottom Right", &settings.horiz, &settings.vert)){ return false; } - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; menu->sync(); executePano(); return __; @@ -369,11 +367,11 @@ int onStart(int __){ int onRepeat(int __){ setPanoParams(); - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; menu->sync(); executePano(); return __; @@ -386,17 +384,17 @@ int on360(int __){ setPanoParams(); // set panorama FOV - horiz = 360; + settings.horiz = 360; if (!positionCamera("Set Top", NULL, NULL) || - !positionCamera("Set Bottom", NULL, &vert)){ + !positionCamera("Set Bottom", NULL, &settings.vert)){ return false; } - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; menu->sync(); executePano(); return __; @@ -407,7 +405,7 @@ int on360(int __){ */ int onPanoInfo(int __){ setPanoParams(); - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); pano->computeGrid(); displayPanoInfo(); hid->waitAnyKey(); @@ -439,8 +437,8 @@ int onAboutPanoController(int __){ void onMenuLoop(void){ displayStatusOverlay(); - display.invertDisplay(display_invert); - pano->motorsEnable(motors_enable); + display.invertDisplay(settings.display_invert); + pano->motorsEnable(settings.motors_enable); } void loop() { diff --git a/examples/PanoControllerBasic/PanoControllerBasic.ino b/examples/PanoControllerBasic/PanoControllerBasic.ino index 0369ba3..f9c2b5f 100644 --- a/examples/PanoControllerBasic/PanoControllerBasic.ino +++ b/examples/PanoControllerBasic/PanoControllerBasic.ino @@ -21,9 +21,7 @@ #include "mpu.h" // these variables are modified by the menu -volatile int focal, shutter, pre_shutter, post_wait, long_pulse, - orientation, aspect, shots, motors_enable, display_invert, - horiz, vert, running; +PanoSettings settings; static Display display(OLED_RESET); @@ -131,7 +129,7 @@ void displayPanoInfo(void){ float vert_fov = camera->getVertFOV(); display.clearDisplay(); display.setTextCursor(0,0); - display.printf("Lens: %dmm\n", focal); + display.printf("Lens: %dmm\n", settings.focal); display.printf(" %d.%d x %d.%d\n", int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), int(vert_fov), round(10*(vert_fov-int(vert_fov)))); @@ -264,21 +262,21 @@ void executePano(void){ hid->clear(4000); pano->start(); - while (running){ + while (settings.running){ displayPanoStatus(); if (!pano->position){ delay(2000); } - if (shutter > 0){ + if (settings.shutter > 0){ pano->shutter(); } - if (shutter == 0 || hid->read()){ + if (settings.shutter == 0 || hid->read()){ hid->clear(1000); // button was clicked mid-pano or we are in manual shutter mode displayPanoStatus(); displayArrows(); - while (running){ + while (settings.running){ if (!hid->read()) continue; else if (hid->isLastEventLeft()) pano->prev(); else if (hid->isLastEventRight()) pano->next(); @@ -286,17 +284,17 @@ void executePano(void){ else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); else if (hid->isLastEventOk()) break; else if (hid->isLastEventCancel()){ - running = false; + settings.running = false; break; } displayPanoStatus(); displayArrows(); } } - running = running && pano->next(); + settings.running = settings.running && pano->next(); }; - running = false; + settings.running = false; displayPanoStatus(); pano->end(); @@ -308,10 +306,10 @@ void executePano(void){ * Update common camera and pano settings from external vars */ void setPanoParams(void){ - camera->setAspect(aspect); - camera->setFocalLength(focal); - pano->setShutter(shutter, pre_shutter, post_wait, long_pulse); - pano->setShots(shots); + camera->setAspect(settings.aspect); + camera->setFocalLength(settings.focal); + pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); + pano->setShots(settings.shots); } /* @@ -322,15 +320,15 @@ int onStart(int __){ // set panorama FOV if (!positionCamera("Set Top Left", NULL, NULL) || - !positionCamera("Set Bottom Right", &horiz, &vert)){ + !positionCamera("Set Bottom Right", &settings.horiz, &settings.vert)){ return false; } - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; executePano(); return __; } @@ -341,11 +339,11 @@ int onStart(int __){ int onRepeat(int __){ setPanoParams(); - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; executePano(); return __; } @@ -357,17 +355,17 @@ int on360(int __){ setPanoParams(); // set panorama FOV - horiz = 360; + settings.horiz = 360; if (!positionCamera("Set Top", NULL, NULL) || - !positionCamera("Set Bottom", NULL, &vert)){ + !positionCamera("Set Bottom", NULL, &settings.vert)){ return false; } - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - running = true; + settings.running = true; //menu->sync(); executePano(); return __; @@ -378,7 +376,7 @@ int on360(int __){ */ int onPanoInfo(int __){ setPanoParams(); - pano->setFOV(horiz, vert); + pano->setFOV(settings.horiz, settings.vert); pano->computeGrid(); displayPanoInfo(); hid->waitAnyKey(); @@ -410,11 +408,13 @@ int onAboutPanoController(int __){ void onMenuLoop(void){ displayStatusOverlay(); - display.invertDisplay(display_invert); - pano->motorsEnable(motors_enable); + display.invertDisplay(settings.display_invert); + pano->motorsEnable(settings.motors_enable); } void loop() { + Serial.println("Display Pano Info"); onPanoInfo(0); - onStart(0); + Serial.println("Starting Pano"); + onRepeat(0); } diff --git a/src/menu.h b/src/menu.h index adbaf1e..18e7b70 100644 --- a/src/menu.h +++ b/src/menu.h @@ -10,6 +10,7 @@ #define MENU_H_ #include "display.h" #include "hid.h" +#include "pano_settings.h" #define DISPLAY_DEVICE Display& @@ -142,7 +143,7 @@ class Menu : public MultiSelect { int render(DISPLAY_DEVICE display, int rows) override; }; -Menu* getMainMenu(void); +Menu* getMainMenu(PanoSettings& settings); void displayMenu(Menu& menu, DISPLAY_DEVICE display, const int rows, AllHID& hid, void(*onMenuLoop)(void)=NULL); diff --git a/src/menus_definition.cpp b/src/menus_definition.cpp index dec98d5..3e63b77 100644 --- a/src/menus_definition.cpp +++ b/src/menus_definition.cpp @@ -16,19 +16,6 @@ int onPanoInfo(int); int onTestShutter(int); int onAboutPanoController(int); -// variables updated directly by menus -extern volatile int horiz; -extern volatile int vert; -extern volatile int focal; -extern volatile int shutter; -extern volatile int pre_shutter; -extern volatile int post_wait; -extern volatile int long_pulse; -extern volatile int shots; -extern volatile int aspect; -extern volatile int motors_enable; -extern volatile int display_invert; - #define NO_EEPROM 0 #define USE_EEPROM assignEEPROM() @@ -43,7 +30,7 @@ int assignEEPROM(){ /* * Return the main menu object */ -Menu* getMainMenu(void){ +Menu* getMainMenu(PanoSettings& settings){ static Menu* menu = new Menu("Main Menu", 5, new BaseMenu* const[5] { @@ -52,37 +39,37 @@ Menu* getMainMenu(void){ new ActionItem("Repeat Last", onRepeat), new ActionItem("360 Pano", on360), new ActionItem("Last Pano Info", onPanoInfo), - new RangeSelector("Manual Horiz FOV", &horiz, 120, USE_EEPROM, NULL, 10, 360, 10), - new RangeSelector("Manual Vert FOV", &vert, 90, USE_EEPROM, NULL, 10, 180, 10) + new RangeSelector("Manual Horiz FOV", &settings.horiz, 120, USE_EEPROM, NULL, 10, 360, 10), + new RangeSelector("Manual Vert FOV", &settings.vert, 90, USE_EEPROM, NULL, 10, 180, 10) }), new Menu("Camera", 8, new BaseMenu* const[8] { - new ListSelector("Focal Len", &focal, 35, USE_EEPROM, NULL, 16, + new ListSelector("Focal Len", &settings.focal, 35, USE_EEPROM, NULL, 16, (const int[]){12, 14, 16, 20, 24, 28, 35, 50, 75, 105, 200, 300, 400, 450, 500, 600}), - new NamedListSelector("Shutter", &shutter, 10, USE_EEPROM, NULL, 11, + new NamedListSelector("Shutter", &settings.shutter, 10, USE_EEPROM, NULL, 11, (const char * const[]){"1/100", "1/50", "1/25", "1/10", "1/4", "0.5s", "1s", "2s", "4s", "8s", "MANUAL"}, (const int[]){10, 20, 40, 100, 250, 500, 1000, 2000, 4000, 8000, 0}), - new NamedListSelector("Delay", &pre_shutter, 100, USE_EEPROM, NULL, 6, + new NamedListSelector("Delay", &settings.pre_shutter, 100, USE_EEPROM, NULL, 6, (const char * const[]){"0.1s", "0.5s", "1s", "2s", "4s", "8s"}, (const int[]){100, 500, 1000, 2000, 4000, 8000}), - new NamedListSelector("Processing Wait", &post_wait, 100, USE_EEPROM, NULL, 7, + new NamedListSelector("Processing Wait", &settings.post_wait, 100, USE_EEPROM, NULL, 7, (const char * const[]){"0.1s", "0.25s", "0.5s", "1s", "2s", "4s", "8s"}, (const int[]){100, 250, 500, 1000, 2000, 4000, 8000}), - new NamedListSelector("Shutter Mode", &long_pulse, 0, USE_EEPROM, NULL, 2, + new NamedListSelector("Shutter Mode", &settings.long_pulse, 0, USE_EEPROM, NULL, 2, (const char * const[]){"Normal", "Cont Bkt"}, (const int[]){0, 1}), - new RangeSelector("Shots #", &shots, 1, USE_EEPROM, NULL, 1, 5, 1), - new NamedListSelector("Aspect", &aspect, 23, USE_EEPROM, NULL, 2, + new RangeSelector("Shots #", &settings.shots, 1, USE_EEPROM, NULL, 1, 5, 1), + new NamedListSelector("Aspect", &settings.aspect, 23, USE_EEPROM, NULL, 2, (const char * const[]){"P 2:3", "L 3:2"}, (const int[]){23, 32}), new ActionItem("Test Shutter", onTestShutter) }), - new NamedListSelector("Motors", &motors_enable, 0, NO_EEPROM, NULL, 2, + new NamedListSelector("Motors", &settings.motors_enable, 0, NO_EEPROM, NULL, 2, (const char * const[]){"On", "Off"}, (const int[]){1, 0}), - new NamedListSelector("Display", &display_invert, 0, NO_EEPROM, NULL, 2, + new NamedListSelector("Display", &settings.display_invert, 0, NO_EEPROM, NULL, 2, (const char * const[]){"Dark", "Bright"}, (const int[]){0, 1}), diff --git a/src/pano.h b/src/pano.h index abac0e8..a374318 100644 --- a/src/pano.h +++ b/src/pano.h @@ -11,6 +11,7 @@ #include #include "camera.h" #include "mpu.h" +#include "pano_settings.h" // Calculate maximum allowed movement at given focal length and shutter // =angular velocity that would cause a pixel to overlap next one within shot time diff --git a/src/pano_settings.h b/src/pano_settings.h new file mode 100644 index 0000000..273a218 --- /dev/null +++ b/src/pano_settings.h @@ -0,0 +1,28 @@ +/* + * Pano engine + * + * Copyright (C)2016 Laurentiu Badea + * + * This file may be redistributed under the terms of the MIT license. + * A copy of this license has been included with this distribution in the file LICENSE. + */ +#ifndef PANO_SETTINGS_H_ +#define PANO_SETTINGS_H_ + +// This does not really belong here +typedef struct { + volatile int focal = 35, + shutter = 100, + pre_shutter = 100, + post_wait = 500, + long_pulse = 0, + aspect = 1, + shots = 1, + motors_enable = 0, + display_invert = 0, + horiz = 360, + vert = 160, + running = 0; +} PanoSettings; + +#endif /* PANO_SETTINGS_H_ */ From 0b13efb14ae71f31ab4a30cfe8a404d7fd329512 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Fri, 2 Sep 2016 09:41:27 -0700 Subject: [PATCH 04/27] Created Navigator and Executor module sketches. #58 Navigator is for Menu navigation and configuration only. Executor is for running the panorama on the platform, should receive config from Navigator. --- .../Executor.ino} | 0 .../config.h | 0 .../config_feather_m0.h | 0 .../config_teensy.h | 0 examples/Navigator/Navigator.ino | 399 ++++++++++++++++++ examples/Navigator/config.h | 25 ++ examples/Navigator/config_feather_m0.h | 20 + examples/Navigator/config_teensy.h | 24 ++ src/pano.cpp | 66 ++- src/pano.h | 55 ++- 10 files changed, 546 insertions(+), 43 deletions(-) rename examples/{PanoControllerBasic/PanoControllerBasic.ino => Executor/Executor.ino} (100%) rename examples/{PanoControllerBasic => Executor}/config.h (100%) rename examples/{PanoControllerBasic => Executor}/config_feather_m0.h (100%) rename examples/{PanoControllerBasic => Executor}/config_teensy.h (100%) create mode 100644 examples/Navigator/Navigator.ino create mode 100644 examples/Navigator/config.h create mode 100644 examples/Navigator/config_feather_m0.h create mode 100644 examples/Navigator/config_teensy.h diff --git a/examples/PanoControllerBasic/PanoControllerBasic.ino b/examples/Executor/Executor.ino similarity index 100% rename from examples/PanoControllerBasic/PanoControllerBasic.ino rename to examples/Executor/Executor.ino diff --git a/examples/PanoControllerBasic/config.h b/examples/Executor/config.h similarity index 100% rename from examples/PanoControllerBasic/config.h rename to examples/Executor/config.h diff --git a/examples/PanoControllerBasic/config_feather_m0.h b/examples/Executor/config_feather_m0.h similarity index 100% rename from examples/PanoControllerBasic/config_feather_m0.h rename to examples/Executor/config_feather_m0.h diff --git a/examples/PanoControllerBasic/config_teensy.h b/examples/Executor/config_teensy.h similarity index 100% rename from examples/PanoControllerBasic/config_teensy.h rename to examples/Executor/config_teensy.h diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino new file mode 100644 index 0000000..16a1100 --- /dev/null +++ b/examples/Navigator/Navigator.ino @@ -0,0 +1,399 @@ +/* + * Pano Controller for Arduino project + * + * Copyright (C)2015,2016 Laurentiu Badea + * + * This file may be redistributed under the terms of the MIT license. + * A copy of this license has been included with this distribution in the file LICENSE. + */ +#include +#include +#include +#include "config.h" +#include "pano.h" +#include "camera.h" +#include "hid.h" +#include "joystick.h" +#include "remote.h" +#include "menu.h" +#include "display.h" + +// these variables are modified by the menu +PanoSettings settings; + +static Display display(OLED_RESET); + +static Camera* camera; +static Joystick* joystick; +static Remote* remote; +// HID (Human Interface Device) Combined joystick+remote +static AllHID* hid; +static PanoSetup* pano; +static Menu* menu; + +void setup() { + Serial.begin(38400); + delay(1000); // wait for serial + + display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_I2C_ADDRESS, false); + //display.setRotation(2); + display.clearDisplay(); + display.setTextCursor(0,0); + display.setTextColor(WHITE); + display.setTextSize(TEXT_SIZE); + + camera = new Camera(PIN_UNCONNECTED, PIN_UNCONNECTED); + joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); + remote = new Remote(REMOTE_IN); + // HID (Human Interface Device) Combined joystick+remote + hid = new AllHID(2, new HID* const[2] {joystick, remote}); + + pano = new PanoSetup(*camera); + + menu = getMainMenu(settings); +} + +int readBattery(void){ + return 0; +} + +/* + * Add a status overlay (currently battery and bluetooth status) + */ +void displayStatusOverlay(void){ + + // Print battery voltage at cursor, format is #.#V (4 chars) + int battmV = readBattery(); + display.setTextCursor(0, 16); + display.printf("%2d.%dV", battmV/1000, (battmV % 1000)/100); + + // show a character indicating bluetooth is connected + if (true){ + display.setTextCursor(0,15); + display.print("\xe8"); + } +} + +/* + * Display current panorama status (photo index, etc) + */ +void displayPanoStatus(void){ + display.clearDisplay(); + display.setTextCursor(0,0); + + display.printf("Photo %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("At %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); + displayPanoSize(); + displayStatusOverlay(); + displayProgress(); + display.display(); +} +/* + * 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(); +} +/* + * Display panorama information + */ +void displayPanoInfo(void){ + float horiz_fov = camera->getHorizFOV(); + float vert_fov = camera->getVertFOV(); + display.clearDisplay(); + display.setTextCursor(0,0); + display.printf("Lens: %dmm\n", settings.focal); + display.printf(" %d.%d x %d.%d\n", + int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), + int(vert_fov), round(10*(vert_fov-int(vert_fov)))); + display.printf("Pano FOV %d x %d \n", pano->horiz_fov, pano->vert_fov); + displayPanoSize(); + display.printf("%d photos\n", pano->getHorizShots()*pano->getVertShots()); + displayProgress(); + displayStatusOverlay(); + display.display(); +} + +/* + * Display the panorama grid size + */ +void displayPanoSize(){ + display.printf("Grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); +} + +/* + * Display the four navigation arrows, cancel and OK buttons. + */ +void displayArrows(){ + display.setTextCursor(3, 0); + display.println(" \x1e \n" + " [X] \x11+\x10 [OK]\n" + " \x1f "); + display.display(); +} + +/* + * Let user move the camera while optionally recording position + * @param msg: title string + * @param horiz: pointer to store horizontal movement + * @param vert: pointer to store vertical movement + */ +bool positionCamera(const char *msg, volatile int *horiz, volatile int *vert){ + int pos_x, pos_y; + int horiz_rpm, vert_rpm; + float horiz_offset = 0, vert_offset = 0; + + display.clearDisplay(); + display.setTextCursor(0,0); + display.println(msg); + displayArrows(); + + while (true){ + hid->read(); + if (hid->isLastEventOk() || hid->isLastEventCancel()) break; + + pos_x = joystick->getPositionX(); + horiz_rpm = DYNAMIC_HORIZ_RPM(camera->getHorizFOV()); + if (pos_x == 0){ + if (hid->isLastEventRight()) pos_x = 1; + if (hid->isLastEventLeft()) pos_x = -1; + horiz_rpm /= 3; + } else { + // proportional speed control + horiz_rpm = horiz_rpm * abs(pos_x) / joystick->range; + pos_x = pos_x / abs(pos_x); + } + if (pos_x && horiz){ + if (pos_x < -horiz_offset){ + pos_x = -horiz_offset; + } else if (abs(pos_x + horiz_offset) + camera->getHorizFOV() > 360){ + pos_x = 360 - camera->getHorizFOV() - horiz_offset; + } + } + + pos_y = joystick->getPositionY(); + vert_rpm = DYNAMIC_VERT_RPM(camera->getVertFOV()); + if (pos_y == 0){ + if (hid->isLastEventUp()) pos_y = 1; + if (hid->isLastEventDown()) pos_y = -1; + vert_rpm /= 3; + } else { + // proportional speed control + vert_rpm = vert_rpm * abs(pos_y) / joystick->range; + pos_y = pos_y / abs(pos_y); + } + if (pos_y && vert){ + if (pos_y > -vert_offset){ + pos_y = -vert_offset; + } else if (-(pos_y + vert_offset) + camera->getVertFOV() > 180){ + pos_y = -(180 - camera->getVertFOV() + vert_offset); + } + } + + if (vert && !pos_x && !pos_y){ + pano->setFOV((horiz) ? abs(horiz_offset) + camera->getHorizFOV() : 360, + abs(vert_offset) + camera->getVertFOV()); + pano->computeGrid(); + display.setTextCursor(6, 0); + display.print(" "); + display.setTextCursor(6, 0); + displayPanoSize(); + display.printf("FOV %d x %d ", pano->horiz_fov, pano->vert_fov); + displayStatusOverlay(); + display.display(); + } + + if (pos_x || pos_y){ + horiz_offset += pos_x; + vert_offset += pos_y; + } + } + + if (horiz || vert){ + if (horiz){ + *horiz = abs(horiz_offset) + camera->getHorizFOV(); + } + if (vert){ + *vert = abs(vert_offset) + camera->getVertFOV(); + } + } + return (hid->isLastEventOk()); +} + +/* + * Execute panorama from start to finish. + * Button click interrupts. + */ +void executePano(void){ + + hid->clear(4000); + //pano->start(); + + /* + while (settings.running){ + displayPanoStatus(); + if (!pano->position){ + delay(2000); + } + if (settings.shutter > 0){ + //pano->shutter(); + } + + if (settings.shutter == 0 || hid->read()){ + hid->clear(1000); + // button was clicked mid-pano or we are in manual shutter mode + displayPanoStatus(); + displayArrows(); + while (settings.running){ + if (!hid->read()) continue; + else if (hid->isLastEventLeft()) pano->prev(); + else if (hid->isLastEventRight()) pano->next(); + else if (hid->isLastEventUp()) pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); + else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); + else if (hid->isLastEventOk()) break; + else if (hid->isLastEventCancel()){ + settings.running = false; + break; + } + displayPanoStatus(); + displayArrows(); + } + } + settings.running = settings.running && pano->next(); + }; + + settings.running = false; + displayPanoStatus(); + + pano->end(); + */ + hid->waitAnyKey(); +} + +/* + * Update common camera and pano settings from external vars + */ +void setPanoParams(void){ + menu->cancel(); + camera->setAspect(settings.aspect); + camera->setFocalLength(settings.focal); + pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); + pano->setShots(settings.shots); +} + +/* + * Menu callback invoked by selecting "Start" + */ +int onStart(int __){ + setPanoParams(); + + // set panorama FOV + if (!positionCamera("Set Top Left", NULL, NULL) || + !positionCamera("Set Bottom Right", &settings.horiz, &settings.vert)){ + return false; + } + + pano->setFOV(settings.horiz, settings.vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + settings.running = true; + menu->sync(); + executePano(); + return __; +} + +/* + * Menu callback invoked by selecting "Repeat" + */ +int onRepeat(int __){ + setPanoParams(); + + pano->setFOV(settings.horiz, settings.vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + settings.running = true; + menu->sync(); + executePano(); + return __; +} + +/* + * Menu callback invoked by selecting "Repeat" + */ +int on360(int __){ + setPanoParams(); + + // set panorama FOV + settings.horiz = 360; + if (!positionCamera("Set Top", NULL, NULL) || + !positionCamera("Set Bottom", NULL, &settings.vert)){ + return false; + } + + pano->setFOV(settings.horiz, settings.vert); + if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + return false; + } + settings.running = true; + menu->sync(); + executePano(); + return __; +} + +/* + * Menu callback for displaying last pano info + */ +int onPanoInfo(int __){ + setPanoParams(); + pano->setFOV(settings.horiz, settings.vert); + pano->computeGrid(); + displayPanoInfo(); + hid->waitAnyKey(); + return __; +} + +/* + * Menu callback for testing camera shutter + */ +int onTestShutter(int __){ + setPanoParams(); + //pano->shutter(); + return __; +} + +/* + * Menu callback for displaying About... info + */ +int onAboutPanoController(int __){ + display.clearDisplay(); + display.setTextCursor(2, 0); + display.print("Pano Controller\n\n" + "Built " __DATE__ "\n" + __TIME__ "\n"); + display.display(); + hid->waitAnyKey(); + return __; +} + +void onMenuLoop(void){ + displayStatusOverlay(); + display.invertDisplay(settings.display_invert); +} + +void loop() { + displayMenu(*menu, display, DISPLAY_ROWS, *hid, onMenuLoop); +} diff --git a/examples/Navigator/config.h b/examples/Navigator/config.h new file mode 100644 index 0000000..4561934 --- /dev/null +++ b/examples/Navigator/config.h @@ -0,0 +1,25 @@ +/* + * Pano Controller Navigator Master Configuration File + */ + +// Address of I2C OLED display. If screen looks scaled edit Adafruit_SSD1306.h +// and pick SSD1306_128_64 or SSD1306_128_32 that matches display type. +#define DISPLAY_I2C_ADDRESS 0x3C +#define OLED_RESET 12 +#define TEXT_SIZE 1 +#define DISPLAY_ROWS SSD1306_LCDHEIGHT/8/TEXT_SIZE +#define DISPLAY_COLS SSD1306_LCDWIDTH/6/TEXT_SIZE + +// board-specific pin settings +#if defined(ARDUINO_ARCH_SAMD) && defined(ARDUINO_SAMD_FEATHER_M0) +#include "config_feather_m0.h" + +#elif defined(__arm__) && defined(CORE_TEENSY) +#include "config_teensy.h" + +#elif defined(__AVR__) +#error "AVR is not supported" + +#else +#error "Unsupported board" +#endif diff --git a/examples/Navigator/config_feather_m0.h b/examples/Navigator/config_feather_m0.h new file mode 100644 index 0000000..7ecf73e --- /dev/null +++ b/examples/Navigator/config_feather_m0.h @@ -0,0 +1,20 @@ +/* + * Pano Controller Navigator Configuration File for Adafruit Feather M0 + * Supported: + * - Adafruit Feather M0 + * - Adafruit Feather M0 Bluefruit + */ + +// Bluetooth module. These internally connected on the Feather Bluefruit. +#define BLUEFRUIT_SPI_CS 8 +#define BLUEFRUIT_SPI_IRQ 7 +#define BLUEFRUIT_SPI_RST 4 + +// Joystick inputs +#define JOYSTICK_X A3 +#define JOYSTICK_Y A2 +#define JOYSTICK_SW A1 + +// IR remote is not supported on Feather M0 +// https://github.com/z3t0/Arduino-IRremote/issues/274 +#define REMOTE_IN -1 diff --git a/examples/Navigator/config_teensy.h b/examples/Navigator/config_teensy.h new file mode 100644 index 0000000..234ccc5 --- /dev/null +++ b/examples/Navigator/config_teensy.h @@ -0,0 +1,24 @@ +/* + * Pano Controller Navigator Configuration File for Teensy boards from PJRC + * Supported: + * - Teensy LC + * - Teensy 3.1 + * - Teensy 3.2 + */ + +// Bluetooth module SPI +#define BLUEFRUIT_SPI_CS 8 +#define BLUEFRUIT_SPI_IRQ 7 +#define BLUEFRUIT_SPI_RST 4 // Optional but recommended, set to -1 if unused + +#define SPI_MOSI 11 +#define SPI_MISO 12 +#define SPI_SCK 13 + +// Joystick inputs +#define JOYSTICK_X A3 +#define JOYSTICK_Y A2 +#define JOYSTICK_SW A1 + +// IR remote +#define REMOTE_IN 3 diff --git a/src/pano.cpp b/src/pano.cpp index 9d4e7c3..b00225a 100644 --- a/src/pano.cpp +++ b/src/pano.cpp @@ -9,61 +9,65 @@ #include "pano.h" -Pano::Pano(Motor& horiz_motor, Motor& vert_motor, Camera& camera, MPU& mpu) -:horiz_motor(horiz_motor), - vert_motor(vert_motor), - camera(camera), - mpu(mpu) +PanoSetup::PanoSetup(Camera& camera) +:camera(camera) { - motorsEnable(false); - - setFOV(360,180); } -void Pano::setFOV(int horiz_angle, int vert_angle){ + +void PanoSetup::setFOV(int horiz_angle, int vert_angle){ if (horiz_angle && vert_angle && horiz_angle <= 360 && vert_angle <= 180){ horiz_fov = horiz_angle; vert_fov = vert_angle; } } -void Pano::setShutter(unsigned speed, unsigned pre_delay, unsigned post_wait, bool long_pulse){ + +void PanoSetup::setShutter(unsigned speed, unsigned pre_delay, unsigned post_wait, bool long_pulse){ shutter_delay = speed; pre_shutter_delay = pre_delay; post_shutter_delay = post_wait; shutter_long_pulse = long_pulse; } -void Pano::setShots(unsigned shots){ + +void PanoSetup::setShots(unsigned shots){ shots_per_position = shots; } -void Pano::setMode(unsigned mode){ + +void PanoSetup::setMode(unsigned mode){ } -unsigned Pano::getHorizShots(void){ + +unsigned PanoSetup::getHorizShots(void){ return horiz_count; } -unsigned Pano::getVertShots(void){ + +unsigned PanoSetup::getVertShots(void){ return vert_count; } -int Pano::getCurRow(void){ + +int PanoSetup::getCurRow(void){ return position / horiz_count; } -int Pano::getCurCol(void){ + +int PanoSetup::getCurCol(void){ return position % horiz_count; } + /* * Calculate time left to complete pano. */ -unsigned Pano::getTimeLeft(void){ +unsigned PanoSetup::getTimeLeft(void){ int photos = getHorizShots() * getVertShots() - position + 1; int seconds = photos * shots_per_position * (pre_shutter_delay + steady_delay_avg + shots_per_position * (shutter_delay + post_shutter_delay)) / 1000 + // time needed to move the platform // each photo requires a horizontal move (except last one in each row) - (photos - photos/horiz_count) * camera.getHorizFOV() * horiz_gear_ratio * 60 / DYNAMIC_RPM(HORIZ_MOTOR_RPM, camera.getHorizFOV()) / 360 + + (photos - photos/horiz_count) * camera.getHorizFOV() * HORIZ_GEAR_RATIO * 60 / DYNAMIC_RPM(HORIZ_MOTOR_RPM, camera.getHorizFOV()) / 360 + // row-to-row movement - photos / horiz_count * camera.getVertFOV() * vert_gear_ratio * 60 / DYNAMIC_RPM(VERT_MOTOR_RPM, camera.getVertFOV()) / 360 + + photos / horiz_count * camera.getVertFOV() * VERT_GEAR_RATIO * 60 / DYNAMIC_RPM(VERT_MOTOR_RPM, camera.getVertFOV()) / 360 + // row return horizontal movement photos / horiz_count * horiz_fov * 60 / HORIZ_MOTOR_RPM / 360; return seconds; } + /* * Helper to calculate grid fit with overlap * @param total_size: entire grid size (1-360 degrees) @@ -71,7 +75,7 @@ unsigned Pano::getTimeLeft(void){ * @param block_size: ref to initial (max) block size (will be updated) * @param count: ref to image count (will be updated) */ -void Pano::gridFit(int total_size, int overlap, float& block_size, int& count){ +void PanoSetup::gridFit(int total_size, int overlap, float& block_size, int& count){ if (block_size <= total_size){ /* * For 360 pano, we need to cover entire circle plus overlap. @@ -87,17 +91,33 @@ void Pano::gridFit(int total_size, int overlap, float& block_size, int& count){ count = 1; } } + /* * Calculate shot-to-shot horizontal/vertical head movement, * taking overlap into account * Must be called every time focal distance or panorama dimensions change. */ -void Pano::computeGrid(void){ +void PanoSetup::computeGrid(void){ horiz_move = camera.getHorizFOV(); gridFit(horiz_fov, MIN_OVERLAP, horiz_move, horiz_count); vert_move = camera.getVertFOV(); gridFit(vert_fov, MIN_OVERLAP, vert_move, vert_count); } + +/* + * Actual platform driver part + */ +Pano::Pano(Motor& horiz_motor, Motor& vert_motor, Camera& camera, MPU& mpu) +:PanoSetup(camera), + horiz_motor(horiz_motor), + vert_motor(vert_motor), + mpu(mpu) +{ + motorsEnable(false); + + setFOV(360,180); +} + void Pano::start(void){ computeGrid(); motorsEnable(true); @@ -213,11 +233,11 @@ void Pano::moveMotorsAdaptive(float h, float v){ */ void Pano::moveMotors(float h, float v){ if (h){ - horiz_motor.rotate(h * horiz_gear_ratio); + horiz_motor.rotate(h * HORIZ_GEAR_RATIO); horiz_home_offset += h; } if (v){ - vert_motor.rotate(v * vert_gear_ratio); + vert_motor.rotate(v * VERT_GEAR_RATIO); vert_home_offset += v; } } diff --git a/src/pano.h b/src/pano.h index a374318..59d0bc2 100644 --- a/src/pano.h +++ b/src/pano.h @@ -25,6 +25,8 @@ #define HORIZ_MOTOR_RPM 20 // can do 180 @ 0.8A. 60 @ 0.3A & 1:16 #define VERT_MOTOR_RPM 60 +#define HORIZ_GEAR_RATIO 5 /* 1:5 */ +#define VERT_GEAR_RATIO 15 /* 1:15 */ #define MIN_OVERLAP 20 @@ -33,37 +35,34 @@ #define DYNAMIC_HORIZ_RPM(angle) DYNAMIC_RPM(HORIZ_MOTOR_RPM, angle) #define DYNAMIC_VERT_RPM(angle) DYNAMIC_RPM(VERT_MOTOR_RPM, angle) -class Pano { +class PanoSetup { protected: - Motor& horiz_motor; - Motor& vert_motor; Camera& camera; - MPU& mpu; - float horiz_move; - float vert_move; - int horiz_count; - int vert_count; unsigned shots_per_position = 1; unsigned shutter_delay = 1000/250; unsigned pre_shutter_delay = 0; unsigned post_shutter_delay = 100; bool shutter_long_pulse = false; + void gridFit(int total_size, int overlap, float& block_size, int& count); - // state information + + // Number of horizontal shots to cover horizontal FOV + int horiz_count; + // Number of vertical shots to cover vertical FOV + int vert_count; public: - const int horiz_gear_ratio = 5; // 1:5 - const int vert_gear_ratio = 15; // 1:15 + // Current photo position + unsigned position = 0; + // How many degrees to move horizontally to advance to next column + float horiz_move; + // How many degrees to move vertically to advance to next row + float vert_move; + // Preset panorama horizontal field of view int horiz_fov; + // Preset panorama vertical field of view int vert_fov; - unsigned position; - - float horiz_home_offset = 0; - float vert_home_offset = 0; - - unsigned steady_delay_avg = 100; - - // configuration - Pano(Motor& horiz_motor, Motor& vert_motor, Camera& camera, MPU& mpu); + unsigned steady_delay_avg = 0; + PanoSetup(Camera& camera); void setFOV(int horiz_angle, int vert_angle); void setShutter(unsigned shutter_delay, unsigned pre_delay, unsigned post_wait, bool long_pulse); void setShots(unsigned shots); @@ -76,6 +75,22 @@ class Pano { int getCurRow(void); int getCurCol(void); unsigned getTimeLeft(void); +}; + +class Pano : public PanoSetup { +protected: + Motor& horiz_motor; + Motor& vert_motor; + MPU& mpu; + // state information +public: + + float horiz_home_offset = 0; + float vert_home_offset = 0; + + unsigned steady_delay_avg = 100; + + Pano(Motor& horiz_motor, Motor& vert_motor, Camera& camera, MPU& mpu); // pano execution void start(void); From 3d2a345c6b3b80cf4092721c1c565565cc83deaf Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 4 Sep 2016 12:47:02 -0700 Subject: [PATCH 05/27] Changed settings field type to 16-bit unsigned (from int). --- examples/PanoController/PanoController.ino | 2 +- src/menu.cpp | 8 +++---- src/menu.h | 10 ++++---- src/pano_settings.h | 28 ++++++++++++---------- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/examples/PanoController/PanoController.ino b/examples/PanoController/PanoController.ino index 673fa3a..c5484cc 100644 --- a/examples/PanoController/PanoController.ino +++ b/examples/PanoController/PanoController.ino @@ -191,7 +191,7 @@ void displayArrows(){ * @param horiz: pointer to store horizontal movement * @param vert: pointer to store vertical movement */ -bool positionCamera(const char *msg, volatile int *horiz, volatile int *vert){ +bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ int pos_x, pos_y; int horiz_rpm, vert_rpm; diff --git a/src/menu.cpp b/src/menu.cpp index 210a3d1..1810ea1 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -59,7 +59,7 @@ ActionItem::ActionItem(const char *description, int(*onselect)(int)) /* * MultiSelect: share functionality among the other menu classes */ -MultiSelect::MultiSelect(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int)) +MultiSelect::MultiSelect(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int)) :BaseMenu(description, onselect), value(value), default_val(default_val), @@ -126,7 +126,7 @@ int MultiSelect::render(DISPLAY_DEVICE display, int rows){ /* * RangeSelector: a number with up/down controls */ -RangeSelector::RangeSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), +RangeSelector::RangeSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int min_val, int max_val, int step) :MultiSelect(description, value, default_val, eeprom, onselect), min_val(min_val), max_val(max_val), step(step) @@ -180,7 +180,7 @@ int RangeSelector::render(DISPLAY_DEVICE display, int rows){ /* * ListSelector: list of numeric options */ -ListSelector::ListSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), +ListSelector::ListSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int count, const int values[]) :MultiSelect(description, value, default_val, eeprom, onselect), values(values) @@ -237,7 +237,7 @@ int ListSelector::render(DISPLAY_DEVICE display, int rows){ /* * NamedListSelector: list of named numeric options */ -NamedListSelector::NamedListSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), +NamedListSelector::NamedListSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int count, const char * const names[], const int values[]) :ListSelector(description, value, default_val, eeprom, onselect, count, values), names(names) diff --git a/src/menu.h b/src/menu.h index 18e7b70..0a5e123 100644 --- a/src/menu.h +++ b/src/menu.h @@ -49,7 +49,7 @@ class BaseMenu { class MultiSelect : public BaseMenu { protected: - volatile int *value = NULL; // store current option value here + settings_t *value = NULL; // store current option value here int default_val = 0; // default option value int eeprom = 0; // EEPROM save location (0 = no save) int pointer = 0; // currently selected entry @@ -57,7 +57,7 @@ class MultiSelect : public BaseMenu { int count = 0; // number of entries int calc_start(int rows); // helper method - MultiSelect(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int)); + MultiSelect(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int)); public: bool active = false; // flag indicating the menu is active @@ -87,7 +87,7 @@ class RangeSelector : public MultiSelect { static const ClassID class_id = CLASS_RANGE; virtual const ClassID getClassID(void){ return class_id; }; int min_val, max_val, step; - RangeSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), + RangeSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int min_val, int max_val, int step); void next(void) override; void prev(void) override; @@ -104,7 +104,7 @@ class ListSelector : public MultiSelect { static const ClassID class_id = CLASS_LIST; virtual const ClassID getClassID(void){ return class_id; }; const int *values; - ListSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), + ListSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int count, const int values[]); void select(void) override; void sync(void) override; @@ -119,7 +119,7 @@ class NamedListSelector : public ListSelector { static const ClassID class_id = CLASS_NAMES; virtual const ClassID getClassID(void){ return class_id; }; const char* const *names; - NamedListSelector(const char *description, volatile int *value, int default_val, int eeprom, int(*onselect)(int), + NamedListSelector(const char *description, settings_t *value, int default_val, int eeprom, int(*onselect)(int), int count, const char * const names[], const int values[]); int render(DISPLAY_DEVICE display, int rows) override; }; diff --git a/src/pano_settings.h b/src/pano_settings.h index 273a218..86c4048 100644 --- a/src/pano_settings.h +++ b/src/pano_settings.h @@ -9,20 +9,22 @@ #ifndef PANO_SETTINGS_H_ #define PANO_SETTINGS_H_ -// This does not really belong here +typedef volatile uint16_t settings_t; + typedef struct { - volatile int focal = 35, - shutter = 100, - pre_shutter = 100, - post_wait = 500, - long_pulse = 0, - aspect = 1, - shots = 1, - motors_enable = 0, - display_invert = 0, - horiz = 360, - vert = 160, - running = 0; + settings_t + focal = 35, + shutter = 100, + pre_shutter = 100, + post_wait = 500, + long_pulse = 0, + aspect = 1, + shots = 1, + motors_enable = 0, + display_invert = 0, + horiz = 360, + vert = 160, + running = 0; } PanoSettings; #endif /* PANO_SETTINGS_H_ */ From d4e2e6191911c6a1b6a057d54b352688cb7e250d Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 4 Sep 2016 13:02:19 -0700 Subject: [PATCH 06/27] Send Settings object from Navigator to Executor via NRF24 #58 This is currently a unidirectional, non-interactive send. The settings are immediately updated and displayed on the Executor unit. --- README.md | 20 +++--- examples/Executor/Executor.ino | 21 ++++-- examples/Executor/config_feather_m0.h | 4 ++ examples/Executor/config_teensy.h | 4 ++ examples/Navigator/Navigator.ino | 8 ++- examples/Navigator/config_feather_m0.h | 4 ++ examples/Navigator/config_teensy.h | 4 ++ src/radio.cpp | 99 ++++++++++++++++++++++++++ src/radio.h | 30 ++++++++ 9 files changed, 179 insertions(+), 15 deletions(-) create mode 100644 src/radio.cpp create mode 100644 src/radio.h diff --git a/README.md b/README.md index d805f69..86efb64 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,8 @@ Current state: fully functional prototype board, field-tested, frequently upgrad - A3 - Joystick Vx - A4 - SDA - Display and MPU-6050 board - A5 - SCL - Display and MPU-6050 board -- A6 -- A7 +- A6 - NRF24 CE +- A7 - NRF24 CSN - D0/RX - camera focus (active LOW) - D1/TX - camera shutter (active LOW) - D2 - MPU-6050 INT @@ -54,9 +54,9 @@ Current state: fully functional prototype board, field-tested, frequently upgrad - D8 - BLE CS - D9 - StepperH STEP - D10 - ~ENABLE (both) -- D11 - SPI MOSI[BLE] -- D12 - SPI MISO[BLE] -- D13[LED] - SPI SCK[BLE] +- D11 - SPI MOSI BLE and NRF24 +- D12 - SPI MISO BLE and NRF24 +- D13 - SPI SCK and NRF24 ### Feather M0 / Bluefruit @@ -65,10 +65,10 @@ Current state: fully functional prototype board, field-tested, frequently upgrad - A2 - Joystick Vy - A3 - Joystick Vx - A4 - Battery Voltage via divider: Vin---[47K]---A0---[10K]---GND -- A5 -- SCK[BLE] -- MOSI[BLE] -- MISO[BLE] +- A5 - NRF24 CE +- SCK - BLE(internal) and NRF24 +- MOSI - BLE(internal) and NRF24 +- MISO - BLE(internal) and NRF24 - RX/0 - camera focus (active LOW) - TX/1 - camera shutter (active LOW) @@ -82,7 +82,7 @@ Current state: fully functional prototype board, field-tested, frequently upgrad - 6 - StepperV STEP - 9[A7] - StepperH STEP - 10 - ~ENABLE (both) -- 11 +- 11 - NRF24 CSN - 12 - MPU-6050 INT - 13[LED] diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index f9c2b5f..ca3618d 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -19,11 +19,13 @@ #include "remote.h" #include "display.h" #include "mpu.h" +#include "radio.h" // these variables are modified by the menu PanoSettings settings; static Display display(OLED_RESET); +static Radio radio(NRF24_CE, NRF24_CSN); static Camera* camera; static Joystick* joystick; @@ -46,6 +48,8 @@ void setup() { display.setTextColor(WHITE); display.setTextSize(TEXT_SIZE); + radio.begin(); + camera = new Camera(CAMERA_FOCUS, CAMERA_SHUTTER); joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); remote = new Remote(REMOTE_IN); @@ -165,7 +169,7 @@ void displayArrows(){ * @param horiz: pointer to store horizontal movement * @param vert: pointer to store vertical movement */ -bool positionCamera(const char *msg, volatile int *horiz, volatile int *vert){ +bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ int pos_x, pos_y; int horiz_rpm, vert_rpm; @@ -379,7 +383,7 @@ int onPanoInfo(int __){ pano->setFOV(settings.horiz, settings.vert); pano->computeGrid(); displayPanoInfo(); - hid->waitAnyKey(); + //hid->waitAnyKey(); return __; } @@ -413,8 +417,17 @@ void onMenuLoop(void){ } void loop() { + uint8_t type = 0, len = 0; + void *buffer; + len = radio.read_type_data(type, buffer); + if (len){ + switch(type){ + case 'S': + memcpy(&settings, buffer, sizeof(settings)); + } + } Serial.println("Display Pano Info"); onPanoInfo(0); - Serial.println("Starting Pano"); - onRepeat(0); + //Serial.println("Starting Pano"); + //onRepeat(0); } diff --git a/examples/Executor/config_feather_m0.h b/examples/Executor/config_feather_m0.h index 1d23e70..60552d5 100644 --- a/examples/Executor/config_feather_m0.h +++ b/examples/Executor/config_feather_m0.h @@ -10,6 +10,10 @@ #define BLUEFRUIT_SPI_IRQ 7 #define BLUEFRUIT_SPI_RST 4 +// NRF24 radio +#define NRF24_CE A5 +#define NRF24_CSN 11 + // Camera shutter controls #define CAMERA_FOCUS 0 #define CAMERA_SHUTTER 1 diff --git a/examples/Executor/config_teensy.h b/examples/Executor/config_teensy.h index 3b60f59..1d6e795 100644 --- a/examples/Executor/config_teensy.h +++ b/examples/Executor/config_teensy.h @@ -15,6 +15,10 @@ #define SPI_MISO 12 #define SPI_SCK 13 +// NRF24 radio +#define NRF24_CE A6 +#define NRF24_CSN A7 + // Camera shutter controls #define CAMERA_FOCUS 0 #define CAMERA_SHUTTER 1 diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 16a1100..be8aefd 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -17,11 +17,13 @@ #include "remote.h" #include "menu.h" #include "display.h" +#include "radio.h" // these variables are modified by the menu PanoSettings settings; static Display display(OLED_RESET); +static Radio radio(NRF24_CE, NRF24_CSN); static Camera* camera; static Joystick* joystick; @@ -42,6 +44,8 @@ void setup() { display.setTextColor(WHITE); display.setTextSize(TEXT_SIZE); + radio.begin(); + camera = new Camera(PIN_UNCONNECTED, PIN_UNCONNECTED); joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); remote = new Remote(REMOTE_IN); @@ -150,7 +154,7 @@ void displayArrows(){ * @param horiz: pointer to store horizontal movement * @param vert: pointer to store vertical movement */ -bool positionCamera(const char *msg, volatile int *horiz, volatile int *vert){ +bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ int pos_x, pos_y; int horiz_rpm, vert_rpm; float horiz_offset = 0, vert_offset = 0; @@ -396,4 +400,6 @@ void onMenuLoop(void){ void loop() { displayMenu(*menu, display, DISPLAY_ROWS, *hid, onMenuLoop); + delay(10); + radio.write_type_data('S', &settings, sizeof(settings)); } diff --git a/examples/Navigator/config_feather_m0.h b/examples/Navigator/config_feather_m0.h index 7ecf73e..98c0301 100644 --- a/examples/Navigator/config_feather_m0.h +++ b/examples/Navigator/config_feather_m0.h @@ -18,3 +18,7 @@ // IR remote is not supported on Feather M0 // https://github.com/z3t0/Arduino-IRremote/issues/274 #define REMOTE_IN -1 + +// NRF24 radio +#define NRF24_CE A5 +#define NRF24_CSN 11 diff --git a/examples/Navigator/config_teensy.h b/examples/Navigator/config_teensy.h index 234ccc5..7d0a5cb 100644 --- a/examples/Navigator/config_teensy.h +++ b/examples/Navigator/config_teensy.h @@ -22,3 +22,7 @@ // IR remote #define REMOTE_IN 3 + +// NRF24 radio +#define NRF24_CE A6 +#define NRF24_CSN A7 diff --git a/src/radio.cpp b/src/radio.cpp new file mode 100644 index 0000000..6ddc539 --- /dev/null +++ b/src/radio.cpp @@ -0,0 +1,99 @@ +/* + * Pano Controller NRF24 Radio Remote Control + */ + +#include "radio.h" + +Radio::Radio(uint8_t ce_pin, uint8_t csn_pin){ + radio = new RF24(ce_pin, csn_pin); +} + +void Radio::begin(void){ + radio->begin(); + radio->setChannel(76); // default is 76 + radio->setPALevel(RF24_PA_MIN); // RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX + radio->setCRCLength(RF24_CRC_16); + radio->setDataRate(RF24_1MBPS); // RF24_250KBPS, RF24_1MBPS, RF24_2MBPS + // retry timeout window needs to allow for ack payload, see spec pdf + radio->setRetries(4, 10); // 4*250us, 10 retries + radio->setAutoAck(true); // default true + //radio->maskIRQ(1, 1, 1); // tx_ok=1, tx_fail=1, rx_ready=1 + radio->enableDynamicPayloads(); + radio->openWritingPipe(address[0]); + radio->openReadingPipe(1, address[0]); + radio->powerUp(); + radio->startListening(); + radio->enableAckPayload(); + radio->writeAckPayload(1, "ACK", 3); // for next packet received + radio->printDetails(); +} + +static void SerialPrintHex(const void *buf, int len){ + while (len--){ + Serial.print(*(const char*)buf, HEX); + buf += 1; + Serial.print(" "); + } + Serial.println(); +} + +int Radio::available(void){ + return radio->available(); +} + +uint8_t Radio::read(void){ + uint8_t len = 0; + if (radio->available()){ + len = radio->getDynamicPayloadSize(); + radio->read(buffer, len); + Serial.print("Radio Received "); + Serial.print(len); + Serial.print(" -> "); + SerialPrintHex(buffer, len); + radio->writeAckPayload(1, "ACK", 3); // for FUTURE packets received + } + return len; +} + +void Radio::write(const void *data, uint8_t len){ + Serial.print("Radio Send "); + Serial.print(len); + Serial.print(" -> "); + SerialPrintHex(data, len); + radio->stopListening(); + radio->write(data, len); + radio->startListening(); + if (radio->available()){ + len = radio->getDynamicPayloadSize(); + radio->read(buffer, len); + if (len != 3 || strncmp(buffer, "ACK", 3)){ + Serial.print("Unknown ack "); + SerialPrintHex(buffer, len); + } + } +} + +/* + * Helper method to receive a packet type with the data buffer + */ +uint8_t Radio::read_type_data(uint8_t& type, void*& data){ + uint8_t len = read(); + if (len <= 0){ + return 0; + } + type = *(uint8_t*)buffer; + data = buffer + 1; + return len; +} + +/* + * Helper method to send out a packet type with the data buffer + */ +void Radio::write_type_data(const uint8_t type, const void*data, uint8_t len){ + len = min(len, 32); + buffer[0] = type; + for (int i=0; i < len && i < 31; i++){ + buffer[i+1] = ((const char*)data)[i]; + } + write(buffer, len+1); +} diff --git a/src/radio.h b/src/radio.h new file mode 100644 index 0000000..6e24cb0 --- /dev/null +++ b/src/radio.h @@ -0,0 +1,30 @@ +/* + * Pano Controller NRF24 Radio Remote Control + */ +#ifndef RADIO_H_ +#define RADIO_H_ + +#include +#include +#include + +#undef printf + +// http://tmrh20.github.io/RF24/classRF24.html + +class Radio { +private: + RF24* radio; + byte address[1][6] = {"2PANO"}; +public: + char buffer[32]; + Radio(uint8_t ce_pin, uint8_t csn_pin); + void begin(void); + int available(void); + uint8_t read(void); + uint8_t read_type_data(uint8_t& type, void*& data); + void write(const void *data, uint8_t len); + void write_type_data(const uint8_t type, const void*data, uint8_t len); +}; + +#endif /* RADIO_H_ */ From 7590493a88fadd5af2a2a373d2b5c27cada489b4 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 11 Sep 2016 22:02:17 -0700 Subject: [PATCH 07/27] Bidirectional communication between Navigator and Executor units. Navigator sends settings and Executor sends state back. Also a simple protocol to position the head (needs more polishing). Communication is not reliable. Motors are not active for the entire positioning period before pano. For #58 --- examples/Executor/Executor.ino | 483 ++++++++------------- examples/Navigator/Navigator.ino | 322 ++++++++------ examples/PanoController/PanoController.ino | 17 +- src/pano_settings.h | 17 +- src/radio.cpp | 60 +-- src/radio.h | 6 +- 6 files changed, 422 insertions(+), 483 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index ca3618d..457e98b 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -24,6 +24,10 @@ // these variables are modified by the menu PanoSettings settings; +// This is the panorama engine state +// should technically be in the Pano object +PanoState state; + static Display display(OLED_RESET); static Radio radio(NRF24_CE, NRF24_CSN); @@ -73,24 +77,11 @@ void setup() { #endif } -int readBattery(void){ - return map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); -} - -/* - * Add a status overlay (currently battery and bluetooth status) - */ -void displayStatusOverlay(void){ - - // Print battery voltage at cursor, format is #.#V (4 chars) - int battmV = readBattery(); - display.setTextCursor(0, 16); - // poor attempt at blinking - if (battmV < LOW_BATTERY && millis() & 1024){ - display.setTextColor(BLACK, WHITE); +void readBattery(void){ + state.battery = map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); + if (state.battery < LOW_BATTERY){ + state.battery = -state.battery; } - display.printf("%2d.%dV", battmV/1000, (battmV % 1000)/100); - display.setTextColor(WHITE, BLACK); } /* @@ -100,334 +91,200 @@ void displayPanoStatus(void){ display.clearDisplay(); display.setTextCursor(0,0); - display.printf("Photo %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); - display.printf("At %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); - displayPanoSize(); - displayStatusOverlay(); - displayProgress(); - display.display(); -} -/* - * 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" : "!"); + if (state.running){ + display.printf("# %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("at %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); + } else { + display.printf("%d photos\n\n", pano->getHorizShots()*pano->getVertShots()); } - display.setTextCursor(7, 0); - for (int i=(pano->position+1) * DISPLAY_COLS / photos; i > 0; i--){ - display.print('\xda'); - } - display.println(); -} -/* - * Display panorama information - */ -void displayPanoInfo(void){ + display.printf("grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); + float horiz_fov = camera->getHorizFOV(); float vert_fov = camera->getVertFOV(); - display.clearDisplay(); - display.setTextCursor(0,0); + display.setTextCursor(3,0); display.printf("Lens: %dmm\n", settings.focal); display.printf(" %d.%d x %d.%d\n", int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), int(vert_fov), round(10*(vert_fov-int(vert_fov)))); - display.printf("Pano FOV %d x %d \n", pano->horiz_fov, pano->vert_fov); - displayPanoSize(); - display.printf("%d photos\n", pano->getHorizShots()*pano->getVertShots()); - displayProgress(); - displayStatusOverlay(); - display.display(); -} - -/* - * Display the panorama grid size - */ -void displayPanoSize(){ - display.printf("Grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); -} - -/* - * Display the four navigation arrows, cancel and OK buttons. - */ -void displayArrows(){ - display.setTextCursor(3, 0); - display.println(" \x1e \n" - " [X] \x11+\x10 [OK]\n" - " \x1f "); - display.display(); -} - -/* - * Let user move the camera while optionally recording position - * @param msg: title string - * @param horiz: pointer to store horizontal movement - * @param vert: pointer to store vertical movement - */ -bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ - int pos_x, pos_y; - int horiz_rpm, vert_rpm; - - display.clearDisplay(); - display.setTextCursor(0,0); - display.println(msg); - displayArrows(); - pano->motorsEnable(true); + display.printf("Pano %d x %d deg\n", pano->horiz_fov, pano->vert_fov); - if (horiz || vert){ - pano->setMotorsHomePosition(); + // Print battery voltage at cursor, format is #.#V (4 chars) + display.setTextCursor(0, 16); + // poor attempt at blinking + if (state.battery < 0 && millis() & 1024){ + display.setTextColor(BLACK, WHITE); } + display.printf("%2d.%dV", abs(state.battery)/1000, (abs(state.battery) % 1000)/100); + display.setTextColor(WHITE, BLACK); - while (true){ - hid->read(); - if (hid->isLastEventOk() || hid->isLastEventCancel()) break; - - pos_x = joystick->getPositionX(); - horiz_rpm = DYNAMIC_HORIZ_RPM(camera->getHorizFOV()); - if (pos_x == 0){ - if (hid->isLastEventRight()) pos_x = 1; - if (hid->isLastEventLeft()) pos_x = -1; - horiz_rpm /= 3; - } else { - // proportional speed control - horiz_rpm = horiz_rpm * abs(pos_x) / joystick->range; - pos_x = pos_x / abs(pos_x); - } - if (pos_x && horiz){ - if (pos_x < -pano->horiz_home_offset){ - pos_x = -pano->horiz_home_offset; - } else if (abs(pos_x + pano->horiz_home_offset) + camera->getHorizFOV() > 360){ - pos_x = 360 - camera->getHorizFOV() - pano->horiz_home_offset; - } - } - - pos_y = joystick->getPositionY(); - vert_rpm = DYNAMIC_VERT_RPM(camera->getVertFOV()); - if (pos_y == 0){ - if (hid->isLastEventUp()) pos_y = 1; - if (hid->isLastEventDown()) pos_y = -1; - vert_rpm /= 3; - } else { - // proportional speed control - vert_rpm = vert_rpm * abs(pos_y) / joystick->range; - pos_y = pos_y / abs(pos_y); - } - if (pos_y && vert){ - if (pos_y > -pano->vert_home_offset){ - pos_y = -pano->vert_home_offset; - } else if (-(pos_y + pano->vert_home_offset) + camera->getVertFOV() > 180){ - pos_y = -(180 - camera->getVertFOV() + pano->vert_home_offset); - } - } - - if (vert && !pos_x && !pos_y){ - pano->setFOV((horiz) ? abs(pano->horiz_home_offset) + camera->getHorizFOV() : 360, - abs(pano->vert_home_offset) + camera->getVertFOV()); - pano->computeGrid(); - display.setTextCursor(6, 0); - display.print(" "); - display.setTextCursor(6, 0); - displayPanoSize(); - display.printf("FOV %d x %d ", pano->horiz_fov, pano->vert_fov); - displayStatusOverlay(); - display.display(); - } - - if (pos_x || pos_y){ - horiz_motor->setRPM(horiz_rpm); - vert_motor->setRPM(vert_rpm); - pano->moveMotors(pos_x, pos_y); - } + // motors active + if (state.running){ + display.setTextCursor(0,14); + display.print("*"); } - if (horiz || vert){ - if (horiz){ - *horiz = abs(pano->horiz_home_offset) + camera->getHorizFOV(); - } - if (vert){ - *vert = abs(pano->vert_home_offset) + camera->getVertFOV(); - } - pano->moveMotorsHome(); + // radio connection status + display.setTextCursor(0,15); + if (radio.connected){ + display.print("^"); + } else { + display.print("X"); } - return (hid->isLastEventOk()); -} - -/* - * Execute panorama from start to finish. - * Button click interrupts. - */ -void executePano(void){ - - hid->clear(4000); - pano->start(); - while (settings.running){ - displayPanoStatus(); - if (!pano->position){ - delay(2000); - } - if (settings.shutter > 0){ - pano->shutter(); - } + int photos = pano->getHorizShots() * pano->getVertShots(); + display.setTextCursor(6, 0); + if (state.position + 1 < photos){ + 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" : "!"); + } - if (settings.shutter == 0 || hid->read()){ - hid->clear(1000); - // button was clicked mid-pano or we are in manual shutter mode - displayPanoStatus(); - displayArrows(); - while (settings.running){ - if (!hid->read()) continue; - else if (hid->isLastEventLeft()) pano->prev(); - else if (hid->isLastEventRight()) pano->next(); - else if (hid->isLastEventUp()) pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); - else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); - else if (hid->isLastEventOk()) break; - else if (hid->isLastEventCancel()){ - settings.running = false; - break; - } - displayPanoStatus(); - displayArrows(); - } - } - settings.running = settings.running && pano->next(); + // show progress bar + if (state.running){ + display.setTextCursor(7, 0); + for (int i=(pano->position+1) * DISPLAY_COLS / photos; i > 0; i--){ + display.print('\xdb'); + }; }; - - settings.running = false; - displayPanoStatus(); - - pano->end(); - - hid->waitAnyKey(); + display.display(); } /* - * Update common camera and pano settings from external vars + * Update camera and pano settings received from navigator */ void setPanoParams(void){ camera->setAspect(settings.aspect); camera->setFocalLength(settings.focal); pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); pano->setShots(settings.shots); -} - -/* - * Menu callback invoked by selecting "Start" - */ -int onStart(int __){ - setPanoParams(); - - // set panorama FOV - if (!positionCamera("Set Top Left", NULL, NULL) || - !positionCamera("Set Bottom Right", &settings.horiz, &settings.vert)){ - return false; - } - - pano->setFOV(settings.horiz, settings.vert); - if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ - return false; - } - settings.running = true; - executePano(); - return __; -} - -/* - * Menu callback invoked by selecting "Repeat" - */ -int onRepeat(int __){ - setPanoParams(); - - pano->setFOV(settings.horiz, settings.vert); - if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ - return false; - } - settings.running = true; - executePano(); - return __; -} - -/* - * Menu callback invoked by selecting "Repeat" - */ -int on360(int __){ - setPanoParams(); - - // set panorama FOV - settings.horiz = 360; - if (!positionCamera("Set Top", NULL, NULL) || - !positionCamera("Set Bottom", NULL, &settings.vert)){ - return false; - } - - pano->setFOV(settings.horiz, settings.vert); - if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ - return false; - } - settings.running = true; - //menu->sync(); - executePano(); - return __; -} - -/* - * Menu callback for displaying last pano info - */ -int onPanoInfo(int __){ - setPanoParams(); pano->setFOV(settings.horiz, settings.vert); pano->computeGrid(); - displayPanoInfo(); - //hid->waitAnyKey(); - return __; -} - -/* - * Menu callback for testing camera shutter - */ -int onTestShutter(int __){ - setPanoParams(); - pano->shutter(); - return __; -} - -/* - * Menu callback for displaying About... info - */ -int onAboutPanoController(int __){ - display.clearDisplay(); - display.setTextCursor(2, 0); - display.print("Pano Controller\n\n" - "Built " __DATE__ "\n" - __TIME__ "\n"); - display.display(); - hid->waitAnyKey(); - return __; -} - -void onMenuLoop(void){ - displayStatusOverlay(); - display.invertDisplay(settings.display_invert); - pano->motorsEnable(settings.motors_enable); + // pano->position = state.position; } void loop() { - uint8_t type = 0, len = 0; - void *buffer; - len = radio.read_type_data(type, buffer); - if (len){ + /* + * Read state from menu navigator + */ + if (radio.available()){ + uint8_t type = 0; + uint8_t len = 0; + void *buffer; + len = radio.read_type_data(type, buffer); + if (type != int('C')){ + Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); + } switch(type){ - case 'S': + + case 'C': // Configuration settings memcpy(&settings, buffer, sizeof(settings)); + setPanoParams(); + display.invertDisplay(settings.display_invert); + break; + + case 'P': // Execute pano + Serial.println("Start pano"); + pano->start(); + state.running = true; + break; + + case 'X': // Cancel pano + Serial.println("Cancel pano"); + pano->end(); + state.running = false; + break; + + case 'O': // Pause pano + Serial.println("Pause pano"); + settings.shutter = 0; + break; + + case 'S': // Shutter + Serial.println("Shutter"); + pano->shutter(); + if (state.running){ // manual shutter mode, advance to next + state.running = pano->next(); + if (!state.running){ + pano->end(); + } + } + break; + + case 'R': // Set home to current head position + Serial.println("Set home"); + pano->setMotorsHomePosition(); + break; + + case 'B': // Move head to home position + Serial.println("Go home"); + pano->moveMotorsHome(); + break; + + case 'M': // Move motors + Serial.println("Motor move"); + struct { + settings_t horiz_rpm, vert_rpm, horiz_move, vert_move; + } motor_move; + memcpy(&motor_move, buffer, sizeof(motor_move)); + horiz_motor->setRPM(motor_move.horiz_rpm); + vert_motor->setRPM(motor_move.vert_rpm); + pano->motorsEnable(true); + pano->moveMotors(motor_move.horiz_move, motor_move.vert_move); + break; + + case 'H': // Move head to requested row/col + Serial.println("Head move"); + struct { + settings_t row, col; + } head_move; + memcpy(&head_move, buffer, sizeof(head_move)); + pano->moveTo(head_move.row, head_move.col); + break; + + case 'I': // Incrementally move head + Serial.println("Inc move"); + switch (*(char*)buffer){ + case '<': pano->prev(); break; + case '>': pano->next(); break; + case '^': pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); break; + case 'v': pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); break; + break; + } } } - Serial.println("Display Pano Info"); - onPanoInfo(0); - //Serial.println("Starting Pano"); - //onRepeat(0); + /* + * Collect and send state to menu navigator + */ + readBattery(); + state.steady_delay_avg = pano->steady_delay_avg; + state.position = pano->position; + state.horiz_offset = pano->horiz_home_offset; + state.vert_offset = pano->vert_home_offset; + state.motors_enable = settings.motors_enable; + radio.write_type_data('T', &state, sizeof(state)); + /* + * Render state. + * TODO: We should do this only if anything has changed though. + */ + //displayPanoStatus(); + /* + * Execute pano + */ + if (state.running){ + displayPanoStatus(); + if (settings.shutter > 0){ + pano->shutter(); + state.running = pano->next(); + }; + if (!state.running){ + pano->end(); + } + } else { + pano->motorsEnable(settings.motors_enable); + }; + + yield(); } diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index be8aefd..69da43b 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -22,6 +22,10 @@ // these variables are modified by the menu PanoSettings settings; +// This is the panorama engine state +// should technically be in the Pano object +PanoState state; + static Display display(OLED_RESET); static Radio radio(NRF24_CE, NRF24_CSN); @@ -57,24 +61,65 @@ void setup() { menu = getMainMenu(settings); } -int readBattery(void){ - return 0; +/* + * Send settings to remote execution unit + */ +static void sendSettings(Radio& radio, PanoSettings& settings){ + radio.write_type_data('C', &settings, sizeof(settings)); +} +/* + * Read state from remote execution unit + */ +static bool readState(Radio& radio, PanoState& state){ + uint8_t type = 0; + uint8_t len = 0; + if (radio.available()){ + void *buffer; + len = radio.read_type_data(type, buffer); + if (len){ + switch(type){ + + case 'T': // State information + memcpy(&state, buffer, sizeof(state)); + setPanoParams(); + } + } + } + return (type != 0); } /* - * Add a status overlay (currently battery and bluetooth status) + * Add a status overlay (currently battery and radio status) */ void displayStatusOverlay(void){ + // motors active + if (state.running){ + display.setTextCursor(0,14); + display.print("*"); + } + + // show a character indicating radio is connected + display.setTextCursor(0,15); + if (radio.connected){ + display.print("^"); + } else { + display.print("X"); + } + + if (!radio.connected){ + return; + } + // Print battery voltage at cursor, format is #.#V (4 chars) - int battmV = readBattery(); display.setTextCursor(0, 16); - display.printf("%2d.%dV", battmV/1000, (battmV % 1000)/100); - - // show a character indicating bluetooth is connected - if (true){ - display.setTextCursor(0,15); - display.print("\xe8"); + if (state.battery){ + // poor attempt at blinking + if (state.battery < 0 && millis() & 1024){ + display.setTextColor(BLACK, WHITE); + } + display.printf("%2d.%dV", abs(state.battery)/1000, (abs(state.battery) % 1000)/100); + display.setTextColor(WHITE, BLACK); } } @@ -85,8 +130,12 @@ void displayPanoStatus(void){ display.clearDisplay(); display.setTextCursor(0,0); - display.printf("Photo %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); - display.printf("At %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); + if (state.running){ + display.printf("# %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("at %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); + } else { + display.printf("%d photos\n\n", pano->getHorizShots()*pano->getVertShots()); + } displayPanoSize(); displayStatusOverlay(); displayProgress(); @@ -98,17 +147,20 @@ void displayPanoStatus(void){ void displayProgress(void){ int photos = pano->getHorizShots() * pano->getVertShots(); display.setTextCursor(6, 0); - display.printf("%d minutes ", pano->getTimeLeft()/60); + if (state.position + 1 < photos){ + 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'); + if (state.running){ + display.setTextCursor(7, 0); + for (int i=(pano->position+1) * DISPLAY_COLS / photos; i > 0; i--){ + display.print('\xdb'); + } } - display.println(); } /* * Display panorama information @@ -134,7 +186,7 @@ void displayPanoInfo(void){ * Display the panorama grid size */ void displayPanoSize(){ - display.printf("Grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); + display.printf("grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); } /* @@ -153,11 +205,18 @@ void displayArrows(){ * @param msg: title string * @param horiz: pointer to store horizontal movement * @param vert: pointer to store vertical movement + * if both horiz and vert are NULL then the head moves freely around */ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ - int pos_x, pos_y; - int horiz_rpm, vert_rpm; - float horiz_offset = 0, vert_offset = 0; + struct { + settings_t horiz_rpm, vert_rpm, horiz_move, vert_move; + float horiz_offset = 0, vert_offset = 0; + } move; + int step = min(camera->getHorizFOV() / 10, 1); + + if (horiz || vert){ + radio.write_type_data('R'); // Set home to current head position + } display.clearDisplay(); display.setTextCursor(0,0); @@ -168,47 +227,38 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ hid->read(); if (hid->isLastEventOk() || hid->isLastEventCancel()) break; - pos_x = joystick->getPositionX(); - horiz_rpm = DYNAMIC_HORIZ_RPM(camera->getHorizFOV()); - if (pos_x == 0){ - if (hid->isLastEventRight()) pos_x = 1; - if (hid->isLastEventLeft()) pos_x = -1; - horiz_rpm /= 3; - } else { - // proportional speed control - horiz_rpm = horiz_rpm * abs(pos_x) / joystick->range; - pos_x = pos_x / abs(pos_x); + move.horiz_rpm = DYNAMIC_HORIZ_RPM(camera->getHorizFOV()); + move.horiz_move = joystick->getPositionX() * step; + if (move.horiz_move == 0){ + if (hid->isLastEventRight()) move.horiz_move = step; + if (hid->isLastEventLeft()) move.horiz_move = -step; } - if (pos_x && horiz){ - if (pos_x < -horiz_offset){ - pos_x = -horiz_offset; - } else if (abs(pos_x + horiz_offset) + camera->getHorizFOV() > 360){ - pos_x = 360 - camera->getHorizFOV() - horiz_offset; + if (move.horiz_move && horiz){ + if (move.horiz_move < -move.horiz_offset){ + move.horiz_move = -move.horiz_offset; + } else if (abs(move.horiz_move + move.horiz_offset) + camera->getHorizFOV() > 360){ + move.horiz_move = 360 - camera->getHorizFOV() - move.horiz_offset; } } - pos_y = joystick->getPositionY(); - vert_rpm = DYNAMIC_VERT_RPM(camera->getVertFOV()); - if (pos_y == 0){ - if (hid->isLastEventUp()) pos_y = 1; - if (hid->isLastEventDown()) pos_y = -1; - vert_rpm /= 3; - } else { - // proportional speed control - vert_rpm = vert_rpm * abs(pos_y) / joystick->range; - pos_y = pos_y / abs(pos_y); + move.vert_rpm = DYNAMIC_VERT_RPM(camera->getVertFOV()); + move.vert_move = joystick->getPositionY() * step; + if (move.vert_move == 0){ + if (hid->isLastEventUp()) move.vert_move = step; + if (hid->isLastEventDown()) move.vert_move = -step; + move.vert_rpm /= 3; } - if (pos_y && vert){ - if (pos_y > -vert_offset){ - pos_y = -vert_offset; - } else if (-(pos_y + vert_offset) + camera->getVertFOV() > 180){ - pos_y = -(180 - camera->getVertFOV() + vert_offset); + if (move.vert_move && vert){ + if (move.vert_move > -move.vert_offset){ + move.vert_move = -move.vert_offset; + } else if (-(move.vert_move + move.vert_offset) + camera->getVertFOV() > 180){ + move.vert_move = -(180 - camera->getVertFOV() + move.vert_offset); } } - if (vert && !pos_x && !pos_y){ - pano->setFOV((horiz) ? abs(horiz_offset) + camera->getHorizFOV() : 360, - abs(vert_offset) + camera->getVertFOV()); + if (vert){ + pano->setFOV((horiz) ? abs(move.horiz_offset) + camera->getHorizFOV() : 360, + abs(move.vert_offset) + camera->getVertFOV()); pano->computeGrid(); display.setTextCursor(6, 0); display.print(" "); @@ -219,70 +269,64 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ display.display(); } - if (pos_x || pos_y){ - horiz_offset += pos_x; - vert_offset += pos_y; + readState(radio, state); + if (move.horiz_move || move.vert_move){ + radio.write_type_data('M', &move, sizeof(move)); + move.horiz_offset = move.horiz_offset + move.horiz_move; + move.vert_offset = move.vert_offset + move.vert_move; } } if (horiz || vert){ if (horiz){ - *horiz = abs(horiz_offset) + camera->getHorizFOV(); + *horiz = abs(move.horiz_offset) + camera->getHorizFOV(); } if (vert){ - *vert = abs(vert_offset) + camera->getVertFOV(); + *vert = abs(move.vert_offset) + camera->getVertFOV(); } + + radio.write_type_data('B'); // Move head back to home position } + return (hid->isLastEventOk()); } /* - * Execute panorama from start to finish. + * Follow panorama execution from start to finish. * Button click interrupts. */ -void executePano(void){ - - hid->clear(4000); - //pano->start(); +void followPano(void){ + bool manualMode = (settings.shutter == 0); - /* - while (settings.running){ + while (state.running){ displayPanoStatus(); - if (!pano->position){ - delay(2000); + + if (manualMode){ + displayArrows(); } - if (settings.shutter > 0){ - //pano->shutter(); + + readState(radio, state); + + if (!hid->read()){ + continue; } - if (settings.shutter == 0 || hid->read()){ + // button was clicked mid-pano + if (!manualMode){ + radio.write_type_data('O'); + manualMode = true; hid->clear(1000); - // button was clicked mid-pano or we are in manual shutter mode - displayPanoStatus(); - displayArrows(); - while (settings.running){ - if (!hid->read()) continue; - else if (hid->isLastEventLeft()) pano->prev(); - else if (hid->isLastEventRight()) pano->next(); - else if (hid->isLastEventUp()) pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); - else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); - else if (hid->isLastEventOk()) break; - else if (hid->isLastEventCancel()){ - settings.running = false; - break; - } - displayPanoStatus(); - displayArrows(); - } + continue; } - settings.running = settings.running && pano->next(); - }; - settings.running = false; - displayPanoStatus(); + if (hid->isLastEventOk()) radio.write_type_data('S'); + else if (hid->isLastEventCancel()) radio.write_type_data('X'); + else if (hid->isLastEventLeft()) radio.write_type_data('I', "<"); + else if (hid->isLastEventRight()) radio.write_type_data('I', ">"); + else if (hid->isLastEventUp()) radio.write_type_data('I', "^"); + else if (hid->isLastEventDown()) radio.write_type_data('I', "v"); + }; - pano->end(); - */ hid->waitAnyKey(); } @@ -290,81 +334,76 @@ void executePano(void){ * Update common camera and pano settings from external vars */ void setPanoParams(void){ - menu->cancel(); + sendSettings(radio, settings); camera->setAspect(settings.aspect); camera->setFocalLength(settings.focal); pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); pano->setShots(settings.shots); + pano->setFOV(settings.horiz, settings.vert); + pano->computeGrid(); + pano->position = state.position; + pano->steady_delay_avg = state.steady_delay_avg; } /* - * Menu callback invoked by selecting "Start" + * Menu callback invoked by selecting "Repeat" */ -int onStart(int __){ +int onRepeat(int __){ setPanoParams(); - - // set panorama FOV - if (!positionCamera("Set Top Left", NULL, NULL) || - !positionCamera("Set Bottom Right", &settings.horiz, &settings.vert)){ - return false; - } - - pano->setFOV(settings.horiz, settings.vert); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - settings.running = true; menu->sync(); - executePano(); + + hid->clear(4000); + + radio.write_type_data('P'); // start Pano return __; } /* - * Menu callback invoked by selecting "Repeat" + * Menu callback invoked by selecting "Start" */ -int onRepeat(int __){ - setPanoParams(); +int onStart(int __){ + settings_t horiz, vert; - pano->setFOV(settings.horiz, settings.vert); - if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ + // set panorama FOV + if (!positionCamera("Set Top Left", NULL, NULL) || + !positionCamera("Set Bottom Right", &horiz, &vert)){ return false; } - settings.running = true; - menu->sync(); - executePano(); - return __; + + settings.horiz = horiz; + settings.vert = vert; + pano->setFOV(horiz, vert); + + return onRepeat(__); } /* - * Menu callback invoked by selecting "Repeat" + * Menu callback invoked by selecting "360 Pano" */ int on360(int __){ - setPanoParams(); - + settings_t horiz, vert; // set panorama FOV - settings.horiz = 360; + horiz = 360; + if (!positionCamera("Set Top", NULL, NULL) || - !positionCamera("Set Bottom", NULL, &settings.vert)){ + !positionCamera("Set Bottom", NULL, &vert)){ return false; } - pano->setFOV(settings.horiz, settings.vert); - if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ - return false; - } - settings.running = true; - menu->sync(); - executePano(); - return __; + settings.horiz = horiz; + settings.vert = vert; + pano->setFOV(horiz, vert); + + return onRepeat(__); } /* * Menu callback for displaying last pano info */ int onPanoInfo(int __){ - setPanoParams(); - pano->setFOV(settings.horiz, settings.vert); - pano->computeGrid(); displayPanoInfo(); hid->waitAnyKey(); return __; @@ -374,8 +413,7 @@ int onPanoInfo(int __){ * Menu callback for testing camera shutter */ int onTestShutter(int __){ - setPanoParams(); - //pano->shutter(); + radio.write_type_data('S'); return __; } @@ -399,7 +437,19 @@ void onMenuLoop(void){ } void loop() { + bool stateChanged; + + sendSettings(radio, settings); + stateChanged = readState(radio, state); + /* + * Render menu or state + */ + if (state.running){ + followPano(); + } else if (stateChanged){ + setPanoParams(); + } displayMenu(*menu, display, DISPLAY_ROWS, *hid, onMenuLoop); - delay(10); - radio.write_type_data('S', &settings, sizeof(settings)); + + yield(); } diff --git a/examples/PanoController/PanoController.ino b/examples/PanoController/PanoController.ino index c5484cc..1459acc 100644 --- a/examples/PanoController/PanoController.ino +++ b/examples/PanoController/PanoController.ino @@ -25,6 +25,10 @@ // these variables are modified by the menu PanoSettings settings; +// This is the panorama engine state +// should technically be in the Pano object +PanoState state; + static Display display(OLED_RESET); Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST); @@ -89,8 +93,9 @@ void setup() { menu = getMainMenu(settings); } -int readBattery(void){ - return map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); + +void readBattery(void){ + state.battery = map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); } /* @@ -99,13 +104,12 @@ int readBattery(void){ void displayStatusOverlay(void){ // Print battery voltage at cursor, format is #.#V (4 chars) - int battmV = readBattery(); display.setTextCursor(0, 16); // poor attempt at blinking - if (battmV < LOW_BATTERY && millis() & 1024){ + if (state.battery < LOW_BATTERY && millis() & 1024){ display.setTextColor(BLACK, WHITE); } - display.printf("%2d.%dV", battmV/1000, (battmV % 1000)/100); + display.printf("%2d.%dV", state.battery/1000, (state.battery % 1000)/100); display.setTextColor(WHITE, BLACK); // show a character indicating bluetooth is connected @@ -119,6 +123,7 @@ void displayStatusOverlay(void){ * Display current panorama status (photo index, etc) */ void displayPanoStatus(void){ + readBattery(); display.clearDisplay(); display.setTextCursor(0,0); @@ -153,6 +158,7 @@ void displayProgress(void){ void displayPanoInfo(void){ float horiz_fov = camera->getHorizFOV(); float vert_fov = camera->getVertFOV(); + readBattery(); display.clearDisplay(); display.setTextCursor(0,0); display.printf("Lens: %dmm\n", settings.focal); @@ -256,6 +262,7 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ display.setTextCursor(6, 0); displayPanoSize(); display.printf("FOV %d x %d ", pano->horiz_fov, pano->vert_fov); + readBattery(); displayStatusOverlay(); display.display(); } diff --git a/src/pano_settings.h b/src/pano_settings.h index 86c4048..d6456cd 100644 --- a/src/pano_settings.h +++ b/src/pano_settings.h @@ -9,7 +9,7 @@ #ifndef PANO_SETTINGS_H_ #define PANO_SETTINGS_H_ -typedef volatile uint16_t settings_t; +typedef volatile int16_t settings_t; typedef struct { settings_t @@ -23,8 +23,19 @@ typedef struct { motors_enable = 0, display_invert = 0, horiz = 360, - vert = 160, - running = 0; + vert = 160; } PanoSettings; +typedef struct { + settings_t + battery = 0, + motors_enable = 0, + display_invert = 0, + running = 0, + position = 0, + steady_delay_avg = 0; + float horiz_offset = 0; + float vert_offset = 0; +} PanoState; + #endif /* PANO_SETTINGS_H_ */ diff --git a/src/radio.cpp b/src/radio.cpp index 6ddc539..98dd6d0 100644 --- a/src/radio.cpp +++ b/src/radio.cpp @@ -6,12 +6,14 @@ Radio::Radio(uint8_t ce_pin, uint8_t csn_pin){ radio = new RF24(ce_pin, csn_pin); + connected = false; + last_received_ts = millis(); } void Radio::begin(void){ radio->begin(); radio->setChannel(76); // default is 76 - radio->setPALevel(RF24_PA_MIN); // RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX + radio->setPALevel(RF24_PA_LOW); // RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX radio->setCRCLength(RF24_CRC_16); radio->setDataRate(RF24_1MBPS); // RF24_250KBPS, RF24_1MBPS, RF24_2MBPS // retry timeout window needs to allow for ack payload, see spec pdf @@ -24,11 +26,14 @@ void Radio::begin(void){ radio->powerUp(); radio->startListening(); radio->enableAckPayload(); - radio->writeAckPayload(1, "ACK", 3); // for next packet received radio->printDetails(); } -static void SerialPrintHex(const void *buf, int len){ +static void debug(const char *msg, const void *buf, int len){ + return; + Serial.print(msg); + Serial.print(len); + Serial.print(" -> "); while (len--){ Serial.print(*(const char*)buf, HEX); buf += 1; @@ -38,39 +43,35 @@ static void SerialPrintHex(const void *buf, int len){ } int Radio::available(void){ - return radio->available(); + int count = radio->available(); + if (count > 0){ + last_received_ts = millis(); + if (!connected){ + Serial.println("NRF24 Connected"); + connected = true; + } + } else if (connected && millis() - last_received_ts > 10000){ + Serial.println("NRF24 Connection Lost"); + connected = false; + } + return count; } uint8_t Radio::read(void){ uint8_t len = 0; - if (radio->available()){ + if (available()){ len = radio->getDynamicPayloadSize(); radio->read(buffer, len); - Serial.print("Radio Received "); - Serial.print(len); - Serial.print(" -> "); - SerialPrintHex(buffer, len); - radio->writeAckPayload(1, "ACK", 3); // for FUTURE packets received + debug("Radio Received ", buffer, len); } return len; } void Radio::write(const void *data, uint8_t len){ - Serial.print("Radio Send "); - Serial.print(len); - Serial.print(" -> "); - SerialPrintHex(data, len); + debug("Radio Send ", data, len); radio->stopListening(); radio->write(data, len); radio->startListening(); - if (radio->available()){ - len = radio->getDynamicPayloadSize(); - radio->read(buffer, len); - if (len != 3 || strncmp(buffer, "ACK", 3)){ - Serial.print("Unknown ack "); - SerialPrintHex(buffer, len); - } - } } /* @@ -82,18 +83,27 @@ uint8_t Radio::read_type_data(uint8_t& type, void*& data){ return 0; } type = *(uint8_t*)buffer; - data = buffer + 1; + len--; + data = (len) ? buffer + 1 : NULL; return len; } /* * Helper method to send out a packet type with the data buffer */ -void Radio::write_type_data(const uint8_t type, const void*data, uint8_t len){ +void Radio::write_type_data(const uint8_t type, const void* data, uint8_t len, + const bool delayed){ + if (len == 0 && data){ + len = strlen((const char*)data); + } len = min(len, 32); buffer[0] = type; for (int i=0; i < len && i < 31; i++){ buffer[i+1] = ((const char*)data)[i]; } - write(buffer, len+1); + if (!delayed){ + write(buffer, len+1); + } else { + radio->writeAckPayload(1, buffer, len+1); + } } diff --git a/src/radio.h b/src/radio.h index 6e24cb0..9eb0a34 100644 --- a/src/radio.h +++ b/src/radio.h @@ -16,15 +16,19 @@ class Radio { private: RF24* radio; byte address[1][6] = {"2PANO"}; + unsigned last_received_ts = 0; public: + bool connected = false; char buffer[32]; + char ack_payload[32]; + uint8_t ack_payload_len; Radio(uint8_t ce_pin, uint8_t csn_pin); void begin(void); int available(void); uint8_t read(void); uint8_t read_type_data(uint8_t& type, void*& data); void write(const void *data, uint8_t len); - void write_type_data(const uint8_t type, const void*data, uint8_t len); + void write_type_data(const uint8_t type, const void* data=NULL, uint8_t len=0, const bool delayed=false); }; #endif /* RADIO_H_ */ From 3ff7766d5cee84d6ad3c79951977d3757fdec368 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Tue, 13 Sep 2016 23:38:04 -0700 Subject: [PATCH 08/27] Combined some of the display* functions into single displayPanoStatus() --- examples/Executor/Executor.ino | 18 +++++--- examples/Navigator/Navigator.ino | 75 ++++++++++++-------------------- 2 files changed, 39 insertions(+), 54 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 457e98b..5fc6ebf 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -87,15 +87,16 @@ void readBattery(void){ /* * Display current panorama status (photo index, etc) */ -void displayPanoStatus(void){ +void displayPanoStatus(bool complete){ display.clearDisplay(); display.setTextCursor(0,0); + int photos = pano->getHorizShots() * pano->getVertShots(); if (state.running){ - display.printf("# %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("# %d of %d\n", pano->position+1, photos); display.printf("at %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); } else { - display.printf("%d photos\n\n", pano->getHorizShots()*pano->getVertShots()); + display.printf("%d photos\n\n", photos); } display.printf("grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); @@ -131,7 +132,6 @@ void displayPanoStatus(void){ display.print("X"); } - int photos = pano->getHorizShots() * pano->getVertShots(); display.setTextCursor(6, 0); if (state.position + 1 < photos){ display.printf("%d minutes ", pano->getTimeLeft()/60); @@ -149,7 +149,9 @@ void displayPanoStatus(void){ display.print('\xdb'); }; }; - display.display(); + if (complete){ + display.display(); + } } /* @@ -269,12 +271,14 @@ void loop() { * Render state. * TODO: We should do this only if anything has changed though. */ - //displayPanoStatus(); + //displayPanoStatus(true); /* * Execute pano */ + if (!settings.motors_enable || state.running){ + displayPanoStatus(true); + } if (state.running){ - displayPanoStatus(); if (settings.shutter > 0){ pano->shutter(); state.running = pano->next(); diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 69da43b..9a6334c 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -126,67 +126,52 @@ void displayStatusOverlay(void){ /* * Display current panorama status (photo index, etc) */ -void displayPanoStatus(void){ +void displayPanoStatus(bool complete){ display.clearDisplay(); display.setTextCursor(0,0); + int photos = pano->getHorizShots() * pano->getVertShots(); if (state.running){ - display.printf("# %d of %d\n", pano->position+1, pano->getHorizShots()*pano->getVertShots()); + display.printf("# %d of %d\n", pano->position+1, photos); display.printf("at %d x %d\n", 1+pano->getCurRow(), 1+pano->getCurCol()); } else { - display.printf("%d photos\n\n", pano->getHorizShots()*pano->getVertShots()); + display.printf("%d photos\n\n", photos); } - displayPanoSize(); + display.printf("grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); + + float horiz_fov = camera->getHorizFOV(); + float vert_fov = camera->getVertFOV(); + display.setTextCursor(3,0); + display.printf("Lens: %dmm\n", settings.focal); + display.printf(" %d.%d x %d.%d\n", + int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), + int(vert_fov), round(10*(vert_fov-int(vert_fov)))); + display.printf("Pano %d x %d deg\n", pano->horiz_fov, pano->vert_fov); + displayStatusOverlay(); - displayProgress(); - display.display(); -} -/* - * Display progress information (minutes / progress bar) - */ -void displayProgress(void){ - int photos = pano->getHorizShots() * pano->getVertShots(); + display.setTextCursor(6, 0); if (state.position + 1 < photos){ display.printf("%d minutes ", pano->getTimeLeft()/60); } + + // steady delay / shake indicator 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" : "!"); } + + // progress bar if (state.running){ display.setTextCursor(7, 0); for (int i=(pano->position+1) * DISPLAY_COLS / photos; i > 0; i--){ display.print('\xdb'); } } -} -/* - * Display panorama information - */ -void displayPanoInfo(void){ - float horiz_fov = camera->getHorizFOV(); - float vert_fov = camera->getVertFOV(); - display.clearDisplay(); - display.setTextCursor(0,0); - display.printf("Lens: %dmm\n", settings.focal); - display.printf(" %d.%d x %d.%d\n", - int(horiz_fov), round(10*(horiz_fov-int(horiz_fov))), - int(vert_fov), round(10*(vert_fov-int(vert_fov)))); - display.printf("Pano FOV %d x %d \n", pano->horiz_fov, pano->vert_fov); - displayPanoSize(); - display.printf("%d photos\n", pano->getHorizShots()*pano->getVertShots()); - displayProgress(); - displayStatusOverlay(); - display.display(); -} - -/* - * Display the panorama grid size - */ -void displayPanoSize(){ - display.printf("grid %d x %d \n", pano->getVertShots(), pano->getHorizShots()); + if (complete){ + display.display(); + } } /* @@ -260,13 +245,7 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ pano->setFOV((horiz) ? abs(move.horiz_offset) + camera->getHorizFOV() : 360, abs(move.vert_offset) + camera->getVertFOV()); pano->computeGrid(); - display.setTextCursor(6, 0); - display.print(" "); - display.setTextCursor(6, 0); - displayPanoSize(); - display.printf("FOV %d x %d ", pano->horiz_fov, pano->vert_fov); - displayStatusOverlay(); - display.display(); + displayPanoStatus(true); } readState(radio, state); @@ -299,10 +278,12 @@ void followPano(void){ bool manualMode = (settings.shutter == 0); while (state.running){ - displayPanoStatus(); + displayPanoStatus(false); if (manualMode){ displayArrows(); + } else { + display.display(); } readState(radio, state); @@ -404,7 +385,7 @@ int on360(int __){ * Menu callback for displaying last pano info */ int onPanoInfo(int __){ - displayPanoInfo(); + displayPanoStatus(true); hid->waitAnyKey(); return __; } From 5e26ac75ca709a846ce5b320d16d29c2ca79f811 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 18 Sep 2016 00:44:05 -0700 Subject: [PATCH 09/27] Moved communication protocol code into protocol.cpp (Command and Exec) This is creating more abstraction levels than I'd like but don't see another way to not have to build packets by hand in the main body. --- examples/Executor/Executor.ino | 163 ++++++++++++++----------------- examples/Navigator/Navigator.ino | 69 ++++--------- src/protocol.cpp | 155 +++++++++++++++++++++++++++++ src/protocol.h | 74 ++++++++++++++ 4 files changed, 326 insertions(+), 135 deletions(-) create mode 100644 src/protocol.cpp create mode 100644 src/protocol.h diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 5fc6ebf..37f9ff9 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -20,6 +20,7 @@ #include "display.h" #include "mpu.h" #include "radio.h" +#include "protocol.h" // these variables are modified by the menu PanoSettings settings; @@ -30,6 +31,7 @@ PanoState state; static Display display(OLED_RESET); static Radio radio(NRF24_CE, NRF24_CSN); +static Exec comm(radio); static Camera* camera; static Joystick* joystick; @@ -167,96 +169,83 @@ void setPanoParams(void){ // pano->position = state.position; } +/* + * Callbacks for commands received from remote Navigator + */ +void doConfig(void){ + setPanoParams(); + display.invertDisplay(settings.display_invert); +}; +void doStart(void){ + Serial.println("Start pano"); + pano->start(); + state.running = true; +}; +void doCancel(void){ + Serial.println("Cancel pano"); + pano->end(); + state.running = false; +}; +void doPause(void){ + Serial.println("Pause pano"); + settings.shutter = 0; +}; +void doShutter(void){ + Serial.println("Shutter"); + pano->shutter(); + if (state.running){ // manual shutter mode, advance to next + state.running = pano->next(); + if (!state.running){ + pano->end(); + } + } +}; +void doSetHome(void){ + Serial.println("Set home"); + pano->setMotorsHomePosition(); +}; +void doGoHome(void){ + Serial.println("Go home"); + pano->moveMotorsHome(); +}; +void doFreeMove(move_t& move){ + horiz_motor->setRPM(move.horiz_rpm); + vert_motor->setRPM(move.vert_rpm); + pano->motorsEnable(true); + pano->moveMotors(move.horiz_move, move.vert_move); +}; +void doGridMove(const char direction){ + Serial.println("Inc move"); + switch (direction){ + case '<': pano->prev(); break; + case '>': pano->next(); break; + case '^': pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); break; + case 'v': pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); break; + } +}; +// unused +void doGridMoveTo(settings_t row, settings_t col){ + Serial.println("Head move"); + pano->moveTo(row, col); +} + +const comm_callbacks callbacks = { + doConfig, + doStart, + doCancel, + doPause, + doShutter, + doSetHome, + doGoHome, + doFreeMove, + doGridMove +}; + void loop() { /* * Read state from menu navigator */ - if (radio.available()){ - uint8_t type = 0; - uint8_t len = 0; - void *buffer; - len = radio.read_type_data(type, buffer); - if (type != int('C')){ - Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); - } - switch(type){ - - case 'C': // Configuration settings - memcpy(&settings, buffer, sizeof(settings)); - setPanoParams(); - display.invertDisplay(settings.display_invert); - break; - - case 'P': // Execute pano - Serial.println("Start pano"); - pano->start(); - state.running = true; - break; - - case 'X': // Cancel pano - Serial.println("Cancel pano"); - pano->end(); - state.running = false; - break; - - case 'O': // Pause pano - Serial.println("Pause pano"); - settings.shutter = 0; - break; - - case 'S': // Shutter - Serial.println("Shutter"); - pano->shutter(); - if (state.running){ // manual shutter mode, advance to next - state.running = pano->next(); - if (!state.running){ - pano->end(); - } - } - break; - - case 'R': // Set home to current head position - Serial.println("Set home"); - pano->setMotorsHomePosition(); - break; - - case 'B': // Move head to home position - Serial.println("Go home"); - pano->moveMotorsHome(); - break; - - case 'M': // Move motors - Serial.println("Motor move"); - struct { - settings_t horiz_rpm, vert_rpm, horiz_move, vert_move; - } motor_move; - memcpy(&motor_move, buffer, sizeof(motor_move)); - horiz_motor->setRPM(motor_move.horiz_rpm); - vert_motor->setRPM(motor_move.vert_rpm); - pano->motorsEnable(true); - pano->moveMotors(motor_move.horiz_move, motor_move.vert_move); - break; - - case 'H': // Move head to requested row/col - Serial.println("Head move"); - struct { - settings_t row, col; - } head_move; - memcpy(&head_move, buffer, sizeof(head_move)); - pano->moveTo(head_move.row, head_move.col); - break; - - case 'I': // Incrementally move head - Serial.println("Inc move"); - switch (*(char*)buffer){ - case '<': pano->prev(); break; - case '>': pano->next(); break; - case '^': pano->moveTo(pano->getCurRow() - 1, pano->getCurCol()); break; - case 'v': pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); break; - break; - } - } - } + comm.getCmd(settings, callbacks); /* * Collect and send state to menu navigator */ @@ -266,7 +255,7 @@ void loop() { state.horiz_offset = pano->horiz_home_offset; state.vert_offset = pano->vert_home_offset; state.motors_enable = settings.motors_enable; - radio.write_type_data('T', &state, sizeof(state)); + comm.sendState(state); /* * Render state. * TODO: We should do this only if anything has changed though. diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 9a6334c..8b52115 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -18,6 +18,7 @@ #include "menu.h" #include "display.h" #include "radio.h" +#include "protocol.h" // these variables are modified by the menu PanoSettings settings; @@ -28,6 +29,7 @@ PanoState state; static Display display(OLED_RESET); static Radio radio(NRF24_CE, NRF24_CSN); +static Command comm(radio); static Camera* camera; static Joystick* joystick; @@ -61,33 +63,6 @@ void setup() { menu = getMainMenu(settings); } -/* - * Send settings to remote execution unit - */ -static void sendSettings(Radio& radio, PanoSettings& settings){ - radio.write_type_data('C', &settings, sizeof(settings)); -} -/* - * Read state from remote execution unit - */ -static bool readState(Radio& radio, PanoState& state){ - uint8_t type = 0; - uint8_t len = 0; - if (radio.available()){ - void *buffer; - len = radio.read_type_data(type, buffer); - if (len){ - switch(type){ - - case 'T': // State information - memcpy(&state, buffer, sizeof(state)); - setPanoParams(); - } - } - } - return (type != 0); -} - /* * Add a status overlay (currently battery and radio status) */ @@ -193,14 +168,11 @@ void displayArrows(){ * if both horiz and vert are NULL then the head moves freely around */ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ - struct { - settings_t horiz_rpm, vert_rpm, horiz_move, vert_move; - float horiz_offset = 0, vert_offset = 0; - } move; + move_t move; int step = min(camera->getHorizFOV() / 10, 1); if (horiz || vert){ - radio.write_type_data('R'); // Set home to current head position + comm.setHome(); } display.clearDisplay(); @@ -248,9 +220,9 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ displayPanoStatus(true); } - readState(radio, state); + comm.getState(state, setPanoParams); if (move.horiz_move || move.vert_move){ - radio.write_type_data('M', &move, sizeof(move)); + comm.freeMove(move); move.horiz_offset = move.horiz_offset + move.horiz_move; move.vert_offset = move.vert_offset + move.vert_move; } @@ -264,7 +236,7 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ *vert = abs(move.vert_offset) + camera->getVertFOV(); } - radio.write_type_data('B'); // Move head back to home position + comm.goHome(); } return (hid->isLastEventOk()); @@ -286,7 +258,7 @@ void followPano(void){ display.display(); } - readState(radio, state); + comm.getState(state, setPanoParams); if (!hid->read()){ continue; @@ -294,18 +266,18 @@ void followPano(void){ // button was clicked mid-pano if (!manualMode){ - radio.write_type_data('O'); + comm.pausePano(state); manualMode = true; hid->clear(1000); continue; } - if (hid->isLastEventOk()) radio.write_type_data('S'); - else if (hid->isLastEventCancel()) radio.write_type_data('X'); - else if (hid->isLastEventLeft()) radio.write_type_data('I', "<"); - else if (hid->isLastEventRight()) radio.write_type_data('I', ">"); - else if (hid->isLastEventUp()) radio.write_type_data('I', "^"); - else if (hid->isLastEventDown()) radio.write_type_data('I', "v"); + if (hid->isLastEventOk()) comm.shutter(state); + else if (hid->isLastEventCancel()) comm.cancelPano(state); + else if (hid->isLastEventLeft()) comm.gridMoveLeft(state); + else if (hid->isLastEventRight()) comm.gridMoveRight(state); + else if (hid->isLastEventUp()) comm.gridMoveUp(state); + else if (hid->isLastEventDown()) comm.gridMoveDown(state); }; hid->waitAnyKey(); @@ -315,7 +287,7 @@ void followPano(void){ * Update common camera and pano settings from external vars */ void setPanoParams(void){ - sendSettings(radio, settings); + comm.sendConfig(settings); camera->setAspect(settings.aspect); camera->setFocalLength(settings.focal); pano->setShutter(settings.shutter, settings.pre_shutter, settings.post_wait, settings.long_pulse); @@ -338,7 +310,7 @@ int onRepeat(int __){ hid->clear(4000); - radio.write_type_data('P'); // start Pano + comm.startPano(state); return __; } @@ -394,7 +366,7 @@ int onPanoInfo(int __){ * Menu callback for testing camera shutter */ int onTestShutter(int __){ - radio.write_type_data('S'); + comm.shutter(state); return __; } @@ -420,8 +392,9 @@ void onMenuLoop(void){ void loop() { bool stateChanged; - sendSettings(radio, settings); - stateChanged = readState(radio, state); + comm.sendConfig(settings); + stateChanged = comm.getState(state, setPanoParams); + /* * Render menu or state */ diff --git a/src/protocol.cpp b/src/protocol.cpp new file mode 100644 index 0000000..f8db67a --- /dev/null +++ b/src/protocol.cpp @@ -0,0 +1,155 @@ +/* + * Pano Controller for Arduino project + * Radio communication + * + * Copyright (C)2015,2016 Laurentiu Badea + * + * This file may be redistributed under the terms of the MIT license. + * A copy of this license has been included with this distribution in the file LICENSE. + */ + +#include "protocol.h" + +// Packet types +static const char CMD_CONFIG = 'C', + CMD_START = 'P', + CMD_CANCEL = 'X', + CMD_PAUSE = 'O', + CMD_SHUTTER = 'S', + CMD_CONTINUE = 'N', + CMD_HOME_SET = 'R', + CMD_HOME_MOVE = 'B', + CMD_FREE_MOVE = 'F', + CMD_GRID_INC = 'I', + CMD_STATE = 'T'; + +/* + * Send current state, does not wait for confirmation + */ +void Exec::sendState(PanoState& state){ + radio.write_type_data(CMD_STATE, &state, sizeof(state)); +} + +/* + * Receive and execute a command + */ +void Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ + uint8_t type = 0; + uint8_t len = 0; + void *buffer; + move_t move; + if (radio.available()){ + len = radio.read_type_data(type, buffer); + Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); + switch(type){ + + case CMD_CONFIG: // Configuration settings + memcpy(&settings, buffer, sizeof(PanoSettings)); + callbacks.config(); + break; + + case CMD_START: + callbacks.start(); + break; + + case CMD_CANCEL: + callbacks.cancel(); + break; + + case CMD_PAUSE: + callbacks.pause(); + break; + + case CMD_SHUTTER: + callbacks.shutter(); + break; + + case CMD_HOME_SET: + callbacks.setHome(); + break; + + case CMD_HOME_MOVE: + callbacks.goHome(); + break; + + case CMD_FREE_MOVE: + memcpy(&move, buffer, sizeof(move)); + callbacks.freeMove(move); + break; + + case CMD_GRID_INC: + callbacks.gridMove(*(char*)buffer); + break; + } + } +} + +/* + * Receive state + * Returns true if state was modified, + * false if it was unmodified or nothing was received + */ +bool Command::getState(PanoState& state, void(*callback)(void)){ + uint8_t type = 0; + uint8_t len = 0; + void *buffer; + if (radio.available()){ + len = radio.read_type_data(type, buffer); + if (type == CMD_STATE && len == sizeof(state)){ + if (memcmp(&state, buffer, sizeof(state)) == 0){ + // state received, but no change + return false; + } else { + memcpy(&state, buffer, sizeof(state)); + if (callback){ + callback(); + } + return true; + } + } + } + return false; +} + +void Command::sendConfig(PanoSettings& settings){ + radio.write_type_data(CMD_CONFIG, &settings, sizeof(settings)); +} + +// Set home to current head position +void Command::setHome(void){ + radio.write_type_data(CMD_HOME_SET); +} + +// Move head to home position +void Command::goHome(void){ + radio.write_type_data(CMD_HOME_MOVE); +} + +// Move head in degrees +void Command::freeMove(move_t& move){ + radio.write_type_data(CMD_FREE_MOVE, &move, sizeof(move)); +} + +void Command::gridMove(PanoState& state, const char dir){ + radio.write_type_data(CMD_GRID_INC, &dir, 1); +} + +void Command::startPano(PanoState& state){ + radio.write_type_data(CMD_START); +} + +void Command::pausePano(PanoState& state){ + radio.write_type_data(CMD_PAUSE); +} + +void Command::cancelPano(PanoState& state){ + radio.write_type_data(CMD_CANCEL); +} + +void Command::continuePano(PanoState& state){ + radio.write_type_data(CMD_CONTINUE); +} + +void Command::shutter(PanoState& state){ + radio.write_type_data(CMD_SHUTTER); +} diff --git a/src/protocol.h b/src/protocol.h new file mode 100644 index 0000000..b3a30f7 --- /dev/null +++ b/src/protocol.h @@ -0,0 +1,74 @@ +/* + * Pano Controller for Arduino project + * Radio communication + * + * Copyright (C)2015,2016 Laurentiu Badea + * + * This file may be redistributed under the terms of the MIT license. + * A copy of this license has been included with this distribution in the file LICENSE. + */ + +#ifndef PROTOCOL_H_ +#define PROTOCOL_H_ + +#include +#include "radio.h" +#include "pano_settings.h" + +typedef struct { + settings_t horiz_rpm, vert_rpm; + settings_t horiz_move, vert_move; + float horiz_offset = 0, vert_offset = 0; +} move_t; + +typedef struct { + void(*config)(void); + void(*start)(void); + void(*cancel)(void); + void(*pause)(void); + void(*shutter)(void); + void(*setHome)(void); + void(*goHome)(void); + void(*freeMove)(move_t& move); + void(*gridMove)(char direction); +} comm_callbacks; + +/* + * Commands (Navigator side) + */ +class Command { +protected: + Radio& radio; +public: + Command(Radio& radio):radio(radio){}; + void sendConfig(PanoSettings& settings); + bool getState(PanoState& state, void(*callback)(void)=NULL); + void setHome(void); + void goHome(void); + void freeMove(move_t& move); + void gridMove(PanoState& state, const char dir); + void gridMoveUp(PanoState& state){ gridMove(state, '^'); }; + void gridMoveDown(PanoState& state){ gridMove(state, 'v'); }; + void gridMoveLeft(PanoState& state){ gridMove(state, '<'); }; + void gridMoveRight(PanoState& state){ gridMove(state, '>'); }; + void startPano(PanoState& state); + void pausePano(PanoState& state); + void continuePano(PanoState& state); + void cancelPano(PanoState& state); + void shutter(PanoState& state); +}; + + +/* + * Execution side + */ +class Exec { +protected: + Radio& radio; +public: + Exec(Radio& radio):radio(radio){}; + void sendState(PanoState& state); + void getCmd(PanoSettings& settings, const comm_callbacks& callbacks); +}; + +#endif /* PROTOCOL_H_ */ From 0ddf6fa145cb148acefa27a73b2ece0fa53fd2ea Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 18 Sep 2016 23:44:43 -0700 Subject: [PATCH 10/27] Added a "paused" field to state structure. Reduce settings pushes. Explicitly set paused state instead of hacking shutter to 0. Push settings only when keys are pressed, otherwise every 5 seconds. --- examples/Executor/Executor.ino | 19 ++++++++++++------- examples/Navigator/Navigator.ino | 10 +++++++--- src/menu.cpp | 6 +++--- src/menu.h | 2 +- src/pano_settings.h | 1 + src/protocol.cpp | 2 +- 6 files changed, 25 insertions(+), 15 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 37f9ff9..80a2742 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -80,7 +80,7 @@ void setup() { } void readBattery(void){ - state.battery = map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE); + state.battery = map(analogRead(BATTERY), 0, (1<<10)-1, 0, BATT_RANGE/100) * 100; if (state.battery < LOW_BATTERY){ state.battery = -state.battery; } @@ -180,15 +180,19 @@ void doStart(void){ Serial.println("Start pano"); pano->start(); state.running = true; + state.paused = (settings.shutter == 0); }; void doCancel(void){ Serial.println("Cancel pano"); pano->end(); state.running = false; + state.paused = false; }; void doPause(void){ Serial.println("Pause pano"); - settings.shutter = 0; + if (state.running){ + state.paused = true; + } }; void doShutter(void){ Serial.println("Shutter"); @@ -206,6 +210,7 @@ void doSetHome(void){ }; void doGoHome(void){ Serial.println("Go home"); + pano->motorsEnable(true); pano->moveMotorsHome(); }; void doFreeMove(move_t& move){ @@ -255,7 +260,6 @@ void loop() { state.horiz_offset = pano->horiz_home_offset; state.vert_offset = pano->vert_home_offset; state.motors_enable = settings.motors_enable; - comm.sendState(state); /* * Render state. * TODO: We should do this only if anything has changed though. @@ -265,16 +269,17 @@ void loop() { * Execute pano */ if (!settings.motors_enable || state.running){ + comm.sendState(state); displayPanoStatus(true); } if (state.running){ - if (settings.shutter > 0){ + if (!state.paused){ pano->shutter(); state.running = pano->next(); + if (!state.running){ + pano->end(); + }; }; - if (!state.running){ - pano->end(); - } } else { pano->motorsEnable(settings.motors_enable); }; diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 8b52115..fabf420 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -247,7 +247,7 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ * Button click interrupts. */ void followPano(void){ - bool manualMode = (settings.shutter == 0); + bool manualMode = (state.paused); while (state.running){ displayPanoStatus(false); @@ -384,7 +384,12 @@ int onAboutPanoController(int __){ return __; } -void onMenuLoop(void){ +void onMenuLoop(bool updated){ + static unsigned next_update_time = 0; + if (updated || millis() >= next_update_time){ + comm.sendConfig(settings); + next_update_time = millis() + 5000; + } displayStatusOverlay(); display.invertDisplay(settings.display_invert); } @@ -392,7 +397,6 @@ void onMenuLoop(void){ void loop() { bool stateChanged; - comm.sendConfig(settings); stateChanged = comm.getState(state, setPanoParams); /* diff --git a/src/menu.cpp b/src/menu.cpp index 1810ea1..ccb6292 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -379,7 +379,7 @@ int Menu::render(DISPLAY_DEVICE display, int rows){ * This must be called in a loop. */ void displayMenu(Menu& menu, DISPLAY_DEVICE display, const int rows, - AllHID& hid, void(*onMenuLoop)(void)){ + AllHID& hid, void(*onMenuLoop)(bool)){ static int last_event_timestamp = 0; if (!hid.read() && last_event_timestamp){ @@ -387,7 +387,7 @@ void displayMenu(Menu& menu, DISPLAY_DEVICE display, const int rows, display.clearDisplay(); display.display(); } else { - if (onMenuLoop) onMenuLoop(); + if (onMenuLoop) onMenuLoop(false); display.display(); } return; @@ -403,7 +403,7 @@ void displayMenu(Menu& menu, DISPLAY_DEVICE display, const int rows, display.clearDisplay(); display.setTextCursor(0,0); menu.render(display, rows); - if (onMenuLoop) onMenuLoop(); + if (onMenuLoop) onMenuLoop(true); display.display(); delay(100); } diff --git a/src/menu.h b/src/menu.h index 0a5e123..2ae360d 100644 --- a/src/menu.h +++ b/src/menu.h @@ -146,6 +146,6 @@ class Menu : public MultiSelect { Menu* getMainMenu(PanoSettings& settings); void displayMenu(Menu& menu, DISPLAY_DEVICE display, const int rows, - AllHID& hid, void(*onMenuLoop)(void)=NULL); + AllHID& hid, void(*onMenuLoop)(bool)=NULL); #endif /* MENU_H_ */ diff --git a/src/pano_settings.h b/src/pano_settings.h index d6456cd..cfa5f8f 100644 --- a/src/pano_settings.h +++ b/src/pano_settings.h @@ -32,6 +32,7 @@ typedef struct { motors_enable = 0, display_invert = 0, running = 0, + paused = 0, position = 0, steady_delay_avg = 0; float horiz_offset = 0; diff --git a/src/protocol.cpp b/src/protocol.cpp index f8db67a..f047f22 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -41,7 +41,7 @@ void Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ if (radio.available()){ len = radio.read_type_data(type, buffer); Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); - switch(type){ + switch((char)type){ case CMD_CONFIG: // Configuration settings memcpy(&settings, buffer, sizeof(PanoSettings)); From 4361d5f871211ae72c7eecb5cdf7cdcfee09d860 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 18 Sep 2016 23:54:46 -0700 Subject: [PATCH 11/27] getCmd()/getState() now consume all buffered messages. This allows smooth head positioning and immediate pano pausing. Prior states/configs are ignored as they should when they've been superseded. --- src/protocol.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/protocol.cpp b/src/protocol.cpp index f047f22..7b04697 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -38,7 +38,7 @@ void Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ uint8_t len = 0; void *buffer; move_t move; - if (radio.available()){ + while (radio.available()){ len = radio.read_type_data(type, buffer); Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); switch((char)type){ @@ -93,7 +93,7 @@ bool Command::getState(PanoState& state, void(*callback)(void)){ uint8_t type = 0; uint8_t len = 0; void *buffer; - if (radio.available()){ + while (radio.available()){ len = radio.read_type_data(type, buffer); if (type == CMD_STATE && len == sizeof(state)){ if (memcmp(&state, buffer, sizeof(state)) == 0){ From c331968f4d1d652f18be5cff6975527488660dfd Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Mon, 19 Sep 2016 23:21:58 -0700 Subject: [PATCH 12/27] Fix positioning hiccups --- examples/Navigator/Navigator.ino | 8 ++++++-- src/protocol.cpp | 8 +++++--- src/protocol.h | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index fabf420..7a981e3 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -169,6 +169,7 @@ void displayArrows(){ */ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ move_t move; + bool has_updated; int step = min(camera->getHorizFOV() / 10, 1); if (horiz || vert){ @@ -181,6 +182,10 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ displayArrows(); while (true){ + comm.getState(state, setPanoParams); + move.horiz_offset = state.horiz_offset; + move.vert_offset = state.vert_offset; + hid->read(); if (hid->isLastEventOk() || hid->isLastEventCancel()) break; @@ -220,7 +225,6 @@ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ displayPanoStatus(true); } - comm.getState(state, setPanoParams); if (move.horiz_move || move.vert_move){ comm.freeMove(move); move.horiz_offset = move.horiz_offset + move.horiz_move; @@ -280,7 +284,7 @@ void followPano(void){ else if (hid->isLastEventDown()) comm.gridMoveDown(state); }; - hid->waitAnyKey(); + displayPanoStatus(true); } /* diff --git a/src/protocol.cpp b/src/protocol.cpp index 7b04697..6c6f6df 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -32,15 +32,16 @@ void Exec::sendState(PanoState& state){ /* * Receive and execute a command + * Returns true if a command was received / executed, + * false otherwise */ -void Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ +bool Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ uint8_t type = 0; uint8_t len = 0; - void *buffer; + void *buffer = NULL; move_t move; while (radio.available()){ len = radio.read_type_data(type, buffer); - Serial.print("msg "); Serial.print((char)type); Serial.print(" len "); Serial.println(len); switch((char)type){ case CMD_CONFIG: // Configuration settings @@ -82,6 +83,7 @@ void Exec::getCmd(PanoSettings& settings, const comm_callbacks& callbacks){ break; } } + return (buffer != NULL); } /* diff --git a/src/protocol.h b/src/protocol.h index b3a30f7..4a015fa 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -68,7 +68,7 @@ class Exec { public: Exec(Radio& radio):radio(radio){}; void sendState(PanoState& state); - void getCmd(PanoSettings& settings, const comm_callbacks& callbacks); + bool getCmd(PanoSettings& settings, const comm_callbacks& callbacks); }; #endif /* PROTOCOL_H_ */ From 91e28379cc39b827be8f18684db26048e9c64c3b Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Tue, 20 Sep 2016 22:46:57 -0700 Subject: [PATCH 13/27] Wait to connect at Exec startup; use write acks for connection status. --- examples/Executor/Executor.ino | 5 +++++ src/protocol.cpp | 17 ++++++++++++++++- src/protocol.h | 1 + src/radio.cpp | 4 +++- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 80a2742..7baa521 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -77,6 +77,11 @@ void setup() { analogReadRes(10); analogReadAveraging(32); #endif + + display.printf("Waiting to connect..."); + display.display(); + + while (!comm.getConfig(settings)) delay(100); } void readBattery(void){ diff --git a/src/protocol.cpp b/src/protocol.cpp index 6c6f6df..944ab58 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -29,7 +29,22 @@ static const char CMD_CONFIG = 'C', void Exec::sendState(PanoState& state){ radio.write_type_data(CMD_STATE, &state, sizeof(state)); } - +/* + * Wait for a config command, returns false if none received + */ +bool Exec::getConfig(PanoSettings& settings){ + uint8_t type = 0; + void *buffer = NULL; + bool config_received = false; + while (radio.available()){ + radio.read_type_data(type, buffer); + if (type == CMD_CONFIG){ + memcpy(&settings, buffer, sizeof(PanoSettings)); + config_received = true; + } + } + return config_received; +} /* * Receive and execute a command * Returns true if a command was received / executed, diff --git a/src/protocol.h b/src/protocol.h index 4a015fa..7b07e63 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -68,6 +68,7 @@ class Exec { public: Exec(Radio& radio):radio(radio){}; void sendState(PanoState& state); + bool getConfig(PanoSettings& settings); bool getCmd(PanoSettings& settings, const comm_callbacks& callbacks); }; diff --git a/src/radio.cpp b/src/radio.cpp index 98dd6d0..59f4810 100644 --- a/src/radio.cpp +++ b/src/radio.cpp @@ -70,7 +70,9 @@ uint8_t Radio::read(void){ void Radio::write(const void *data, uint8_t len){ debug("Radio Send ", data, len); radio->stopListening(); - radio->write(data, len); + if (!radio->write(data, len)){ + connected = false; + } radio->startListening(); } From 0ccaf127ea36f82259b499a47546d2c62aea2a39 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Tue, 20 Sep 2016 23:47:30 -0700 Subject: [PATCH 14/27] Added a motors_on state that is separate from menu setting motors_enable This is so positionCamera() can leave the motors on --- examples/Executor/Executor.ino | 4 ++-- examples/Navigator/Navigator.ino | 13 +++++++------ src/pano_settings.h | 3 ++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 7baa521..cc7fa77 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -264,7 +264,7 @@ void loop() { state.position = pano->position; state.horiz_offset = pano->horiz_home_offset; state.vert_offset = pano->vert_home_offset; - state.motors_enable = settings.motors_enable; + state.motors_on = settings.motors_on; /* * Render state. * TODO: We should do this only if anything has changed though. @@ -286,7 +286,7 @@ void loop() { }; }; } else { - pano->motorsEnable(settings.motors_enable); + pano->motorsEnable(state.motors_on); }; yield(); diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 7a981e3..bf63ff6 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -69,7 +69,7 @@ void setup() { void displayStatusOverlay(void){ // motors active - if (state.running){ + if (state.motors_on || state.running){ display.setTextCursor(0,14); display.print("*"); } @@ -169,8 +169,7 @@ void displayArrows(){ */ bool positionCamera(const char *msg, settings_t *horiz, settings_t *vert){ move_t move; - bool has_updated; - int step = min(camera->getHorizFOV() / 10, 1); + int step = 1; if (horiz || vert){ comm.setHome(); @@ -306,6 +305,7 @@ void setPanoParams(void){ * Menu callback invoked by selecting "Repeat" */ int onRepeat(int __){ + settings.motors_on = true; setPanoParams(); if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; @@ -323,6 +323,7 @@ int onRepeat(int __){ */ int onStart(int __){ settings_t horiz, vert; + settings.motors_on = true; // set panorama FOV if (!positionCamera("Set Top Left", NULL, NULL) || @@ -341,9 +342,8 @@ int onStart(int __){ * Menu callback invoked by selecting "360 Pano" */ int on360(int __){ - settings_t horiz, vert; - // set panorama FOV - horiz = 360; + settings_t horiz = 360, vert; + settings.motors_on = true; if (!positionCamera("Set Top", NULL, NULL) || !positionCamera("Set Bottom", NULL, &vert)){ @@ -391,6 +391,7 @@ int onAboutPanoController(int __){ void onMenuLoop(bool updated){ static unsigned next_update_time = 0; if (updated || millis() >= next_update_time){ + settings.motors_on = settings.motors_enable; comm.sendConfig(settings); next_update_time = millis() + 5000; } diff --git a/src/pano_settings.h b/src/pano_settings.h index cfa5f8f..b528ac6 100644 --- a/src/pano_settings.h +++ b/src/pano_settings.h @@ -21,6 +21,7 @@ typedef struct { aspect = 1, shots = 1, motors_enable = 0, + motors_on = 0, display_invert = 0, horiz = 360, vert = 160; @@ -29,7 +30,7 @@ typedef struct { typedef struct { settings_t battery = 0, - motors_enable = 0, + motors_on = 0, display_invert = 0, running = 0, paused = 0, From aba343d5a67ba584e10a1c6345a2cd85fcf3efd3 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Wed, 28 Sep 2016 23:14:31 -0700 Subject: [PATCH 15/27] Remove pins/libraries not used in Executor --- examples/Executor/Executor.ino | 13 ++----------- examples/Executor/config_feather_m0.h | 9 --------- examples/Executor/config_teensy.h | 8 -------- 3 files changed, 2 insertions(+), 28 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index cc7fa77..3bf9cc3 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -14,9 +14,6 @@ #include "config.h" #include "pano.h" #include "camera.h" -#include "hid.h" -#include "joystick.h" -#include "remote.h" #include "display.h" #include "mpu.h" #include "radio.h" @@ -34,10 +31,6 @@ static Radio radio(NRF24_CE, NRF24_CSN); static Exec comm(radio); static Camera* camera; -static Joystick* joystick; -static Remote* remote; -// HID (Human Interface Device) Combined joystick+remote -static AllHID* hid; static MPU* mpu; static DRV8834* horiz_motor; static DRV8834* vert_motor; @@ -57,10 +50,6 @@ void setup() { radio.begin(); camera = new Camera(CAMERA_FOCUS, CAMERA_SHUTTER); - joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); - remote = new Remote(REMOTE_IN); - // HID (Human Interface Device) Combined joystick+remote - hid = new AllHID(2, new HID* const[2] {joystick, remote}); mpu = new MPU(MPU_I2C_ADDRESS, MPU_INT); mpu->init(); @@ -78,10 +67,12 @@ void setup() { analogReadAveraging(32); #endif + Serial.println("Waiting to connect..."); display.printf("Waiting to connect..."); display.display(); while (!comm.getConfig(settings)) delay(100); + Serial.println("Received settings"); } void readBattery(void){ diff --git a/examples/Executor/config_feather_m0.h b/examples/Executor/config_feather_m0.h index 60552d5..b0c3a38 100644 --- a/examples/Executor/config_feather_m0.h +++ b/examples/Executor/config_feather_m0.h @@ -21,15 +21,6 @@ // Battery measurement pin R1/R2 #define BATTERY A4 -// Joystick inputs -#define JOYSTICK_X A3 -#define JOYSTICK_Y A2 -#define JOYSTICK_SW A1 - -// IR remote is not supported on Feather M0 -// https://github.com/z3t0/Arduino-IRremote/issues/274 -#define REMOTE_IN -1 - // MPU (accel/gyro) #define MPU_INT 12 diff --git a/examples/Executor/config_teensy.h b/examples/Executor/config_teensy.h index 1d6e795..ffe3d8e 100644 --- a/examples/Executor/config_teensy.h +++ b/examples/Executor/config_teensy.h @@ -26,14 +26,6 @@ // Battery measurement pin R1/R2 #define BATTERY A0 -// Joystick inputs -#define JOYSTICK_X A3 -#define JOYSTICK_Y A2 -#define JOYSTICK_SW A1 - -// IR remote -#define REMOTE_IN 3 - // MPU (accel/gyro) #define MPU_INT 2 From 0ebb6a9c7b39c512ea5377f7bd8f5b1a7ef8fe58 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sat, 1 Oct 2016 20:16:25 -0700 Subject: [PATCH 16/27] Keep shutter pins in high impedance mode when shutter not active. Only switch to OUTPUT mode to ground the pins, then switch back to INPUT. This way we can tell if the cable is connected (there should be some voltage on the line). --- examples/Executor/Executor.ino | 7 +++++++ src/camera.cpp | 10 ++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 3bf9cc3..7f30f22 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -49,6 +49,13 @@ void setup() { radio.begin(); + Serial.println("Checking Camera Shutter Connection"); + pinMode(CAMERA_FOCUS, INPUT_PULLDOWN); + pinMode(CAMERA_SHUTTER, INPUT_PULLDOWN); + Serial.print(" Focus: "); + Serial.println((digitalRead(CAMERA_FOCUS) ? "OK" : "N/C")); + Serial.print(" Shutter: "); + Serial.println((digitalRead(CAMERA_SHUTTER) ? "OK" : "N/C")); camera = new Camera(CAMERA_FOCUS, CAMERA_SHUTTER); mpu = new MPU(MPU_I2C_ADDRESS, MPU_INT); diff --git a/src/camera.cpp b/src/camera.cpp index 2631e68..6b63e6a 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -19,20 +19,18 @@ Camera::Camera(int focus_pin, int shutter_pin) :focus_pin(focus_pin), shutter_pin(shutter_pin) { - pinMode(focus_pin, OUTPUT); - pinMode(shutter_pin, OUTPUT); - digitalWrite(focus_pin, HIGH); - digitalWrite(shutter_pin, HIGH); setFocalLength(24); } void Camera::shutter(int delay_ms, bool long_pulse){ int shutter_pulse = (long_pulse) ? delay_ms : SHUTTER_PULSE; + pinMode(focus_pin, OUTPUT); + pinMode(shutter_pin, OUTPUT); digitalWrite(focus_pin, LOW); digitalWrite(shutter_pin, LOW); delay(min(shutter_pulse, delay_ms)); - digitalWrite(focus_pin, HIGH); - digitalWrite(shutter_pin, HIGH); + pinMode(focus_pin, INPUT); + pinMode(shutter_pin, INPUT); if (delay_ms > shutter_pulse){ delay(delay_ms - shutter_pulse); } From a489146a4097e87559d259e88f9cb7bb653df2ab Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sat, 15 Oct 2016 18:46:18 -0700 Subject: [PATCH 17/27] Displays are now installed upside-down. --- examples/Executor/Executor.ino | 2 +- examples/Navigator/Navigator.ino | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/Executor/Executor.ino b/examples/Executor/Executor.ino index 7f30f22..d075d67 100644 --- a/examples/Executor/Executor.ino +++ b/examples/Executor/Executor.ino @@ -41,7 +41,7 @@ void setup() { delay(1000); // wait for serial display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_I2C_ADDRESS, false); - //display.setRotation(2); + display.setRotation(2); display.clearDisplay(); display.setTextCursor(0,0); display.setTextColor(WHITE); diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index bf63ff6..afe67d9 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -44,7 +44,7 @@ void setup() { delay(1000); // wait for serial display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_I2C_ADDRESS, false); - //display.setRotation(2); + display.setRotation(2); display.clearDisplay(); display.setTextCursor(0,0); display.setTextColor(WHITE); From ee0a545ec9088b0685e85d1306f082e80b4d39ce Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sat, 15 Oct 2016 21:07:50 -0700 Subject: [PATCH 18/27] Add Cancel button to Joystick. --- examples/Navigator/Navigator.ino | 2 +- examples/Navigator/config_teensy.h | 1 + src/joystick.cpp | 58 +++++++++++++++++++++--------- src/joystick.h | 6 ++-- 4 files changed, 46 insertions(+), 21 deletions(-) diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index afe67d9..435bd91 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -53,7 +53,7 @@ void setup() { radio.begin(); camera = new Camera(PIN_UNCONNECTED, PIN_UNCONNECTED); - joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); + joystick = new Joystick(JOYSTICK_X, JOYSTICK_Y, JOYSTICK_SW, CANCEL_PIN); remote = new Remote(REMOTE_IN); // HID (Human Interface Device) Combined joystick+remote hid = new AllHID(2, new HID* const[2] {joystick, remote}); diff --git a/examples/Navigator/config_teensy.h b/examples/Navigator/config_teensy.h index 7d0a5cb..db7a27c 100644 --- a/examples/Navigator/config_teensy.h +++ b/examples/Navigator/config_teensy.h @@ -19,6 +19,7 @@ #define JOYSTICK_X A3 #define JOYSTICK_Y A2 #define JOYSTICK_SW A1 +#define CANCEL_PIN A8 // IR remote #define REMOTE_IN 3 diff --git a/src/joystick.cpp b/src/joystick.cpp index d08f76c..86366fa 100644 --- a/src/joystick.cpp +++ b/src/joystick.cpp @@ -13,29 +13,38 @@ /* * Interrupt handler triggered by joystick button click */ -volatile static int button_clicked = false; +volatile static uint8_t button_clicked = false; void button_click(){ button_clicked = true; } +volatile static uint8_t cancel_clicked = false; +void cancel_click(){ + cancel_clicked = true; +} -Joystick::Joystick(int sw_pin, int x_pin, int y_pin) -:sw_pin(sw_pin), - x_pin(x_pin), - y_pin(y_pin) +Joystick::Joystick(int x_pin, int y_pin, int sw_pin, int cancel_pin) +:x_pin(x_pin), + y_pin(y_pin), + sw_pin(sw_pin), + cancel_pin(cancel_pin) { - pinMode(sw_pin, INPUT_PULLUP); pinMode(x_pin, INPUT); pinMode(y_pin, INPUT); + pinMode(sw_pin, INPUT_PULLUP); + pinMode(cancel_pin, INPUT_PULLUP); sw_state = HIGH; + cancel_state = HIGH; x_state = 0; y_state = 0; read(); attachInterrupt(digitalPinToInterrupt(sw_pin), button_click, FALLING); + attachInterrupt(digitalPinToInterrupt(cancel_pin), cancel_click, FALLING); } Joystick::~Joystick(void){ // clean up detachInterrupt(digitalPinToInterrupt(sw_pin)); + detachInterrupt(digitalPinToInterrupt(cancel_pin)); } bool Joystick::isConnected(void){ @@ -49,6 +58,26 @@ bool Joystick::isConnected(void){ return connected; } +/* + * + */ +static bool read_button_state(int& state, volatile uint8_t& clicked, int pin){ + int current_state; + bool active = false; + current_state = (clicked) ? LOW : digitalRead(pin); + if (current_state != state){ + state = current_state; + if (state == LOW){ + active = true; + for (int i=50; i && digitalRead(pin) == LOW; i--){ + delay(10); + } + } + clicked = false; + } + return active; +} + unsigned Joystick::read(void){ unsigned event = EVENT_NONE; int current_state; @@ -61,17 +90,12 @@ unsigned Joystick::read(void){ return event; } - // read click switch - current_state = (button_clicked) ? LOW : digitalRead(sw_pin); - if (current_state != sw_state){ - sw_state = current_state; - if (sw_state == LOW){ - event |= EVENT_OK; - for (int i=50; i && digitalRead(sw_pin) == LOW; i--){ - delay(10); - }; - } - button_clicked = false; + // read click switches + if (read_button_state(sw_state, button_clicked, sw_pin)){ + event |= EVENT_OK; + } + if (read_button_state(cancel_state, cancel_clicked, cancel_pin)){ + event |= EVENT_CANCEL; } // read X position diff --git a/src/joystick.h b/src/joystick.h index 79c5404..c3cad3b 100644 --- a/src/joystick.h +++ b/src/joystick.h @@ -15,8 +15,8 @@ class Joystick : public HID { private: static const int sensitivity = 7; // lower is higher :) protected: - int sw_pin, x_pin, y_pin; - int sw_state = 0, x_state = 0, y_state = 0; + int x_pin, y_pin, sw_pin, cancel_pin; + int x_state = 0, y_state = 0, sw_state = 0, cancel_state = 0; int last_read; bool connected = false; public: @@ -24,7 +24,7 @@ class Joystick : public HID { int autorepeat_delay; int autorepeat_repeat; unsigned read(void) override; - Joystick(int sw_pin, int x_pin, int y_pin); + Joystick(int x_pin, int y_pin, int sw_pin, int cancel_pin); ~Joystick(void); int getPositionX(bool if_connected=true); int getPositionY(bool if_connected=true); From fc3db59e7cda67339dca24c69fef55ec696ef7d2 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sat, 15 Oct 2016 22:11:14 -0700 Subject: [PATCH 19/27] RangeSelector value must be in multiples of step. --- src/menu.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/menu.cpp b/src/menu.cpp index ccb6292..5b6b7c1 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -132,6 +132,10 @@ RangeSelector::RangeSelector(const char *description, settings_t *value, int def min_val(min_val), max_val(max_val), step(step) { pointer = this->default_val; + if (step > 1){ + // pointer should be an integer number of steps from min_val + pointer = pointer - (pointer - min_val) % step; + } pos = pointer; }; @@ -151,7 +155,8 @@ void RangeSelector::select(void){ cancel(); } void RangeSelector::sync(void){ - pointer = *value % step; + // pointer should be an integer number of steps from min_val + pointer = *value - (*value - min_val) % step; if (pointer > max_val) pointer = max_val; if (pointer < min_val) pointer = min_val; pos = pointer; From 3cfe676bf228fe65b737d72cf38bfdf0db2e113e Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sat, 15 Oct 2016 22:44:37 -0700 Subject: [PATCH 20/27] Sync menu with Pano object before showing Pano Info page Otherwise, we see the "old" data in the Navigator --- examples/Navigator/Navigator.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 435bd91..7b65799 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -361,6 +361,7 @@ int on360(int __){ * Menu callback for displaying last pano info */ int onPanoInfo(int __){ + setPanoParams(); displayPanoStatus(true); hid->waitAnyKey(); return __; From b0abe232e9a498bc9bcf41dc4809ae46b5b3cf54 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 16 Oct 2016 11:51:40 -0700 Subject: [PATCH 21/27] Updated documentation to reflect the Executor/Navigator modules. --- README.md | 213 +++++++++++++++++++++++++++++++------------ images/executor.jpg | Bin 0 -> 136283 bytes images/navigator.jpg | Bin 0 -> 213511 bytes images/pano-info.jpg | Bin 55862 -> 78770 bytes images/prototype.jpg | Bin 109327 -> 143843 bytes 5 files changed, 157 insertions(+), 56 deletions(-) create mode 100644 images/executor.jpg create mode 100644 images/navigator.jpg diff --git a/README.md b/README.md index 86efb64..33a7ec1 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,15 @@ See the Official Facebook page Current state: fully functional prototype board, field-tested, frequently upgraded. Pano Controller Prototype Board installed in Gigapan EPIC 100 -Pano Controller Pano Information Screen +Pano Controller Pano Information Screen +Pano Controller Remote Navigator Unit + ## Features: ### Software - **Zero-motion shutter delay!** When gyro is connected, waits for platform to stabilize before triggering. Useful to compensate for tripod stability, platform's own movement or wind gusts. +- **Remote Control Demo** - Focal length presets from 12 to 600mm. Precise sub-degree movement control. - Seamless 360 pano option - Display: @@ -24,97 +27,191 @@ Current state: fully functional prototype board, field-tested, frequently upgrad - Precision movement control - Multiple delay options: pre-shutter and post-shutter, short or long shutter pulse (for bracketing). - Bluetooth joystick control via phone +- Radio Remote Menu Navigation unit ### Hardware -- 32-bit ARM controller board +- 32-bit ARM controllers (Gigapan had 8-bit AVR) - OLED 128x64 display -- Joystick menu navigation, optional IR remote +- Radio-controlled joystick menu navigation - Can operate with battery voltage from 10V down to 6V - Lower power usage and later voltage cutoff than original Gigapan ## Wiring map -### Teensy LC / 3.x -- A0 - Battery Voltage via divider: Vin---[47K]---A0---[10K]---GND -- A1 - Joystick SW -- A2 - Joystick Vy -- A3 - Joystick Vx -- A4 - SDA - Display and MPU-6050 board -- A5 - SCL - Display and MPU-6050 board -- A6 - NRF24 CE -- A7 - NRF24 CSN -- D0/RX - camera focus (active LOW) -- D1/TX - camera shutter (active LOW) +The new modular layout I'm working on needs two controller boards: an Executor unit +installed on the platform, and a radio remote Navigator unit with all the menus and +controls. Both units are needed. + +For the previous single-board setup, see release v1.4 (https://github.com/laurb9/pano-controller/tree/v1.4) + +Future plans involve replacing the remote Navigator unit with a phone or other +high-level interface device. + +### Executor Unit + +The execution unit is installed on the rotating platform. Since there are no +buttons here, the display is only used for status info and may eventually go away. + +#### Teensy LC / 3.x + +Status: Tested with NRF24L01+ radio. +BLE/BLUEFRUIT is not part of the current Executor code. + +- A0 - BATTERY - Battery Voltage via divider: Vin---[47K]---A0---[10K]---GND +- A1 +- A2 +- A3 +- A4 - SDA - MPU-6050 board and SSD-1306 Display +- A5 - SCL - MPU-6050 board and SSD-1306 Display +- A6 - NRF24_CE +- A7 - NRF24_CSN +- D0/RX - CAMERA_FOCUS active LOW +- D1/TX - CAMERA_SHUTTER active LOW - D2 - MPU-6050 INT -- D3(int) - IR Remote In (AX-1838HS) -- D4 - BLE RST -- D5 - DIR (both) -- D6 - StepperV STEP -- D7 - BLE INT -- D8 - BLE CS -- D9 - StepperH STEP -- D10 - ~ENABLE (both) -- D11 - SPI MOSI BLE and NRF24 -- D12 - SPI MISO BLE and NRF24 -- D13 - SPI SCK and NRF24 - -### Feather M0 / Bluefruit +- D3 +- D4 - (BLUEFRUIT_SPI_RST) +- D5 - DIR +- D6 - VERT_STEP +- D7 - (BLUEFRUIT_SPI_IRQ) +- D8 - (BLUEFRUIT_SPI_CS) +- D9 - HORIZ_STEP +- D10 - nENABLE +- D11 - SPI_MOSI - NRF24 or (BLUEFRUIT) +- D12 - SPI_MISO - NRF24 or (BLUEFRUIT) +- D13 - SPI_SCK - NRF24 or (BLUEFRUIT) + +#### Feather M0 / Bluefruit + +Status: Not tested. See release v1.4 for functional onboard Feather/BLE. +NRF24 library not working with Feather M0 yet so that's a dead end at the moment. - A0 -- A1 - Joystick SW -- A2 - Joystick Vy -- A3 - Joystick Vx +- A1 +- A2 +- A3 - A4 - Battery Voltage via divider: Vin---[47K]---A0---[10K]---GND -- A5 - NRF24 CE +- A5 - (NRF24_CE) - SCK - BLE(internal) and NRF24 - MOSI - BLE(internal) and NRF24 - MISO - BLE(internal) and NRF24 -- RX/0 - camera focus (active LOW) -- TX/1 - camera shutter (active LOW) - +- RX/0 - CAMERA_FOCUS active LOW +- TX/1 - CAMERA_SHUTTER active LOW - 4[BLE] CS (internally connected) - 7[BLE] IRQ (internally connected) - 8[BLE] RST (internally connected) - -- SDA/20 - Display and MPU-6050 board -- SCL/21 - Display and MPU-6050 board -- 5 - DIR (both) -- 6 - StepperV STEP -- 9[A7] - StepperH STEP -- 10 - ~ENABLE (both) -- 11 - NRF24 CSN +- SDA/20 - MPU-6050 board and SSD-1306 Display +- SCL/21 - MPU-6050 board and SSD-1306 Display +- 5 - DIR +- 6 - VERT_STEP +- 9[A7] - HORIZ_STEP +- 10 - nENABLE +- 11 - (NRF24_CSN) - 12 - MPU-6050 INT - 13[LED] -### Other +#### All +- Vin is 6-10V +- 3.3V step-down adapter from Vin to Vcc for logic power - All ~SLEEP tied to Vcc - All VMOT tied to Vin - All M1 tied to Vcc (1:32 mode) - All M0 left unconnected (1:32 mode) -- 3.3V step-down adapter from Vin to Vcc +- All ~ENABLE tied together +- All DIR tied together +- 100uF capacitor at Vin +- 10uF capacitor at Vcc +- 10K pull-up resistor from Vcc to ~ENABLE +- Voltage divider Vin---[47K]---A0---[10K]---GND + +### Navigator Remote Control Unit + +This is where all the configuration happens. This can sit in your hand while the +platform is perched up on a pole and not physically reachable. + +Settings and commands are sent to the Executor unit for execution. + +#### Teensy LC / 3.x + +Status: Tested with NRF24L01+ radio. +BLE/BLUEFRUIT is not part of the current Navigator code. + +- A0 +- A1 - Joystick SW +- A2 - Joystick Vy +- A3 - Joystick Vx +- A4 - SDA - SSD-1306 Display +- A5 - SCL - SSD-1306 Display +- A6 - NRF24_CE +- A7 - NRF24_CSN +- D0/RX +- D1/TX +- D2 +- D3 +- D4 - (BLUEFRUIT_SPI_RST) +- D5 +- D6 +- D7 - (BLUEFRUIT_SPI_IRQ) +- D8 - (BLUEFRUIT_SPI_CS) +- D9 +- D10 +- D11 - SPI_MOSI - NRF24 or (BLUEFRUIT) +- D12 - SPI_MISO - NRF24 or (BLUEFRUIT) +- D13 - SPI_SCK - NRF24 or (BLUEFRUIT) + +#### Feather M0 / Bluefruit + +Status: untested (NRF24 library not working with Feather yet). + +- A0 +- A1 - Joystick SW +- A2 - Joystick Vy +- A3 - Joystick Vx +- A4 +- A5 - NRF24_CE +- SCK - BLE(internal) and NRF24 +- MOSI - BLE(internal) and NRF24 +- MISO - BLE(internal) and NRF24 +- RX/0 +- TX/1 +- 4[BLE] CS (internally connected) +- 7[BLE] IRQ (internally connected) +- 8[BLE] RST (internally connected) +- SDA/20 - SSD-1306 Display +- SCL/21 - SSD-1306 Display +- 5 +- 6 +- 9[A7] +- 10 +- 11 - NRF24_CSN +- 12 +- 13[LED] + +#### All + +- Vin power from USB or 3.3-5V external battery using Teensy converter +- 10uF capacitor at Vcc ## Notes - *Atmega328-based boards are not supported*, see issue #57 -- IR remote not supported on Adafruit Feather M0, see issue #59 +- TWO controllers are needed for the current design. The last single-controller design is release v1.4. - Settings memory on Feather M0 only works with Bluefruit (M0 has no EEPROM itself) - Future rewiring plan - if we ever want to use ESP-12, need to reduce pins. ESP-12 only has 11: (0,2,4,5,12,13,14,15,16,RXD,TXD,ADC) - - Adafruit Feather M0 BLE uses 4, 7, 8 as Bluefruit RESET, IRQ and CS. - Should use same pinout for connecting to external BLE board (SPI). - - nrf24 library hardcodes pin 13 so if we plan to use it, we'll have to rewire. Breadboard setup with Teensy LC -## Setting DRV8834 reference +## Setting stepper motor current limit for DRV8834 - Vref0 = 2V +- 0.1V - Pololu schematic shows Risense = 0.1 ohm - Itrip = Vref/(5*Risense) - So set Vref = Itrip/2 +### Gigapan EPIC 100 + Gigapan motor spec is 1A, so 0.5V. At full step the current limit is 0.7*Itrip, so we have to set Itrip to 1.4 and Vref to 0.7V as upper bound. @@ -131,12 +228,8 @@ lower current even, if we reduce the speed. - Microcontroller, one of below - PJRC Teensy LC - PJRC Teensy 3.1+ - - Adafruit Feather M0 (no IR remote) - - Adafruit Feather M0 Bluefruit (no IR remote) - - (untested but same Cortex M0 as above) Arduino Zero - 2 x DRV8834 Low-Voltage Stepper Motor Driver from Pololu -- 128x64 OLED display, SSD1306 I2C from anywhere -- Adafruit Bluefruit SPI Breakout (if not onboard) - provides Bluetooth LE 4.1 joystick control - optional +- 2 x 128x64 OLED display, SSD1306 I2C from anywhere - 2-axis + switch analog joystick - 1834HS IR receiver with some remote - optional but recommended - Remote codes are hardcoded in remote.cpp if you have a different remote @@ -150,11 +243,20 @@ lower current even, if we reduce the speed. - 2-pin power connector/DC power jack - 6AA battery holder or a 6V-10V power source. +#### Future support planned for + +- lack of support for NRF24 + - Adafruit Feather M0 + - Adafruit Feather M0 Bluefruit + - (untested but same Cortex M0 as above) Arduino Zero +- Adafruit Bluefruit SPI Breakout (if not onboard) - provides Bluetooth LE 4.1 joystick control + ### Libraries - Adafruit_SSD1306 - Adafruit_GFX - Adafruit Bluefruit nRF51 -- IRremote +- RF24 +- (Adafruit_BluefruitLE_SPI) - Wire - StepperDriver @@ -172,4 +274,3 @@ The only thing required of the platform is the two horiz/vert stepper motors. - Notes: - the DRV8834 current limit must be set according to motor spec - reduction gear settings are hardcoded in pano.h - diff --git a/images/executor.jpg b/images/executor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c4f5f283acb375c87b37506bd4e59bd42b4a938 GIT binary patch literal 136283 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%0Dvyri}Wq&vxV+s2Y`Nvy34?0jIzwB0DudxGSK2P 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 literal 0 HcmV?d00001 diff --git a/images/navigator.jpg b/images/navigator.jpg new file mode 100644 index 0000000000000000000000000000000000000000..38a75debc56328195d0f3910cc923371eae8a6d6 GIT binary patch literal 213511 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%0D-EvD7M$L097>YsUz0xWC|lnY>3?j^wxn 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

jza>ES_2V24^6N-)-yTekK@sJA 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 literal 0 HcmV?d00001 diff --git a/images/pano-info.jpg b/images/pano-info.jpg index 33969b99942baee16bb1528ae983c543052756af..bf0a6da0de9f8dbb9e3951068cc703b7cf3998ec 100644 GIT binary patch literal 78770 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%0D+!RtNx3FC8nSb?;6Rvs@JcJQUm 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

1z=PO^T8I9H|X>|0qNjxR#^mK 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

EQz@9_-C- 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 ImYh%j*<#53{Qv*} diff --git a/images/prototype.jpg b/images/prototype.jpg index e4cc0a866a35f4c11e2140ad1544e3b4faaf4e6b..e88f752100292822b985c1a73ea02e42fabd55a5 100644 GIT binary patch literal 143843 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�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 z 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 From 156e348fc70e3be13ed9c257569c5adf2f723e69 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 16 Oct 2016 11:55:33 -0700 Subject: [PATCH 22/27] Fix urls --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 33a7ec1..1156845 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ See the Official Facebook page Current state: fully functional prototype board, field-tested, frequently upgraded. -Pano Controller Prototype Board installed in Gigapan EPIC 100 -Pano Controller Pano Information Screen -Pano Controller Remote Navigator Unit +Pano Controller Prototype Board installed in Gigapan EPIC 100 +Pano Controller Pano Information Screen +Pano Controller Remote Navigator Unit ## Features: @@ -201,7 +201,7 @@ Status: untested (NRF24 library not working with Feather yet). - if we ever want to use ESP-12, need to reduce pins. ESP-12 only has 11: (0,2,4,5,12,13,14,15,16,RXD,TXD,ADC) -Breadboard setup with Teensy LC +Breadboard playing with Feather M0 ## Setting stepper motor current limit for DRV8834 From 16f6d7fb1d4cae001fd4ecc436605d56684508f1 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 16 Oct 2016 11:57:31 -0700 Subject: [PATCH 23/27] Fix some wording and page layout issues. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1156845..95fba80 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ See the Official Facebook page Current state: fully functional prototype board, field-tested, frequently upgraded. -Pano Controller Prototype Board installed in Gigapan EPIC 100 -Pano Controller Pano Information Screen +Pano Controller Executor Boards installed in Gigapan EPIC 100 Pano Controller Remote Navigator Unit +Pano Controller Pano Information Screen ## Features: From 335a73733387d5a2121917a3901b4be8fd0cf505 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 16 Oct 2016 23:00:54 -0700 Subject: [PATCH 24/27] Increase settings update frequency to once every 4 seconds --- examples/Navigator/Navigator.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Navigator/Navigator.ino b/examples/Navigator/Navigator.ino index 7b65799..f0badd9 100644 --- a/examples/Navigator/Navigator.ino +++ b/examples/Navigator/Navigator.ino @@ -394,7 +394,7 @@ void onMenuLoop(bool updated){ if (updated || millis() >= next_update_time){ settings.motors_on = settings.motors_enable; comm.sendConfig(settings); - next_update_time = millis() + 5000; + next_update_time = millis() + 4000; } displayStatusOverlay(); display.invertDisplay(settings.display_invert); From 9bb9d4822177c441ad8ee9c9f310ee0ad4cea8fa Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 16 Oct 2016 23:11:22 -0700 Subject: [PATCH 25/27] Fix single-unit PanoController so at least it compiles #61 Chances are it also works. --- examples/PanoController/PanoController.ino | 20 ++++++++++---------- examples/PanoController/config_feather_m0.h | 1 + examples/PanoController/config_teensy.h | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/examples/PanoController/PanoController.ino b/examples/PanoController/PanoController.ino index 1459acc..277e386 100644 --- a/examples/PanoController/PanoController.ino +++ b/examples/PanoController/PanoController.ino @@ -66,7 +66,7 @@ void setup() { display.setTextSize(TEXT_SIZE); camera = new Camera(CAMERA_FOCUS, CAMERA_SHUTTER); - joystick = new Joystick(JOYSTICK_SW, JOYSTICK_X, JOYSTICK_Y); + joystick = new Joystick(JOYSTICK_X, JOYSTICK_Y, JOYSTICK_SW, CANCEL_PIN); remote = new Remote(REMOTE_IN); ble_remote = new BLERemote(ble); // HID (Human Interface Device) Combined joystick+remote @@ -295,7 +295,7 @@ void executePano(void){ hid->clear(4000); pano->start(); - while (settings.running){ + while (state.running){ displayPanoStatus(); if (!pano->position){ delay(2000); @@ -309,7 +309,7 @@ void executePano(void){ // button was clicked mid-pano or we are in manual shutter mode displayPanoStatus(); displayArrows(); - while (settings.running){ + while (state.running){ if (!hid->read()) continue; else if (hid->isLastEventLeft()) pano->prev(); else if (hid->isLastEventRight()) pano->next(); @@ -317,17 +317,17 @@ void executePano(void){ else if (hid->isLastEventDown()) pano->moveTo(pano->getCurRow() + 1, pano->getCurCol()); else if (hid->isLastEventOk()) break; else if (hid->isLastEventCancel()){ - settings.running = false; + state.running = false; break; } displayPanoStatus(); displayArrows(); } } - settings.running = settings.running && pano->next(); + state.running = state.running && pano->next(); }; - settings.running = false; + state.running = false; displayPanoStatus(); pano->end(); @@ -362,7 +362,7 @@ int onStart(int __){ if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - settings.running = true; + state.running = true; menu->sync(); executePano(); return __; @@ -378,7 +378,7 @@ int onRepeat(int __){ if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - settings.running = true; + state.running = true; menu->sync(); executePano(); return __; @@ -401,7 +401,7 @@ int on360(int __){ if (!positionCamera("Adjust start pos\nSet exposure & focus", NULL, NULL)){ return false; } - settings.running = true; + state.running = true; menu->sync(); executePano(); return __; @@ -442,7 +442,7 @@ int onAboutPanoController(int __){ return __; } -void onMenuLoop(void){ +void onMenuLoop(bool updated){ displayStatusOverlay(); display.invertDisplay(settings.display_invert); pano->motorsEnable(settings.motors_enable); diff --git a/examples/PanoController/config_feather_m0.h b/examples/PanoController/config_feather_m0.h index 1d23e70..de221e7 100644 --- a/examples/PanoController/config_feather_m0.h +++ b/examples/PanoController/config_feather_m0.h @@ -21,6 +21,7 @@ #define JOYSTICK_X A3 #define JOYSTICK_Y A2 #define JOYSTICK_SW A1 +#define CANCEL_PIN A0 // IR remote is not supported on Feather M0 // https://github.com/z3t0/Arduino-IRremote/issues/274 diff --git a/examples/PanoController/config_teensy.h b/examples/PanoController/config_teensy.h index 3b60f59..eb01a7c 100644 --- a/examples/PanoController/config_teensy.h +++ b/examples/PanoController/config_teensy.h @@ -26,6 +26,7 @@ #define JOYSTICK_X A3 #define JOYSTICK_Y A2 #define JOYSTICK_SW A1 +#define CANCEL_PIN A8 // IR remote #define REMOTE_IN 3 From acdd958073b66b2c9b0f16d57176aba441f3996d Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Thu, 20 Oct 2016 22:23:12 -0700 Subject: [PATCH 26/27] Command-line compile any example for Teensy or Feather --- Makefile | 59 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 90a5e69..ba97623 100644 --- a/Makefile +++ b/Makefile @@ -2,33 +2,52 @@ # # -ARDUINO := arduino --verbose --preserve-temp-files +ARDUINO := arduino --preserve-temp-files + +ifndef board +$(error Usage: make board=) +endif + +ifeq ($(board),teensy31) + # Teensy 3.1/3.2 target + # Teensy options hardware/teensy/avr/boards.txt + BOARD = teensy:avr:teensy31:usb=serial,keys=en-us,speed=72 + PORT = /dev/ttyACM0 +endif +ifeq ($(board),teensyLC) + # Teensy LC target + # Teensy options hardware/teensy/avr/boards.txt + BOARD = teensy:avr:teensyLC:usb=serial,keys=en-us,speed=48 + PORT = /dev/ttyACM0 +endif +ifeq ($(board),feather) + # Adafruit Feather M0 + # must be installed with arduino --install-boards "adafruit:samd" + # ~/.arduino15/packages/adafruit/hardware/samd/1.0.13/boards.txt + BOARD = adafruit:samd:adafruit_feather_m0 + PORT = /dev/ttyACM0 +endif +ifeq ($(board),uno) + # Arduino UNO target + # arduino options hardware/arduino/avr/boards.txt + BOARD = arduino:avr:uno + PORT = /dev/ttyUSB0 +endif + # Mac #ARDUINO := Arduino.app/Contents/MacOS/Arduino --verbose --preserve-temp-files TMPDIR := /tmp/pano-controller-build -SOURCES := examples/PanoController/PanoController.ino src/*.cpp src/*.h - -# -# Specify which of the below targets to build (default teensyLC) -# -all: teensyLC +LIB_SOURCES = src/*.cpp src/*.h -# Arduino UNO target -# arduino options hardware/arduino/avr/boards.txt -uno: BOARD = arduino:avr:uno +panocontroller: examples/PanoController/PanoController.ino $(LIB_SOURCES) $(TMPDIR) + $(ARDUINO) --upload $< --board $(BOARD) --port $(PORT) --pref build.path=$(TMPDIR) -# Teensy LC target -# Teensy options hardware/teensy/avr/boards.txt -teensyLC: BOARD = teensy:avr:teensyLC - -# -# Common rule for building and uploading the project -# -# See https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc -uno teensyLC: $(SOURCES) $(TMPDIR) - $(ARDUINO) --upload $< --board $(BOARD) --pref build.path=$(TMPDIR) +navigator: examples/Navigator/Navigator.ino $(LIB_SOURCES) $(TMPDIR) + $(ARDUINO) --upload $< --board $(BOARD) --port $(PORT) --pref build.path=$(TMPDIR) +executor: examples/Executor/Executor.ino $(LIB_SOURCES) $(TMPDIR) + $(ARDUINO) --upload $< --board $(BOARD) --port $(PORT) --pref build.path=$(TMPDIR) $(TMPDIR): mkdir -p $(TMPDIR) From 086f5908c78873ca08a71e139d72436c2d784695 Mon Sep 17 00:00:00 2001 From: Laurentiu Badea Date: Sun, 23 Oct 2016 22:04:46 -0700 Subject: [PATCH 27/27] Add note about the two units. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 95fba80..8027f5f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ flexible and support home-brew panoramic platforms. See the Official Facebook page for demo videos and more progress photos. -Current state: fully functional prototype board, field-tested, frequently upgraded. +Current state: fully functional two-module prototype boards, field-tested, frequently upgraded. One module (Executor) is installed on the Gigapan platform. The other module +is the radio controller with OLED display (Navigator). Pano Controller Executor Boards installed in Gigapan EPIC 100 Pano Controller Remote Navigator Unit