implementing 1-wire and ds18x20 libraries