Looking to Hire a software engineer for coding help

I am an artist in New York and have been developing a “Flag Waver” machine. Here is a link to a video of the first prototype. https://vimeo.com/168350673. We are using the Mini Maestro 12 channel servo controller. We have the following two issues. Hopefully there is someone out there who would be willing to take this project on and help us cross the finish line. If that might be you, please reach out to dan@danielwurtzel.com

Limit Switches:
We have the limit switches working and sending signals to Channel 2 on the Mini Maestro 18; we are seeing a 255 signal when the switch is not activated and a 0 signal when the switch is activated. What I can’t figure out his how to get the switches integrated into the script.
The basic concept is there is a swinging arm being driven by a brushless motor and electronic speed control; we are sending the ESC PWM signals to run the motor. We have a limit switch on the maximum point of travel at both sides of the arm (the switches are wired together in parallel and both running to the same channel). What I need help with is figuring out the script code: We need the Maestro to send out a 1500µs signal to Channel 1 when either switch is activated on Channel 2. This will cause the ESC to go to neutral and stop moving the arm. We then need it to continue with the script for Channel 1 which would be in the opposite direction of the switch. Any help or insight on how to achieve this in the script code this would be greatly appreciated.

Scripts versus Sequence:
My second question is about the scripts versus sequence. We were under the assumption that the sequences would run a series of scripts; we were hope to create a series of scripts for a specific action then string these together in a sequence. But this doesn’t appear to be the case. From what I’ve been reading is you load the script (which has a limit amount of memory) and simply run the script. The problem is we need to run longer than the memory on a single script allows. If we had multiple scripts we would have to load them one at a time, run one, load the second and then run the second. Is this accurate or am I missing something?

Hello.

The sequencer only offers very basic control of servo positions, and it does not handle inputs or any of the other nuances of the scripting language. For you application, you should be using a script. You can create subroutines in the script that are specific actions, then call a series of subroutines from your main BEGIN/REPEAT loop.

The maximum length of a particular script is dependent on the complexity of the script and how well written it is. You can find more information about this in the “Compressing the sequence” heading of the Example Scripts section of the user’s guide.

Since you are unfamiliar with Maestro scripts, I suggest breaking it down into small parts and handling one thing at a time. From your description of what you want, it sounds like a good place to start would be a simple subroutine that waits in a while loop until the limit switch is triggered, then sets the target position to 1500us before returning back to your main loop. If you give this a try and run into any problems or questions, I would be happy to help.

-Jon