Allows to change fields of GCODE_PARAMETERS structure from G-code.
G900 has the same meaning as function ToolChainCore_SetGCodeParameters called from application. Application is responsible to correctly get/set parameters changed in G-code by G900.
Depending on address S, the following sub functions are available:
- S 1 [no addresses] => push actual settings
- S 2 [no addresses] => pop actual settings
- S 7 A axis C acc D dec F feed => set limits for an axis
- S 9 A start_angle B end_angle F feed_at_end_angle => decrease speed by mutual angle of two parts
- S 10 [X 0/1] [Y 0/1] [Z 0/1] [C 0/1] [B 0/1] [U 0/1] [V 0/1] [W 0/1] [A 0/1] [O 0/1] => ignore (1)/use (0) specified axis/axes for mutual angle calculation
- S 11 [X 0/1] [Y 0/1] [Z 0/1] [C 0/1] [B 0/1] [U 0/1] [V 0/1] [W 0/1] [A 0/1] [O 0/1] => ignore (1)/use (0) specified axis/axes for traverse feed calculation
- S 12 [A 0/1] [C 0/1] => the following two modes can be combined:
- A 1 if any axis with ignored mutual angle (
G900 S 10...
) starts movement, stop or slow down between parts (down to feed in G900 S 9 ... F ...
). Set A 0 to disable.
- C 1 if any axis with ignored mutual angle (
G900 S 10...
) changes its movement direction, stop or slow down between parts. Set C 0 to disable.
- Addresses A and C are optional, if not used, the previous behaviour is kept.
- The functions
G900 S 10
, G900 S 11
and G900 S 12
are usually used for virtual axes.
- S 13 D 0/1 => use (0)/disable(1) arc feed table (GCODE_PARAMETERS::arcFeedTable)
- S 20 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for G0 fast traverse movement
- S 30 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for START_CNC_FORWARD mode
- S 31 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for START_CNC_FORWARD_NO_MFUNC mode
- S 32 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for START_CNC_BACKWARD mode
- S 41 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for START_CNC_CONNECT_MOVE mode
- S 50 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for START_CNC_GOTO_POSITION mode
- S 60 D dec => set deceleration for normal stop (always trapezoid)
- S 70 D dec => set deceleration for emergency stop (always trapezoid)