Beispiel #1
0
int main(void)
{
    adc_init();

    spi_init();

    switches_init();
    encoders_init();

    for (;;)
    {
        // Check the SS pin, if it is low, send the data through SPI.
        if (spi_slave_selected())
        {
            spi_enable();
            for (uint8_t i=0; i<ENCODER_COUNT; ++i)
            {
                spi_transfer16(g_encoderValues[i]);
            }
            spi_transfer8(g_downMask);
            spi_disable();
        }

        switches_update();
        encoders_update();
    }
}
Beispiel #2
0
int main()
{
    for (;;) {

        if ( azimuth_pwm_calc_event.signalled()) {
            azimuth::motor::do_calc();
            azimuth_pwm_calc_event.clear();
        }

        if(ms1_event.signalled()) {
            switches_update();
            ms1_event.clear();
        }

        if(ms20_event.signalled()) {
            on_20ms_event();
            ms20_event.clear();
        }

        if ( telemetry::serial_port.in_avail()) {
            telemetry::parse_input();
        }
    }
}