'WDT0_8S' was not declared in this scope

Trying to use avr/wdt.h in my library, I get the following error when compiling:

error: 'WDT0_8S' was not declared in this scope

According to the avr-libc documentation, WDT0_8S is a macro defined in avr/wdt.h.

It's not WDT0_8S (with ZERO) it is WDTO_8S (with letter O)

@osvein - please don’t post a question, get an answer, and then delete the question. It makes the answer look stupid.

I figured it out halfway through writing, and posted an incomplete and messy description of the problem that I believed would cause nothing but confusion for future readers. Therefore I immediately deleted it, but if you think it can actually help future readers, I'll be happy to revert it and clean it up a little.

Either that, or I'll delete the thread which doesn't seem to be helping anyone right now.

@giova014 I'll be damned. But why does the linked documentation repeatedly reference WDT0_15MS (with a zero)? Is that a little typo of theirs?

Looks like it. In avr/wdt.h they have:

#define WDTO_15MS   0

/** \ingroup avr_watchdog
    See \c WDT0_15MS */
#define WDTO_30MS   1

/** \ingroup avr_watchdog See
    \c WDT0_15MS */
#define WDTO_60MS   2

/** \ingroup avr_watchdog
    See \c WDT0_15MS */
#define WDTO_120MS  3

All the "See" lines have the typo.

I wonder where the original comes from?

I submitted a ticket with Atmel. They have the same typo in their own distribution.

osvein:
... if you think it can actually help future readers, I'll be happy to revert it and clean it up a little.

Now that I know what the problem is, hopefully I can get Atmel to fix it, so yes, it was good to put it back.