diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/jobs.h | 8 | ||||
-rw-r--r-- | include/sys/mutex.h | 32 | ||||
-rw-r--r-- | include/sys/semaphore.h | 31 | ||||
-rw-r--r-- | include/tasks.h | 56 |
4 files changed, 0 insertions, 127 deletions
diff --git a/include/jobs.h b/include/jobs.h deleted file mode 100644 index d2abbdc..0000000 --- a/include/jobs.h +++ /dev/null @@ -1,8 +0,0 @@ -#include <stdint.h> - -#ifndef _IOE_JOBS_H_ -#define _IOE_JOBS_H_ - - - -#endif /* _IOE_JOBS_H_ */ diff --git a/include/sys/mutex.h b/include/sys/mutex.h deleted file mode 100644 index f682e02..0000000 --- a/include/sys/mutex.h +++ /dev/null @@ -1,32 +0,0 @@ -#include <avr/io.h> -#include <stdint.h> -#include <stdlib.h> - -#include "../tasks.h" - -#ifndef _IOE_SYS_MUTEX_H_ -#define _IOE_SYS_MUTEX_H_ -#ifdef CONFIG_IOE_MUTEX - -#define MUTEX_F_TIMED (1<<0) -#define MUTEX_F_TAKEN (1<<7) -#define mutex_t volatile struct Mutex -struct Mutex { - uint8_t flags; - Task *_task_took; -}; -int8_t mutex_init(struct Mutex * mtx); -int8_t mutex_free(struct Mutex * mtx); -int8_t mutex_take(struct Mutex * mtx, uint16_t timeout); -int8_t mutex_give(struct Mutex * mtx); - -#else /* CONFIG_IOE_MUTEX */ - -#define mutex_t struct { } -#define mutex_init(MTX, FLAGS) -#define mutex_free(MTX) -#define mutex_take(MTX, TIMEOUT) -#define mutex_give(MTX); - -#endif /* CONFIG_IOE_MUTEX */ -#endif /* _IOE_SYS_MUTEX_H_ */ diff --git a/include/sys/semaphore.h b/include/sys/semaphore.h deleted file mode 100644 index 0a25af3..0000000 --- a/include/sys/semaphore.h +++ /dev/null @@ -1,31 +0,0 @@ -#include <avr/io.h> -#include <stdint.h> -#include <stdlib.h> - -#ifndef _IOE_SYS_SEMAPHORE_H_ -#define _IOE_SYS_SEMAPHORE_H_ -#ifdef CONFIG_IOE_SEMAPHORE - -#define semaphore_t volatile struct Semaphore -struct Semaphore { - uint8_t flags; - uint8_t _count; - Task **_tasks; - uint8_t _tasks_len; -}; -int8_t semaphore_init(struct Semaphore * sem, uint8_t count); -int8_t semaphore_free(struct Semaphore * sem); -int8_t semaphore_take(struct Semaphore * sem, uint16_t timeout); -int8_t semaphore_give(Semaphore * sem); - -#else /* CONFIG_IOE_SEMAPHORE */ - -#define semaphore_t struct { } -// TODO implement for single processor -#define semaphore_init(SEM, FLAGS, COUNT) -#define semaphore_free(SEM) -#define semaphore_take(SEM, TIMEOUT) -#define semaphore_give(SEM) - -#endif /* CONFIG_IOE_SEMAPHORE */ -#endif /* _IOE_SYS_SEMAPHORE_H_ */ diff --git a/include/tasks.h b/include/tasks.h deleted file mode 100644 index b62b093..0000000 --- a/include/tasks.h +++ /dev/null @@ -1,56 +0,0 @@ -#include <avr/io.h> -#include <util/delay.h> -#include <avr/interrupt.h> -#include <stdint.h> -#include <stdlib.h> - -#include "mcu/mcu_def.h" -#include "timer.h" - -#ifndef _IOE_TASKS_H_ -#define _IOE_TASKS_H_ - -#ifdef CONFIG_IOE_TASKS - -#ifndef CONFIG_IOE_TIMERS -#error "To use tasks you must enable timers (CONFIG_IOE_TIMERS)." -#endif - -int8_t tasks_run(void); - -union StackPointer { - uint8_t lh8[2]; - uint16_t lh16; -}; - -struct Task { - uint8_t flags; - void (*func) (void *data); - void *data; - uint8_t _rflags; - uint8_t _stack_size; - union StackPointer _sp; -}; -typedef task_t volatile struct Task; - -int8_t task_spawn(struct Task * t, uint8_t stack_size); -Task *tasks_self(void); -void taks_exit(void); -int8_t task_kill(struct Task * t); -int8_t task_safe(void); -int8_t task_unsafe(void); - -int8_t task_delay(uint16_t cycles); -int8_t task_delay_ms(uint16_t ms); -int8_t task_delay_till(volatile int8_t * boolean, uint16_t ms); - -#else /* CONFIG_IOE_TASKS */ - -#define task_safe() -#define task_unsafe() -#define task_delay(CC) _delay_us(CC) // TODO this should be cycles -#define task_delay_ms(MS) _delay_ms(MS) -int8_t task_delay_till(volatile int8_t * boolean, uint16_t ms); - -#endif /* CONFIG_IOE_TASKS */ -#endif /* _IOE_TASKS_H_ */ |