clinton/Smoothieware.git
10 years agoConsistently use seconds (mm/s, mm/s^2, steps/s, etc) internally, instead of switchin...
Michael Moon [Fri, 24 Jan 2014 05:53:16 +0000 (16:53 +1100)]
Consistently use seconds (mm/s, mm/s^2, steps/s, etc) internally, instead of switching between minutes and seconds arbitrarily

10 years agoRobot: feed correct positions to actuators when reset_axis_position is called
Michael Moon [Fri, 24 Jan 2014 05:50:20 +0000 (16:50 +1100)]
Robot: feed correct positions to actuators when reset_axis_position is called

10 years agoPin: code cleanup, no functionality changes
Michael Moon [Fri, 24 Jan 2014 02:42:44 +0000 (13:42 +1100)]
Pin: code cleanup, no functionality changes

10 years agoStepperMotor: just shifting things around
Michael Moon [Fri, 24 Jan 2014 02:42:27 +0000 (13:42 +1100)]
StepperMotor: just shifting things around

10 years agoRobot,StepperMotor: per-actuator speed limits
Michael Moon [Fri, 24 Jan 2014 02:42:05 +0000 (13:42 +1100)]
Robot,StepperMotor: per-actuator speed limits

10 years agoPlanner: accept unit vector instead of axis deltas
Michael Moon [Fri, 24 Jan 2014 02:36:30 +0000 (13:36 +1100)]
Planner: accept unit vector instead of axis deltas

10 years agoPin: built-in copy ctor is adequate
Michael Moon [Thu, 23 Jan 2014 23:05:36 +0000 (10:05 +1100)]
Pin: built-in copy ctor is adequate

10 years agoStepperMotor has its own Pins. Copy data into them, and use accessor methods rather...
Michael Moon [Thu, 23 Jan 2014 22:56:23 +0000 (09:56 +1100)]
StepperMotor has its own Pins. Copy data into them, and use accessor methods rather than reaching in and touching directly

10 years agoPlanner: steps is a delta, not absolute!
Michael Moon [Thu, 23 Jan 2014 22:55:14 +0000 (09:55 +1100)]
Planner: steps is a delta, not absolute!

10 years agoStepperMotor, Planner: fix a couple of potential rounding errors
Michael Moon [Thu, 23 Jan 2014 06:30:14 +0000 (17:30 +1100)]
StepperMotor, Planner: fix a couple of potential rounding errors

10 years agoRobot: remember to grab steps_per_mm from config
Michael Moon [Thu, 23 Jan 2014 06:29:54 +0000 (17:29 +1100)]
Robot: remember to grab steps_per_mm from config

10 years agoArm Solutions: rename fields to reflect appropriate function
Michael Moon [Thu, 23 Jan 2014 06:29:13 +0000 (17:29 +1100)]
Arm Solutions: rename fields to reflect appropriate function

10 years agoMove most handling of steps from arm_solution,Robot,Planner to StepperMotor
Michael Moon [Thu, 23 Jan 2014 06:05:20 +0000 (17:05 +1100)]
Move most handling of steps from arm_solution,Robot,Planner to StepperMotor

10 years agoMerge pull request #318 from wolfmanjm/feature/parse-pycam-gcode
Jim Morris [Mon, 20 Jan 2014 22:45:49 +0000 (14:45 -0800)]
Merge pull request #318 from wolfmanjm/feature/parse-pycam-gcode

Feature/parse pycam gcode

10 years agoFinish handling Pycam style gcode files
Jim Morris [Mon, 20 Jan 2014 22:40:15 +0000 (14:40 -0800)]
Finish handling Pycam style gcode files

10 years agoImplement parsing of standalone X Y Z or F as per pycam gcode
Jim Morris [Mon, 20 Jan 2014 10:24:54 +0000 (02:24 -0800)]
Implement parsing of standalone X Y Z or F as per pycam gcode
clean up some double/float constants

10 years agoUpdate config
Jim Morris [Sun, 19 Jan 2014 22:21:57 +0000 (14:21 -0800)]
Update config

10 years agoUpdate config
Jim Morris [Sun, 19 Jan 2014 22:21:24 +0000 (14:21 -0800)]
Update config

10 years agoMerge branch 'feature/Pauser_stall_queue' into edge
Michael Moon [Sun, 19 Jan 2014 08:28:27 +0000 (19:28 +1100)]
Merge branch 'feature/Pauser_stall_queue' into edge

should address issue #314

10 years agoPauser: take block during on_block_begin to correctly stall queue while paused origin/feature/Pauser_stall_queue
Michael Moon [Sun, 19 Jan 2014 08:20:30 +0000 (19:20 +1100)]
Pauser: take block during on_block_begin to correctly stall queue while paused

10 years agoMerge branch 'feature/ActionQueue_redux' into edge
Michael Moon [Sun, 19 Jan 2014 07:51:30 +0000 (18:51 +1100)]
Merge branch 'feature/ActionQueue_redux' into edge

10 years agoMerge branch 'fix/USBMSD_report_error_no_sdcard' into edge
Michael Moon [Sun, 19 Jan 2014 07:51:19 +0000 (18:51 +1100)]
Merge branch 'fix/USBMSD_report_error_no_sdcard' into edge

10 years agoFound an error state which doesn't cause linux to spam usb resets
Michael Moon [Sun, 19 Jan 2014 06:24:27 +0000 (17:24 +1100)]
Found an error state which doesn't cause linux to spam usb resets

10 years agoUSBMSD: Report "Not Ready: Medium Not Present" to host if SDCard fails to initialise
Michael Moon [Sun, 19 Jan 2014 04:33:02 +0000 (15:33 +1100)]
USBMSD: Report "Not Ready: Medium Not Present" to host if SDCard fails to initialise

10 years agoPlanner: get previous_nominal_speed from the queue instead of cacheing origin/feature/ActionQueue_redux
Michael Moon [Fri, 17 Jan 2014 23:24:42 +0000 (10:24 +1100)]
Planner: get previous_nominal_speed from the queue instead of cacheing

10 years agoMisc cleanups: turns out, conveyor can quite happily wait for the queue by itself...
Michael Moon [Fri, 17 Jan 2014 11:30:22 +0000 (22:30 +1100)]
Misc cleanups: turns out, conveyor can quite happily wait for the queue by itself, we don't need to tell it to. Also switch is_queue_empty() for queue->is_empty()

10 years agoConveyor: add verbose commentary
Michael Moon [Fri, 17 Jan 2014 11:23:39 +0000 (22:23 +1100)]
Conveyor: add verbose commentary

10 years agoPlanner: make comments around recalculate() even more verbose
Michael Moon [Fri, 17 Jan 2014 11:05:19 +0000 (22:05 +1100)]
Planner: make comments around recalculate() even more verbose

10 years agoPlanner: these TODOs are DONE! See Block::calculate_trapezoid() and Block::max_exit_s...
Michael Moon [Fri, 17 Jan 2014 11:01:46 +0000 (22:01 +1100)]
Planner: these TODOs are DONE! See Block::calculate_trapezoid() and Block::max_exit_speed() implementations for details

10 years agoConveyor: check for queue start conditions in main loop instead of on_idle
Michael Moon [Fri, 17 Jan 2014 10:33:17 +0000 (21:33 +1100)]
Conveyor: check for queue start conditions in main loop instead of on_idle

10 years agoConveyor: use correct tail in ensure_running()
Michael Moon [Fri, 17 Jan 2014 10:32:49 +0000 (21:32 +1100)]
Conveyor: use correct tail in ensure_running()

10 years agoBlock,Conveyor: ensure on_block_end is only called once. co-opt is_ready flag for...
Michael Moon [Fri, 17 Jan 2014 07:00:40 +0000 (18:00 +1100)]
Block,Conveyor: ensure on_block_end is only called once. co-opt is_ready flag for this purpose

10 years agoBlock: explicitly initialize exit_speed
Michael Moon [Fri, 17 Jan 2014 06:36:03 +0000 (17:36 +1100)]
Block: explicitly initialize exit_speed

10 years agoBlock: whitespace changes in clear()
Michael Moon [Fri, 17 Jan 2014 06:35:43 +0000 (17:35 +1100)]
Block: whitespace changes in clear()

10 years agoConveyor: use Block::clear() to clean blocks
Michael Moon [Fri, 17 Jan 2014 06:35:25 +0000 (17:35 +1100)]
Conveyor: use Block::clear() to clean blocks

10 years agoExtruder,TemperatureControl: minor comment changes
Michael Moon [Fri, 17 Jan 2014 06:34:50 +0000 (17:34 +1100)]
Extruder,TemperatureControl: minor comment changes

10 years agoConveyor: don't prematurely start the queue, ensure queue runs when there are blocks...
Michael Moon [Fri, 17 Jan 2014 06:15:22 +0000 (17:15 +1100)]
Conveyor: don't prematurely start the queue, ensure queue runs when there are blocks available

10 years agoSlowTicker: ensure G4s block subsequent gcodes
Michael Moon [Fri, 17 Jan 2014 06:14:43 +0000 (17:14 +1100)]
SlowTicker: ensure G4s block subsequent gcodes

10 years agoBlock: return debug output to kernel streams instead of serial
Michael Moon [Fri, 17 Jan 2014 06:14:22 +0000 (17:14 +1100)]
Block: return debug output to kernel streams instead of serial

10 years agoBlock: handle both multiple takes and no takes properly
Michael Moon [Fri, 17 Jan 2014 05:39:57 +0000 (16:39 +1100)]
Block: handle both multiple takes and no takes properly

10 years agoConveyor: if someone appends gcode while the queue is empty, ensure it gets executed...
Michael Moon [Fri, 17 Jan 2014 05:32:17 +0000 (16:32 +1100)]
Conveyor: if someone appends gcode while the queue is empty, ensure it gets executed in a timely fashion

10 years agoBlock: if no-one takes our block, release immediately
Michael Moon [Fri, 17 Jan 2014 05:31:48 +0000 (16:31 +1100)]
Block: if no-one takes our block, release immediately

10 years agoConveyor: when we append_gcode with empty queue, don't skip the queue: push to block...
Michael Moon [Fri, 17 Jan 2014 05:31:07 +0000 (16:31 +1100)]
Conveyor: when we append_gcode with empty queue, don't skip the queue: push to block, then execute the block

10 years agoConveyor: actually implement planner_queue_size config option
Michael Moon [Fri, 17 Jan 2014 03:44:54 +0000 (14:44 +1100)]
Conveyor: actually implement planner_queue_size config option

10 years agoBlock: don't update trapezoids, and return correct exit speed if block is currently...
Michael Moon [Fri, 17 Jan 2014 02:49:45 +0000 (13:49 +1100)]
Block: don't update trapezoids, and return correct exit speed if block is currently executing

10 years agoBlock: only call Conveyor::on_blocK_end ONCE!
Michael Moon [Fri, 17 Jan 2014 02:46:03 +0000 (13:46 +1100)]
Block: only call Conveyor::on_blocK_end ONCE!

10 years agoConveyor: add some sanity checks
Michael Moon [Fri, 17 Jan 2014 02:44:39 +0000 (13:44 +1100)]
Conveyor: add some sanity checks

10 years agoHeapRing: add some sanity checks
Michael Moon [Fri, 17 Jan 2014 02:42:31 +0000 (13:42 +1100)]
HeapRing: add some sanity checks

10 years agoStreamOutput: render to buffer on stack, only invoke new() if stack buffer is too...
Michael Moon [Fri, 17 Jan 2014 02:41:38 +0000 (13:41 +1100)]
StreamOutput: render to buffer on stack, only invoke new() if stack buffer is too small. Allows printf from ISR context in some cases

10 years agofix definition of __debugbreak() so if (1) __debugbreak(); else blah(); works as...
Michael Moon [Fri, 17 Jan 2014 02:40:53 +0000 (13:40 +1100)]
fix definition of __debugbreak() so if (1) __debugbreak(); else blah(); works as expected

10 years agoMerge branch 'edge' into feature/ActionQueue_redux
Michael Moon [Fri, 17 Jan 2014 00:57:48 +0000 (11:57 +1100)]
Merge branch 'edge' into feature/ActionQueue_redux

10 years agoBig Planner::recalculate rewrite
Michael Moon [Fri, 17 Jan 2014 00:55:59 +0000 (11:55 +1100)]
Big Planner::recalculate rewrite

10 years agoEnsure Conveyor::on_block_end gets called last
Michael Moon [Fri, 17 Jan 2014 00:55:36 +0000 (11:55 +1100)]
Ensure Conveyor::on_block_end gets called last

10 years agoMerge pull request #315 from wolfmanjm/upstreamedge
Jim Morris [Thu, 16 Jan 2014 23:06:41 +0000 (15:06 -0800)]
Merge pull request #315 from wolfmanjm/upstreamedge

Adjust corexy homing speed when moving diagonally

10 years agoMerge remote-tracking branch 'upstream/edge' into upstreamedge
Jim Morris [Thu, 16 Jan 2014 22:42:06 +0000 (14:42 -0800)]
Merge remote-tracking branch 'upstream/edge' into upstreamedge

10 years agoAdjst corexy homing speed for diagonal moves to match X or Y moves
Jim Morris [Thu, 16 Jan 2014 22:40:58 +0000 (14:40 -0800)]
Adjst corexy homing speed for diagonal moves to match X or Y moves

10 years agobiggish Block queue reshuffle, Planner::recalculate() still has off-by-one errors
Michael Moon [Thu, 16 Jan 2014 01:50:42 +0000 (12:50 +1100)]
biggish Block queue reshuffle, Planner::recalculate() still has off-by-one errors

10 years agoChange Conveyor,Planner,Block to use HeapRing
Michael Moon [Wed, 15 Jan 2014 22:31:05 +0000 (09:31 +1100)]
Change Conveyor,Planner,Block to use HeapRing

10 years agoRevert "Change Conveyor,Planner,Block to use HeapRing"
Michael Moon [Wed, 15 Jan 2014 23:10:17 +0000 (10:10 +1100)]
Revert "Change Conveyor,Planner,Block to use HeapRing"

This reverts commit 5bd37b4d1309789eb1dc8f3300f0ee206901a171.

10 years agoHeapRing: missed a free() in a corner case
Michael Moon [Wed, 15 Jan 2014 22:45:56 +0000 (09:45 +1100)]
HeapRing: missed a free() in a corner case

10 years agoChange Conveyor,Planner,Block to use HeapRing
Michael Moon [Wed, 15 Jan 2014 22:31:05 +0000 (09:31 +1100)]
Change Conveyor,Planner,Block to use HeapRing

10 years agoadd HeapRing: a new RingBuffer constructed from the trials and tribulations of the...
Michael Moon [Wed, 15 Jan 2014 22:38:53 +0000 (09:38 +1100)]
add HeapRing: a new RingBuffer constructed from the trials and tribulations of the existing one

10 years agoprovide one method to add gcode to blocks, reduce code duplication
Michael Moon [Wed, 15 Jan 2014 01:39:44 +0000 (12:39 +1100)]
provide one method to add gcode to blocks, reduce code duplication

10 years agoMerge pull request #313 from powertomato/feature/mri_all_locations
Jim Morris [Mon, 13 Jan 2014 03:01:00 +0000 (19:01 -0800)]
Merge pull request #313 from powertomato/feature/mri_all_locations

Changed SerialConsole definition for MRI/Debug UART so it supports all 4...

10 years agoChanged SerialConsole definition for MRI/Debug UART so it supports all 4 locations
Stefan Krulj [Mon, 13 Jan 2014 03:54:20 +0000 (04:54 +0100)]
Changed SerialConsole definition for MRI/Debug UART so it supports all 4 locations

10 years agoMerge pull request #311 from wolfmanjm/upstreamedge
Jim Morris [Sun, 12 Jan 2014 05:57:56 +0000 (21:57 -0800)]
Merge pull request #311 from wolfmanjm/upstreamedge

Make minimum planner speed configurable

10 years agoMake minimum planner speed configurable
Jim Morris [Sun, 12 Jan 2014 05:54:33 +0000 (21:54 -0800)]
Make minimum planner speed configurable
pop all flushable blocks for queue in one on_idle
Add M205 Sxxx to set minimum planner speed from console and save with M500

10 years agoMerge pull request #310 from wolfmanjm/upstreamedge
Jim Morris [Sat, 11 Jan 2014 07:54:19 +0000 (23:54 -0800)]
Merge pull request #310 from wolfmanjm/upstreamedge

Set previous_nominal_speed to 0 if the next block is a zero move block s...

10 years agoSet previous_nominal_speed to 0 if the next block is a zero move block so jerk can...
Jim Morris [Sat, 11 Jan 2014 07:51:38 +0000 (23:51 -0800)]
Set previous_nominal_speed to 0 if the next block is a zero move block so jerk can be calculated correctly
clean up some stuff

10 years agoMerge pull request #309 from wolfmanjm/upstreamedge
Jim Morris [Fri, 10 Jan 2014 04:37:36 +0000 (20:37 -0800)]
Merge pull request #309 from wolfmanjm/upstreamedge

M500 save current settings for E only if different from the config value

10 years agoM500 save current settings for E only if different from the config value
Jim Morris [Fri, 10 Jan 2014 04:34:49 +0000 (20:34 -0800)]
M500 save current settings for E only if different from the config value

10 years agoMerge pull request #308 from wolfmanjm/upstreamedge
Jim Morris [Wed, 8 Jan 2014 08:34:11 +0000 (00:34 -0800)]
Merge pull request #308 from wolfmanjm/upstreamedge

Fix acceleration calculation bug when preceded by extruder only move bloc...

10 years agoFix acceleration calculatin bug when preceded by extruder only move block (entry...
Jim Morris [Wed, 8 Jan 2014 08:28:49 +0000 (00:28 -0800)]
Fix acceleration calculatin bug when preceded by extruder only move block (entry speed was not being set to zero)
Clean up block initialization, actually zero all block fields on ctor and add a clear() method

10 years agoMerge pull request #307 from wolfmanjm/upstreamedge
Jim Morris [Mon, 6 Jan 2014 08:16:29 +0000 (00:16 -0800)]
Merge pull request #307 from wolfmanjm/upstreamedge

further fields that extruder needs to initialize

10 years agofurther fields that extruder needs to initialize
Jim Morris [Mon, 6 Jan 2014 08:14:10 +0000 (00:14 -0800)]
further fields that extruder needs to initialize

10 years agoMerge pull request #306 from wolfmanjm/upstreamedge
Jim Morris [Mon, 6 Jan 2014 07:35:23 +0000 (23:35 -0800)]
Merge pull request #306 from wolfmanjm/upstreamedge

Fix acceleration bug, and memory leak

10 years agorename RingBuffer::delete_first() to delete)tail() to reflect what it actually does
Jim Morris [Mon, 6 Jan 2014 07:33:08 +0000 (23:33 -0800)]
rename RingBuffer::delete_first() to delete)tail() to reflect what it actually does

10 years agoFix acceleration bug where an extruder only move was though to be a real move and...
Jim Morris [Mon, 6 Jan 2014 07:25:54 +0000 (23:25 -0800)]
Fix acceleration bug where an extruder only move was though to be a real move and uninitialized fields were being used to calculate trapezoids
Fix partial memory leak where the blocks gocde vector was not being cleared when it was popped from the tail

10 years agoUpdate config
Jim Morris [Thu, 2 Jan 2014 21:25:38 +0000 (13:25 -0800)]
Update config

10 years agoMerge pull request #304 from wolfmanjm/upstreamedge
Jim Morris [Thu, 2 Jan 2014 02:32:45 +0000 (18:32 -0800)]
Merge pull request #304 from wolfmanjm/upstreamedge

Fix M500 and M503 for PID values M301

10 years agoFix M500 and M503 for PID values M301
Jim Morris [Thu, 2 Jan 2014 02:29:44 +0000 (18:29 -0800)]
Fix M500 and M503 for PID values M301

10 years agoMerge pull request #303 from wolfmanjm/upstreamedge
Jim Morris [Thu, 2 Jan 2014 02:05:50 +0000 (18:05 -0800)]
Merge pull request #303 from wolfmanjm/upstreamedge

Added M501 to load config-override

10 years agoAdded M501 to load config-override
Jim Morris [Thu, 2 Jan 2014 02:04:24 +0000 (18:04 -0800)]
Added M501 to load config-override
renamed old M501 to M502 as it should have been for removing config-override
Added M504 xxx to save to config-override.xxx
added load/save to load and save names config override files
Make Filestream open for "w" not "a"

10 years agoMerge pull request #300 from wolfmanjm/upstreamedge
Jim Morris [Fri, 27 Dec 2013 05:18:24 +0000 (21:18 -0800)]
Merge pull request #300 from wolfmanjm/upstreamedge

no need to copy input now input is already float

10 years agono need to copy input now input is already float
Jim Morris [Fri, 27 Dec 2013 05:14:42 +0000 (21:14 -0800)]
no need to copy input now input is already float

10 years agomissed an atan() in Robot, changed to atanf
Michael Moon [Fri, 27 Dec 2013 02:35:24 +0000 (13:35 +1100)]
missed an atan() in Robot, changed to atanf

10 years agoreplace sqrt, hypot, sin, cos with float variants (ie sqrtf, hypotf, sinf, cosf)
Michael Moon [Fri, 27 Dec 2013 02:34:42 +0000 (13:34 +1100)]
replace sqrt, hypot, sin, cos with float variants (ie sqrtf, hypotf, sinf, cosf)

10 years agoreplace strtod with strtof
Michael Moon [Fri, 27 Dec 2013 02:31:16 +0000 (13:31 +1100)]
replace strtod with strtof

10 years agoReplace all doubles with floats including some constants
Michael Moon [Fri, 27 Dec 2013 02:21:32 +0000 (13:21 +1100)]
Replace all doubles with floats including some constants

10 years agoreplace all uses of module::kernel pointer with kernel::instance singleton pointer
Michael Moon [Fri, 27 Dec 2013 02:09:01 +0000 (13:09 +1100)]
replace all uses of module::kernel pointer with kernel::instance singleton pointer

10 years agoUse static kernel singleton pointer instead of per-class instance pointer
Michael Moon [Fri, 27 Dec 2013 01:55:26 +0000 (12:55 +1100)]
Use static kernel singleton pointer instead of per-class instance pointer

10 years agoMerge branch 'fix/Queue_scan_consolidation' into edge
Michael Moon [Fri, 27 Dec 2013 01:43:28 +0000 (12:43 +1100)]
Merge branch 'fix/Queue_scan_consolidation' into edge

10 years agoRevert "Revert "Merge branch 'fix/Queue_scan_consolidation' into edge""
Michael Moon [Fri, 27 Dec 2013 01:43:23 +0000 (12:43 +1100)]
Revert "Revert "Merge branch 'fix/Queue_scan_consolidation' into edge""

This reverts commit e918c030e3ced39ce7d6f8d7a66d1ce8bb78e7d9.

10 years agoworks! hooray! add some final cleanups and clarifications
Michael Moon [Fri, 27 Dec 2013 01:31:42 +0000 (12:31 +1100)]
works! hooray! add some final cleanups and clarifications

10 years agofound another off by one, starting to wonder how original code ever worked
Michael Moon [Fri, 27 Dec 2013 01:10:48 +0000 (12:10 +1100)]
found another off by one, starting to wonder how original code ever worked

10 years agofound an off-by-one, see if this works
Michael Moon [Fri, 27 Dec 2013 00:38:45 +0000 (11:38 +1100)]
found an off-by-one, see if this works

10 years agoRevert "Merge branch 'fix/Queue_scan_consolidation' into edge"
Michael Moon [Thu, 26 Dec 2013 06:46:30 +0000 (17:46 +1100)]
Revert "Merge branch 'fix/Queue_scan_consolidation' into edge"

This reverts commit b4f9b9b5b4186df5a681dc63cd4174c543cd41d7, reversing
changes made to d97f94e3d8782e77793011430bb38784640b1f6f.

needs more work

10 years agoMerge branch 'fix/Queue_scan_consolidation' into edge
Michael Moon [Thu, 26 Dec 2013 05:11:34 +0000 (16:11 +1100)]
Merge branch 'fix/Queue_scan_consolidation' into edge

I keep being told that if I want something tested, merge it into edge

10 years agoMerge branch 'fix/Ringbuffer' into edge
Michael Moon [Thu, 26 Dec 2013 03:21:05 +0000 (14:21 +1100)]
Merge branch 'fix/Ringbuffer' into edge

10 years agoRemove unused parameters to Block::reverse pass and Block::forward_pass
Michael Moon [Thu, 26 Dec 2013 01:33:02 +0000 (12:33 +1100)]
Remove unused parameters to Block::reverse pass and Block::forward_pass