Those are warnings, not errors. They do not interfere with the program.
I would love to know what the incantation is to remove the warnings is, though - I always have to wade through those when I'm looking for the important warnings.
I would love to know what the incantation is to remove the warnings is, though
sendATcommand((char *)"ATH", (char *)"OK", 3000);
The string literal, "ATH" is a constant. You can not change it at run time. The function expects a char *, not a const char * (though there is NO reason for the function to change what the pointer points to, so the argument SHOULD be const char *, not char *). Casting the const char * to a char * removes the warning.