/*
* CommunicationTask.h
*
* Created on: 8 ����� 2018
* Author: shlomo
*/
#ifndef COMMUNICATION_COMMUNICATIONTASK_H_
#define COMMUNICATION_COMMUNICATIONTASK_H_
void RegisterReceiveCallback(void (*callback_ptr)(char* buffer, size_t length));
uint32_t initArray( size_t initialSize);
bool insertArray(uint32_t buffer, char element);
void freeArray(uint32_t buffer);
extern uint32_t CommunicationTaskInit(void);
extern uint32_t CommunicationTaskMessageReceived(uint32_t buffer,uint16_t msgSize);
extern bool CommunicationTaskSendMessage(char* buffer,size_t length);
void CommunicationMailboxFlush(void);
#define isUART true
#define isUSB false
extern int32_t SetCommunicationPath(bool UARTorUSB);
#endif /* COMMUNICATION_COMMUNICATIONTASK_H_ */