Here is an explanation of the syntax of the mtrfile. Comments inside () is general and not specially related to the line they are on As for this version the mtrfile must have the name "mtrfile" and be placed in the same directory as the program. METERFILE -> Needed as the first word in the file BUTTONDEF -> BUTTONDEF..END surrounds one needlereaction Fall -> This is the name that will show up on the first button 110,120,100 -> Movement from 110 degrees to 120 degrees with a delay of 100 ms/degree 120,70,5 -> Move from 120 degrees to 70 degrees with delay 5 ms/degree (fast) END -> Ends this needlereaction defenition BUTTONDEF -> Next reaction def starts here Rising -> The second button gets the label "Rising" 30,90,100 -> Slowly move from 30 degrees to 90 degrees w 100 ms delay per degree END (Delay values can be from 1 ms to anything) BUTTONDEF -> Start of a more complex needle reaction definition Dirty_Needle -> The third button gets the label "Dirty_Needle" 110,120,100 (Space is not allowed in the button label, use _ instead) 120,90,5 (There may be at most 500 lines like this per needle reaction definition) 90,100,10 (For now ther may be at most 16 needle reaction definitions per mtrfile) 100,70,2 70,120,3 120,80,5 80,110,10 110,70,2 70,130,3 130,90,5 90,110,10 110,80,2 80,120,3 120,90,5 END -> Ends "Dirty_Needle" definition BUTTONDEF -> Start of a more complex needle reaction definition Stage_Four 110,80,70 80,110,70 110,110,5 110,80,70 80,110,70 110,110,5 110,80,70 80,110,70 110,110,5 END EOF -> Ends the definition file, needed as the last word in the file