Just some random notes:
Remove idata and udata pragmas.
Change %S string printf format specifier to %s (lower case).
If the next character after the escaped character is between [a-fA-F] then use a double quote between them:
warning: (335) unknown pragma "udata"
...
Remove idata and udata pragmas.
(975) invalid format specifier or type modifier
Change %S string printf format specifier to %s (lower case).
sprintf("\04Fancoil\n"
Results a malformed string
If the next character after the escaped character is between [a-fA-F] then use a double quote between them:
sprintf("\04""Fancoil\n"