X-Git-Url: http://git.droids-corp.org/?p=beacon-rx-433.git;a=blobdiff_plain;f=main.c;h=e794376fcf5a6b8da7de5fe4bb0d12d86245dadb;hp=6797250e654b7cdd4e98247f02e2104f3b51a5e9;hb=9b05952e09169f0d32f1dfcae129cab2fba20e95;hpb=495b1d0af33095dd25609f567e38cbd2abc6213a diff --git a/main.c b/main.c index 6797250..e794376 100644 --- a/main.c +++ b/main.c @@ -19,9 +19,19 @@ #endif /* port B */ -#define BUZ_BIT 0 -#define RADIO_BIT 2 -#define LED_BIT 4 +#define BUZZER_BIT 0 +#define BUZZER_ON() PORTB |= _BV(BUZZER_BIT) +#define BUZZER_OFF() PORTB &= (~_BV(BUZZER_BIT)) + +#define RADIO_BIT 2 +#define RADIO_READ() (!!(PINB & (_BV(RADIO_BIT)))) + +#define BUTTON_BIT 3 +#define BUTTON_IS_PRESSED() (!!(PINB & (_BV(BUTTON_BIT)))) + +#define LED_BIT 4 +#define LED_ON() PORTB |= _BV(LED_BIT) +#define LED_OFF() PORTB &= (~_BV(LED_BIT)) static uint32_t bitfield; @@ -330,7 +340,7 @@ static uint8_t get_input(int i) #ifdef HOST_VERSION return !!x[i]; #else - return !!(PINB & RADIO_BIT); + return RADIO_READ(); #endif } @@ -347,11 +357,16 @@ static void set_output(int16_t i) printf("%d pow_fond=%d pow_harm1=%d pow_other=%d cpt_filter=%d detected=%d\n", i, pow_fond, pow_harm1, pow_other, cpt_filter, detected); #else + if (detected) + LED_ON(); + else + LED_OFF(); + /* when we receive, output a square signal at 625 hz */ if ((detected == 1) && (i & 4)) - PORTB |= (1 << BUZ_BIT); + BUZZER_ON(); else - PORTB &= ~(1 << BUZ_BIT); + BUZZER_OFF(); #endif } @@ -368,14 +383,7 @@ int main(void) /* led and buzzer are outputs */ #if defined(__AVR_ATtiny45__) - DDRB |= (1 << LED_BIT) | (1 << BUZ_BIT); - - while (1) { - PORTB |= (1 << LED_BIT); - wait_ms(500); - PORTB &= ~(1 << LED_BIT); - wait_ms(500); - } + DDRB |= (1 << LED_BIT) | (1 << BUZZER_BIT); #endif i = 0; @@ -405,8 +413,8 @@ int main(void) set_output(i); -#ifdef HOST_VERSION i ++; +#ifdef HOST_VERSION if (i >= sizeof(x)) break; #endif