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
Jim Morris [Tue, 9 Dec 2014 21:20:12 +0000 (13:20 -0800)]
remove debug step pins
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
Jim Morris [Tue, 9 Dec 2014 09:33:35 +0000 (01:33 -0800)]
comments
Jim Morris [Tue, 9 Dec 2014 07:36:38 +0000 (23:36 -0800)]
reimplement the acceleration timer sync for start of deceleration
Jim Morris [Mon, 8 Dec 2014 09:22:20 +0000 (01:22 -0800)]
synchronize acceleration timer with start of block
Jim Morris [Mon, 8 Dec 2014 05:29:49 +0000 (21:29 -0800)]
potential race fixes
Jim Morris [Thu, 4 Dec 2014 04:53:46 +0000 (20:53 -0800)]
refactor unstep handling, not any faster but easier to understand
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
Jim Morris [Wed, 3 Dec 2014 00:36:17 +0000 (16:36 -0800)]
Get step averaging to work across blocks, include extruder in that
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
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
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
Jim Morris [Tue, 2 Dec 2014 06:27:19 +0000 (22:27 -0800)]
fix actuator position inaccuracy on pause
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
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
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
Jim Morris [Mon, 1 Dec 2014 21:44:08 +0000 (13:44 -0800)]
Use AppendFIleStream for M500 to avoid fatlib/sdcard write bug
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
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()
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
Jim Morris [Sat, 29 Nov 2014 22:26:37 +0000 (14:26 -0800)]
don't step unless next move is processed
Jim Morris [Sat, 29 Nov 2014 22:18:08 +0000 (14:18 -0800)]
fix deadlock/race condition
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.
Jim Morris [Sat, 29 Nov 2014 04:50:48 +0000 (20:50 -0800)]
update firmware.bin
Jim Morris [Sat, 29 Nov 2014 03:32:24 +0000 (19:32 -0800)]
comments - this seems to work
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
Jim Morris [Fri, 28 Nov 2014 09:51:43 +0000 (01:51 -0800)]
more anti race condition stuff
Jim Morris [Fri, 28 Nov 2014 07:34:40 +0000 (23:34 -0800)]
avoid multiple trigger of pendsv
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
Jim Morris [Thu, 27 Nov 2014 05:09:43 +0000 (21:09 -0800)]
initial attempt to use pendsv for processing block changes
Jim Morris [Tue, 25 Nov 2014 07:00:10 +0000 (23:00 -0800)]
Start extruder retract at first acceleration speed instead of 0
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
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
Petteri Aimonen [Mon, 24 Nov 2014 18:29:05 +0000 (20:29 +0200)]
Fix SysTick_Config() so that one can set LOAD = SYSTICK_MAXCOUNT
Petteri Aimonen [Mon, 24 Nov 2014 16:48:22 +0000 (18:48 +0200)]
Move systick initialization from main.cpp to Spindle.cpp
Petteri Aimonen [Mon, 24 Nov 2014 16:47:27 +0000 (18:47 +0200)]
Fix mixed CRLF/LF line ends in score_cm3.h
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
Jim Morris [Sun, 23 Nov 2014 23:02:49 +0000 (15:02 -0800)]
optimize Pin for memory and validity
Petteri Aimonen [Sun, 23 Nov 2014 19:43:04 +0000 (21:43 +0200)]
Fix spindle PID D-term scaling
Petteri Aimonen [Sun, 23 Nov 2014 19:12:25 +0000 (21:12 +0200)]
Add PID-loopback spindle speed control
Petteri Aimonen [Sun, 23 Nov 2014 19:11:18 +0000 (21:11 +0200)]
Add hardware_pwm() function to smoothie Pins
Jim Morris [Sun, 23 Nov 2014 08:24:02 +0000 (00:24 -0800)]
add debug pins to makefile, ignored if not set
Jim Morris [Fri, 21 Nov 2014 06:02:25 +0000 (22:02 -0800)]
use floorf isntead of floor
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
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
Jim Morris [Thu, 20 Nov 2014 07:14:07 +0000 (23:14 -0800)]
fix on_speed getting zero parameter when it shouldn't do
Jim Morris [Thu, 20 Nov 2014 06:11:49 +0000 (22:11 -0800)]
fix extruder issue introduced by
c1c802b194
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
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.
Jim Morris [Wed, 19 Nov 2014 21:55:18 +0000 (13:55 -0800)]
rename moves_finished to a_move_finsihed to be more explicit
Jim Morris [Wed, 19 Nov 2014 21:43:48 +0000 (13:43 -0800)]
fix step counter logic
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
Jim Morris [Tue, 18 Nov 2014 23:38:24 +0000 (15:38 -0800)]
improve handling of flush queue in extruder
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
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
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
Jim Morris [Mon, 17 Nov 2014 09:34:35 +0000 (01:34 -0800)]
remove check on speed in tick()
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)
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.
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
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
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
ssloy [Sat, 15 Nov 2014 22:59:30 +0000 (23:59 +0100)]
mac address hexadecimal parsing bugfix
Jim Morris [Tue, 11 Nov 2014 05:22:19 +0000 (21:22 -0800)]
update firmware.bin
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
Jim Morris [Tue, 11 Nov 2014 05:09:56 +0000 (21:09 -0800)]
add M205 settings for z junction deviation
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
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
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
Jim Morris [Wed, 5 Nov 2014 07:21:19 +0000 (23:21 -0800)]
Don't disable extruder on on_halt if old style config
Jim Morris [Wed, 5 Nov 2014 07:00:29 +0000 (23:00 -0800)]
fix potential issue with endstop homing hanging
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
Jim Morris [Tue, 4 Nov 2014 21:47:20 +0000 (13:47 -0800)]
update config example for kill button
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)
Jim Morris [Tue, 4 Nov 2014 10:31:40 +0000 (02:31 -0800)]
Add a debounce count to the reset triggered state
Jim Morris [Tue, 4 Nov 2014 08:35:26 +0000 (00:35 -0800)]
try to fix liit swiches still activating after M999
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
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
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
Jim Morris [Mon, 3 Nov 2014 10:05:24 +0000 (02:05 -0800)]
make flush queue on abort optional
Jim Morris [Mon, 3 Nov 2014 09:24:44 +0000 (01:24 -0800)]
leave player in halted state until M999
Jim Morris [Mon, 3 Nov 2014 08:19:19 +0000 (00:19 -0800)]
abort flushes block queue
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
Jim Morris [Mon, 3 Nov 2014 07:58:05 +0000 (23:58 -0800)]
fast flash play led when halted
Jim Morris [Mon, 3 Nov 2014 07:44:35 +0000 (23:44 -0800)]
clear killed flag on M999
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
Jim Morris [Mon, 3 Nov 2014 06:37:03 +0000 (22:37 -0800)]
clear limit triggered if no limit switches still triggered
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
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
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
Logxen [Fri, 31 Oct 2014 20:11:07 +0000 (13:11 -0700)]
Added P1.24, P1.26, P3.25, P3.26 to Laser config
Logxen [Fri, 31 Oct 2014 20:09:24 +0000 (13:09 -0700)]
Added P1.24, P1.26, P3.25, and P3.26 to Laser
Jim Morris [Fri, 31 Oct 2014 04:26:54 +0000 (21:26 -0700)]
update config
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
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()
Jim Morris [Thu, 30 Oct 2014 23:49:34 +0000 (16:49 -0700)]
add StepperMotor::get_last_milestone()
Jim Morris [Tue, 28 Oct 2014 20:25:24 +0000 (13:25 -0700)]
update firmware.bin
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
Jim Morris [Sun, 26 Oct 2014 05:39:04 +0000 (22:39 -0700)]
add icons for hotends 2 and 3