@@ -150,19 +150,19 @@ enum {
150150};
151151
152152#define STRUT_ROWS (i , bx , by , bz , px , py , pz , bnx , bny , bnz , pnx , pny , pnz ) \
153- { "base." #i ".x", KINS_PARAM_FLOAT , KINS_IN, 0, bx }, \
154- { "base." #i ".y", KINS_PARAM_FLOAT , KINS_IN, 0, by }, \
155- { "base." #i ".z", KINS_PARAM_FLOAT , KINS_IN, 0, bz }, \
156- { "platform." #i ".x", KINS_PARAM_FLOAT , KINS_IN, 0, px }, \
157- { "platform." #i ".y", KINS_PARAM_FLOAT , KINS_IN, 0, py }, \
158- { "platform." #i ".z", KINS_PARAM_FLOAT , KINS_IN, 0, pz }, \
159- { "base-n." #i ".x", KINS_PARAM_FLOAT , KINS_IN, 0, bnx }, \
160- { "base-n." #i ".y", KINS_PARAM_FLOAT , KINS_IN, 0, bny }, \
161- { "base-n." #i ".z", KINS_PARAM_FLOAT , KINS_IN, 0, bnz }, \
162- { "platform-n." #i ".x", KINS_PARAM_FLOAT , KINS_IN, 0, pnx }, \
163- { "platform-n." #i ".y", KINS_PARAM_FLOAT , KINS_IN, 0, pny }, \
164- { "platform-n." #i ".z", KINS_PARAM_FLOAT , KINS_IN, 0, pnz }, \
165- { "correction." #i, KINS_PARAM_FLOAT , KINS_OUT, 0, 0.0 }
153+ { "base." #i ".x", KINS_PARAM_REAL , KINS_IN, 0, {.r=bx} }, \
154+ { "base." #i ".y", KINS_PARAM_REAL , KINS_IN, 0, {.r=by} }, \
155+ { "base." #i ".z", KINS_PARAM_REAL , KINS_IN, 0, {.r=bz} }, \
156+ { "platform." #i ".x", KINS_PARAM_REAL , KINS_IN, 0, {.r=px} }, \
157+ { "platform." #i ".y", KINS_PARAM_REAL , KINS_IN, 0, {.r=py} }, \
158+ { "platform." #i ".z", KINS_PARAM_REAL , KINS_IN, 0, {.r=pz} }, \
159+ { "base-n." #i ".x", KINS_PARAM_REAL , KINS_IN, 0, {.r= bnx} }, \
160+ { "base-n." #i ".y", KINS_PARAM_REAL , KINS_IN, 0, {.r= bny} }, \
161+ { "base-n." #i ".z", KINS_PARAM_REAL , KINS_IN, 0, {.r= bnz} }, \
162+ { "platform-n." #i ".x", KINS_PARAM_REAL , KINS_IN, 0, {.r= pnx} }, \
163+ { "platform-n." #i ".y", KINS_PARAM_REAL , KINS_IN, 0, {.r= pny} }, \
164+ { "platform-n." #i ".z", KINS_PARAM_REAL , KINS_IN, 0, {.r= pnz} }, \
165+ { "correction." #i, KINS_PARAM_REAL , KINS_OUT, 0, {.r= 0.0} }
166166
167167static const kins_param_desc genhex_params [P_COUNT ] = {
168168 STRUT_ROWS (0 , DEFAULT_BASE_0_X , DEFAULT_BASE_0_Y , DEFAULT_BASE_0_Z ,
@@ -189,23 +189,23 @@ static const kins_param_desc genhex_params[P_COUNT] = {
189189 DEFAULT_PLATFORM_5_X , DEFAULT_PLATFORM_5_Y , DEFAULT_PLATFORM_5_Z ,
190190 DEFAULT_BASE_5_NX , DEFAULT_BASE_5_NY , DEFAULT_BASE_5_NZ ,
191191 DEFAULT_PLATFORM_5_NX , DEFAULT_PLATFORM_5_NY , DEFAULT_PLATFORM_5_NZ ),
192- [P_LAST_ITER ] = { "last-iterations" , KINS_PARAM_U32 , KINS_OUT , 0 , 0 },
193- [P_MAX_ITER ] = { "max-iterations" , KINS_PARAM_U32 , KINS_OUT , 0 , 0 },
194- [P_MAX_ERROR ] = { "max-error" , KINS_PARAM_FLOAT , KINS_IN , 0 , 500.0 },
195- [P_CONV_CRITERION ] = { "convergence-criterion" , KINS_PARAM_FLOAT , KINS_IN , 0 , 1e-9 },
196- [P_ITER_LIMIT ] = { "limit-iterations" , KINS_PARAM_U32 , KINS_IN , 0 , 120 },
197- [P_TOOL_OFFSET ] = { "tool-offset" , KINS_PARAM_FLOAT , KINS_IN , 1 , 0.0 },
198- [P_SPINDLE_OFFSET ] = { "spindle-offset" , KINS_PARAM_FLOAT , KINS_IN , 0 , 0.0 },
199- [P_SCREW_LEAD ] = { "screw-lead" , KINS_PARAM_FLOAT , KINS_IN , 0 , DEFAULT_SCREW_LEAD },
192+ [P_LAST_ITER ] = { "last-iterations" , KINS_PARAM_UINT , KINS_OUT , 0 , {. u = 0 } },
193+ [P_MAX_ITER ] = { "max-iterations" , KINS_PARAM_UINT , KINS_OUT , 0 , {. u = 0 } },
194+ [P_MAX_ERROR ] = { "max-error" , KINS_PARAM_REAL , KINS_IN , 0 , {. r = 500.0 } },
195+ [P_CONV_CRITERION ] = { "convergence-criterion" , KINS_PARAM_REAL , KINS_IN , 0 , {. r = 1e-9 } },
196+ [P_ITER_LIMIT ] = { "limit-iterations" , KINS_PARAM_UINT , KINS_IN , 0 , {. u = 120 } },
197+ [P_TOOL_OFFSET ] = { "tool-offset" , KINS_PARAM_REAL , KINS_IN , 1 , {. r = 0.0 } },
198+ [P_SPINDLE_OFFSET ] = { "spindle-offset" , KINS_PARAM_REAL , KINS_IN , 0 , {. r = 0.0 } },
199+ [P_SCREW_LEAD ] = { "screw-lead" , KINS_PARAM_REAL , KINS_IN , 0 , {. r = DEFAULT_SCREW_LEAD } },
200200 // the pose the forward found, for a vismach gui; switchkins provides
201201 // the skgui.* pins for the same purpose
202- [P_GUI_X ] = { "x" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
203- [P_GUI_Y ] = { "y" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
204- [P_GUI_Z ] = { "z" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
205- [P_GUI_A ] = { "a" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
206- [P_GUI_B ] = { "b" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
207- [P_GUI_C ] = { "c" , KINS_PARAM_FLOAT , KINS_OUT , 0 , 0.0 },
208- [P_FWD_FAIL ] = { "fwd-kins-fail" , KINS_PARAM_BIT , KINS_OUT , 0 , 0 },
202+ [P_GUI_X ] = { "x" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
203+ [P_GUI_Y ] = { "y" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
204+ [P_GUI_Z ] = { "z" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
205+ [P_GUI_A ] = { "a" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
206+ [P_GUI_B ] = { "b" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
207+ [P_GUI_C ] = { "c" , KINS_PARAM_REAL , KINS_OUT , 0 , {. r = 0.0 } },
208+ [P_FWD_FAIL ] = { "fwd-kins-fail" , KINS_PARAM_BOOL , KINS_OUT , 0 , {. b = 0 } },
209209};
210210
211211// the most iterations a converged solution has taken this session, kept
0 commit comments