platformSystem.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef __platformSystem__
  2. #define __platformSystem__
  3. #ifdef __cplusplus
  4. extern "C"
  5. {
  6. #endif
  7. #include <stdio.h>
  8. #include <stdint.h>
  9. #include <assert.h>
  10. #include "cmsis_os2.h"
  11. #include "RyanMqttPublic.h"
  12. #define RyanMqttAssert(EX) assert(EX)
  13. typedef struct
  14. {
  15. osThreadId_t thread;
  16. } platformThread_t;
  17. typedef struct
  18. {
  19. osMutexId_t mutex;
  20. } platformMutex_t;
  21. extern void *platformMemoryMalloc(size_t size);
  22. extern void platformMemoryFree(void *ptr);
  23. extern void platformDelay(uint32_t ms);
  24. extern RyanMqttError_e platformThreadInit(void *userData,
  25. platformThread_t *platformThread,
  26. const char *name,
  27. void (*entry)(void *),
  28. void *const param,
  29. uint32_t stackSize,
  30. uint32_t priority);
  31. extern RyanMqttError_e platformThreadDestroy(void *userData, platformThread_t *platformThread);
  32. extern RyanMqttError_e platformThreadStart(void *userData, platformThread_t *platformThread);
  33. extern RyanMqttError_e platformThreadStop(void *userData, platformThread_t *platformThread);
  34. extern RyanMqttError_e platformMutexInit(void *userData, platformMutex_t *platformMutex);
  35. extern RyanMqttError_e platformMutexDestroy(void *userData, platformMutex_t *platformMutex);
  36. extern RyanMqttError_e platformMutexLock(void *userData, platformMutex_t *platformMutex);
  37. extern RyanMqttError_e platformMutexUnLock(void *userData, platformMutex_t *platformMutex);
  38. extern void platformCriticalEnter(void);
  39. extern void platformCriticalExit(void);
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif