clinton/Smoothieware.git
9 years agoMerge pull request #551 from wolfmanjm/use-pendsv-handler-for-ticker
Jim Morris [Tue, 9 Dec 2014 22:11:54 +0000 (14:11 -0800)]
Merge pull request #551 from wolfmanjm/use-pendsv-handler-for-ticker

Use pendsv handler for ticker, Overhaul, simplify, refactor ticker and associated code

9 years agoremove debug step pins
Jim Morris [Tue, 9 Dec 2014 21:20:12 +0000 (13:20 -0800)]
remove debug step pins

9 years agomake sure acceleration tick does not intterupt if already triggered on start of block
Jim Morris [Tue, 9 Dec 2014 21:19:01 +0000 (13:19 -0800)]
make sure acceleration tick does not intterupt if already triggered on start of block

9 years agocomments
Jim Morris [Tue, 9 Dec 2014 09:33:35 +0000 (01:33 -0800)]
comments

9 years agoreimplement the acceleration timer sync for start of deceleration
Jim Morris [Tue, 9 Dec 2014 07:36:38 +0000 (23:36 -0800)]
reimplement the acceleration timer sync for start of deceleration

9 years agosynchronize acceleration timer with start of block
Jim Morris [Mon, 8 Dec 2014 09:22:20 +0000 (01:22 -0800)]
synchronize acceleration timer with start of block

9 years agopotential race fixes
Jim Morris [Mon, 8 Dec 2014 05:29:49 +0000 (21:29 -0800)]
potential race fixes

9 years agorefactor unstep handling, not any faster but easier to understand
Jim Morris [Thu, 4 Dec 2014 04:53:46 +0000 (20:53 -0800)]
refactor unstep handling, not any faster but easier to understand

9 years agofix the tick_since method for the wrap around
Jim Morris [Wed, 3 Dec 2014 06:53:21 +0000 (22:53 -0800)]
fix the tick_since method for the wrap around
limot the number of ticks since to accomodate to handle edge cases

9 years agoGet step averaging to work across blocks, include extruder in that
Jim Morris [Wed, 3 Dec 2014 00:36:17 +0000 (16:36 -0800)]
Get step averaging to work across blocks, include extruder in that

9 years agotry another method to compensate for late steps
Jim Morris [Tue, 2 Dec 2014 21:15:18 +0000 (13:15 -0800)]
try another method to compensate for late steps
If the stepper moved in the last block base next step timing on the last step time for all motors,
 this is different as before it was based on the time of the last motor to finish, and was not compensated

9 years agoMerge remote-tracking branch 'upstream/edge' into use-pendsv-handler-for-ticker
Jim Morris [Tue, 2 Dec 2014 06:45:49 +0000 (22:45 -0800)]
Merge remote-tracking branch 'upstream/edge' into use-pendsv-handler-for-ticker

9 years agoMerge pull request #550 from wolfmanjm/upstreamedge
Jim Morris [Tue, 2 Dec 2014 06:28:55 +0000 (22:28 -0800)]
Merge pull request #550 from wolfmanjm/upstreamedge

fix actuator position inaccuracy on pause

9 years agofix actuator position inaccuracy on pause
Jim Morris [Tue, 2 Dec 2014 06:27:19 +0000 (22:27 -0800)]
fix actuator position inaccuracy on pause

9 years agoKeep ticking fx_counter regardless, this allows all axis to compensate for late block...
Jim Morris [Tue, 2 Dec 2014 06:22:11 +0000 (22:22 -0800)]
Keep ticking fx_counter regardless, this allows all axis to compensate for late block start
added an active flag to steppermotor so it can know when to ignore step or not

9 years agodon't set speed if it didn't change from last time
Jim Morris [Tue, 2 Dec 2014 04:05:04 +0000 (20:05 -0800)]
don't set speed if it didn't change from last time

9 years agoMerge remote-tracking branch 'upstream/edge' into use-pendsv-handler-for-ticker
Jim Morris [Mon, 1 Dec 2014 21:46:07 +0000 (13:46 -0800)]
Merge remote-tracking branch 'upstream/edge' into use-pendsv-handler-for-ticker

9 years agoUse AppendFIleStream for M500 to avoid fatlib/sdcard write bug
Jim Morris [Mon, 1 Dec 2014 21:44:08 +0000 (13:44 -0800)]
Use AppendFIleStream for M500 to avoid fatlib/sdcard write bug

9 years agouse RIT timer for accleration tick lower prioirty than PendSV
Jim Morris [Mon, 1 Dec 2014 10:39:02 +0000 (02:39 -0800)]
use RIT timer for accleration tick lower prioirty than PendSV
don;t start stepticker interrupts until after all setup is complete

9 years agochange fxcounter back to 32 fixed point but 18:14
Jim Morris [Mon, 1 Dec 2014 07:14:29 +0000 (23:14 -0800)]
change fxcounter back to 32 fixed point but 18:14
Do accleration tick in ON_IDLE so it can be pre-empted by ticker
revert StepperMotor::set_step_rate back to just set_speed()

9 years agouse atomic counter for end of move flag to avoid more race conditions
Jim Morris [Sun, 30 Nov 2014 02:26:19 +0000 (18:26 -0800)]
use atomic counter for end of move flag to avoid more race conditions
reset fx_counter if the motor is not going to get any more ticks

9 years agodon't step unless next move is processed
Jim Morris [Sat, 29 Nov 2014 22:26:37 +0000 (14:26 -0800)]
don't step unless next move is processed

9 years agofix deadlock/race condition
Jim Morris [Sat, 29 Nov 2014 22:18:08 +0000 (14:18 -0800)]
fix deadlock/race condition

9 years agoremove acceleration tick from timer3, use the pending sv from stepper tick. this...
Jim Morris [Sat, 29 Nov 2014 07:01:04 +0000 (23:01 -0800)]
remove acceleration tick from timer3, use the pending sv from stepper tick. this keeps it in sync
gets rid of the Timer3 hack to sync it with timer1, and removes a bunch of code.
any module can register with stepticker for an acceleration callback, uses a vector of Lambdas.
right now functionality and period of accleration is the same as it was before.

9 years agoupdate firmware.bin
Jim Morris [Sat, 29 Nov 2014 04:50:48 +0000 (20:50 -0800)]
update firmware.bin

9 years agocomments - this seems to work
Jim Morris [Sat, 29 Nov 2014 03:32:24 +0000 (19:32 -0800)]
comments - this seems to work

9 years agooptimize the stepticker activate/deactivate motor, register motors with stepticker...
Jim Morris [Fri, 28 Nov 2014 23:16:32 +0000 (15:16 -0800)]
optimize the stepticker activate/deactivate motor, register motors with stepticker in stepmotor ctor
remove the num motors stuff and store in vector

9 years agomore anti race condition stuff
Jim Morris [Fri, 28 Nov 2014 09:51:43 +0000 (01:51 -0800)]
more anti race condition stuff

9 years agoavoid multiple trigger of pendsv
Jim Morris [Fri, 28 Nov 2014 07:34:40 +0000 (23:34 -0800)]
avoid multiple trigger of pendsv

9 years agoavoid race conditions, don;t actual step if still processing end block
Jim Morris [Fri, 28 Nov 2014 05:34:02 +0000 (21:34 -0800)]
avoid race conditions, don;t actual step if still processing end block

9 years agoinitial attempt to use pendsv for processing block changes
Jim Morris [Thu, 27 Nov 2014 05:09:43 +0000 (21:09 -0800)]
initial attempt to use pendsv for processing block changes

9 years agoStart extruder retract at first acceleration speed instead of 0
Jim Morris [Tue, 25 Nov 2014 07:00:10 +0000 (23:00 -0800)]
Start extruder retract at first acceleration speed instead of 0

9 years agoMerge remote-tracking branch 'upstream/edge' into fix/trapezoid-symmetry
Jim Morris [Mon, 24 Nov 2014 22:45:48 +0000 (14:45 -0800)]
Merge remote-tracking branch 'upstream/edge' into fix/trapezoid-symmetry

Conflicts:
src/libs/Pin.h

9 years agoMerge pull request #549 from PetteriAimonen/edge
Jim Morris [Mon, 24 Nov 2014 22:22:11 +0000 (14:22 -0800)]
Merge pull request #549 from PetteriAimonen/edge

Added spindle speed control module using PID feedback

9 years agoFix SysTick_Config() so that one can set LOAD = SYSTICK_MAXCOUNT
Petteri Aimonen [Mon, 24 Nov 2014 18:29:05 +0000 (20:29 +0200)]
Fix SysTick_Config() so that one can set LOAD = SYSTICK_MAXCOUNT

9 years agoMove systick initialization from main.cpp to Spindle.cpp
Petteri Aimonen [Mon, 24 Nov 2014 16:48:22 +0000 (18:48 +0200)]
Move systick initialization from main.cpp to Spindle.cpp

9 years agoFix mixed CRLF/LF line ends in score_cm3.h
Petteri Aimonen [Mon, 24 Nov 2014 16:47:27 +0000 (18:47 +0200)]
Fix mixed CRLF/LF line ends in score_cm3.h

9 years agodidn't save any pin memory as classes ar ealwasys rounded up to even 4 byte boundarie...
Jim Morris [Sun, 23 Nov 2014 23:24:28 +0000 (15:24 -0800)]
didn't save any pin memory as classes ar ealwasys rounded up to even 4 byte boundaries so reverted

9 years agooptimize Pin for memory and validity
Jim Morris [Sun, 23 Nov 2014 23:02:49 +0000 (15:02 -0800)]
optimize Pin for memory and validity

9 years agoFix spindle PID D-term scaling
Petteri Aimonen [Sun, 23 Nov 2014 19:43:04 +0000 (21:43 +0200)]
Fix spindle PID D-term scaling

9 years agoAdd PID-loopback spindle speed control
Petteri Aimonen [Sun, 23 Nov 2014 19:12:25 +0000 (21:12 +0200)]
Add PID-loopback spindle speed control

9 years agoAdd hardware_pwm() function to smoothie Pins
Petteri Aimonen [Sun, 23 Nov 2014 19:11:18 +0000 (21:11 +0200)]
Add hardware_pwm() function to smoothie Pins

9 years agoadd debug pins to makefile, ignored if not set origin/fix/trapezoid-symmetry
Jim Morris [Sun, 23 Nov 2014 08:24:02 +0000 (00:24 -0800)]
add debug pins to makefile, ignored if not set

9 years agouse floorf isntead of floor
Jim Morris [Fri, 21 Nov 2014 06:02:25 +0000 (22:02 -0800)]
use floorf isntead of floor

9 years agoget rid of #define max and use stl::max
Jim Morris [Fri, 21 Nov 2014 05:54:08 +0000 (21:54 -0800)]
get rid of #define max and use stl::max
use ceilf instead of ceil
make minimum step rate settabl ewith M205

9 years agoreimplement minimum step speed for synchronized moves of 20steps/sec
Jim Morris [Thu, 20 Nov 2014 23:59:22 +0000 (15:59 -0800)]
reimplement minimum step speed for synchronized moves of 20steps/sec
for direct speed settings will be whatever it is set to
introduce set_step_rate() for synchronized axis to call to set step rate (rather than calling set_speed())
refactor to save some more memory

9 years agofix on_speed getting zero parameter when it shouldn't do
Jim Morris [Thu, 20 Nov 2014 07:14:07 +0000 (23:14 -0800)]
fix on_speed getting zero parameter when it shouldn't do

9 years agofix extruder issue introduced by c1c802b194
Jim Morris [Thu, 20 Nov 2014 06:11:49 +0000 (22:11 -0800)]
fix extruder issue introduced by c1c802b194

9 years agoclean up StepperMotor in StepTicker, the steppermotor array was unsued so removed...
Jim Morris [Thu, 20 Nov 2014 03:57:17 +0000 (19:57 -0800)]
clean up StepperMotor in StepTicker, the steppermotor array was unsued so removed it, refactor some minor thigns to save more memory

9 years agoswitch back to symmetric accel/decel
Jim Morris [Thu, 20 Nov 2014 02:07:28 +0000 (18:07 -0800)]
switch back to symmetric accel/decel
remove the minimum sterps per minute settings as this is no longer needed as it is autoamtically calculated, minimum planner speed is the correct way to set a minimum speed now.

9 years agorename moves_finished to a_move_finsihed to be more explicit
Jim Morris [Wed, 19 Nov 2014 21:55:18 +0000 (13:55 -0800)]
rename moves_finished to a_move_finsihed to be more explicit

9 years agofix step counter logic
Jim Morris [Wed, 19 Nov 2014 21:43:48 +0000 (13:43 -0800)]
fix step counter logic

9 years agouse uint64 for fx counter so minimum speed is now much smaller
Jim Morris [Wed, 19 Nov 2014 07:04:12 +0000 (23:04 -0800)]
use uint64 for fx counter so minimum speed is now much smaller
fix the tick adjustment for interrupt timer overrun
add a number of motors config setting to set the actual number of motors needed and reduce the hardcoded number from 12 to default of 5 to save memory

9 years agoimprove handling of flush queue in extruder
Jim Morris [Tue, 18 Nov 2014 23:38:24 +0000 (15:38 -0800)]
improve handling of flush queue in extruder

9 years agoforgot to remove motor stop in on_halt, will be doine by flush queue
Jim Morris [Tue, 18 Nov 2014 23:28:27 +0000 (15:28 -0800)]
forgot to remove motor stop in on_halt, will be doine by flush queue

9 years agoGo back to unequal acceleration/deceleration as there is an occasional pause with it.
Jim Morris [Tue, 18 Nov 2014 23:24:28 +0000 (15:24 -0800)]
Go back to unequal acceleration/deceleration as there is an occasional pause with it.
Make extruder stop on flush queue once decelerated, if following

9 years agoattempt to remove race condition that makes extruder step a little slower so XY needs...
Jim Morris [Tue, 18 Nov 2014 04:53:45 +0000 (20:53 -0800)]
attempt to remove race condition that makes extruder step a little slower so XY needs to wait

9 years agoremove check on speed in tick()
Jim Morris [Mon, 17 Nov 2014 09:34:35 +0000 (01:34 -0800)]
remove check on speed in tick()

9 years agoadd an initial speed to move() so there is a speed set, default is 2mm/sec this gives...
Jim Morris [Mon, 17 Nov 2014 09:30:17 +0000 (01:30 -0800)]
add an initial speed to move() so there is a speed set, default is 2mm/sec this gives the code time to set the real speed
protect against fx_counter going negative in case where speed is changed when fx_counter is less than the current counter (potential race condition)

9 years agochange the slowest steps per second speed to the lowest we can do using uint32_t...
Jim Morris [Mon, 17 Nov 2014 08:24:29 +0000 (00:24 -0800)]
change the slowest steps per second speed to the lowest we can do using uint32_t as the base ticker (which is 2steps/sec)
This is necessary as setitn git too high (as it was before) can cause things to get out of sync too easily.

9 years agoFix the time we switch from accelerate to decelerate to make it symmetric, should...
Jim Morris [Mon, 17 Nov 2014 07:40:11 +0000 (23:40 -0800)]
Fix the time we switch from accelerate to decelerate to make it symmetric, should peak now at the correct step and actual exit speeds should be correct

9 years agoput accleratrion in the block, thi sallows M204 to change acceleration on the fly...
Jim Morris [Mon, 17 Nov 2014 07:32:52 +0000 (23:32 -0800)]
put accleratrion in the block, thi sallows M204 to change acceleration on the fly and also fixes the trapezoid calculation getting the wrng accelertion on a recalculate

9 years agoMerge pull request #548 from ssloy/fix/parse_ip_str
Jim Morris [Sat, 15 Nov 2014 23:14:46 +0000 (15:14 -0800)]
Merge pull request #548 from ssloy/fix/parse_ip_str

mac address hexadecimal parsing bugfix

9 years agomac address hexadecimal parsing bugfix
ssloy [Sat, 15 Nov 2014 22:59:30 +0000 (23:59 +0100)]
mac address hexadecimal parsing bugfix

9 years agoupdate firmware.bin
Jim Morris [Tue, 11 Nov 2014 05:22:19 +0000 (21:22 -0800)]
update firmware.bin

9 years agoMerge pull request #546 from Smoothieware/add/z_junction_deviation
Jim Morris [Tue, 11 Nov 2014 05:12:07 +0000 (21:12 -0800)]
Merge pull request #546 from Smoothieware/add/z_junction_deviation

Add/z junction deviation

9 years agoadd M205 settings for z junction deviation
Jim Morris [Tue, 11 Nov 2014 05:09:56 +0000 (21:09 -0800)]
add M205 settings for z junction deviation

9 years agoadd a junctin deviation for Z only moves, and allow it to be totally disabled for...
Jim Morris [Mon, 10 Nov 2014 10:35:40 +0000 (02:35 -0800)]
add a junctin deviation for Z only moves, and allow it to be totally disabled for z only moves
default is use the junction deviation for z moves

9 years agoMerge pull request #545 from Smoothieware/add/P1.23-to-laser-pwm
Jim Morris [Sun, 9 Nov 2014 23:06:07 +0000 (15:06 -0800)]
Merge pull request #545 from Smoothieware/add/P1.23-to-laser-pwm

Add/p1.23 to laser pwm

9 years agoMerge pull request #542 from wolfmanjm/add/clear-block-queue
Jim Morris [Wed, 5 Nov 2014 07:51:48 +0000 (23:51 -0800)]
Merge pull request #542 from wolfmanjm/add/clear-block-queue

Add/clear block queue

9 years agoDon't disable extruder on on_halt if old style config
Jim Morris [Wed, 5 Nov 2014 07:21:19 +0000 (23:21 -0800)]
Don't disable extruder on on_halt if old style config

9 years agofix potential issue with endstop homing hanging
Jim Morris [Wed, 5 Nov 2014 07:00:29 +0000 (23:00 -0800)]
fix potential issue with endstop homing hanging

9 years agoclean up some code, save some more ram
Jim Morris [Wed, 5 Nov 2014 06:38:16 +0000 (22:38 -0800)]
clean up some code, save some more ram
cap temp reading for panel to 999 to avoid wrap around

9 years agoupdate config example for kill button
Jim Morris [Tue, 4 Nov 2014 21:47:20 +0000 (13:47 -0800)]
update config example for kill button

9 years agoallow slected M codes even when in halted state (like get temp and get pos)
Jim Morris [Tue, 4 Nov 2014 21:33:59 +0000 (13:33 -0800)]
allow slected M codes even when in halted state (like get temp and get pos)

9 years agoAdd a debounce count to the reset triggered state
Jim Morris [Tue, 4 Nov 2014 10:31:40 +0000 (02:31 -0800)]
Add a debounce count to the reset triggered state

9 years agotry to fix liit swiches still activating after M999
Jim Morris [Tue, 4 Nov 2014 08:35:26 +0000 (00:35 -0800)]
try to fix liit swiches still activating after M999

9 years agoadd ability to see exactly where actuator currently is
Jim Morris [Tue, 4 Nov 2014 08:02:10 +0000 (00:02 -0800)]
add ability to see exactly where actuator currently is
add ABC to M114

9 years agofix issues with timing of when flush happens
Jim Morris [Tue, 4 Nov 2014 07:19:23 +0000 (23:19 -0800)]
fix issues with timing of when flush happens
on abort do not issue flush when queue is full
when halted and waiting for soace in queue discard waiting block
make On_HALT indicate if it is halted or released

9 years agomove the on_halt call into on_idle instead of from ISR
Jim Morris [Mon, 3 Nov 2014 20:26:03 +0000 (12:26 -0800)]
move the on_halt call into on_idle instead of from ISR

9 years agomake flush queue on abort optional
Jim Morris [Mon, 3 Nov 2014 10:05:24 +0000 (02:05 -0800)]
make flush queue on abort optional

9 years agoleave player in halted state until M999
Jim Morris [Mon, 3 Nov 2014 09:24:44 +0000 (01:24 -0800)]
leave player in halted state until M999

9 years agoabort flushes block queue
Jim Morris [Mon, 3 Nov 2014 08:19:19 +0000 (00:19 -0800)]
abort flushes block queue

9 years agocan;t do anythng nasty on on_halt as it may be from interrupt
Jim Morris [Mon, 3 Nov 2014 08:13:33 +0000 (00:13 -0800)]
can;t do anythng nasty on on_halt as it may be from interrupt

9 years agofast flash play led when halted
Jim Morris [Mon, 3 Nov 2014 07:58:05 +0000 (23:58 -0800)]
fast flash play led when halted

9 years agoclear killed flag on M999
Jim Morris [Mon, 3 Nov 2014 07:44:35 +0000 (23:44 -0800)]
clear killed flag on M999

9 years agoAdd halt status to panel and a way to clear it
Jim Morris [Mon, 3 Nov 2014 07:38:31 +0000 (23:38 -0800)]
Add halt status to panel and a way to clear it
ON_HALT aborts sd play file

9 years agoclear limit triggered if no limit switches still triggered
Jim Morris [Mon, 3 Nov 2014 06:37:03 +0000 (22:37 -0800)]
clear limit triggered if no limit switches still triggered

9 years agoMerge branch 'feature/kill-button' into add/clear-block-queue
Jim Morris [Mon, 3 Nov 2014 06:28:29 +0000 (22:28 -0800)]
Merge branch 'feature/kill-button' into add/clear-block-queue

Conflicts:
src/modules/communication/GcodeDispatch.cpp
src/modules/communication/GcodeDispatch.h

9 years agoMerge remote-tracking branch 'upstream/edge' into feature/kill-button
Jim Morris [Mon, 3 Nov 2014 06:21:25 +0000 (22:21 -0800)]
Merge remote-tracking branch 'upstream/edge' into feature/kill-button

Conflicts:
ConfigSamples/Smoothieboard/config

9 years agoImplement triffid hunters flush queue code in Conveyor
Jim Morris [Mon, 3 Nov 2014 06:16:48 +0000 (22:16 -0800)]
Implement triffid hunters flush queue code in Conveyor
Change things that call ON_HALT to not take pause
ON_HALT will set a state in gcodedispatch to reject all incoming commands until M999
ON_HALT will flush block queue

9 years agoAdded P1.24, P1.26, P3.25, P3.26 to Laser config
Logxen [Fri, 31 Oct 2014 20:11:07 +0000 (13:11 -0700)]
Added P1.24, P1.26, P3.25, P3.26 to Laser config

9 years agoAdded P1.24, P1.26, P3.25, and P3.26 to Laser
Logxen [Fri, 31 Oct 2014 20:09:24 +0000 (13:09 -0700)]
Added P1.24, P1.26, P3.25, and P3.26 to Laser

9 years agoupdate config
Jim Morris [Fri, 31 Oct 2014 04:26:54 +0000 (21:26 -0700)]
update config

9 years agoadd P1.18, P1.20, P1.21, P1.23 as laser PWM pins
Jim Morris [Fri, 31 Oct 2014 04:20:50 +0000 (21:20 -0700)]
add P1.18, P1.20, P1.21, P1.23 as laser PWM pins

9 years agoMerge pull request #538 from wolfmanjm/upstreamedge
Jim Morris [Thu, 30 Oct 2014 23:50:38 +0000 (16:50 -0700)]
Merge pull request #538 from wolfmanjm/upstreamedge

add StepperMotor::get_last_milestone()

9 years agoadd StepperMotor::get_last_milestone()
Jim Morris [Thu, 30 Oct 2014 23:49:34 +0000 (16:49 -0700)]
add StepperMotor::get_last_milestone()

9 years agoupdate firmware.bin
Jim Morris [Tue, 28 Oct 2014 20:25:24 +0000 (13:25 -0700)]
update firmware.bin

9 years agoMerge pull request #537 from wolfmanjm/upstreamedge
Jim Morris [Sun, 26 Oct 2014 05:40:25 +0000 (22:40 -0700)]
Merge pull request #537 from wolfmanjm/upstreamedge

add icons for hotends 2 and 3

9 years agoadd icons for hotends 2 and 3
Jim Morris [Sun, 26 Oct 2014 05:39:04 +0000 (22:39 -0700)]
add icons for hotends 2 and 3