First stage completion of the the driver, with the interrupt routine implemented. Not yet tested with application.