summaryrefslogtreecommitdiff
path: root/src/emc/rs274ngc/interp_setup.cc
blob: e914c93baeaef86c8d7469b7ec030e83930e3d32 (plain)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#include <string.h>
#include "rs274ngc_interp.hh"

setup_struct::setup_struct() :
    AA_axis_offset(0.0),
    AA_current(0.0),
    AA_origin_offset(0.0),
    BB_axis_offset(0.0),
    BB_current(0.0),
    BB_origin_offset(0.0),
    CC_axis_offset(0.0),
    CC_current(0.0),
    CC_origin_offset(0.0),

    u_axis_offset(0.0),
    u_current(0.0),
    u_origin_offset(0.0),

    v_axis_offset(0.0),
    v_current(0.0),
    v_origin_offset(0.0),

    w_axis_offset(0.0),
    w_current(0.0),
    w_origin_offset(0.0),

    arc_not_allowed(0),

    axis_offset_x(0.0),
    axis_offset_y(0.0),
    axis_offset_z(0.0),

    /* blocks(), */
    remap_level(0),
    control_mode(0),
    current_pocket(0),

    current_x (0.0),
    current_y (0.0),
    current_z (0.0),
    cutter_comp_radius (0.0),
    cutter_comp_orientation(0),
    cutter_comp_side(0),
    cycle_cc (0.0),
    cycle_i (0.0),
    cycle_j (0.0),
    cycle_k (0.0),
    cycle_l(0),
    cycle_p (0.0),
    cycle_q (0.0),
    cycle_r (0.0),
    cycle_il (0.0),
    cycle_il_flag(0),
    distance_mode(MODE_ABSOLUTE),

    ijk_distance_mode(MODE_ABSOLUTE),
    feed_mode(0),
    feed_override(0),
    feed_rate (0.0),
    file_pointer(NULL),
    flood(0),
    length_units(0),
    line_length(0),
    mist(0),
    motion_mode(0),
    origin_index(0),
    origin_offset_x (0.0),
    origin_offset_y (0.0),
    origin_offset_z (0.0),
    rotation_xy (0.0),

    parameter_occurrence(0),
    named_parameter_occurrence(0),
    percent_flag(0),
    plane(0),
    probe_flag(0),
    input_flag(0),
    toolchange_flag(0),
    input_index(0),
    input_digital(0),
    cutter_comp_firstmove(0),
    program_x (0.0),
    program_y (0.0),
    program_z (0.0),
    retract_mode(R_PLANE),
    random_toolchanger(0),
    selected_pocket(0),
    selected_tool(0),
    sequence_number(0),
    speed (0.0),
    spindle_mode(CONSTANT_RPM),
    speed_feed_mode(0),
    speed_override(0),
    spindle_turning(0),
    stack_index(0),
    pockets_max(0),
    traverse_rate (0.0),
    orient_offset (0.0),

    defining_sub(0),
    sub_name(NULL),
    doing_continue(0),
    doing_break(0),
    executed_if(0),

    skipping_o(NULL),
    skipping_to_sub(NULL),
    skipping_start(0),
    test_value (0.0),
    return_value (0.0),
    value_returned(0),
    call_level(0),
    call_state(0),
    adaptive_feed(0),
    feed_hold(0),
    loggingLevel(0),
    debugmask(0),
    use_lazy_close(0),
    lazy_closing(0),
    tool_change_at_g30(0),
    tool_change_quill_up(0),
    tool_change_with_spindle_on(0),
    a_axis_wrapped(0),
    b_axis_wrapped(0),
    c_axis_wrapped(0),

    a_indexer(0),
    b_indexer(0),
    c_indexer(0),

    lathe_diameter_mode(0),
    mdi_interrupt(0),
    feature_set(0),
    on_abort_command(NULL),
    init_once(0)
{
    memset(active_g_codes, 0, sizeof(active_g_codes));
    memset(active_m_codes, 0, sizeof(active_m_codes));
    memset(active_settings, 0, sizeof(active_settings));
    memset(blocktext, 0, sizeof(blocktext));
    memset(filename, 0, sizeof(filename));
    memset(linetext, 0, sizeof(linetext));
    memset(parameters, 0, sizeof(parameters));
    memset(named_parameters, 0, sizeof(named_parameters));
    memset(named_parameter_values, 0, sizeof(named_parameter_values));
    memset(stack, 0, sizeof(stack));
    memset(subroutines, 0, sizeof(subroutines));
    memset(log_file, 0, sizeof(log_file));
    memset(program_prefix, 0, sizeof(program_prefix));
    memset(wizard_root, 0, sizeof(wizard_root));
    memset(tool_table, 0, sizeof(tool_table));
    ZERO_EMC_POSE(tool_offset);

    // not sure about sub_context:
    // a plain array of a struct with non-POD data?

    // these are non-POD, I assume these are default-constructed:
    // offset_map
    // pythis
    // g_remapped,m_remapped
    // remaps
}