From be98c57bd64b4015a223d5bf97f6785c805a22a5 Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Sat, 27 Aug 2016 23:20:23 -0700 Subject: [PATCH] Initialize structs --- src/command.c | 2 +- src/hardware.c | 2 +- src/homing.c | 8 ++++---- src/huanyang.c | 2 +- src/machine.c | 11 +++++------ src/machine.h | 2 -- src/plan/arc.c | 16 +++++++--------- src/plan/calibrate.c | 4 ++-- src/plan/exec.c | 2 +- src/plan/line.c | 4 ++-- src/plan/planner.c | 4 ++-- src/probing.c | 4 ++-- src/stepper.c | 2 +- src/tmc2660.c | 2 +- 14 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/command.c b/src/command.c index 21c4679..9fe4ef1 100644 --- a/src/command.c +++ b/src/command.c @@ -160,7 +160,7 @@ int command_parser(char *cmd) { // Parse line char *p = cmd + 1; // Skip `$` int argc = 0; - char *argv[MAX_ARGS] = {}; + char *argv[MAX_ARGS] = {0}; if (cmd[1] == '$' && !cmd[2]) { report_request_full(); // Full report diff --git a/src/hardware.c b/src/hardware.c index f920a6f..d31a382 100644 --- a/src/hardware.c +++ b/src/hardware.c @@ -47,7 +47,7 @@ typedef struct { bool bootloader; // flag to enter the bootloader } hw_t; -static hw_t hw = {}; +static hw_t hw = {{0}}; #define PROD_SIGS (*(NVM_PROD_SIGNATURES_t *)0x0000) diff --git a/src/homing.c b/src/homing.c index 30e55da..ff02ae9 100644 --- a/src/homing.c +++ b/src/homing.c @@ -46,7 +46,7 @@ typedef void (*homing_func_t)(int8_t axis); static void _homing_axis_start(int8_t axis); -typedef enum { // applies to mach.homing_state +typedef enum { HOMING_NOT_HOMED, // machine is not homed HOMING_HOMED, // machine is homed HOMING_WAITING, // machine waiting to be homed @@ -94,7 +94,7 @@ struct hmHomingSingleton { }; -static struct hmHomingSingleton hm = {0,}; +static struct hmHomingSingleton hm = {0}; // G28.2 homing cycle @@ -201,8 +201,8 @@ static void _homing_error_exit(stat_t status) { /// helper that actually executes the above moves static void _homing_axis_move(int8_t axis, float target, float velocity) { - float vect[] = {}; - float flags[] = {}; + float vect[AXES] = {0}; + float flags[AXES] = {0}; vect[axis] = target; flags[axis] = true; diff --git a/src/huanyang.c b/src/huanyang.c index 7ec6708..7c3e518 100644 --- a/src/huanyang.c +++ b/src/huanyang.c @@ -132,7 +132,7 @@ typedef struct { } huanyang_t; -static huanyang_t ha = {}; +static huanyang_t ha = {0}; #define CTRL_STATUS_RESPONSE(R) ((uint16_t)R[4] << 8 | R[5]) diff --git a/src/machine.c b/src/machine.c index 2d5846a..8b86bf5 100644 --- a/src/machine.c +++ b/src/machine.c @@ -271,8 +271,7 @@ void mach_set_axis_jerk(uint8_t axis, float jerk) { * * Functions to get, set and report coordinate systems and work offsets * These functions are not part of the NIST defined functions - */ -/* + * * Notes on Coordinate System and Offset functions * * All positional information in the machine is kept as @@ -482,7 +481,7 @@ void mach_calc_move_time(const float axis_length[], const float axis_square[]) { } } - for (uint8_t axis = 0; axis < AXES; axis++) { + for (int axis = 0; axis < AXES; axis++) { if (mach.gm.motion_mode == MOTION_MODE_STRAIGHT_TRAVERSE) tmp_time = fabs(axis_length[axis]) / mach.a[axis].velocity_max; @@ -605,8 +604,8 @@ stat_t mach_test_soft_limits(float target[]) { void machine_init() { // Init 1/jerk - for (uint8_t axis = 0; axis < AXES; axis++) - mach.a[axis].recip_jerk = 1 / (mach.a[axis].jerk_max * JERK_MULTIPLIER); + for (int axis = 0; axis < AXES; axis++) + mach_set_axis_jerk(axis, mach.a[axis].jerk_max); // Set gcode defaults mach_set_units_mode(GCODE_DEFAULT_UNITS); @@ -1130,7 +1129,7 @@ void mach_pallet_change_stop() { /// M2, M30 void mach_program_end() { - float value[AXES] = {}; + float value[AXES] = {0}; mp_queue_command(_exec_program_end, value, value); } diff --git a/src/machine.h b/src/machine.h index 4be3355..4c5d33f 100644 --- a/src/machine.h +++ b/src/machine.h @@ -308,8 +308,6 @@ typedef struct { // struct to manage mach globals and cycles float g30_position[AXES]; // stored machine position for G30 AxisConfig_t a[AXES]; // settings for axes - - // Model states MoveState_t ms; GCodeState_t gm; // core gcode model state GCodeState_t gn; // gcode input values diff --git a/src/plan/arc.c b/src/plan/arc.c index c4c6bfc..e97398d 100644 --- a/src/plan/arc.c +++ b/src/plan/arc.c @@ -77,7 +77,7 @@ typedef struct arArcSingleton { // persistent planner and runtime variables MoveState_t ms; } arc_t; -arc_t arc = {}; +arc_t arc = {0}; /* Returns a naive estimate of arc execution time to inform segment @@ -101,15 +101,15 @@ static void _estimate_arc_time() { } else arc.arc_time = arc.length / mach.gm.feed_rate; // Downgrade the time if there is a rate-limiting axis - arc.arc_time = - max(arc.arc_time, arc.planar_travel/mach.a[arc.plane_axis_0].feedrate_max); - arc.arc_time = - max(arc.arc_time, arc.planar_travel/mach.a[arc.plane_axis_1].feedrate_max); + arc.arc_time = max(arc.arc_time, + arc.planar_travel / mach.a[arc.plane_axis_0].feedrate_max); + arc.arc_time = max(arc.arc_time, + arc.planar_travel / mach.a[arc.plane_axis_1].feedrate_max); if (0 < fabs(arc.linear_travel)) arc.arc_time = max(arc.arc_time, - fabs(arc.linear_travel/mach.a[arc.linear_axis].feedrate_max)); + fabs(arc.linear_travel / mach.a[arc.linear_axis].feedrate_max)); } @@ -498,6 +498,4 @@ bool mach_arc_active() {return arc.run_state != MOVE_OFF;} /// Stop arc movement without maintaining position /// OK to call if no arc is running -void mach_abort_arc() { - arc.run_state = MOVE_OFF; -} +void mach_abort_arc() {arc.run_state = MOVE_OFF;} diff --git a/src/plan/calibrate.c b/src/plan/calibrate.c index 01a9577..9346b9d 100644 --- a/src/plan/calibrate.c +++ b/src/plan/calibrate.c @@ -73,7 +73,7 @@ typedef struct { uint16_t stallguard; } calibrate_t; -static calibrate_t cal = {}; +static calibrate_t cal = {0}; static stat_t _exec_calibrate(mpBuf_t *bf) { @@ -130,7 +130,7 @@ static stat_t _exec_calibrate(mpBuf_t *bf) { if (!cal.velocity) return STAT_OK; // Compute travel - float travel[AXES] = {}; // In mm + float travel[AXES] = {0}; // In mm travel[cal.axis] = time * cal.velocity * (cal.reverse ? -1 : 1); // Convert to steps diff --git a/src/plan/exec.c b/src/plan/exec.c index 984120f..9be4d7d 100644 --- a/src/plan/exec.c +++ b/src/plan/exec.c @@ -743,7 +743,7 @@ stat_t mp_exec_aline(mpBuf_t *bf) { copy_vector(mr.final_target, bf->ms.target); // save move final target // generate the waypoints for position correction at section ends - for (uint8_t axis = 0; axis < AXES; axis++) { + for (int axis = 0; axis < AXES; axis++) { mr.waypoint[SECTION_HEAD][axis] = mr.position[axis] + mr.unit[axis] * mr.head_length; diff --git a/src/plan/line.c b/src/plan/line.c index 44130ba..1b65a24 100644 --- a/src/plan/line.c +++ b/src/plan/line.c @@ -51,7 +51,7 @@ typedef struct mpMoveMasterSingleton { } mpMoveMasterSingleton_t; -mpMoveMasterSingleton_t mm = {}; // context for line planning +mpMoveMasterSingleton_t mm = {{0}}; // context for line planning /// Set planner position for a single axis @@ -187,7 +187,7 @@ stat_t mp_aline(MoveState_t *ms) { float axis_square[AXES]; float length_square = 0; - for (uint8_t axis = 0; axis < AXES; axis++) { + for (int axis = 0; axis < AXES; axis++) { axis_length[axis] = ms->target[axis] - mm.position[axis]; axis_square[axis] = square(axis_length[axis]); length_square += axis_square[axis]; diff --git a/src/plan/planner.c b/src/plan/planner.c index 0e8981f..ea21eab 100644 --- a/src/plan/planner.c +++ b/src/plan/planner.c @@ -71,7 +71,7 @@ #include -mpMoveRuntimeSingleton_t mr = {}; // context for line runtime +mpMoveRuntimeSingleton_t mr = {0}; // context for line runtime void planner_init() { @@ -128,7 +128,7 @@ void mp_set_steps_to_runtime_position() { // convert lengths to steps in floating point mp_kinematics(mr.position, step_position); - for (uint8_t motor = 0; motor < MOTORS; motor++) { + for (int motor = 0; motor < MOTORS; motor++) { mr.target_steps[motor] = step_position[motor]; mr.position_steps[motor] = step_position[motor]; mr.commanded_steps[motor] = step_position[motor]; diff --git a/src/probing.c b/src/probing.c index e035e39..f372155 100644 --- a/src/probing.c +++ b/src/probing.c @@ -45,7 +45,7 @@ #define MINIMUM_PROBE_TRAVEL 0.254 -typedef enum { // applies to mach.probe_state +typedef enum { PROBE_FAILED, // probe reached endpoint without triggering PROBE_SUCCEEDED, // probe was triggered, pb.results has position PROBE_WAITING, // probe is waiting to be started @@ -70,7 +70,7 @@ struct pbProbingSingleton { // persistent probing runtime variables }; -static struct pbProbingSingleton pb = {0,}; +static struct pbProbingSingleton pb = {0}; /* Note: When coding a cycle (like this one) you get to perform one diff --git a/src/stepper.c b/src/stepper.c index 8118fa1..8518ea0 100644 --- a/src/stepper.c +++ b/src/stepper.c @@ -58,7 +58,7 @@ typedef struct { } stepper_t; -static stepper_t st = {}; +static stepper_t st = {0}; void stepper_init() { diff --git a/src/tmc2660.c b/src/tmc2660.c index 9bc92d7..55c2523 100644 --- a/src/tmc2660.c +++ b/src/tmc2660.c @@ -89,7 +89,7 @@ typedef struct { volatile uint32_t in; } spi_t; -static spi_t spi = {}; +static spi_t spi = {0}; -- 2.27.0