|
|
|
@ -6,6 +6,8 @@
|
|
|
|
#include "../../device/textstream.h"
|
|
|
|
#include "../../device/textstream.h"
|
|
|
|
#include "../../sync/ticketlock.h"
|
|
|
|
#include "../../sync/ticketlock.h"
|
|
|
|
#include "../../arch/core.h"
|
|
|
|
#include "../../arch/core.h"
|
|
|
|
|
|
|
|
#include "../../interrupt/guard.h"
|
|
|
|
|
|
|
|
|
|
|
|
char text[] = "Ich mag\n\
|
|
|
|
char text[] = "Ich mag\n\
|
|
|
|
Saftige Pflaumen voller Aroma\n\
|
|
|
|
Saftige Pflaumen voller Aroma\n\
|
|
|
|
Ich knuddel jede Oma ins Koma\n\
|
|
|
|
Ich knuddel jede Oma ins Koma\n\
|
|
|
|
@ -34,12 +36,15 @@ void activeWaitDelay(uint64_t cycles) {
|
|
|
|
void Application::action() { // NOLINT
|
|
|
|
void Application::action() { // NOLINT
|
|
|
|
uint16_t cnt = 0;
|
|
|
|
uint16_t cnt = 0;
|
|
|
|
while (1) {
|
|
|
|
while (1) {
|
|
|
|
koutlock.lock();
|
|
|
|
//koutlock.lock();
|
|
|
|
|
|
|
|
Guarded g = Guard::enter();
|
|
|
|
|
|
|
|
//g.vault();
|
|
|
|
while(text[cnt++] != '\n'){
|
|
|
|
while(text[cnt++] != '\n'){
|
|
|
|
kout << text[cnt-1];
|
|
|
|
kout << text[cnt-1];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
kout << endl << flush;
|
|
|
|
kout << endl << flush;
|
|
|
|
koutlock.unlock();
|
|
|
|
Guard::leave();
|
|
|
|
|
|
|
|
//koutlock.unlock();
|
|
|
|
|
|
|
|
|
|
|
|
activeWaitDelay(1000000000);
|
|
|
|
activeWaitDelay(1000000000);
|
|
|
|
if(cnt >= sizeof(text)-1)
|
|
|
|
if(cnt >= sizeof(text)-1)
|
|
|
|
|