Example #1
0
void init(void)
{
    servo_init();
    door_init();
    if (mqtt_init() != 0) {
        printf("请检查您的网络!\n");
        exit(-1);
    }
    debug_print("mqtt init over");
    create_doorbell_sound_pipeline();
    debug_print("create_doorbell_sound_pipeline");
    create_receive_pipeline();
    debug_print("create_receive_pipeline");
    set_receive_pipeline_playing();
}
Example #2
0
int main(void)
{
    wdt_disable();
    /* Clear WDRF in MCUSR */
    MCUSR &= ~(1<<WDRF);
    /* Write logical one to WDCE and WDE */
    /* Keep old prescaler setting to prevent unintentional time-out */
    WDTCSR |= (1<<WDCE) | (1<<WDE);
    /* Turn off WDT */
    WDTCSR = 0x00;
    DDRC |= 0xC0;

    eeprom_read_block(&state, &state_ee, sizeof(state));
    
    leds_init();
    buttons_init();
    adc_init();
    power_init();
    door_init();
    aes_handler_init();
    bus_handler_init();
    bus_init();
    cmd_init();
    timer0_init();
    sei();
    
    while( 1 ){
        if( timer0_timebase ){
            timer0_timebase--;
            bus_tick();
            door_tick();
            power_tick();
            cmd_tick();
            buttons_tick();
            leds_tick();
        }
        bus_process();
        door_process();
        power_process();
    }

}
Example #3
0
/* initialize hardware */
void
init(void)
{
  led_init();
  ledon();

  strobo_init();
  strobooff();

  door_init();
  doordisengage();

  ring_init();

  /* timer initialization
   *
   * CTC mode
   * clocked from system clock
   * prescaler /1024
   * compare value 10
   *
   * this gives about 100 Hz at 1 MHz system clock
   *
   * we also enable the compare match interrupt
   * 
   */
  TCNT2 =  0;
  OCR2  = 10;
  TCCR2 = _BV(WGM21)|_BV(CS22)|_BV(CS21)|_BV(CS20);
  TIMSK = _BV(OCIE2);

  /* initialize usart */
  uinit(9600);

  /* enable interrupts */
  sei();
}