/* * Author: Jake Goodwin * Date: 2023 * Description: AT-09 Bluetooth module library for AVR micro crontrollers. * Filename: avr_at-09.h */ #include #include //############################# //PIN DEFINES AND CONSTS //############################# /* * AVR D0 --> AT-09 TX * AVR D1 --> AT-09 RX * AVR D2 --> AT-09 State */ #define FOSC 8000000 #define BLE_BAUD 9600 #define BT_UBRR FOSC/16/BLE_BAUD - 1 #define TX_PIN PIND1 #define TX_DDR DDD1 #define RX_PIN PIND0 #define RX_DDR DDD0 #define AT_PORT PORTD //LED PIN for indicator and debug. #define LED_PIN PINC0 #define LED_DDR DDC0 //############################# //TYPES //############################# //############################# //FUNCTION PROTOTYPES //############################# static void led_blink(void); void init_usart0(void); void tx_usart0(unsigned char data); unsigned char rx_usart0(void); void serial0_write(unsigned char* buffer, uint8_t write_length); void serial0_read(unsigned char* buffer, uint8_t buf_length); void serial0_read_with_err_checking(unsigned char* buffer, uint8_t buf_length); void serial0_set_baud(uint8_t baud); void seiral0_enable_timeouts(uint8_t ms); void serial0_flush_rxbuf(void);