40 uint8_t __u8_esos_mail_routines_dummy_uint8;
45 void __esos_InitMailbox(
MAILBOX* pst_Mailbox, uint8_t* pau8_ptr) {
46 __esos_CB_Init( pst_Mailbox->pst_CBuffer, pau8_ptr, MAX_SIZE_TASK_MAILBOX);
64 u8_i = ((pst_Msg->u8_flags)<<4) + (pst_Msg->u8_DataLength & 0x0F);
67 __esos_CB_WriteUINT16( pst_RcvrTask->pst_Mailbox->pst_CBuffer, ESOS_GET_PMSG_FROMTASK(pst_Msg) );
71 if ( ESOS_GET_PMSG_FLAGS(pst_Msg) & ESOS_MAILMESSAGE_UINT8) {
72 for (u8_i=0; u8_i<ESOS_GET_PMSG_DATA_LENGTH(pst_Msg); u8_i++) {
75 }
else if ( ESOS_GET_PMSG_FLAGS(pst_Msg) & ESOS_MAILMESSAGE_UINT16) {
76 for (u8_i=0; u8_i<pst_Msg->u8_DataLength; u8_i++) {
77 __esos_CB_WriteUINT16( pst_RcvrTask->pst_Mailbox->pst_CBuffer, pst_Msg->au16_Contents[u8_i] );
79 }
else if ( ESOS_GET_PMSG_FLAGS(pst_Msg) & ESOS_MAILMESSAGE_UINT32) {
80 for (u8_i=0; u8_i<pst_Msg->u8_DataLength; u8_i++) {
81 __esos_CB_WriteUINT32( pst_RcvrTask->pst_Mailbox->pst_CBuffer, pst_Msg->au32_Contents[u8_i] );
103 u8_i = __esos_CB_ReadUINT8( pst_Task->pst_Mailbox->pst_CBuffer );
104 pst_Message->u8_flags = u8_i>>4;
105 pst_Message->u8_DataLength = u8_i & 0x0F;
107 pst_Message->u16_FromTaskID = __esos_CB_ReadUINT16( pst_Task->pst_Mailbox->pst_CBuffer );
109 pst_Message->u32_Postmark = __esos_CB_ReadUINT32( pst_Task->pst_Mailbox->pst_CBuffer );
111 if ( ESOS_GET_PMSG_FLAGS(pst_Message) & ESOS_MAILMESSAGE_UINT8) {
112 for (u8_i=0; u8_i<ESOS_GET_PMSG_DATA_LENGTH(pst_Message); u8_i++) {
113 pst_Message->au8_Contents[u8_i] = __esos_CB_ReadUINT8( pst_Task->pst_Mailbox->pst_CBuffer );
115 }
else if ( ESOS_GET_PMSG_FLAGS(pst_Message) & ESOS_MAILMESSAGE_UINT16) {
116 for (u8_i=0; u8_i<pst_Message->u8_DataLength; u8_i++) {
117 pst_Message->au16_Contents[u8_i] = __esos_CB_ReadUINT16( pst_Task->pst_Mailbox->pst_CBuffer );
119 }
else if ( ESOS_GET_PMSG_FLAGS(pst_Message) & ESOS_MAILMESSAGE_UINT32) {
120 for (u8_i=0; u8_i<pst_Message->u8_DataLength; u8_i++) {
121 pst_Message->au32_Contents[u8_i] = __esos_CB_ReadUINT32( pst_Task->pst_Mailbox->pst_CBuffer );
126 if ( ESOS_GET_PMSG_FLAGS(pst_Message) & ESOS_MAILMESSAGE_REQUEST_ACK) {
129 __ESOS_CLEAR_TASK_MAILNACK_FLAG( pst_From );