Get rid of STEP_INTERRUPT_INTERRUPTIBLE.

It was certainly a good idea, but also always a suspect of
malfunctions and as such, almost never used. Newer code
organisation moves most of the code behind it to dda_clock()
anyways, so it also became mostly obsolete.

Rest In Peace, STEP_INTERRUPT_INTERRUPTIBLE, you were matter
of quite a number of interesting discussions and investigations.

Changes for Configtool by jbernardis <jeff.bernardis@gmail.com>
This commit is contained in:
Markus Hitter 2015-02-15 22:29:39 +01:00
parent e2e77ae927
commit 1cd21251d2
19 changed files with 1 additions and 141 deletions

View File

@ -553,13 +553,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -559,12 +559,6 @@ DEFINE_TEMP_SENSOR(bed, TT_INTERCOM, AIO1, 0)
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -545,12 +545,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -556,13 +556,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -556,13 +556,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -554,12 +554,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/**
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -556,13 +556,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -557,13 +557,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -552,13 +552,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -552,13 +552,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -556,13 +556,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -610,13 +610,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -624,13 +624,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time

View File

@ -276,17 +276,6 @@
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
This option makes the step interrupt interruptible (nested). This should
help immensely with dropped serial characters, but may also make debugging
infuriating due to the complexities arising from nested interrupts.
Note: disable this option if you're using a '168 or for some reason your
ram usage is above 90%. This option hugely increases likelihood of stack
smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** \def TH_COUNT /** \def TH_COUNT
Temperature history count. This is how many temperature readings to keep in Temperature history count. This is how many temperature readings to keep in
order to calculate derivative in PID loop higher values make PID derivative order to calculate derivative in PID loop higher values make PID derivative

View File

@ -276,17 +276,6 @@
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
This option makes the step interrupt interruptible (nested). This should
help immensely with dropped serial characters, but may also make debugging
infuriating due to the complexities arising from nested interrupts.
Note: disable this option if you're using a '168 or for some reason your
ram usage is above 90%. This option hugely increases likelihood of stack
smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** \def TH_COUNT /** \def TH_COUNT
Temperature history count. This is how many temperature readings to keep in Temperature history count. This is how many temperature readings to keep in
order to calculate derivative in PID loop higher values make PID derivative order to calculate derivative in PID loop higher values make PID derivative

View File

@ -23,7 +23,6 @@ class MiscellaneousPage(wx.Panel, Page):
'DC_EXTRUDER': "Heater:", 'DC_EXTRUDER_PWM': "PWM:", 'DC_EXTRUDER': "Heater:", 'DC_EXTRUDER_PWM': "PWM:",
'USE_WATCHDOG': "Use the Watchdog Timer", 'USE_WATCHDOG': "Use the Watchdog Timer",
'REFERENCE': "Analog Reference:", 'REFERENCE': "Analog Reference:",
'STEP_INTERRUPT_INTERRUPTIBLE': "STEP Interrupt",
'TH_COUNT': "Temperature History Size:", 'TH_COUNT': "Temperature History Size:",
'FAST_PWM': "Fast PWM", 'FAST_PWM': "Fast PWM",
'ENDSTOP_STEPS': "Endstop Steps:", 'ENDSTOP_STEPS': "Endstop Steps:",
@ -73,10 +72,6 @@ class MiscellaneousPage(wx.Panel, Page):
cb = self.addCheckBox(k, self.onCheckBox) cb = self.addCheckBox(k, self.onCheckBox)
sz.Add(cb, pos = (4, 1)) sz.Add(cb, pos = (4, 1))
k = 'STEP_INTERRUPT_INTERRUPTIBLE'
cb = self.addCheckBox(k, self.onCheckBox)
sz.Add(cb, pos = (5, 1))
k = 'FAST_PWM' k = 'FAST_PWM'
cb = self.addCheckBox(k, self.onCheckBox) cb = self.addCheckBox(k, self.onCheckBox)
sz.Add(cb, pos = (6, 1)) sz.Add(cb, pos = (6, 1))
@ -279,14 +274,7 @@ class MiscellaneousPage(wx.Panel, Page):
def getValues(self): def getValues(self):
result = Page.getValues(self) result = Page.getValues(self)
k = 'STEP_INTERRUPT_INTERRUPTIBLE' k = 'DC_EXTRUDER'
cb = self.checkBoxes[k]
if cb.IsChecked():
result[k] = "1"
else:
result[k] = "0"
k = "DC_EXTRUDER"
s = self.choices[k].GetSelection() s = self.choices[k].GetSelection()
v = self.choices[k].GetString(s) v = self.choices[k].GetString(s)
if v == self.heaterNameNone: if v == self.heaterNameNone:

9
dda.c
View File

@ -628,15 +628,6 @@ void dda_step(DDA *dda) {
} }
#endif #endif
#if STEP_INTERRUPT_INTERRUPTIBLE && ! defined ACCELERATION_RAMPING
// Since we have sent steps to all the motors that will be stepping
// and the rest of this function isn't so time critical, this interrupt
// can now be interruptible by other interrupts.
// The step interrupt is disabled before entering dda_step() to ensure
// that we don't step again while computing the below.
sei();
#endif
#ifdef ACCELERATION_REPRAP #ifdef ACCELERATION_REPRAP
// linear acceleration magic, courtesy of http://www.embedded.com/design/mcus-processors-and-socs/4006438/Generate-stepper-motor-speed-profiles-in-real-time // linear acceleration magic, courtesy of http://www.embedded.com/design/mcus-processors-and-socs/4006438/Generate-stepper-motor-speed-profiles-in-real-time
if (dda->accel) { if (dda->accel) {

View File

@ -89,8 +89,6 @@ void queue_step() {
} }
} }
else { else {
// NOTE: dda_step makes this interrupt interruptible for some time,
// see STEP_INTERRUPT_INTERRUPTIBLE.
dda_step(current_movebuffer); dda_step(current_movebuffer);
} }
} }

View File

@ -556,13 +556,6 @@ PWM value for 'off'
*/ */
#define REFERENCE REFERENCE_AVCC #define REFERENCE REFERENCE_AVCC
/** \def STEP_INTERRUPT_INTERRUPTIBLE
this option makes the step interrupt interruptible (nested).
this should help immensely with dropped serial characters, but may also make debugging infuriating due to the complexities arising from nested interrupts
\note disable this option if you're using a '168 or for some reason your ram usage is above 90%. This option hugely increases likelihood of stack smashing.
*/
#define STEP_INTERRUPT_INTERRUPTIBLE 1
/** /**
temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop temperature history count. This is how many temperature readings to keep in order to calculate derivative in PID loop
higher values make PID derivative term more stable at the expense of reaction time higher values make PID derivative term more stable at the expense of reaction time