https://mbed.org/users/chris/code/C12832/#7de323fa46fe