- task void signalAverage()
- {
- int16_t angle;
-
- if (m_angle > 0)
- angle = (m_angle + (m_count / 2)) / m_count;
- else {
- angle = (m_angle - (m_count / 2)) / m_count;
- while (m_angle < 0)
- angle += 1024;
- }
- angle &= 0x03ff; /* %= 1024 */
- init();
-
- /* Inform the consumer of the average angle */
- signal Average.average(angle);
- }
-