diff --git a/miosix/kernel/scheduler/control/control_scheduler.cpp b/miosix/kernel/scheduler/control/control_scheduler.cpp
index ee90b17ab0e863df726378590462b6756d4a4873..68ed478cbd5418bbda64879e59b0abbc322614ac 100644
--- a/miosix/kernel/scheduler/control/control_scheduler.cpp
+++ b/miosix/kernel/scheduler/control/control_scheduler.cpp
@@ -756,39 +756,37 @@ void ControlScheduler::IRQrecalculateAlfa()
if(sumPriority==0) return;
#ifndef SCHED_CONTROL_FIXED_POINT
float base=1.0f/((float)sumPriority);
- //for(Thread *it=threadList;it!=0;it=it->schedData.next)
- for (auto it = activeThreads.begin() ; it != activeThreads.end() ; it++)
+ for(Thread *it=threadList;it!=0;it=it->schedData.next)
{
#ifdef ENABLE_FEEDFORWARD
//Assign zero bursts to blocked threads
- if((*it)->t->flags.isReady())
+ if(it->flags.isReady())
{
- (*it)->t->schedData.alfa=base*((float)((*it)->t->schedData.priority.get()+1));
+ it->schedData.alfa=base*((float)(it->schedData.priority.get()+1));
} else {
- (*it)->t->schedData.alfa=0;
+ it->schedData.alfa=0;
}
#else //ENABLE_FEEDFORWARD
//Assign bursts irrespective of thread blocking status
- (*it)->t->schedData.alfa=base*((float)((*it)->t->schedData.priority.get()+1));
+ it->schedData.alfa=base*((float)(it->schedData.priority.get()+1));
#endif //ENABLE_FEEDFORWARD
}
#else //FIXED_POINT_MATH
//Sum of all alfa is maximum value for an unsigned short
unsigned int base=4096/sumPriority;
- //for(Thread *it=threadList;it!=0;it=it->schedData.next)
- for (auto it = activeThreads.begin() ; it != activeThreads.end() ; it++)
+ for(Thread *it=threadList;it!=0;it=it->schedData.next)
{
#ifdef ENABLE_FEEDFORWARD
//Assign zero bursts to blocked threads
- if((*it)->t->flags.isReady())
+ if(it->flags.isReady())
{
- (*it)->t->schedData.alfa=base*((*it)->t->schedData.priority.get()+1);
+ it->schedData.alfa=base*(it->schedData.priority.get()+1);
} else {
- (*it)->t->schedData.alfa=0;
+ it->schedData.alfa=0;
}
#else //ENABLE_FEEDFORWARD
//Assign bursts irrespective of thread blocking status
- (*it)->t->schedData.alfa=base*((*it)->t->schedData.priority.get()+1);
+ it->schedData.alfa=base*(it->schedData.priority.get()+1);
#endif //ENABLE_FEEDFORWARD
}
#endif //FIXED_POINT_MATH
diff --git a/miosix/kernel/scheduler/control/control_scheduler.h b/miosix/kernel/scheduler/control/control_scheduler.h
index 398e113c90f5235ade916ff607b2ad26739a88f0..7b4f25257e1549994637cb9e109d411cd1e3039e 100755
--- a/miosix/kernel/scheduler/control/control_scheduler.h
+++ b/miosix/kernel/scheduler/control/control_scheduler.h
@@ -27,7 +27,9 @@
#ifndef CONTROL_SCHEDULER_H
#define CONTROL_SCHEDULER_H
+
#define SCHED_CONTROL_MULTIBURST
+
#include "config/miosix_settings.h"
#include "control_scheduler_types.h"
#include "parameters.h"