Mercator Firmware Development

* Mercator firmware
* Changing some things like memcpy pointers to remove warnings from build
use `memcmp` if available