Fixed the timing problems

Also made the timing variables a bit more opaque and added some comments
and references to the datasheet