Code for our FYDP -only one IMU works right now -RTOS is working

Dependencies:   mbed

Committer:
majik
Date:
Wed Mar 18 22:23:48 2015 +0000
Revision:
0:964eb6a2ef00
This is our FYDP code, but only one IMU works with the RTOS.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
majik 0:964eb6a2ef00 1 #ifndef OS_TCB_H
majik 0:964eb6a2ef00 2 #define OS_TCB_H
majik 0:964eb6a2ef00 3
majik 0:964eb6a2ef00 4 /* Types */
majik 0:964eb6a2ef00 5 typedef char S8;
majik 0:964eb6a2ef00 6 typedef unsigned char U8;
majik 0:964eb6a2ef00 7 typedef short S16;
majik 0:964eb6a2ef00 8 typedef unsigned short U16;
majik 0:964eb6a2ef00 9 typedef int S32;
majik 0:964eb6a2ef00 10 typedef unsigned int U32;
majik 0:964eb6a2ef00 11 typedef long long S64;
majik 0:964eb6a2ef00 12 typedef unsigned long long U64;
majik 0:964eb6a2ef00 13 typedef unsigned char BIT;
majik 0:964eb6a2ef00 14 typedef unsigned int BOOL;
majik 0:964eb6a2ef00 15 typedef void (*FUNCP)(void);
majik 0:964eb6a2ef00 16
majik 0:964eb6a2ef00 17 typedef struct OS_TCB {
majik 0:964eb6a2ef00 18 /* General part: identical for all implementations. */
majik 0:964eb6a2ef00 19 U8 cb_type; /* Control Block Type */
majik 0:964eb6a2ef00 20 U8 state; /* Task state */
majik 0:964eb6a2ef00 21 U8 prio; /* Execution priority */
majik 0:964eb6a2ef00 22 U8 task_id; /* Task ID value for optimized TCB access */
majik 0:964eb6a2ef00 23 struct OS_TCB *p_lnk; /* Link pointer for ready/sem. wait list */
majik 0:964eb6a2ef00 24 struct OS_TCB *p_rlnk; /* Link pointer for sem./mbx lst backwards */
majik 0:964eb6a2ef00 25 struct OS_TCB *p_dlnk; /* Link pointer for delay list */
majik 0:964eb6a2ef00 26 struct OS_TCB *p_blnk; /* Link pointer for delay list backwards */
majik 0:964eb6a2ef00 27 U16 delta_time; /* Time until time out */
majik 0:964eb6a2ef00 28 U16 interval_time; /* Time interval for periodic waits */
majik 0:964eb6a2ef00 29 U16 events; /* Event flags */
majik 0:964eb6a2ef00 30 U16 waits; /* Wait flags */
majik 0:964eb6a2ef00 31 void **msg; /* Direct message passing when task waits */
majik 0:964eb6a2ef00 32
majik 0:964eb6a2ef00 33 /* Hardware dependant part: specific for CM processor */
majik 0:964eb6a2ef00 34 U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended */
majik 0:964eb6a2ef00 35 U8 reserved;
majik 0:964eb6a2ef00 36 U16 priv_stack; /* Private stack size in bytes */
majik 0:964eb6a2ef00 37 U32 tsk_stack; /* Current task Stack pointer (R13) */
majik 0:964eb6a2ef00 38 U32 *stack; /* Pointer to Task Stack memory block */
majik 0:964eb6a2ef00 39
majik 0:964eb6a2ef00 40 /* Library dependant part */
majik 0:964eb6a2ef00 41 #if defined (__CC_ARM) && !defined (__MICROLIB)
majik 0:964eb6a2ef00 42 /* A memory space for arm standard library. */
majik 0:964eb6a2ef00 43 U32 std_libspace[96/4];
majik 0:964eb6a2ef00 44 #endif
majik 0:964eb6a2ef00 45
majik 0:964eb6a2ef00 46 /* Task entry point used for uVision debugger */
majik 0:964eb6a2ef00 47 FUNCP ptask; /* Task entry address */
majik 0:964eb6a2ef00 48 } *P_TCB;
majik 0:964eb6a2ef00 49
majik 0:964eb6a2ef00 50 #endif