Running servos at the same time

I recently got the Mini Maestro and have some test code running, but I would like to have all of the servos running at one time. right now each servo runs in a sequence at different times. Below is my code. I am pretty new, so what ever insight you have would be great!

### Sequence subroutines: ###

# eyes side to side
sub eyes_side_to_side
  500 5807 7373 6434 6610 0 0 
  0 0 0 0 0 0 frame_0..11 # Frame 0
  500 8000 frame_2 # Frame 1
  500 4985 frame_2 # Frame 2
  500 6434 frame_2 # Frame 3
  #return
# eyes up/down
sub eyes_updown
  500 5807 7373 6414 6610 0 0 
  0 0 0 0 0 0 frame_0..11 # Frame 0
  500 4966 frame_1 # Frame 1
  500 7843 frame_1 # Frame 3
  500 7373 frame_1 # Frame 3
  #return
# left lid
sub left_lid
  500 5807 7373 6395 6943 5494 0 
  0 0 0 0 0 0 frame_0..11 # Frame 0
  500 6434 6903 7549 frame_2..4 # Frame 1
  500 5259 frame_4 # Frame 2
  500 6395 6943 5494 frame_2..4 # Frame 3
  #return
# mouth test
sub mouth_test
  500 5807 7451 6414 6610 0 0 
  0 0 0 0 0 0 frame_0..11 # Frame 0
  500 6121 frame_0 # Frame 1
  500 5788 frame_0 # Frame 2
  500 6160 frame_0 # Frame 3
  500 5807 frame_0 # Frame 4
  #return
# right lid
sub right_lid
  500 5807 7373 6434 6903 0 0 
  0 0 0 0 0 0 frame_0..11 # Frame 0
  500 4907 frame_3 # Frame 1
  500 8000 frame_3 # Frame 2
  500 6903 frame_3 # Frame 3
  #return

sub frame_0..11
  11 servo
  10 servo
  9 servo
  8 servo
  7 servo
  6 servo
  5 servo
  4 servo
  3 servo
  2 servo
  1 servo
  0 servo
  delay
  return

sub frame_2
  2 servo
  delay
  return

sub frame_1
  1 servo
  delay
  return

sub frame_2..4
  4 servo
  3 servo
  2 servo
  delay
  return

sub frame_4
  4 servo
  delay
  return

sub frame_0
  0 servo
  delay
  return

sub frame_3
  3 servo
  delay
  return

Hello.

It looks like most of your testing subroutines start by setting similar starting positions for all servos, then moving a single servo through a short sequence. One thing you could do that does not require additional scripting is to combine the movements inside your subroutines into a single sequence where each frame in the sequencer (after the initial frame sets up the starting positions of all your servos) sets a new target position for all of the servos (instead of each frame advancing the movement of just a single servo while the others remain at their starting position).

Alternatively, you could accomplish the same thing by directly editing the script that the “Copy all Sequences to Script” button generated. However, that would only really be straightforward if you are familiar with the commands in the Maestro scripting language. You can get a good idea of what is involved in that by reading the The Maestro Scripting Language section of the Maestro’s user’s guide, which you can find under the Resources tab of any Mini Maestro product page.

By the way, since you are new to scripting with the Maestro, if you choose to directly edit your script I recommend first focusing on combining servo movements from just two subroutines (e.g. eyes_side_to_side and mouth_test). Then, you can test that script to see if the delays and servo movements are working out as you expect. If that combined subroutine is working how you want, then you can incrementally add in another subroutine, then test again, and repeat until you have a larger, master test sequence that runs all servos through their test positions. If you are having trouble getting the behavior you want, you might try using the “Step Script” button (located at the bottom of the Script tab of the Maestro Control Center) to incrementally move through your script to get a better understanding of what the script is doing. If you are still having trouble, feel free to post the updated script you have tried here, and I would be happy to help.

-Jon