states_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 Gerson Fernando Budke
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
20 #ifndef STATES_INTERNAL_H
21 #define STATES_INTERNAL_H
22 
23 #include <avr/io.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
33 #ifdef GPIOR0
34 #define AVR8_STATE_UART_USE_SRAM 0
35 #else
36 #define AVR8_STATE_UART_USE_SRAM 1
37 #endif
67 #if (AVR8_STATE_UART_USE_SRAM)
68 extern uint8_t avr8_state_uart_sram;
69 #define avr8_state_uart avr8_state_uart_sram
70 #else
71 #define avr8_state_uart GPIOR0
72 #endif
79 #ifdef GPIOR1
80 #define AVR8_STATE_IRQ_USE_SRAM 0
81 #else
82 #define AVR8_STATE_IRQ_USE_SRAM 1
83 #endif
100 #if (AVR8_STATE_IRQ_USE_SRAM)
101 extern uint8_t avr8_state_irq_count_sram;
102 #define avr8_state_irq_count avr8_state_irq_count_sram
103 #else
104 #define avr8_state_irq_count GPIOR1
105 #endif
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif /* STATES_INTERNAL_H */
uint8_t avr8_state_uart_sram
UART state variable.
uint8_t avr8_state_irq_count_sram
IRQ state variable.