1 #ifndef AVR_HARDWAREFACTORY_H
2 #define AVR_HARDWAREFACTORY_H
8 class HardwareSettings
;
13 * @brief Factory for the internal devices.
15 * A factory for creating internal devices based on their name.
17 class HardwareFactory
{
20 * Build an internal device with name \e name and
23 static Hardware
*build(const char *name
,
24 HardwareSettings
& hws
, Bus
& bus
);
27 static Hardware
*buildEeprom(HardwareSettings
& hws
, Bus
& bus
);
28 static Hardware
*buildPort(HardwareSettings
& hws
, Bus
& bus
);
29 static Hardware
*buildTimer8(HardwareSettings
& hws
, Bus
& bus
);
30 static Hardware
*buildTimer16(HardwareSettings
& hws
, Bus
& bus
);
31 static Hardware
*buildTimerIrq(HardwareSettings
& hws
, Bus
& bus
);
32 static Hardware
*buildUsart(HardwareSettings
& hws
, Bus
& bus
);
33 static Hardware
*buildSpi(HardwareSettings
& hws
, Bus
& bus
);
34 static Hardware
*buildADC(HardwareSettings
& hws
, Bus
& bus
);
39 #endif /*AVR_HARDWAREFACTORY_H*/