https://mbed.org/users/aberk/code/QEI/#5c2ad81551aa