X-Git-Url: http://git.droids-corp.org/?p=beacon-rx-433.git;a=blobdiff_plain;f=main.c;h=e794376fcf5a6b8da7de5fe4bb0d12d86245dadb;hp=290a3e3d788f28f7ee22ef9aa7d91ab8be113cd4;hb=9b05952e09169f0d32f1dfcae129cab2fba20e95;hpb=7bd5165f611d7fe448fff18c8490b0e08beb57f4 diff --git a/main.c b/main.c index 290a3e3..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,16 +383,9 @@ int main(void) /* led and buzzer are outputs */ #if defined(__AVR_ATtiny45__) - DDRB |= (1 << LED_BIT) | (1 << BUZ_BIT); + DDRB |= (1 << LED_BIT) | (1 << BUZZER_BIT); #endif - while (1) { - PORTB |= (1 << LED_BIT); - wait_ms(500); - PORTB &= ~(1 << LED_BIT); - wait_ms(500); - } - i = 0; init_timer(); @@ -405,8 +413,8 @@ int main(void) set_output(i); -#ifdef HOST_VERSION i ++; +#ifdef HOST_VERSION if (i >= sizeof(x)) break; #endif