A data programming device is provided and comprises a non-volatile memory, a volatile memory, and a memory control unit. The power tool may include a handle including a support portion movably supportable on the housing portion and extending substantially about the circumference of the housing portion. A \u201cquality-of-service\u201d process manages the transmission of digital data over various sub-channels based on the reliability of the sub-channel, the amount of digital data and the type of digital data to be transmitted.