@@ -31,25 +31,25 @@ uint16_t AS5600::angle() {
3131 setAngleRegister ();
3232 }
3333 _wire->requestFrom (_address, (uint8_t )2 , (uint8_t )closeTransactions);
34- result = _wire->read ()<<8 ;
34+ result = ( _wire->read ()& 0x0F )<<8 ;
3535 result |= _wire->read ();
3636 return result;
3737};
3838
3939
4040uint16_t AS5600::readRawAngle () {
41- return readRegister (AS5600_REG_ANGLE_RAW, 2 );
41+ return readRegister (AS5600_REG_ANGLE_RAW, 2 ) & 0x0FFF ;
4242};
4343
4444
4545uint16_t AS5600::readAngle () {
46- return readRegister (AS5600_REG_ANGLE, 2 );
46+ return readRegister (AS5600_REG_ANGLE, 2 ) & 0x0FFF ;
4747};
4848
4949
5050
5151uint16_t AS5600::readMagnitude () {
52- return readRegister (AS5600_REG_MAGNITUDE, 2 );
52+ return readRegister (AS5600_REG_MAGNITUDE, 2 ) & 0x0FFF ;
5353};
5454
5555
@@ -74,17 +74,17 @@ AS5600Conf AS5600::readConf() {
7474
7575
7676uint16_t AS5600::readMang () {
77- return readRegister (AS5600_REG_MANG, 2 );
77+ return readRegister (AS5600_REG_MANG, 2 ) & 0x0FFF ;
7878};
7979
8080
8181uint16_t AS5600::readMPos () {
82- return readRegister (AS5600_REG_MPOS, 2 );
82+ return readRegister (AS5600_REG_MPOS, 2 ) & 0x0FFF ;
8383};
8484
8585
8686uint16_t AS5600::readZPos () {
87- return readRegister (AS5600_REG_ZPOS, 2 );
87+ return readRegister (AS5600_REG_ZPOS, 2 ) & 0x0FFF ;
8888};
8989
9090
0 commit comments