This is a beta update for HandyControl V0.12.0 beta1
I am currently working on a new feature called Sequencer.
It should allow easy async script creation with help of Excel, Google Sheets or any other spreadsheet app that can export to a .csv file.
This release is for everyone who is curious and want to help with testing.
I will be off a week from sunday on so you have some time to play with it and report back
It would be nice if you could send me some patterns so I have more to test. @Schorsche
The patterns that are created in the file are a first step towards a larger goal.
Those patterns should be used later in HandyControl to create lager random sequences from multiple patterns, image slideshows, button events and more.
Pattern: Test C
Sequencer1249471.csv (8.4 KB)
Pattern: Test D
Sequencer135790.csv (2.2 KB)
How it works
You can use the Excel template in the download folder to create a .csv file or build the same structure in Google Sheets as seen on the image. There is no formula in the sheet.
The Sequencer supports either ,
or ;
as separator so you dont have to care about the language setting.
The csv file will look like this.
Empty lines ;;;;;;;;
can be used anywhere below the header. They are ignored during import.
The header must not be changed or the file is flagged as invalid.
Always necessary
pattern: A name for the pattern
variant: A name for the variant - Used later for random generation
Pattern Type 1: Can contain normal script sequences
time: Timestamp in milliseconds
position: Position in % 0-100
All other columns can be left empty.
Pattern Type 2: Sequence created from speed and stroke
time: Duration in milliseconds
position: Must be left empty!
speed_1: Speed at t=0
speed_2: Speed at t=duration
stroke_1L: Lower Stroke position at t=0
stroke_1U: Upper Stroke position at t=0
stroke_2L: Lower Stroke position at t=duration
stroke_2U: Upper Stroke position at t=duration
Speed minimum and stroke difference minimum = 10%
The interface with its default settings on the main page is only build to provide a fast testing. The final implementation will look different. You can drop the csv file on the app or use the script settings to link the file.
To load a sequence enter the pattern name and variant. If you leave variant empty then a random variant from the pattern is selected. Press the Load lib button every time you make changes to the csv file.
Create will then build the sequence which can be used as a normal script.
Sequence Creation Hints
A single line of Pattern Type 2 will always start at 0ms and end at the given duration. The actual speed is minimal adjusted so the last timestamp is always matching the exact duration. So a duration of 30000ms will end at 30000ms.
The first timestamp of the following line is merged with the last timestamp from the previous line.
Short durations with slow speed will not work. The more strokes you have in a line the better the result.
Maybe I can improve that later when I find a formula to predict the next timestamp
The speed percentage is the speed within the defined stroke range (U/L).
So if you dont change the speed but decrease the stroke range then the movement will be faster.
100% is 400mm/s (Handy Maximum). I could easily adapt to other toys speed if someone is interested in that. It would be only a setting.
ToDo list
Creating an x seconds pause
Adding other functions. Currently its only a linear speed & stroke increase & decrease.