house keeping

This commit is contained in:
hathach 2018-07-24 18:17:09 +07:00
parent 255f832904
commit bd2313aa8b
2 changed files with 26 additions and 12 deletions

View File

@ -137,23 +137,15 @@
#define memclr_(buffer, size) memset((buffer), 0, (size))
#define varclr_(_var) memclr_(_var, sizeof(*(_var)))
#define arrclr_(_arr) memclr_(_arr, sizeof(_arr))
#define arrcount_(_arr) ( sizeof(_arr) / sizeof(_arr[0]) )
static inline uint8_t const * descriptor_next(uint8_t const p_desc[])
static inline bool mem_all_zero(void const* buffer, uint32_t size)
{
return p_desc + p_desc[DESC_OFFSET_LEN];
uint8_t const* p_mem = (uint8_t const*) buffer;
for(uint32_t i=0; i<size; i++) if (p_mem[i] != 0) return false;
return true;
}
static inline uint8_t descriptor_type(uint8_t const p_desc[])
{
return p_desc[DESC_OFFSET_TYPE];
}
static inline uint8_t descriptor_len(uint8_t const p_desc[])
{
return p_desc[DESC_OFFSET_LEN];
}
//------------- Conversion -------------//
/// form an uint32_t from 4 x uint8_t

View File

@ -377,6 +377,10 @@ static inline uint8_t bm_request_type(uint8_t direction, uint8_t type, uint8_t r
return ((uint8_t) (direction << 7)) | ((uint8_t) (type << 5)) | (recipient);
}
//--------------------------------------------------------------------+
// Endpoint helper
//--------------------------------------------------------------------+
// Get direction from Endpoint address
static inline tusb_dir_t edpt_dir(uint8_t addr)
{
@ -394,6 +398,24 @@ static inline uint8_t edpt_addr(uint8_t num, tusb_dir_t dir)
return num | (dir == TUSB_DIR_IN ? TUSB_DIR_IN_MASK : 0);
}
//--------------------------------------------------------------------+
// Descriptor helper
//--------------------------------------------------------------------+
static inline uint8_t const * descriptor_next(uint8_t const p_desc[])
{
return p_desc + p_desc[DESC_OFFSET_LEN];
}
static inline uint8_t descriptor_type(uint8_t const p_desc[])
{
return p_desc[DESC_OFFSET_TYPE];
}
static inline uint8_t descriptor_len(uint8_t const p_desc[])
{
return p_desc[DESC_OFFSET_LEN];
}
// Convert comma-separated string to descriptor unicode format
#define TUD_DESC_STRCONV( ... ) (const uint16_t[]) { (TUSB_DESC_STRING << 8 ) | (2*VA_ARGS_NUM_(__VA_ARGS__) + 2), __VA_ARGS__ }