/* get a byte (8bits) from a pointer 
Caller should ensure parameters are valid. */
uint8_t BytesGet8(const void *ptr)
/* get a byte (8bits) from a pointer 
Caller should ensure parameters are valid. */
uint8_t BytesGet8(const void *ptr)
{
    const uint8_t *p = (const uint8_t *)ptr;
    return p[0];
}