37 #include "esos_pc_stdio.h" 45 #include <sys/select.h> 55 void reverseString(
char *psz_s1,
char *psz_s2);
56 uint32_t randomNumInRange(uint32_t u32_lo, uint32_t u32_hi);
63 static uint8_t psz_CRNL[3]= {0x0D, 0x0A, 0};
67 uint32_t u32_myT1Count = 0;
71 struct stTask* pst_MyTasks[3];
84 __esos_tmrSvcsExecute();
104 uint32_t randomNumInRange(uint32_t u32_lo, uint32_t u32_hi) {
105 uint32_t u32_d1, u32_d2, u32_d4, u32_ret;
110 u32_ret = u32_lo + u32_d4;
111 if (u32_ret <= u32_hi)
return u32_ret;
115 u32_ret = u32_lo + u32_d2;
116 if (u32_ret <= u32_hi)
return u32_ret;
119 u32_ret = u32_lo + u32_d1;
120 if (u32_ret <= u32_hi)
return u32_ret;
148 static MAILMESSAGE st_Message;
158 ESOS_TASK_MAKE_MSG_UINT8(st_Message, u8_cnt);
166 printf(
"sender_A sending MESSAGE %d\n", u8_cnt);
167 ESOS_TASK_SEND_MESSAGE(hTask, &st_Message);
175 if (u8_cnt>50) u8_cnt=0;
187 static MAILMESSAGE stMsg;
200 __esos_ReadMailMessage(__pstSelf, &stMsg );
204 printf(
"Got a message from ");
205 if ( ESOS_IS_TASK_SENDER(hSenderA, stMsg) ) {
208 printf(
"UNKNOWN task: (%d)", ESOS_GET_MSG_FROMTASK(stMsg) );
210 printf (
" containing %d enroute time = %d ms\n", stMsg.au8_Contents[0],
esos_GetSystemTick()-stMsg.u32_Postmark );
256 __esos_unsafe_PutString( HELLO_MSG );
This file contains macros, prototypes, and definitions for Microchip PIC24 Family specific communicat...
#define esos_GetSystemTick()
ESOS_TASK_HANDLE esos_RegisterTask(uint8_t(*taskname)(ESOS_TASK_HANDLE pstTask))
#define ESOS_TASK_WAIT_FOR_MAIL()
uint32_t esos_GetRandomUint32()
ESOS_TASK_HANDLE esos_GetTaskHandle(uint8_t(*taskname)(ESOS_TASK_HANDLE pstTask))
This is the master include file for implementing ESOS on Microchip PIC24 MCUs.
#define ESOS_TASK_WAIT_TICKS(u32_duration)
#define ESOS_TASK_BEGIN()
#define ESOS_TASK_IVE_GOT_MAIL()
#define ESOS_TASK_WAIT_ON_TASKS_MAILBOX_HAS_AT_LEAST(pstTask, x)
ESOS_USER_TASK(CANFactory)
#define ESOS_USER_TIMER(timername)
unsigned char uint8_t
An abbreviation for an 8-bit unsigned integer.