ticketlock foo

This commit is contained in:
Simon
2025-05-13 14:35:58 +02:00
parent 4a731be0ca
commit 9afe202078
4 changed files with 32 additions and 7 deletions

View File

@@ -4,7 +4,8 @@
#include "../../device/ps2controller.h"
#include "../../object/outputstream.h"
#include "../../device/textstream.h"
#include "../../sync/ticketlock.h"
#include "../../arch/core.h"
char text[] = "Ich mag\n\
Saftige Pflaumen voller Aroma\n\
Ich knuddel jede Oma ins Koma\n\
@@ -19,7 +20,7 @@ Und wacht sie aus'm Koma auf, kriegt sie von mir 'n Sticker\n\
\n";
extern TextStream kout;
extern Ticketlock ticketlock;
void activeWaitDelay(uint64_t cycles) {
uint64_t counter = 0; // Use volatile to prevent optimization
for (uint64_t i = 0; i < cycles; ++i) {
@@ -31,6 +32,8 @@ void activeWaitDelay(uint64_t cycles) {
void Application::action() { // NOLINT
uint16_t cnt = 0;
while (1) {
Core::Interrupt::disable();
ticketlock.lock();
while(text[cnt++] != '\n'){
kout << text[cnt-1];
}
@@ -39,5 +42,8 @@ void Application::action() { // NOLINT
activeWaitDelay(1000000000);
if(cnt >= sizeof(text)-1)
cnt=0;
ticketlock.unlock();
Core::Interrupt::enable();
}
}