https://cnckala.com/incremental-or-absolute-encoder/