Unfortuneately that is not entirely true.
in the above listing the bits are swapped. High is Low and Low is High.
You'll find a description of the protocol in the file <LEGO_Power_Functions_RC_v120.pdf> that you can find on the Internet. I know that this is not the right specification as the power functions is a successor of the rc train base platform. The rc train base platform has been only used as an intermediate step towards the RC Power Functions protocol.
This means:
1. The checksum calculation is different. In deviation to the above mentioned document the checksum is calculated with the following formula:
(0xf ^ ((_nib1 + _nib2 + _nib3) % 0x10))
2. The timing parameters are different to the above mentioned document. You can use the values mentioned above:
It is a 36kHz signal base
Start/Stop is pause 1930 mus
Low bit is pause 280 mu s
High bit is pause 844 mu s
3. The rc train bases in the market are having different firmware versions. THe newer ones obviously are already pretty close the commandset mentioned in the document. These are supporting the "Extended Mode", the "Single Output Mode" and also the "Combo PWM mode" The older ones are just supporting the "Extended mode", so they are limited to the commands that you can also send with the remote control. Setting an absolute power step directly is unfortuneately not possible with the older rc train bases.