diff --git a/main.cpp b/main.cpp index c12873ac8748d154978b3d114f978f99a21aa9db..50b0ea93680cd4f74eeaac813f03f67944e31624 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include <cstdio> #include <cstdlib> +#include <vector> #include "miosix.h" using namespace std; @@ -15,10 +16,13 @@ void blinkThread(void *argv) long long tick=getTick(); for(;;) { - if(led2::value()) led2::low(); else led2::high(); + long long prevTick=tick; tick+=period; Thread::setPriority(Priority(tick)); //Change deadline - Thread::sleepUntil(tick); + Thread::sleepUntil(prevTick); //Make sure the task is run periodically + if(led2::value()) led2::low(); else led2::high(); + delayMs(14); + if(getTick()>tick) iprintf("Deadline missed (A)\n"); } } @@ -28,14 +32,17 @@ int main() led1::mode(Mode::OUTPUT); led2::mode(Mode::OUTPUT); - Thread::create(blinkThread,STACK_MIN); + Thread::create(blinkThread,2048); const int period=static_cast<int>(TICK_FREQ*0.05); long long tick=getTick(); for(;;) { - if(led1::value()) led1::low(); else led1::high(); + long long prevTick=tick; tick+=period; Thread::setPriority(Priority(tick)); //Change deadline - Thread::sleepUntil(tick); + Thread::sleepUntil(prevTick); //Make sure the task is run periodically + if(led1::value()) led1::low(); else led1::high(); + delayMs(24); + if(getTick()>tick) iprintf("Deadline missed (B)\n"); } } diff --git a/miosix_np_2/nbproject/configurations.xml b/miosix_np_2/nbproject/configurations.xml index 7ca3a1b9f9339c577d5bcabe94a68351ab2866f3..28d3a23264176259ea2007c88a9b0f5e3cf6ef3e 100644 --- a/miosix_np_2/nbproject/configurations.xml +++ b/miosix_np_2/nbproject/configurations.xml @@ -101,12 +101,15 @@ <in>control_scheduler.h</in> </df> <df name="edf"> + <in>edf_scheduler.cpp</in> + <in>edf_scheduler.h</in> </df> <df name="priority"> <in>priority_scheduler.cpp</in> <in>priority_scheduler.h</in> </df> <in>scheduler.h</in> + <in>tick_interrupt.h</in> </df> <in>error.cpp</in> <in>error.h</in> diff --git a/miosix_np_2/nbproject/private/configurations.xml b/miosix_np_2/nbproject/private/configurations.xml index b730d14ca90086d8aace3fcb83715eccd8467a97..023c313eeb08bc63c17dc6022af990c2882bd424 100644 --- a/miosix_np_2/nbproject/private/configurations.xml +++ b/miosix_np_2/nbproject/private/configurations.xml @@ -5,7 +5,6 @@ <confs> <conf name="Default" type="0"> <gizmo_options version="3"> - <configurationname>GizmoSimple</configurationname> </gizmo_options> <runprofile version="6"> <args></args>