|
| enum class | UVWPolePairs : uint8_t {
PP1 = 0b000
, PP2 = 0b001
, PP3 = 0b010
, PP4 = 0b011
,
PP5 = 0b100
, PP6 = 0b101
, PP7 = 0b110
, PP7_ALT = 0b111
} |
| | UVW pole pair count (UVWPP) options for BLDC commutation. More...
|
| |
| enum class | Hysteresis : uint8_t { LSB_1 = 0b00
, LSB_2 = 0b01
, LSB_3 = 0b10
, NONE = 0b11
} |
| | Incremental output hysteresis (HYS) settings: More...
|
| |
| enum class | ABIResolution : uint8_t {
Code0 = 0b000
, Code1 = 0b001
, Code2 = 0b010
, Code3 = 0b011
,
Code4 = 0b100
, Code5 = 0b101
, Code6 = 0b110
, Code7 = 0b111
} |
| | ABI interface resolution (ABIRES) codes – see description for binary vs decimal mode interpretation. More...
|
| |
SETTINGS3 – Custom setting register 3 (0x001A, default 0x0000)
| Bits | Name | R/W/P | Description |
| 0-2 | UVWPP | R/W/P | UVW commutation pole pair count (0=1pp up to 6=7pp, 7=7pp) |
| 3-4 | HYS | R/W/P | Incremental output hysteresis setting (see table below) |
| 5-7 | ABIRES | R/W/P | Resolution of ABI interface (incremental resolution code) |
| 8-15 | (unused) | - | Unused upper bits (reads 0) |
Hysteresis (HYS) options (for incremental outputs):
- 00: 1 LSB hysteresis (0.17°) – default
- 01: 2 LSB hysteresis (0.35°)
- 10: 3 LSB hysteresis (0.52°)
- 11: 0 LSB (no hysteresis, outputs may toggle on slightest motion)
The ABIRES field selects the incremental encoder resolution. Its interpretation depends on ABI_DEC (binary or decimal mode). For binary mode (ABI_DEC=0):
- code 0b000 = 12-bit (4096 steps/1024 pulses per rev, default)
- 0b001 = 11-bit
- 0b010 = 10-bit
- 0b011 = 13-bit
- 0b100 = 14-bit (16384 steps/4096 ppr, max)
- Codes 0b101–0b111 are reserved in binary mode (treated as 14-bit max). For decimal mode (ABI_DEC=1): codes map to decimal pulses:
- 0b000 = 1000 ppr (4000 steps)
- 0b001 = 500 ppr
- 0b010 = 400 ppr
- 0b011 = 300 ppr
- 0b100 = 200 ppr
- 0b101 = 100 ppr
- 0b110 = 50 ppr
- 0b111 = 25 ppr.