-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathNMXCommander_help.txt
More file actions
94 lines (58 loc) · 4.81 KB
/
Copy pathNMXCommander_help.txt
File metadata and controls
94 lines (58 loc) · 4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
******** Disclaimer ********
THIS TOOL IS INTENDED FOR DEVELOPMENT PURPOSES BY ADVANCED USERS ONLY. DYNAMIC PERCEPTION ACCEPTS NO RESPONSIBILITY FOR
DAMAGE OR INJURY CAUSED BY THE IMPROPER USE OF THIS SOFTWARE. USERS SHOULD HAVE A SOUND UNDERSTANDING OF STEPPER MOTORS
AND PRINCIPLES OF MICROSTEPPING DRIVERS BEFORE USING THIS TOOL.
******** NMX Commander Overview ********
This command line tool allows you to manually send single instructions to the NMX controller.
This is done by giving input with the following syntax:
Non-motor commands -- [COMMAND TYPE].[COMMAND NAME] [DATA (if required)]
Motor commands -- m.[COMMAND NAME] [MOTOR #] [DATA (if required)]
Non-motor command types include g (general), c (camera), and k (key frame)
When specifying the motor number for motor commands, counting starts at 0 (i.e. valid motor #s are 0, 1, 2)
Commands may also be executed from scripts by passing the commands as arguments with the following syntax:
NMXCommander-[version].jar [COM PORT NUMBER] [NMX ADDRESS] [COMMAND TYPE].[COMMAND NAME] [MOTOR # (if required)] [DATA (if required)]
A full one-time execution should look something like this:
NMXCommander-[version].jar 32 m.sendTo 0 15000
******** NMX Commander Configuration Commands ********
NOTE: These commands do not take a prefix (e.g. g., m., etc)
* outputAddress [ADDR # optional argument] -- without optional parameter, reports the current command address. With the
optional parameter, sets the address to which the command will be sent. This is 3 by default and should not be changed unless
you have manually reassigned the address of one or more of your controllers. !!!Sending commands to an incorrect address will
cause you lots of headaches!!!
* commandDetail [0/1 optional argument] -- without optional parameter, reports whether commandDetail is enabled. With the
optional parameter, sets commandDetail enabled. If true, NMX Commander will print the command name and any additional data
output to the NMX
* serialDetail [0/1 optional argument] -- without optional parameter, reports whether serialDetail is enabled. With the
optional parameter, sets serialDetail enabled. If true, NMX Commander will print the raw packet received from the NMX for
each command
* responseTimout [TIMEOUT optional argument] -- without optional parameter, reports current response timeout in milliseconds
With optional parameter, sets timeout length. If you find that you encounter a situation where you are getting many timeouts that
are not causing problems (e.g. you don't care about the response contents, but the command seems to be executing properly), you
may want to shorten the timeout in order to increase command throughput.
******** Other Useful Commands ********
* help -- prints this information again
* [COMMAND TYPE].[COMMAND NAME] -h -- prints command-specific help
* list [COMMAND TYPE] -- lists all commands of that type
* find [COMMAND TYPE].[SEARCH TERM] -- returns all commands of that type containing the search term
* repeat [N] [COMMAND TYPE].[COMMAND NAME] -- repeats the given command N times
* runMacro [PATH] -- runs a command macro list from a text file. Type runMacro without arguments
for macro file syntax
* exit -- closes the serial port and exits the application
******** Command as Program Argument (One-Shot Mode) ********
Commands may be executed directly from the command terminal or a batch script by passing the desired command as arguments, using
the following syntax:
NMXCommander-[version].jar [COM PORT NUMBER] [COMMAND TYPE].[COMMAND NAME] [MOTOR # (if required)] [DATA (if required)]
You may remind yourself of the syntax by running the program with --help or -h as arguments.
******** Some Important Tips ********
* A boolean (true/false) value is indicated by a data value of 0 or 1. For example, the command to enable the camera
would be c.setEnable 1.
* Valid microstep settings are 4, 8, and 16. The NMX does not use full or half steps in order to reduce vibration.
* The controller accepts and returns step counts that correspond to relevant motor's current microstep setting.
If the NMX reports a motor position of 500 when the microstep setting is 4, it will report 1000 when the microstep
setting is 8, and 2000 when the microstep setting is 16 (as long as the motor doesn't move). Same deal if you
command a motor to move somewhere. If you command a move of 10000 steps when in quarter stepping mode (i.e. microstep
setting = 4), it will go twice as far as when in eighth stepping mode (i.e. microstep setting = 8).
BE CAREFUL ABOUT THIS! If you accidentally send your rig two or four times as far as you intended, you can break
your valuable equipment!
* If you try to send a motor to a position and it either does not move or does not go all the way to where you sent it,
try running the command m.resetLimits [MOTOR #] to clear any end limits that may be restricting movement.