Jonathan Jones
/
Radios
Radio Structures in OOP
Embed:
(wiki syntax)
Show/hide line numbers
MailHelper.h
00001 #ifndef MAIL_HELPER_H 00002 #define MAIL_HELPER_H 00003 00004 #include "mbed.h" 00005 #include "cmsis.h" 00006 00007 template<class T, unsigned int size> 00008 class MailHelper 00009 { 00010 public: 00011 MailHelper() { 00012 #ifdef CMSIS_OS_RTX 00013 memset(_q, 0, sizeof(_q)); 00014 _ptr[0] = _q; 00015 00016 memset(_m, 0, sizeof(_m)); 00017 _ptr[1] = _m; 00018 00019 _def.pool = _ptr; 00020 _def.item_sz = sizeof(T); 00021 _def.queue_sz = size; 00022 #endif 00023 }; 00024 00025 osMailQDef_t* def(void) { return &_def; } 00026 00027 private: 00028 osMailQDef_t _def; 00029 00030 #ifdef CMSIS_OS_RTX 00031 uint32_t _q[4+size]; 00032 uint32_t _m[3+((sizeof(T)+3)/4)*size]; 00033 void* _ptr[2]; 00034 #endif 00035 }; 00036 00037 #endif // MAIL_HELPER_H
Generated on Mon Jul 18 2022 20:09:01 by 1.7.2