4.1 Device Selection
This
project is developed to work for two different devices (ATmega64 and ATmega328PB).
The code has conditional compilation macros to use appropriate code based on device
selection. The firmware for respective device shall be compiled by just selecting
the appropriate device in Atmel Studio IDE. This is done in the
device.h
header file. This file acts as a wrapper between the
application and the device register access.
There are some minor differences in the register names between the two
devices and hence the segregation is necessary. Depending upon the device selected,
the macro DEVICE_ATMEGA328PB
or DEVICE_ATMEGA64
gets defined. Based on the macro that gets defined, further definitions
ensure
error free compilation. The macro also limits the user to select either of the two
devices, failing which a
compilation
error message is displayed. Application can be made to support more AVR devices with
no change or minimal, if any. This can be handled by modifying the
device.h
file.