Skip to content

Instantly share code, notes, and snippets.

@ViennaMike
Created June 22, 2020 03:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ViennaMike/b714fc2c9b7eaaaaff952175536a4942 to your computer and use it in GitHub Desktop.
Save ViennaMike/b714fc2c9b7eaaaaff952175536a4942 to your computer and use it in GitHub Desktop.
The Maestro Servo Controller script file to control the skull movements (nod, tilt, turn, eye movement) for the Alexa Yorick project (https://www.mcgurrin.info/robots/409/)
begin
9 get_position # get the value of the red trigger, 0-255
155 greater_than # test whether it is greater than 155 -> 1 if true, 0 if false
if
wake
750 delay
1 # flag for getting out of loop
begin
dup
while
9 get_position
10 get_position
plus
300 greater_than
if
think
else
9 get_position
155 greater_than
if
answer
else
10 get_position
155 greater_than
if
listen
else
Rest
1 minus
endif
endif
endif
repeat
endif
repeat
### Sequence subroutines: ###
# Answer
sub Answer
500 384 4613 4811 6172 0 6253
0 0 0 0 frame_0..8_11 # Frame 0
500 6054 5193 frame_2_5 # Frame 1
500 7293 4032 frame_2_5 # Frame 2
500 5923 4920 frame_2_5 # Frame 3
1000 5695 6065 frame_3_5 # Frame 4
500 4595 frame_5 # Frame 5
500 6075 6075 frame_1_3 # Frame 6
500 4705 frame_1 # Frame 7
1000 4613 6172 4920 frame_1_3_5 # Frame 3
500 5695 6065 frame_3_5 # Frame 4
1000 4595 frame_5 # Frame 5
500 6075 6075 frame_1_3 # Frame 6
1000 4705 frame_1 # Frame 7
return
# Listen
sub Listen
1500 384 4476 6532 5486 0 4373
6000 0 0 0 frame_0..8_11 # Frame 2
500 6334 6306 frame_2_3 # Frame 3
return
# Rest
sub Rest
500 384 7354 5892 5978 0 5860
0 0 0 0 frame_0..8_11 # Frame 0
return
# Think
sub Think
1000 384 5435 5892 5344 0 5193
0 0 0 0 frame_0..8_11 # Frame 0
1000 6687 frame_3 # Frame 1
500 6288 5978 frame_1_3 # Frame 2
500 6608 frame_1 # Frame 9
500 4948 5860 frame_1_5 # Frame 10
500 6608 5193 frame_1_5 # Frame 9
500 4948 5860 frame_1_5 # Frame 10
500 6608 5193 frame_1_5 # Frame 9
500 4948 5860 frame_1_5 # Frame 10
return
# Wake
sub Wake
500 384 5101 5920 6148 0 4664
6000 0 0 0 frame_0..8_11 # Frame 1
return
sub frame_0..8_11
11 servo
8 servo
7 servo
6 servo
5 servo
4 servo
3 servo
2 servo
1 servo
0 servo
delay
return
sub frame_2_5
5 servo
2 servo
delay
return
sub frame_3_5
5 servo
3 servo
delay
return
sub frame_5
5 servo
delay
return
sub frame_1_3
3 servo
1 servo
delay
return
sub frame_1
1 servo
delay
return
sub frame_1_3_5
5 servo
3 servo
1 servo
delay
return
sub frame_2_3
3 servo
2 servo
delay
return
sub frame_3
3 servo
delay
return
sub frame_1_5
5 servo
1 servo
delay
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment