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
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
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
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
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
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
08ce0d792b
Fix for case where this.confirmExec is not a function
2023-10-08 18:15:31 -04:00
Matt McWilliams
e7e7f86ab3
Manual merge from capper branch: all changes to devices library.
2023-08-06 15:04:33 -04:00
Matt McWilliams
386285d48c
Definition file that prevents compiler warnings on some platforms. Still unexplained because tsc is installed local to the project.
2023-08-06 14:58:26 -04:00
Matt McWilliams
c4119ab7cc
Manual merge from capper branch: all changes to arduino library with some improvements.
2023-08-06 14:56:42 -04:00
Matt McWilliams
176643f148
Manual merge from capper branch: all changes to display library.
2023-08-06 14:36:31 -04:00
Matt McWilliams
2f56dd4b8a
Update the timing after delaying for 5000ms (hack)
2023-07-30 23:03:06 -04:00
Matt McWilliams
dac720863d
Resolves #80 and #81 . UI will need a little cleanup. There is some string concatenation happening where it shouldn't.
2023-07-30 22:13:50 -04:00
Matt McWilliams
a173cf0d7c
WIP
2023-07-23 20:00:42 -04:00
Matt McWilliams
55b39e7db3
Tweak to USB protector
2023-07-18 23:13:20 -04:00
Matt McWilliams
fb51716e3a
All work
2023-07-14 21:13:04 -04:00
Matt McWilliams
18d6e2c7cd
WIP on state problem
2023-07-12 22:22:46 -04:00
Matt McWilliams
0cc167b3a6
Incredibly close to #80 and #81 . Can get state confirmation at startup. Can send exposure string and get confirmation after. Cannot get state outside of initial confirmation. Something is either locked or failing to wait?
2023-07-10 22:33:16 -04:00
Matt McWilliams
4539c6d897
Methods in place for setting exposure
2023-07-05 15:17:45 -04:00
Matt McWilliams
0b71da8e7b
Canon BLE two-Arduino rewrite WIP
2023-06-27 23:16:16 -04:00
Matt McWilliams
c0d6cbccec
Can now detect if state is available on a device
2023-06-17 17:57:30 -04:00
Matt McWilliams
95ede98623
State string should start and end with the character
2023-06-17 13:08:00 -04:00
Matt McWilliams
71e4bea384
Preliminary state support in arduino library. Currently confirms the negative state. Might want to push it until after verify, out of enumerate.
2023-06-16 23:04:16 -04:00
Matt McWilliams
83aa3099c4
Update the settings page with time for projector and camera actions
2023-06-16 22:07:53 -04:00
Matt McWilliams
672db32917
Put in place changes needed to receive a string from an arduino
2023-06-12 22:45:25 -04:00
Matt McWilliams
142c990a0e
Refactored GUI into TypeScript and class-based format
2023-03-18 16:59:26 -04:00
Matt McWilliams
512f6c86ad
Resolves #73 . Delay is exported in .ts file so it is non-ambient
2023-03-01 13:35:45 -05:00
Matt McWilliams
5db5d477e4
Timing is now updated via rolling average on all projector and camera actions. This data is reset when profile is changed. This data is stored in the settings.json and loaded on start so estimates will improve the more it is used.
2023-02-28 15:55:02 -05:00
Matt McWilliams
3c19cd35cf
Resolves #4 (4 years ago!). Adds delay (stops scripts for X seconds), alert (displays an alert that stops script execution) and pause (displays a pre-populated alert).
2023-02-28 12:49:11 -05:00
Matt McWilliams
02639466ee
By doing a check for active clients during the sequencer start and stop actions, the local display is no longer used. Resolves first part of #20 .
2023-02-25 17:00:11 -05:00
Matt McWilliams
6e2795d380
Remove ACK messages for ping, rely on
2023-02-25 16:33:55 -05:00
Matt McWilliams
0162d012c5
Server can now display images and will completely preempt local display when done
2023-02-25 13:22:20 -05:00
Matt McWilliams
47fb673b78
Combined script and html into single request (problems with iOS safari).
...
Can get script loaded but still cannot connect to websocket server without SSL.
ALSO: Now can pre-empt opening new display if an active client is connected to server.
Otherwise will open a local link.
2023-02-25 13:11:40 -05:00
Matt McWilliams
f296488bc2
Further progress on #20 . TODO: Image display logic on the server side. Need to add image to proxy list and give it a properly-extensioned name and cmdAll.
...
ALSO: Server is not working on iOS.
2023-02-25 12:40:35 -05:00
Matt McWilliams
f5392aea9f
Resolves #74
2023-02-25 12:33:18 -05:00
Matt McWilliams
24b1301f9f
Adding contextIsolation: false to the display module fixes the initial issue in #74 , cannot use "require" but the escape button does not work due to "Cannot read properties of undefined (reading 'getCurrentWindow')"
2023-02-25 12:16:47 -05:00
Matt McWilliams
1290a8f324
Major progress on #20 . Promised-based websocket command structure is completed. All functionality needs to be placed into individual classes and any new functions get added to the server.
...
Will create entire thin client using this method.
2023-02-25 11:59:56 -05:00
Matt McWilliams
e64277e438
More work on #20 . Fix typos in display code. Should re-work script into transpiled ts file.
2023-02-25 02:08:56 -05:00
Matt McWilliams
c9bcb74a9f
Progress on #20 . Can start up a server and serve client.js
2023-02-25 02:08:05 -05:00
Matt McWilliams
42db1f81b8
Server work
2023-02-25 00:24:07 -05:00
Matthew McWilliams
d5ecd9e057
Improve capper documentation
2022-09-16 09:45:19 -04:00
Matthew McWilliams
72b5077356
Restructure includes and type definition files so that mscript runs
2022-08-07 22:18:58 -04:00
Matthew McWilliams
6601c030f7
Refactor mscript GUI code into Typescript
2022-08-07 22:10:53 -04:00
Matthew McWilliams
3ec1373f08
Caught a possible ancient bug in the loop logic for calculating state of camera and projector backwards movements.
2022-08-07 17:23:06 -04:00
Matt McWilliams
fe61e63e76
Add secondary projector and camera commands to the mscript module
2022-08-04 10:52:00 -04:00
Matt McWilliams
ee0ab663d7
Complete the alert feature. Have not created pause, but this could be done using the same alert object to prevent code duplication.
2022-08-03 09:02:47 -04:00