! \brief read mechanical angle directly from encoder \retval register raw data reading back */
| 74 | \retval register raw data reading back |
| 75 | */ |
| 76 | unsigned short encoder_get_mechanical_angle(void) { |
| 77 | /* read back register raw data */ |
| 78 | unsigned short angle = encoder_read_data(0x0000) >> 4; |
| 79 | |
| 80 | /* statistical total rotation angle */ |
| 81 | total_machine_angle = total_machine_angle + angle - last_mechanical_angle; |
| 82 | last_mechanical_angle = angle; |
| 83 | |
| 84 | /* returns the result of subtracting the offset. */ |
| 85 | return ((total_machine_angle - machine_angle_offset) % ENCODER_RESO); |
| 86 | } |
| 87 | |
| 88 | /*! |
| 89 | \brief according to the electrical angle calculated from the mechanical angle, |
no test coverage detected