12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #pragma once
- #ifndef _MAIN_H
- #define _MAIN_H
- #include "event-system.h"
- #define SetBit(x,y) x |= (1 << (y))
- #define ClrBit(x,y) x &= ~(1 << (y))
- #define InvBit(x,y) x ^= (1 << (y))
- #define IsBit(x,y) (x & (1 << (y)))
- #define ResBit(reg,bit) (reg &= ~_BV(bit))
- #define BTN_NUM 3
- #define BUTTON1_PIN _BV(PB3)
- #define BUTTON2_PIN _BV(PB4)
- #define BUTTON3_PIN _BV(PB5)
- #define BUTTON_PINS (BUTTON1_PIN | BUTTON2_PIN | BUTTON3_PIN)
- #define BUTTON1_STATE (PINB & BUTTON1_PIN)
- #define BUTTON2_STATE (PINB & BUTTON2_PIN)
- #define BUTTON3_STATE (PINB & BUTTON3_PIN)
- #define BUTTONS_STATE (PINB & BUTTON_PINS)
- #define BUTTON_STATE(pin) (PINB & pin)
- #define BUTTON_PERIOD 10
- #define BTN_TIME_PRESSED 5
- #define BTN_TIME_HOLDED 25
- #define BTN_TIME_REPEATED 10
- #define BTN_TIME_PAUSE 5
- #define DIGIT_BLANK 0x0F
- #define DIGIT_A0 _BV(PC0)
- #define DIGIT_A1 _BV(PC1)
- #define DIGIT_A2 _BV(PC2)
- #define DIGIT_A3 _BV(PC3)
- #define DIGIT_PINS (DIGIT_A0 | DIGIT_A1 | DIGIT_A2 | DIGIT_A3)
- #define DOT_PIN _BV(PD2)
- #define ANOD1 _BV(PD4)
- #define ANOD2 _BV(PD5)
- #define ANOD3 _BV(PD6)
- #define ANOD4 _BV(PD7)
- #define ANOD_PINS (ANOD1 | ANOD2 | ANOD3 | ANOD4)
- #define DISP_WDT_TIME 10
- typedef struct {
- uint8_t time;
- es_event_t pressed;
- es_event_t holded;
- uint8_t pin;
- } btn_t;
- #endif
|