Hardware

ATL implements classes that represent and/or work with hardware ICs. As a general pattern this interfacing is always divided into two (or more if appropriate) classes.

The benefit of this separation is that the Controller logic which is always the same for a specific device or IC does not have to be touched when changing the way the device interfaces with the Arduino. Say a Driver initially is implemented using the Arduino's on-board pin's that are connected to the device in your schematic. When you wish to change that interfacing to say- a Serial3WireOutput, only the driver class needs to be replaced. So by separating the Driver from the Controller a minimal effort is required to adapt the code to your situation and a maximum amount of reuse is possible (the Controller).


The following hardware devices are currently supported: