I find it amazing that changes to the firmware alone can make such significant changes to things like momentum and blue numbers!
If I were sitting down to design the system I would presume that most of these "adjustments" of the simulation would be done in the software, and the firmware would mainly just apply the requested resistance and feed back the wheel speed. I wonder what reasons there were for putting such complex algorithms into the firmware?
For sure the ANT+ F-EC protocol is unlikely to have them, and nor would other makes of trainer. This may explain why the other trainers, like the KICKR, were treated so differently in respect of downhill speeds, etc. It is really strange that these things would be the responsibility of the firmware, rather than the simulation software. This would mean they would need coding twice, once for the bkool firmware and once in the simulation software for all trainers apart from the bkool!
I have to say, I remain very impressed by the bkool software in general, while at the same time being surprised by how many flaws it seems to have, and how little testing there seems to be before releases. If I had the resources, I'd love to get involved in doing something similar. Sounds (even) more interesting than designing the security and networking software I've done up to now...