![]() |
PIDUINO
|
#include <scheduler.h>
Public Member Functions | |
Scheduler (int interruptPriority=-1) | |
Constructeur. | |
void | noInterrupts () |
Passage en mode "sans interruptions". | |
void | interrupts () |
Passage en mode "avec interruptions". | |
int | interrupPriority () const |
Priorité affectée lors d'un appel à noInterrupts() | |
void | setInterrupPriority (int value) |
Modifie la priorité affectée lors d'un appel à noInterrupts() | |
Static Public Member Functions | |
static void | setRtPriority (int priority) |
Définis la priorité en temps réel du thread appelant. | |
static int | rtPriority () |
Priorité du thread appelant. | |
static int | rtPriorityMin () |
Priorité minimale du thread appelant. | |
static int | rtPriorityMax () |
Priorité maximale du thread appelant. | |
static void | yield () |
force le thread appelant à libérer le CPU. | |
Protected Attributes | |
int | _interruptPriority |
int | _previousPriority |
std::mutex | _intMutex |
Definition at line 38 of file scheduler.h.
|
inline |
Constructeur.
interruptPriority | priorité utilisée par noInterrupts(), -1 pour la priorité maximale |
Definition at line 45 of file scheduler.h.
References _interruptPriority, _previousPriority, rtPriority(), and rtPriorityMax().
|
inline |
Priorité affectée lors d'un appel à noInterrupts()
Definition at line 84 of file scheduler.h.
References _interruptPriority.
|
inline |
Passage en mode "avec interruptions".
C'est le mode normal d'un thread qui peut donc être interrompu. Cette fonction doit être appelé pour désactiver le mode "sans interruptions" activé par noInterrupts().
Definition at line 75 of file scheduler.h.
References _intMutex, _previousPriority, and setRtPriority().
|
inline |
Passage en mode "sans interruptions".
Le thread appelant est passé avec une priorité interrupPriority(), l'appel à cette fonction est bloqué jusqu'à libération par interrupts(). Cette fonction ne devrait être appellée que pour des portions de code extrémement critiques.
Elle nécessite de disposer des droits root.
Definition at line 61 of file scheduler.h.
References _interruptPriority, _intMutex, _previousPriority, rtPriority(), and setRtPriority().
|
static |
Priorité du thread appelant.
Referenced by noInterrupts(), and Scheduler().
|
static |
Priorité maximale du thread appelant.
Referenced by Scheduler().
|
static |
Priorité minimale du thread appelant.
|
inline |
Modifie la priorité affectée lors d'un appel à noInterrupts()
Definition at line 94 of file scheduler.h.
References _interruptPriority, and _intMutex.
|
static |
Définis la priorité en temps réel du thread appelant.
L'algorithme choisie est le round-robin. Sur un système Linux, la valeur normale de priorité est de 20, la valeur minimale est de 1 et la valeur maximale est de 99. Donner une valeur de 99 est une très mauvaise idée qui peut bloquer le système...
priority | valeur de la priorité |
Referenced by interrupts(), and noInterrupts().
|
static |
force le thread appelant à libérer le CPU.
Le thread est déplacé à la fin de la liste des processus prêts de sa priorité, et un autre thread sera exécuté.
|
protected |
Definition at line 135 of file scheduler.h.
Referenced by interrupPriority(), noInterrupts(), Scheduler(), and setInterrupPriority().
|
protected |
Definition at line 137 of file scheduler.h.
Referenced by interrupts(), noInterrupts(), and setInterrupPriority().
|
protected |
Definition at line 136 of file scheduler.h.
Referenced by interrupts(), noInterrupts(), and Scheduler().