Re: Align string literals
Not sure about the alignment...
As a "last resort" you could create a union data type ("WordByteUnion_t") where one element is a (u)int16_t. This way you would get the alignment required - - - exempt maybe when directly passing constant strings to the function.
MqWrite("TEST", 4); // Uncontrolled alignment
MqWrite((WordByteUnion_t*)"TEST", 4); // Not sure about the outcome :)
PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)