\r
\r
\r
+\r
#ifndef OS_H_\r
#define OS_H_\r
\r
\r
#define INVALID_OSAPPLICATION (-1)\r
\r
+#define TASK(_task) void _task( void )\r
+\r
+\r
/* TODO, I have no idea what this should be*/\r
#if (OS_USE_APPLICATIONS == STD_ON)\r
typedef sint32 ApplicationType;\r
* System timer\r
*-----------------------------------------------------------------*/\r
typedef const uint32 OsTickType;\r
+\r
+extern OsTickType OsTickFreq;\r
void Os_SysTickInit( void );\r
void Os_SysTickStart(TickType period_ticks);\r
TickType Os_SysTickGetValue( void );\r
TickType Os_SysTickGetElapsedValue( TickType preValue );\r
\r
+/* Return a value that is always a free running timer */\r
+TickType GetOsTick( void );\r
+\r
+/* Since this is based on SW ticks, no use to have ns resolution */\r
+#define OSTICKDURATION_US (OSTICKDURATION/1000UL)\r
+\r
+/* Have special macros to always get the OsTick */\r
+#define OS_TICKS2SEC_OS_TICK(_ticks) ( (OSTICKDURATION_US * (_ticks))/1000000UL )\r
+#define OS_TICKS2MS_OS_TICK(_ticks) ( (OSTICKDURATION_US * (_ticks))/1000UL )\r
+#define OS_TICKS2US_OS_TICK(_ticks) (OSTICKDURATION_US * (_ticks))\r
+#define OS_TICKS2NS_OS_TICK(_ticks) (OSTICKDURATION * (_ticks))\r
+\r
/*-------------------------------------------------------------------\r
* Kernel extra\r
*-----------------------------------------------------------------*/\r
OSServiceId_GetElapsedValue,\r
OSServiceId_TerminateApplication,\r
OSServiceId_AllowAccess,\r
- OSServiceId_GetApplicationState\r
+ OSServiceId_GetApplicationState,\r
+\r
+#if defined(USE_KERNEL_EXTRA)\r
+ OSServiceId_Sleep,\r
+#endif\r
} OsServiceIdType;\r
\r
typedef struct OsError {\r