William Cordero Photo <william.cordero@gmail.com>
--
$ make
$ sudo make install
$ sudo make uninstall
Usage: hyperpan [OPTION...]
virtual|sphere|slave|35|6x45|45x6|6x6|6x7|7x6|6x8|8x6|6x9|9x6|6x17|17x6
* HyperPan Control Software.
William Cordero Photo
http://williamcordero.com
https://github.com/WilliamCordero/HyperPan
Actions:
virtual Custom size virtual sensor
sphere Cover the entire area
slave Slave mode
35 Full Frame 24x36mm
6x6 Medium Format 60x60mm
6x45 45x6 Medium Format 60x45mm
6x7 7x6 Medium Format 60x70mm
6x8 8x6 Medium Format 60x80mm
6x9 9x6 Medium Format 60x90mm
6x17 17x6 Medium Format 60x170mm
Options:
-a, --auto Auto Focus On
-b, --delay=DELAY Trigger delay
-c, --fast High speed
-d, --dummy Dummy mode
-f, --focal=FOCAL Focal length(Def:50mm)
-g, --save=FILE Save to file
-h, --height=HEIGHT Sensor height(Def:23.5mm)
-l, --load=FILE Load file
-m, --motion No trigger
-o, --overlap=OVERLAP Overlap area(Def:0.375)
-q, --quiet Quiet output
-s, --speed=SPEED Trigger speed(Def:0.5s)
-v, --verbose=LEVEL Verbose level
-w, --width=WIDTH Sensor width(Def:15.6mm)
-x, --vwidth=VWIDTH Virtual sensor width(Def:60mm)
-y, --vheight=VHEIGHT Virtual sensor height(Def:60mm)
-z, --slow Low speed
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory
or optional for any corresponding short options.
Emulates a virtual sensor using one smaller, -w WIDTH
and -h HEIGHT
set the size of the native sensor on the camera and -x WIDTH
and -y HEIGHT
set the virtual sensor size.
Actions 35
, 6x45
, 45x6
, 6x6
, 6x7
, 7x6
, 6x8
, 8x6
, 6x9
, 9x6
, 6x17
and 17x6
are aliases to their respective virtual sensor formats.
Cover the entire area. For virtual tours or 360° photography. More wide the lens, less number of shots.
-g FILE
save a sequence path into a file, the dummy mode(-d
) could be useful in this cases.
$ hyperpan 35 -d -g path
slave
allows control through the standard input(stdin
) or loading a file(-l FILE
).
$ cat path | hyperpan slave
$ hyperpan slave -l path
In order to calculate the correct angles of view set -f FOCAL
to the focal length on the camera.
-o OVERLAP
set the overlap between shots, 0.375
by default.
hyperpan
minimize vibration by limiting speed and acceleration, when you need speed and vibration is not a problem (e.g. flash photography) -c
set the maximum speed available.
For a smooth ride use -z
, also -b SEC
do a pause before every shot.
-s SEC
set the trigger speed.
-a
activate AutoFocus before every shot, use -b SEC
to allow the AutoFocus some time to work.
-m
turn off the camera trigger.
-v LEVEL
L_INFO 0B00000001 //1 Info
L_STPR 0B00000010 //2 Steppers
L_SPHR 0B00000100 //4 Sphere
L_CAMR 0B00001000 //8 Camera
L_TRGR 0B00010000 //16 Trigger
L_SLVE 0B00100000 //32 Slave
L_OUTP 0B01000000 //64 Output
Using a 50mm lens, emulate a 60mm•60mm image sensor format with an APS-C sensor(23.5mm•15.6mm).
$ hyperpan 6x6 -v13 -f50 -h23.5 -w15.6
# α:
# ο: ★:
# δ: ★:
# δ: focal: 50.00 mm
# δ: υ: sensor: 23.50 • 15.60 mm
# δ: υ: α: 26.45 • 17.73 °
# δ: υ: α': 21.49 • 14.41 °
# δ: υ: Ξ: 0.375
# δ: ν: sensor: 60.00 • 60.00 mm
# δ: ν: α: 61.93 • 61.93 °
# ο: ↝: 0.00:ρ -21.49:θ -23.23:φ
# ο: ↝: 0.00:ρ -21.49:θ -7.74:φ
# ο: ↝: 0.00:ρ -21.49:θ 7.74:φ
# ο: ↝: 0.00:ρ -21.49:θ 23.23:φ
# ο: ↝: 0.00:ρ 0.00:θ 28.82:φ
# ο: ↝: 0.00:ρ 0.00:θ 14.41:φ
# ο: ↝: 0.00:ρ 0.00:θ -0.00:φ
# ο: ↝: 0.00:ρ 0.00:θ -14.41:φ
# ο: ↝: 0.00:ρ 0.00:θ -28.82:φ
# ο: ↝: 0.00:ρ 21.49:θ -23.23:φ
# ο: ↝: 0.00:ρ 21.49:θ -7.74:φ
# ο: ↝: 0.00:ρ 21.49:θ 7.74:φ
# ο: ↝: 0.00:ρ 21.49:θ 23.23:φ
# ο: ↝: 0.00:ρ -90.00:θ -90.00:φ
# ω:
src/config.h
For each stepper motor there are a set of #define
with their respective configuration.
Which GPIO pins are connected at which pins on the stepper driver
(DRV8834),
the microstepping mode 1/32-step
and the steps per rotation, which is the
product of the motor steps and the gear multiplier, in this case the
motor
has 200 steps with 8X multiplier (128T/16T gears).
THETA_SLEEP 12 //GPIO 12
THETA_STEP 6 //GPIO 6
THETA_DIR 5 //GPIO 5
THETA_M0 16 //GPIO 16
THETA_M1 13 //GPIO 13
THETA_MODE 32 //MICROSTEP MODE 1/32
THETA_STEPS 200*8 //STEPS PER ROTATION
There are also some #define
to control the motor's speed and acceleration,
there are three sets; one for default mode(_DEF
), another used with the
argument -c
for Fast Mode(_FAST
) and the last one, used
with the argument -z
for Slow Mode(_SLOW
).
MIN
is the minimum time in microseconds for the faster steps, this can't be lower to the time require by the combination of stepper/driver/raspberry to operate without losing steps.MAX
is the maximum time in microseconds for the slower steps.BORDER
is the part of each travel used to accelerate and decelerate(total_travel/BORDER
).
Increasing the speed also increase vibrations, if you want a faster movement set
a low value for MAX
, as low as MIN
and a high value for
BORDER
, or, if you want a smooth movement, set a high value for
MIN
and MAX
and a low value for BORDER
.
MIN_DEF 40
MAX_DEF 230
BORDER_DEF 14
MIN_FAST 40
MAX_FAST 40
BORDER_FAST 1000
MIN_SLOW 200
MAX_SLOW 400
BORDER_SLOW 2
In src/config.h
you can also find some #define
for the default arguments, e.g.
D_FOCAL 50.0 //DEFAULT FOCAL LENGH 50mm
Report bugs to William Cordero <william.cordero@gmail.com>.
If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.