Go to the documentation of this file.
15 #define SIZEELEMENTSRINGBUFFER 10U
17 #define RINGBUFFER_OKAY 0
18 #define RINGBUFFER_FULL -1
19 #define RINGBUFFER_EMPTY -2
20 #define RINGBUFFER_ERROR -3
int main(void)
app entry point
Definition: Main.c:47
void vRingbufferInit(psRingbuffer_t const _self)
init Ringbuffer
Definition: Ringbuffer.c:21
sRingbuffer_t * psRingbuffer_t
Definition: Ringbuffer.h:31
void Thread_FsmTape(void)
run FSM for Tape
Definition: Threads.c:55
uint32_t Thread_Stack_Read_Buttons[stack_size_Thread_Read_Buttons]
Anlegen des 3. Stackframes.
Definition: Main.c:34
int32_t s32RingbufferSet(psRingbuffer_t const _self, int32_t const *const pcs32Data)
Write data in ringbuffer.
Definition: Ringbuffer.c:38
#define SIZEELEMENTSRINGBUFFER
Definition: Ringbuffer.h:15
Definition: Ringbuffer.h:23
sRingbuffer_t rbVCR
Definition: Globals.c:13
#define stack_size_Thread_FsmTape
Stackgröße von Thread_FsmTape.
Definition: Main.c:17
int32_t as32Buffer[SIZEELEMENTSRINGBUFFER]
Definition: Ringbuffer.h:24
GLCD_FONT GLCD_Font_16x24
sRingbuffer_t rbTape
Definition: Globals.c:14
static void vMainInitTimer(void)
initialize timer0
Definition: Main.c:109
uint32_t u32SetPos
Definition: Ringbuffer.h:25
Definition: HeiOS_Thread.h:36
int32_t s32RingbufferSet(psRingbuffer_t const _self, int32_t const *const pcs32Data)
Write data in ringbuffer.
Definition: Ringbuffer.c:38
int32_t s32RingbufferGet(psRingbuffer_t const _self, int32_t *constpcs32Data)
Read data in ringbuffer.
Definition: Ringbuffer.c:66
#define RINGBUFFER_FULL
Definition: Ringbuffer.h:18
uint32_t u32ReadPos
Definition: Ringbuffer.h:26
uint32_t Thread_Stack_FsmTape[stack_size_Thread_FsmTape]
Anlegen des 2. Stackframes.
Definition: Main.c:32
int32_t s32RingbufferGet(psRingbuffer_t const _self, int32_t *constpcs32Data)
Read data in ringbuffer.
Definition: Ringbuffer.c:66
void Thread_init(Thread_t *Thread, void *stack, uint32_t stack_size, char name[], void(*pfunc)(), uint32_t executiontime, uint8_t priority)
Diese Funktion initialisert einen Thread und fügt ihn der Ready-Liste hinzu.
Definition: HeiOS_Thread.c:51
void Thread_FsmVCR(void)
run FSM for VCR
Definition: Threads.c:19
#define RINGBUFFER_OKAY
Definition: Ringbuffer.h:17
#define stack_size_Thread_Read_Buttons
Stackgröße von Thread_Read_Buttons.
Definition: Main.c:20
#define RINGBUFFER_ERROR
Definition: Ringbuffer.h:20
static void vMainInitApp(void)
initialize app
Definition: Main.c:71
Thread_t Thread_t_FsmVCR
Def. 1. Thread-Objekt for FSM VCR.
Definition: Main.c:23
_Bool bFsmTapeInitialize(void)
init Tape FSM
Definition: FsmTape.c:55
#define RINGBUFFER_EMPTY
Definition: Ringbuffer.h:19
#define stack_size_Thread_FsmVCR
Stackgröße von Thread_FsmVCR.
Definition: Main.c:14
_Bool bFsmVCRInitialize(void)
init VCR FSM
Definition: FsmVCR.c:87
Thread_t Thread_t_Read_Buttons
Def. 3. Thread-Objekt for reading Buttons.
Definition: Main.c:27
void TIMER0_IRQHandler(void)
ISR of timer0, called every 20 millisecond.
Definition: Interrupt.c:21
uint32_t Thread_Stack_FsmVCR[stack_size_Thread_FsmVCR]
Anlegen des 1. Stackframes.
Definition: Main.c:30
void vRingbufferInit(psRingbuffer_t const _self)
init Ringbuffer
Definition: Ringbuffer.c:21
void OS_Start_Scheduler(void)
Diese Funktion initialisiert das OS und sorgt anschließend für den Wechsel in den Idlethread.
Definition: HeiOS_Thread.c:513
Thread_t Thread_t_FsmTape
Def. 2. Thread-Objekt for FSM Tape.
Definition: Main.c:25