From 3c1bc7ff3d6bc71555cc643b758c64f02cd7a1d4 Mon Sep 17 00:00:00 2001 From: Edward Emelianov Date: Thu, 18 Feb 2021 20:43:37 +0300 Subject: [PATCH] fix negative numbers bug in dewpoint --- F1-nolib/BMP280/BMP280.bin | Bin 14036 -> 14036 bytes F1-nolib/BMP280/BMP280.c | 2 +- F1-nolib/BMP280/BMP280.h | 12 ++++++------ F1-nolib/BMP280/main.c | 2 +- F1-nolib/BMP280/proto.c | 1 - F1-nolib/SI7005_HTU21D/main.c | 7 ++++++- F1-nolib/SI7005_HTU21D/si7005.bin | Bin 12120 -> 12140 bytes 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/F1-nolib/BMP280/BMP280.bin b/F1-nolib/BMP280/BMP280.bin index 6f0a2be06c921f84fe105b1dda4e1fe8f71dcf98..53e29b7e7f7bfa33405339a09723d7f8706b564e 100755 GIT binary patch delta 21 dcmcbTdnI?n89^rTpPSDKK2u?2n7q|Y9sqSi30wdG delta 21 dcmcbTdnI?n89}D6KQ^Bee5S(4GI^_+JOF@^3OxV- diff --git a/F1-nolib/BMP280/BMP280.c b/F1-nolib/BMP280/BMP280.c index 53f40ba..ea0a411 100644 --- a/F1-nolib/BMP280/BMP280.c +++ b/F1-nolib/BMP280/BMP280.c @@ -135,7 +135,7 @@ static struct{ uint8_t ID; // identificator uint8_t regctl; // control register base value [(params.t_os << 5) | (params.p_os << 2)] } params = { - .filter = BMP280_FILTER_16, + .filter = BMP280_FILTER_OFF, .p_os = BMP280_OVERS16, .t_os = BMP280_OVERS16, .h_os = BMP280_OVERS16, diff --git a/F1-nolib/BMP280/BMP280.h b/F1-nolib/BMP280/BMP280.h index 07c3308..ce30fcc 100644 --- a/F1-nolib/BMP280/BMP280.h +++ b/F1-nolib/BMP280/BMP280.h @@ -52,12 +52,12 @@ #define BMP280_CHIP_ID 0x58 #define BME280_CHIP_ID 0x60 -typedef enum{ // Nsamples for filtering - BMP280_FILTER_OFF = 0, - BMP280_FILTER_2 = 1, - BMP280_FILTER_4 = 2, - BMP280_FILTER_8 = 3, - BMP280_FILTER_16 = 4, +typedef enum{ // K for filtering: next = [prev*(k-1) + data_ADC]/k + BMP280_FILTER_OFF = 0, // k=1, no filtering + BMP280_FILTER_2 = 1, // k=2, 2 samples to reach >75% of data_ADC + BMP280_FILTER_4 = 2, // k=4, 5 samples + BMP280_FILTER_8 = 3, // k=8, 11 samples + BMP280_FILTER_16 = 4, // k=16, 22 samples BMP280_FILTERMAX } BMP280_Filter; diff --git a/F1-nolib/BMP280/main.c b/F1-nolib/BMP280/main.c index 6e2d99a..1dab3a5 100644 --- a/F1-nolib/BMP280/main.c +++ b/F1-nolib/BMP280/main.c @@ -55,7 +55,7 @@ static char *get_USB(){ static void showd(int32_t mT, int32_t mH){ USB_send("Dewpoint="); - USB_send(u2str(dewpoint(mT, mH))); + USB_send(i2str(dewpoint(mT, mH))); USB_send("*10degrC\n"); } diff --git a/F1-nolib/BMP280/proto.c b/F1-nolib/BMP280/proto.c index 61788c7..d31419c 100644 --- a/F1-nolib/BMP280/proto.c +++ b/F1-nolib/BMP280/proto.c @@ -280,4 +280,3 @@ char *i2str(int32_t i){ }else val = i; return _2str(val, minus); } - diff --git a/F1-nolib/SI7005_HTU21D/main.c b/F1-nolib/SI7005_HTU21D/main.c index 6c2c9cf..dcb6f87 100644 --- a/F1-nolib/SI7005_HTU21D/main.c +++ b/F1-nolib/SI7005_HTU21D/main.c @@ -57,7 +57,12 @@ char *get_USB(){ void showd(int32_t mT, int32_t mH){ if(mT == -10000 || mH == -10000) return; USB_send("Dewpoint="); - USB_send(u2str(dewpoint(mT, mH))); + int32_t d = dewpoint(mT, mH); + if(d < 0){ + USB_send("-"); + d = -d; + } + USB_send(u2str(d)); USB_send("*10degrC\n"); } diff --git a/F1-nolib/SI7005_HTU21D/si7005.bin b/F1-nolib/SI7005_HTU21D/si7005.bin index ff782d0f3381e798b219e96ab03dd48e03c62ac2..546dc64c982ba14c315287e647f566e8e6a88552 100755 GIT binary patch delta 1032 zcmb`GUq}>D6voe;9oJcRH)mI|%#6{s*vK^t!_1=1VsNoisfR)op<*Kod?*5Yu%f4; zr(2{{p!Bl6X_JuEW<`NTh9bm*J{bLR7nE*c&dzMx?Tq!LL=QFaoA2Ip&-u=|4>#5_ z)6xkIpo|oP^b&co2w3!4ITlvf(vMk7YZiO_W#74^>9vA?HeKTR=OOCNXY?Fb*qG(;f1%y6W}9klG{~rJ|t&j z^aK}Fr&_L7sRA>T0-G{KHFB5h5l&PEV`Zi%WJleUBJ3C!G1KxoT)a@`=p9P{A?$nF zGEvlZm>5Ho$A-X;YdeInRPCw-b|7sXas5(CT*z(VP0d`mC`&v!>f{O?R3 zsbM&K+?pAgqa#^uo*rD;>bh!dqun)RlekO|uDuFt=Z)=v-?<9ry^YWf

RFwk~W#_@-R-mjuC9>Gr%7oBN46#wYHpu;26jO$&m}vtk#_OUd$gZ18EYOLE=ac wqHMq`X@?5JgoL!GtEvfU(9(qum(fS1eiG2$m4*fR9$r%*L4aojAF>2L0rEOgSpWb4 delta 1028 zcmb`GO-NKx6vxlKGmcN^jlLPlkIZ;FQe!z~3rVwRPOjFws5ft3b~|IOv}jQee*DipAOCaj;(Z)Q z4TRtTs8dxSO(3yVz^X6TlOvbTX|izb%xaInoI`7to~!(4(>0!dzC_P|UdHy5-jHnN z2M=ay70UZ8$FHb6I}&$l=>zl4&4>FD>Ux zRILshpP|XPN%^3@mkvprrFP(*%XL^3#zhPGX{2>IzStC?SlJVYL<;Ztj=e5C<{rh! z7QE7Go4MLbW`uD|?|0@A7q$2%;E62M3M0%;$UBH&5xLh9wuC_~mXW(DSghUUD~^1h zT>w6vb!ZMN-Es9)+(hf!2u}$yo?D1KKqmEdMU9kvw6HFbEXmlm5wQKQtkSj55hRbnmx^BG+RDJyxtMpSVNqsz7>T; zm|gJr%jV7UDf*k*Q_q>5ZDvCZs!2_0uzFTE?c3Ha8b!DM|1KeiM9) zNfH%CryeRv(}G9|NMDdw`pMF__KNXsAWb7FWDXfc+X&B ci>M#i?7K_!CR;10~)=YybcN