lv_trigo_sin: bugfix for with 179 degree

This commit is contained in:
Gabor Kiss-Vamosi
2018-12-30 22:00:23 +01:00
parent a9921c78e8
commit 6322798b61

View File

@@ -33,7 +33,8 @@ static int16_t sin0_90_table[] = {
25101, 25465, 25821, 26169, 26509, 26841, 27165, 27481, 27788, 28087,
28377, 28659, 28932, 29196, 29451, 29697, 29934, 30162, 30381, 30591,
30791, 30982, 31163, 31335, 31498, 31650, 31794, 31927, 32051, 32165,
32269, 32364, 32448, 32523, 32587, 32642, 32687, 32722, 32747, 32762
32269, 32364, 32448, 32523, 32587, 32642, 32687, 32722, 32747, 32762,
32767
};
@@ -117,13 +118,13 @@ int16_t lv_trigo_sin(int16_t angle)
if(angle < 90) {
ret = sin0_90_table[angle];
} else if(angle >= 90 && angle < 180) {
angle = 179 - angle;
angle = 180 - angle;
ret = sin0_90_table[angle];
} else if(angle >= 180 && angle < 270) {
angle = angle - 180;
ret = - sin0_90_table[angle];
} else { /*angle >=270*/
angle = 359 - angle;
angle = 360 - angle;
ret = - sin0_90_table[angle];
}