applayed mainstream changes
Merge branch 'master' into hoock_instance_sensitive
export uint16_t crc16()