I want to use doxygen for my microcontroller projects with avr-gcc.
Doxygen is working good as expected, but i have a problem with the variables.
In avr-gcc special variable types are used that are not recognized by doxygen. Like in this example:
static uint8_t timeout; ///< timeout counter
static uint16_t bootcount; ///< boot counter
volatile uint8_t seconds; ///< system time seconds
volatile uint8_t minutes; ///< system time minutes
uint32_t EE_lifetime EEMEM = 0; ///< overall time in use
uint8_t EE_dummy EEMEM = 0xFF; ///< http://www.atmel.com/webdoc/AVRLibcReferenceManual/FAQ_1faq_eeprom_corruption.html
When i run doxygen only the volatile variables are listed correct, all other global variables are ignored.
The variables in EEPROM are completely messed up, because in the overview only the first variable is listed and the rest is missing.
In the detail view only EE_dummy is listed but with the comments of all EEPROM variables.
The variable types are defined in /usr/lib/avr/include/stdint.h
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html
In Doxyfile the settings should be correct:
SEARCH_INCLUDES = YES
ENABLE_PREPROCESSING = YES
I could not find out what is wrong or missing?
Some time ago there was a similar question, that was not answered.
https://stackoverflow.com/questions/34796928/doxygen-uint8-t-and-other-stdint-h-inttypes-h-integer-types