From a56d4600da0fa6a36011851213beae7e6a022b08 Mon Sep 17 00:00:00 2001 From: eddyem Date: Thu, 21 Apr 2016 08:47:36 +0300 Subject: [PATCH] fix error in 1-wire data conversion for DS18B20 --- 1_wire/onewire.bin | Bin 9832 -> 9836 bytes 1_wire/onewire.c | 10 ++++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/1_wire/onewire.bin b/1_wire/onewire.bin index b05e43bb4c7038bf83707fe4bf3dffeb4a620743..daa1cbb7579102d806df12e26179a4ed8808b42b 100755 GIT binary patch delta 1871 zcma)6eQZ-z6hHU%>-CGiuIsu_cDr_?Y{PYK$P^~s+`5KtR!E5PlcFFc#-!lahR$J# zLHUS;8xb|cAphte2D+sQk(8+f(HIgIzwA5kw}BrlBsTfIbMCq4 z{(k42_j*UWuXYc>V?f&|@JkV`cLDDDX*n9Sux770W}ms6qTSsSy8 zxkL2oY?6EC-Z^t`JMjO7?@jVw4s(E<3kD(kc<}2%5Pv!!u`)AoqU`bkr3p%3^PL?_}oL?2=o;!8vZA*AEC8TS6oV4;~&Aq3+4>>ByTbYH%g zf>_7W+K)XR*0z5!MqN4UXvla)K9}8_A{rxft+G(de^{H3Jt5$l4*vO z3Q(=DWV)dHO>aR2#0{#mhpW>0@RS$C5zN)0ouiVfK$!E!#zQZI_?;36qqhM>PMzMb zij8l6J~NsOfp|Cr0tpohTnKC=#HWE0(U@<)J}*ebDTRo(ntW!I4-ru~y5RDSHsbZ7 z=*2t)i-!r_IiUy6TaJ-m*ra~3>rdH{azr5Oz?K|&t>xcYmtlcf!2uinz&lvKAx1px zq@fF+ZsUi`>oK~G04>%54FS-JbY)Lvv^D|$@;KB!aEeggt4g1#Wytu55=am)l&Dfx zAqolDUX~0Nnd?Lf+*&;={MDD+OX(H2sDmzdy zgvw_)pl1=?=f+7jk{6uVh1$HwDHzyZX@DcV~~Ox%paI-r2p61IkCR==|CriOVh zD7I+(^^aGS#+^921F|J*iIm4x>3i86!7;C%`6$+~3nmYFnoXK2OgcG$uQK67dAvXWl@1n8V^F z{jAYaLAJ4&rG%_w>n)9rHAj+NFbu$j@ZE&oVqaJ~?HhB!cU5UD=fX)evz(=K=^pI( zVZ`(#a3TVJP`+MMo&LNtqE)O)Ek_*7z~@RjmJzQrIcHfDbzxT~g{P`i%Lc4vri))` z^Gmb+R+sw>a%q#z7-u+-^{I7!_Jg&o*>lzqOm>B?xCBl#aiJ@maO_6A&QcW`Rl=8aH9#JEv$ul{#_;^tVn`X0+0^0`w?* z0p)M8)wX$_H{_yhaW4sW4DM(@Jj{hx($b_VCE2Gow{tCiE|Viiv4Oa3#^)Ax+~y-C z?6S>ke@O1Y$Rb($uRX~;_O<4ncDya{_RS2vV>c1EPy;-v2HuM(M9F|2Xe--4=Th{g zDOFml7W5Q68i=dXZe0DGYX}QH;BQHQSTi+0QIf)INXkrV`@5!^5@lsWH#ZG%r}Z~C zy`sxDB@VQ=41-^l5<{mQZoPTL4SYipUS30Eu60Ip78P64-Mv=UR_Y;#SYK&_`4bQD zXA#GTQl(`E!n2c=KUQ~OiJ+B+@Ed??>sc7e(DnNIAaVi_%+`JpT;1{CM&FDxB^*a! z4=(nx71hne#kN*g>$jjJOI7=xg;nS+N4$ubA^GR&Dh2+J+woSkR?X)CNx|4T7x*#U m??X$C_L3(9fYh!0p}jj!+-)ZU2bLqNeM(C`;286vCz delta 1871 zcma)6eQZ-z6hHU1U0+|@wOd=*y1{PSeRR-;jt_Ni#J3N+YBx(<{6IwO$O0xR1ti(P zIsP#+grHm_Vq!>4NHm&gx73KFOoEyiMVWypC{l?D8-hH?@OA9HKFb&Pckz)GOYDe#SmhFbu)JbH`{-K@)T$Lu|~=J>a+T4u!$+#r2MnB|yN z%uJ%b*-362JG1BZa^U|H-#*EIb6A4phj19O4~IV;0_o%tXZo&G+kBD*>6^SeM;s8G z8g*s>__RH$v3{~-xibK~AJL3>9I*wl3-K=E5W<;G{GH+Te=-O(Gv*XQ+RZMLqvlY) zmx5Hw(p)WZvvb_Cxl<}>`gKSPT^luJ!_@fU&FJ6RLc<_=fu#+BhJEVk9DpYGX#(zj zMRj6@scC!mjU0qsDUg;a=BzWS$sgnm=y^_o>^+q<0@5~CWL!kPX3a*|z$%qSG`ZdyS*SO+HIiiqt;E^18{m5C?ZmP3PVS~9!;H|9R6elir z+|-V5Pr<&fAX;}4pd|*NA^^>$X^eJ)-7S4$!}}rn6XtgR|eM;ACzkH zIhA7eLdE@uwsi74orzc6G4Pl67BRITFd)Q8eQB})E#5>f!{cs`DqkRrFI~uGU}P6E zwjo;+vY+IDo3r zv3BG@t#!LDC%0}o(;Z=NnM-TBRa>lO;>`!Vi6U(30Y!)j(ei{Qf1y~SIDjW_el7`i z);zcB5oFf~Q8zBNhhz1fn6C}0=O=@a>I6vIbPzuZnU(U56)v@9VrN%l!hc^NW~E+~ zk0#FKfVSq0AtFWDWsC9b@|~ z8_B)QD)>krs}tst9V{l4lC`WysCRT9PPW4c04L&<#jWh1u)?044)4(9E7LCQ=wc=d zD@=Q_^1E5Hbso8cJz@2jO)5_{ImotI%gWAwqIWli5&CRr=B#)71WQ?6(TWqKuccS3 zHT3!=yd_4(i(Mf2#i5n0KbnhAnZn6-@uJJgNoG#G$T@;ZeNO^qJG<8><*e80%Pv;~NV zUAFn`O-dVD8WjCseTzdr76?YcjA53WSYpDIq4mdpKktto@%MLrr$kW5$J3L0qaS!kd=K!A?zUEq2Kz?Ft zycOhq*6&?p**6y(h&Vc&_LiB5k&RY-RV5-R=wygW6aHeT&%*Fg`jjyg!nyzmM(a-- zYBTG8TwAbfgyRV8MP)yGsA?&3u$QZ<$N)=K)mT;|aVKIOYOZF77x-UL(-SqIH0x^) vFa;De&j>4 | ((m & 7)<<4) | (m & 0x80); t = ((int32_t)v) * 10L; - m = l & 0x0f; // add decimal - t += (int32_t)m; // t = v*10 + l*1.25 -> convert - if(m > 1) ++t; // 1->1, 2->3, 3->4, 4->5, 5->6 - else if(m > 5) t += 2L; // 6->8, 7->9 + m = (l & 0x0f) >> 1; // add decimal + // 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 -> + // 0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 9 + t += (int32_t)m; // t = v*10 + l*0.625 -> convert + if(m) ++t; // 1->1, 2->3, 3->4, 4->5, 5->6 + if(m > 5) ++t; // 6->8, 7->9 } return t; }