Commit Graph

1247 Commits

Author SHA1 Message Date
Matt McWilliams 8de61abd7b Render parts of the lens assembly 2024-08-09 17:14:23 -04:00
Matt McWilliams 0b59f4906f Implement the button and switch logic for physical interfaces to the camera. In the case that the open/close switch is changed, move to that state, otherwise allow for digital control. 2024-08-05 06:47:12 -04:00
Matt McWilliams 7cecef3de5 Add getDirection() to EndstopCameraShield and fix sloppy bugs in code that were not disabling emitters after actions. Could have caused false positives in behavior so check on the machine 2024-08-03 08:46:46 -04:00
Matt McWilliams 35d832f965 Prefill exposureAvg with 250ms because it is closest to an average from tests 2024-07-31 13:40:10 -04:00
Matt McWilliams c3d2943dcc All updates to EndstopCameraShield library for Oxberry and Mitchell cameras (now working and tested). 2024-07-30 20:00:09 -04:00
Matt McWilliams abc72087b2 Update data in all places 2024-07-08 22:59:54 -04:00
Matt McWilliams f594472fd2 Created the basics of the mitchell and oxberry firmwares. Mitchell still needs button logic but oxberry will be controlled entirely digitally. 2024-07-07 22:17:48 -04:00
Matt McWilliams 29cd83eecf There does not need to be separate open_forward/open_backward and closed_forward/closed_backward commands. Direction should be set with separate commands and can be controlled at a higher level. 2024-07-07 21:32:02 -04:00
Matt McWilliams c0e7422920 Work on oxberry camera firmware. Basics are there. Will add button features to mitchell. 2024-07-05 23:56:45 -04:00
Matt McWilliams 84fe1b71be Accidentally modified an autogenerated part of McopySerial. Fixed 2024-06-30 12:10:30 -04:00
Matt McWilliams 966f67882a Fix ino.sh script. Add pin declarations to EndstopCameraShield 2024-06-30 11:50:02 -04:00
Matt McWilliams b858c9fba0 Create placeholder scripts for Mitchell and Oxberry cameras 2024-06-23 21:38:36 -04:00
Matt McWilliams d1028a7e02 Work on endstopcamerashield.h 2024-06-22 22:57:20 -04:00
Matt McWilliams 603d5b0219 Merge branch 'main' of ssh://git.sixteenmillimeter.com/16mm/mcopy 2024-06-22 14:11:34 -04:00
Matt McWilliams df66ff1c7d Hardware updates 2024-06-22 14:11:19 -04:00
Matt McWilliams e6ef1ff395 Actually add new commands to cfg and all libs 2024-06-13 13:42:05 -04:00
Matt McWilliams 8e9a57bcd3 Add new command flags for camera open camera closed. Re-organized and separated identifiers and cmd flags 2024-06-13 13:35:25 -04:00
Matt McWilliams 4dc988c5bb Resolves #83; Adds the -hwaccel auto flag to all ffmpeg output commands. May not be used unless the source video is an accelerated format. 2024-05-24 15:43:52 -04:00
Matt McWilliams bc081cfe63 Correct lib jsdocs in modules. Update tests to catch new error in mscript. 2024-05-24 15:23:58 -04:00
Matt McWilliams 6c8d2d712d Remove callback from mscript (never used) and make all non-public methods private. 2024-05-24 00:26:12 -04:00
Matt McWilliams b4a974a33e Updated tests to add cases catching mscript failing on multi-device scripts 2024-05-24 00:09:28 -04:00
Matt McWilliams b21b899303 Re-enabled tests. Re-enabled docs build (jsdocs are very out of date). Removed several any types and created types for Config 2024-05-23 23:36:51 -04:00
Matt McWilliams 5597aea828 Do not display broken layout before devices are ready 2024-05-23 20:56:32 -04:00
Matt McWilliams 5d31bf0020 Ported main.js to TypeScript. Rewrote all imports and replaced with class constructors, not require()(). 2024-05-23 20:51:35 -04:00
Matt McWilliams 91ad944c46 Removed several uses of any and added types to System module. 2024-05-23 19:54:42 -04:00
Matt McWilliams cb63194fc6 All known classes have types exported and imported into dependent modules. This has already caught a class of bugs. Removing references to any will catch another. 2024-05-23 18:49:18 -04:00
Matt McWilliams 7f8a9d4289 Add Settings and Devices classes TypeScript source. 2024-05-22 23:37:21 -04:00
Matt McWilliams 8e8fac92d1 Update Settings class to export properly. Replace use of any in Device. 2024-05-22 23:36:40 -04:00
Matt McWilliams 7e24c70454 Re-write of log module to use export properly (in Typescript) and include the winston types for Logger. Will repeat this step with all of the remaining modules that are declared 'any' type and miss out on the benefits of using Typescript in the first place. 2024-05-19 18:14:33 -04:00
Matt McWilliams a9f20ebf36 Remove extraneous log lines from arduino. Device is printed by send() and also sendAsync is called by send and logs the same information. Removed. 2024-05-19 17:11:31 -04:00
Matt McWilliams 4b8c8ee842 Improve logging in JKMM100 sketches. 2024-05-19 17:10:50 -04:00
Matt McWilliams 5bad15a79a In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
Matt McWilliams 9b7d1a3e5c Add a second projector version of the JKM100 script. In the script, move the 16ms delay to BEFORE the confirmation character and increase it to 100ms to make sure all shake is out of the system before shooting a frame. 2024-05-19 09:38:48 -04:00
Matt McWilliams 5f7fa6287f Add changes from diverged repo 2024-05-15 21:49:45 -04:00
Matt McWilliams 2af8b4b209 Merge remote-tracking branch 'origin/main' 2024-04-28 21:38:32 -04:00
Matt McWilliams 66096fa2ea Add the designs and sketches for the ACME Trebes. 2024-04-19 18:09:44 -06:00
Matt McWilliams 18875a01c6 Correctly reference common.scad and add file for camera mount. 2024-04-15 14:05:38 -06:00
Matt McWilliams 7d2c2b9d09 Use common.scad, change all cylinder entries 2024-04-15 09:42:25 -06:00
Matt McWilliams 67a290a02a Add a bellows adapter for Canon RF cameras and an ACME bellows 2024-04-14 13:34:41 -06:00
Matt McWilliams 63f4278b2b Resolve startup order issues and explanation for all the delays that were meager attempts to solve a race condition. By moving more IPC connectionts to handles, which can be awaited, there are no more attempts to send message to light object that fails because it has not yet been instantiated. 2024-04-06 23:37:30 -04:00
Matt McWilliams 6778f871db Devices, serial and type terms were updated everywhere in code except in the settings object. 2024-04-06 20:29:56 -04:00
Matt McWilliams edc72a5486 Do not overwrite data with an empty object. Overwrite values if there are keys in the object. 2024-04-06 20:15:19 -04:00
Matt McWilliams 2779258111 List of devices looks strange on laptop. Attempt at fix here 2024-04-06 20:10:14 -04:00
Matt McWilliams da735779b4 Add more trycatches add more logs. Not sure where failure is. 2024-04-06 20:00:54 -04:00
Matt McWilliams b7e2e912f4 Figure out why devices.ready() is not reaching end of method on Mono laptop 2024-04-06 19:53:04 -04:00
Matt McWilliams d34172d8e9 Use device.profile() method, seemingly not implemented properly 2024-04-06 19:37:29 -04:00
Matt McWilliams f30ce78f9d Suppress warnings from Intval and execRaw during compilation. Add logging to ready to test on Mono laptop 2024-04-06 19:18:15 -04:00
Matt McWilliams ed767aedb5 Recompile with newer modules. 2024-04-06 19:09:50 -04:00
Matt McWilliams ab35895cb3 update rails 2024-04-06 19:02:39 -04:00
Matt McWilliams 1e2b65644d Update package lock files to work with node16 and electron19 2024-04-06 18:55:46 -04:00