I have added the override functions for setting a temperature value and also for changing the publish time. The rest of the functions for setting target temperature and starting the heaters will not be override functions.
I am not using AE as notepad, I am using my code as notepad. The bulk of the AE documentation is done in the Sub-task but as I am developing, more items need to be added/removed. I always have todos next to them and once in a while I will sweep through them. This was I can ensure that AE is in sync with the firmware.
I only use U in #defines since the type of defined implicitly. For instance you can say #define coeff 2.35 or #define temp 35. So for the integers if they are unsigned, I put the U in the end. But when you define a variable U16 a = 23, then U is not needed because you explicitly define the type of the variable to be a unsigned 16-bit integer. It is for extra safety mostly.
I would consider breaking this large function into 3 smaller functions. One for this, one for converting heater temperatures, and one for converting other temperatures. Maybe even more for dealing with error flags, etc...