@@ -31,25 +31,25 @@ uint16_t AS5600::angle() {
31
31
setAngleRegister ();
32
32
}
33
33
_wire->requestFrom (_address, (uint8_t )2 , (uint8_t )closeTransactions);
34
- result = _wire->read ()<<8 ;
34
+ result = ( _wire->read ()& 0x0F )<<8 ;
35
35
result |= _wire->read ();
36
36
return result;
37
37
};
38
38
39
39
40
40
uint16_t AS5600::readRawAngle () {
41
- return readRegister (AS5600_REG_ANGLE_RAW, 2 );
41
+ return readRegister (AS5600_REG_ANGLE_RAW, 2 ) & 0x0FFF ;
42
42
};
43
43
44
44
45
45
uint16_t AS5600::readAngle () {
46
- return readRegister (AS5600_REG_ANGLE, 2 );
46
+ return readRegister (AS5600_REG_ANGLE, 2 ) & 0x0FFF ;
47
47
};
48
48
49
49
50
50
51
51
uint16_t AS5600::readMagnitude () {
52
- return readRegister (AS5600_REG_MAGNITUDE, 2 );
52
+ return readRegister (AS5600_REG_MAGNITUDE, 2 ) & 0x0FFF ;
53
53
};
54
54
55
55
@@ -74,17 +74,17 @@ AS5600Conf AS5600::readConf() {
74
74
75
75
76
76
uint16_t AS5600::readMang () {
77
- return readRegister (AS5600_REG_MANG, 2 );
77
+ return readRegister (AS5600_REG_MANG, 2 ) & 0x0FFF ;
78
78
};
79
79
80
80
81
81
uint16_t AS5600::readMPos () {
82
- return readRegister (AS5600_REG_MPOS, 2 );
82
+ return readRegister (AS5600_REG_MPOS, 2 ) & 0x0FFF ;
83
83
};
84
84
85
85
86
86
uint16_t AS5600::readZPos () {
87
- return readRegister (AS5600_REG_ZPOS, 2 );
87
+ return readRegister (AS5600_REG_ZPOS, 2 ) & 0x0FFF ;
88
88
};
89
89
90
90
0 commit comments