Commit Graph

317 Commits

Author SHA1 Message Date
Matt 7bbbf7ee7b Restructured eventEmitter into various modules 2016-06-21 12:12:14 -04:00
Matt cdd14b9ed5 Restructure main script 2016-06-21 11:05:44 -04:00
Matt 7e1a4be0cf Emit an event on arduino serial events
To be listened to by other modules
2016-06-21 11:04:57 -04:00
Matt c10252a9ee capture-report library for creating a telecine method
The purpose of this module will be to generate a report of the
projector actions that can be translated into rendering instructions
for a telecine.

First tests will be done on a Blackmagic Pocket Cinema camera which
will record a 4000 frame sequence (100ft of 16mm). The report will
allow me to record the entire sequence of the projector advancing 4000
frames and will make a list of acceptable frames to pull out for
stitching together into a sequence. It is amazingly inefficient in
terms of disk space, but will make this setup much cheaper than one
that requires purchasing hardware to capture images to disk during
operation.

Rubber ducking: The report will watch for projector start and end times
in milliseconds, with a “start” value to be factored in later. On every
projector start and end event, when capture is active, an event with
the millisecond of the occurrence is logged to the report. At the end
of the sequence, the report will be parsed to determine the acceptable
frames to export into a new sequence. This will be determined by
finding a period between proj_end and proj_start events and dividing
that into frames and picking the central most frame.

Acceptable frames, marked by frame numbers, get put into an render list
that gets pegged to a first frame and adjusted via offset. The export
list will be fed into a command that will go through either a video
file or an image sequence and output the determined frames into an
image sequence that will be stitched together with ffmpeg/libav.
2016-06-18 20:49:39 -04:00
Matt 79d61c4878 Compilation of app.js after push to modules
It’s, like, 100 lines shorter!
2016-06-18 20:16:04 -04:00
Matt 7313f415bf Move devices into module 2016-06-18 20:15:41 -04:00
Matt 70e1c1c28e Move nav ang gui to modules 2016-06-18 20:13:33 -04:00
Matt 507aabcb07 Cam moved to cam-ui.js module 2016-06-18 20:08:01 -04:00
Matt 8b483ce2ef Migrate proj object int lib/proj-ui.js
Modulize that sucker
2016-06-18 20:06:57 -04:00
Matt 38cd0ed1e4 Ignore transfer data files 2016-06-18 20:03:15 -04:00
mmcwilliams 0000beecc3 Add electron-prebuilt to install script
Needed when installing latest build
2016-06-10 17:57:41 -04:00
mmcwilliams e405c7a661 Improve install script by adding globals
Need gulp and electron installed globally to run
2016-06-10 17:55:55 -04:00
mmcwilliams b4fc5b9cef Add 3200 kelvin to color swatch options 2016-06-10 12:00:18 -04:00
mmcwilliams d9a18b5d43 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	ino/mcopy_camera_tests/mcopy_camera_tests.ino

Fixed gross conflict
2016-06-09 17:23:17 -04:00
mmcwilliams 11cdb9b514 Make mscript command line function
Can issue commands using GUI
2016-06-09 17:21:49 -04:00
mmcwilliams ed593b3b7c Merge INTVAL 2.1 project into mcopy firmware 2016-06-09 17:21:05 -04:00
Matt c3f595b132 Instead of removing 600 ms from timed exposure
Simply remove the part of the exposure that happens while the shutter
is opening and closing
2016-05-29 21:37:19 -04:00
Matt 763cb659d6 Timed exposure commands 2016-05-29 20:33:40 -04:00
Matt 3bf9590773 Merge button capabilities to camera firmware
Keep synced with INTVAL 2.1 features
Add arbitrary “timed” exposure feature
2016-05-29 20:33:23 -04:00
mmcwilliams 413deb421d Enable Pixie headers for testing the pixie 2016-05-25 15:58:49 -04:00
mmcwilliams 5d2dcac4c4 CMYK controls almost fully functional
Need to better tie into swatch selection, and need to add UI to dials
themselves, but currently can display and change values with the inputs.
2016-05-18 18:05:43 -04:00
Matt 08e4738b86 Build out CMY controls for lighting 2016-05-16 10:41:24 -04:00
Matt 9532c8cd8f Migrate UI code into libraries 2016-05-16 10:41:11 -04:00
mmcwilliams ae2c490afd Establish CMYK controls in markup 2016-05-13 17:28:51 -04:00
Matt 5f2dbd77b7 Merged mcopy_camera.ino into test firmware
Also added optional log() function to print out time that the frame
took, in ms for profiling.
2016-05-12 23:12:00 -04:00
Matt 1a116261a6 Add identification logic to camera firmware
This allows the Electron client to query the each Arduino and properly
assign each serial port to their function.
2016-05-12 23:10:44 -04:00
Matt 408c0beb61 Merged functions from INTVAL into camera firmware
Taking functionality from here:
https://github.com/sixteenmillimeter/intval2
2016-05-12 22:59:10 -04:00
Matt a45c8104d8 Update test and firmware files to update Pixie every sec
Send a signal to change the color of the light every second to prevent
them from getting “stuck” re:
https://learn.adafruit.com/pixie-3-watt-smart-chainable-led-pixels/

“You do have to send it data every 1 second at a minimum (as a
protection against the bright and hot LEDs staying 'stuck on', they
will eventually timeout if no updates are received)”
2016-05-12 22:34:38 -04:00
Matt e6aca8c6a9 Big delay in the loop for some bad reason 2016-05-12 22:25:46 -04:00
mmcwilliams 70842a377e Flip raw reading logic for microswitch
Using a microswitch with INPUT_PULLUP instead of an endstop. As a
result 1 == switch closed instead of 0 == endstop closed.
2016-05-09 09:26:10 -04:00
Matt 8bb89e1a62 Add device identifiers to the configuration
These are characters that are sent to or received from mcopy devices
(camera or projector)
2016-05-04 21:03:54 -04:00
Matt McWilliams f4167de6c7 Add arduino mount and pins libraries
These will be used in the mcopy hardware designs
2016-05-04 17:28:53 -04:00
Matt 6fa80d63ee Correctly manage memory when reading from endstop 2016-04-22 14:34:44 -04:00
Matt 2697d9f721 Add notifier 2016-04-22 14:34:44 -04:00
Matt b44fc327c6 Hide spinner and overlay when clicking 2016-04-22 14:34:44 -04:00
Matt 47f0003123 Add notification handler to gui 2016-04-22 14:34:44 -04:00
Matt McWilliams a31335ee3a Create log directory on install of app 2016-04-22 12:37:58 -04:00
Matt be4002ed87 Created framework for projector motor control 2016-04-21 23:37:37 -04:00
Matt eec3414364 Add basic endstop code to projector_test 2016-04-21 08:33:16 -04:00
Matt 6c238609ad Add codemirror for editing mscript 2016-04-19 16:49:37 -04:00
Matt 83c9fba876 Block UI with overlay until devices are ready 2016-04-18 23:44:51 -04:00
Matt c6627308b0 Build with spin.js, codemirror, and mscript 2016-04-18 23:44:31 -04:00
Matt b30dfa7c78 Add codemirror files 2016-04-18 23:43:49 -04:00
Matt d613f33675 Duplicate cam/proj counters 2016-04-18 23:43:32 -04:00
Matt 2887182282 Sequencer and firmware work together 2016-04-18 21:52:38 -04:00
Matt f4b75d7398 Make mcopy-arduino work with multiple devices
TODO: partition the queue and locks so commands can overlap when
passing to different devices
2016-04-18 21:26:45 -04:00
Matt 3fa5b06e82 Make camera identify itself 2016-04-18 21:25:30 -04:00
Matt 7c9b56822e Merge light + projector sketches
light will remain on its own for experiments and test builds
2016-04-18 21:25:18 -04:00
Matt 64008bd10a Same deal for camera_tests 2016-04-18 13:06:35 -04:00
Matt d0ee8089af Duplicated mcopy_projector -> projector_tests
mcopy_projector.ino and mcopy_camera.ino will be the targets for
deployed firmware

mcopy_light.ino will be merged into mcopy_projector.ino because they
share a physical machine
2016-04-18 12:59:42 -04:00