MCPcopy Create free account
hub / github.com/ZhuYanzhen1/miniFOC / encoder_get_mechanical_angle

Function encoder_get_mechanical_angle

program/algorithm/encoder.c:76–86  ·  view source on GitHub ↗

! \brief read mechanical angle directly from encoder \retval register raw data reading back */

Source from the content-addressed store, hash-verified

74 \retval register raw data reading back
75*/
76unsigned 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,

Callers 2

foc_calibrate_phaseFunction · 0.85

Calls 1

encoder_read_dataFunction · 0.85

Tested by

no test coverage detected