The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood.
### Encoders
This section controls the basic [rotary encoder](feature_encoders.md) support.
The following items can be set. Not every value is required.
* `pin_a`
* __Required__. A pad definition
* `pin_b`
* __Required__. B pad definition
* `resolution`
* How many pulses the encoder registers between each detent
_log_warning(info_data,'Encoder config is specified in both config.h and info.json (encoder.rotary) (Value: %s), the config.h value wins.'%info_data['encoder']['rotary'])
_log_warning(info_data,'Encoder config is specified in both config.h and info.json (encoder.rotary) (Value: %s), the config.h value wins.'%info_data['split']['encoder']['right']['rotary'])