Michael Moon [Mon, 27 Jan 2014 01:35:23 +0000 (12:35 +1100)]
Arm solutions: use appropriate constants
Michael Moon [Sat, 25 Jan 2014 23:13:52 +0000 (10:13 +1100)]
change minute -> second in relevant comments
Jim Morris [Fri, 24 Jan 2014 22:49:04 +0000 (14:49 -0800)]
Merge pull request #319 from wolfmanjm/upstreamedge
Add M203 to change max feedrates on the fly. Saveable with M500. Also wait for queue empty before changing accleration with M204
Jim Morris [Fri, 24 Jan 2014 22:46:35 +0000 (14:46 -0800)]
Add M203 to change max feedrates on the fly. Saveable with M500
Michael Moon [Fri, 24 Jan 2014 08:18:35 +0000 (19:18 +1100)]
remove redundant (and now incorrect) comment describing the recalculate procedure
Michael Moon [Fri, 24 Jan 2014 08:18:00 +0000 (19:18 +1100)]
Planner: missed a reference to minutes, we use seconds now
Michael Moon [Fri, 24 Jan 2014 08:04:26 +0000 (19:04 +1100)]
Merge branch 'master' into edge
Michael Moon [Fri, 24 Jan 2014 07:47:10 +0000 (18:47 +1100)]
Merge branch 'fix/TemperatureControl_indexes' into edge
Michael Moon [Fri, 24 Jan 2014 07:44:10 +0000 (18:44 +1100)]
Merge branch 'feature/Actuator' into edge
Michael Moon [Fri, 24 Jan 2014 07:27:03 +0000 (18:27 +1100)]
Robot: convert cartesian speed limits to mm/s
Michael Moon [Fri, 24 Jan 2014 06:58:12 +0000 (17:58 +1100)]
Planner: mixed up sizeof(pointer) with sizeof(array)
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
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
Michael Moon [Fri, 24 Jan 2014 02:42:44 +0000 (13:42 +1100)]
Pin: code cleanup, no functionality changes
Michael Moon [Fri, 24 Jan 2014 02:42:27 +0000 (13:42 +1100)]
StepperMotor: just shifting things around
Michael Moon [Fri, 24 Jan 2014 02:42:05 +0000 (13:42 +1100)]
Robot,StepperMotor: per-actuator speed limits
Michael Moon [Fri, 24 Jan 2014 02:36:30 +0000 (13:36 +1100)]
Planner: accept unit vector instead of axis deltas
Michael Moon [Thu, 23 Jan 2014 23:05:36 +0000 (10:05 +1100)]
Pin: built-in copy ctor is adequate
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
Michael Moon [Thu, 23 Jan 2014 22:55:14 +0000 (09:55 +1100)]
Planner: steps is a delta, not absolute!
Michael Moon [Thu, 23 Jan 2014 06:30:14 +0000 (17:30 +1100)]
StepperMotor, Planner: fix a couple of potential rounding errors
Michael Moon [Thu, 23 Jan 2014 06:29:54 +0000 (17:29 +1100)]
Robot: remember to grab steps_per_mm from config
Michael Moon [Thu, 23 Jan 2014 06:29:13 +0000 (17:29 +1100)]
Arm Solutions: rename fields to reflect appropriate function
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
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
Jim Morris [Mon, 20 Jan 2014 22:40:15 +0000 (14:40 -0800)]
Finish handling Pycam style gcode files
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
Michael Moon [Mon, 20 Jan 2014 03:02:22 +0000 (14:02 +1100)]
TemperatureControlPool: fix wrong index being assigned if a TemperatureControl is listed in config but disabled
Jim Morris [Sun, 19 Jan 2014 22:21:57 +0000 (14:21 -0800)]
Update config
Jim Morris [Sun, 19 Jan 2014 22:21:24 +0000 (14:21 -0800)]
Update config
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
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
Michael Moon [Sun, 19 Jan 2014 07:51:30 +0000 (18:51 +1100)]
Merge branch 'feature/ActionQueue_redux' 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
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
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
Michael Moon [Fri, 17 Jan 2014 23:24:42 +0000 (10:24 +1100)]
Planner: get previous_nominal_speed from the queue instead of cacheing
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()
Michael Moon [Fri, 17 Jan 2014 11:23:39 +0000 (22:23 +1100)]
Conveyor: add verbose commentary
Michael Moon [Fri, 17 Jan 2014 11:05:19 +0000 (22:05 +1100)]
Planner: make comments around recalculate() even more verbose
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
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
Michael Moon [Fri, 17 Jan 2014 10:32:49 +0000 (21:32 +1100)]
Conveyor: use correct tail in ensure_running()
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
Michael Moon [Fri, 17 Jan 2014 06:36:03 +0000 (17:36 +1100)]
Block: explicitly initialize exit_speed
Michael Moon [Fri, 17 Jan 2014 06:35:43 +0000 (17:35 +1100)]
Block: whitespace changes in clear()
Michael Moon [Fri, 17 Jan 2014 06:35:25 +0000 (17:35 +1100)]
Conveyor: use Block::clear() to clean blocks
Michael Moon [Fri, 17 Jan 2014 06:34:50 +0000 (17:34 +1100)]
Extruder,TemperatureControl: minor comment changes
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
Michael Moon [Fri, 17 Jan 2014 06:14:43 +0000 (17:14 +1100)]
SlowTicker: ensure G4s block subsequent gcodes
Michael Moon [Fri, 17 Jan 2014 06:14:22 +0000 (17:14 +1100)]
Block: return debug output to kernel streams instead of serial
Michael Moon [Fri, 17 Jan 2014 05:39:57 +0000 (16:39 +1100)]
Block: handle both multiple takes and no takes properly
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
Michael Moon [Fri, 17 Jan 2014 05:31:48 +0000 (16:31 +1100)]
Block: if no-one takes our block, release immediately
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
Michael Moon [Fri, 17 Jan 2014 03:44:54 +0000 (14:44 +1100)]
Conveyor: actually implement planner_queue_size config option
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
Michael Moon [Fri, 17 Jan 2014 02:46:03 +0000 (13:46 +1100)]
Block: only call Conveyor::on_blocK_end ONCE!
Michael Moon [Fri, 17 Jan 2014 02:44:39 +0000 (13:44 +1100)]
Conveyor: add some sanity checks
Michael Moon [Fri, 17 Jan 2014 02:42:31 +0000 (13:42 +1100)]
HeapRing: add some sanity checks
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
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
Michael Moon [Fri, 17 Jan 2014 00:57:48 +0000 (11:57 +1100)]
Merge branch 'edge' into feature/ActionQueue_redux
Michael Moon [Fri, 17 Jan 2014 00:55:59 +0000 (11:55 +1100)]
Big Planner::recalculate rewrite
Michael Moon [Fri, 17 Jan 2014 00:55:36 +0000 (11:55 +1100)]
Ensure Conveyor::on_block_end gets called last
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
Jim Morris [Thu, 16 Jan 2014 22:42:06 +0000 (14:42 -0800)]
Merge remote-tracking branch 'upstream/edge' into upstreamedge
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
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
Michael Moon [Wed, 15 Jan 2014 22:31:05 +0000 (09:31 +1100)]
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.
Michael Moon [Wed, 15 Jan 2014 22:45:56 +0000 (09:45 +1100)]
HeapRing: missed a free() in a corner case
Michael Moon [Wed, 15 Jan 2014 22:31:05 +0000 (09:31 +1100)]
Change Conveyor,Planner,Block to use HeapRing
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
Michael Moon [Wed, 15 Jan 2014 01:39:44 +0000 (12:39 +1100)]
provide one method to add gcode to blocks, reduce code duplication
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...
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
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
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
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...
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
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
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
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...
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
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
Jim Morris [Mon, 6 Jan 2014 08:14:10 +0000 (00:14 -0800)]
further fields that extruder needs to initialize
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
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
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
Jim Morris [Fri, 3 Jan 2014 09:10:06 +0000 (01:10 -0800)]
Fix a bug in the M500 for saving the PID setting
Forgot to add the S parameter
Jim Morris [Thu, 2 Jan 2014 21:25:38 +0000 (13:25 -0800)]
Update config
Jim Morris [Thu, 2 Jan 2014 21:23:49 +0000 (13:23 -0800)]
Update config
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
Jim Morris [Thu, 2 Jan 2014 02:29:44 +0000 (18:29 -0800)]
Fix M500 and M503 for PID values M301
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
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"
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
Jim Morris [Fri, 27 Dec 2013 05:14:42 +0000 (21:14 -0800)]
no need to copy input now input is already float
Michael Moon [Fri, 27 Dec 2013 02:35:24 +0000 (13:35 +1100)]
missed an atan() in Robot, changed to atanf