From d40bbf89d27e5c8106232590addd1156bf1fbc8d Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 27 Jan 2025 00:11:47 -0500 Subject: [PATCH 1/4] Added new USB command to reset all settings to default values --- CurrentRanger_R3.ino | 46 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/CurrentRanger_R3.ino b/CurrentRanger_R3.ino index 6026c48..c645aa7 100644 --- a/CurrentRanger_R3.ino +++ b/CurrentRanger_R3.ino @@ -350,7 +350,7 @@ void loop() { Serial.print("\nRebooting to bootloader."); for (byte i=0;i++<30;) { delay(10); Serial.print('.'); } rebootIntoBootloader(); - break; + break; case 'u': //toggle USB logging USB_LOGGING_ENABLED =! USB_LOGGING_ENABLED; Serial.println(USB_LOGGING_ENABLED ? "USB_LOGGING_ENABLED" : "USB_LOGGING_DISABLED"); @@ -421,6 +421,49 @@ void loop() { case '4': toggleLPF(); break; case '5': toggleOffset(); break; case '6': toggleAutoranging(); break; + + case '!': //reset runtime params + USB_LOGGING_ENABLED = false; + Serial.println("USB_LOGGING_DISABLED"); + + LOGGING_FORMAT=LOGGING_FORMAT_EXPONENT; + eeprom_LOGGINGFORMAT.write(LOGGING_FORMAT); + Serial.println("LOGGING_FORMAT_EXPONENT"); + + TOUCH_DEBUG_ENABLED = false; + Serial.println( "TOUCH_DEBUG_DISABLED"); + + GPIO_HEADER_RANGING = false; + Serial.println("GPIO_HEADER_RANGING_DISABLED"); + + BT_LOGGING_ENABLED = false; + Serial.println("BT_LOGGING_DISABLED"); + + LOGGING_FORMAT=LOGGING_FORMAT_EXPONENT; + eeprom_LOGGINGFORMAT.write(LOGGING_FORMAT); + Serial.println("LOGGING_FORMAT_EXPONENT"); + + ADC_SAMPLING_SPEED=ADC_SAMPLING_SPEED_AVG; + eeprom_ADCSAMPLINGSPEED.write(ADC_SAMPLING_SPEED); + refreshADCSamplingSpeed(); + Serial.println("ADC_SAMPLING_SPEED_AVG"); + + autooff_interval = AUTOOFF_DEFAULT; + eeprom_AUTOFF.write(autooff_interval); + Serial.println("AUTOOFF_DEFAULT"); + + TOUCH_DEBUG_ENABLED = false; + Serial.println("TOUCH_DEBUG_DISABLED"); + + if (LPF) toggleLPF(); + if (BIAS) toggleOffset(); + if (AUTORANGE) toggleAutoranging(); + rangeMA(); + + Serial.println("SETTINGS_RESET"); + + break; + case '?': printSerialMenu(); break; @@ -863,6 +906,7 @@ void printSerialMenu() { Serial.println("4 = toggle Low Pass Filter (LPF)"); Serial.println("5 = toggle BIAS (disables AutoRanging)"); Serial.println("6 = toggle AutoRanging (disables BIAS)"); + Serial.println("! = reset all runtime settings to defaults"); Serial.println("? = Print this menu and calib info"); Serial.println(); } From 423d607f5d25abe5bd44b1372d70a8f99265b218 Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 27 Jan 2025 00:41:14 -0500 Subject: [PATCH 2/4] Fixup to silence the existing compiler warnings --- CurrentRanger_R3.ino | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/CurrentRanger_R3.ino b/CurrentRanger_R3.ino index c645aa7..5df39fe 100644 --- a/CurrentRanger_R3.ino +++ b/CurrentRanger_R3.ino @@ -564,11 +564,17 @@ void loop() { if (autoffBuzz) u8g2.drawStr(5,26,"* AUTO OFF! *"); //autoffWarning u8g2.setFont(u8g2_font_helvB24_te); - u8g2.setCursor(RANGE_MA ? 102 : 106, RANGE_UA ? 55:60); u8g2.print(RANGE_UA ? char('µ') : rangeUnit); + u8g2.setCursor(RANGE_MA ? 102 : 106, RANGE_UA ? 55:60); u8g2.print(RANGE_UA ? char(u'µ') : rangeUnit); u8g2.setFont(u8g2_font_logisoso32_tr); - u8g2.setCursor(0,64); u8g2.print((BIAS&&abs(VOUT)>=0.4||!BIAS&&VOUT>=0.4)?VOUT:0, abs(VOUT)>=1000?0:1); - if (!BIAS && readDiff>ADC_OVERLOAD || BIAS && abs(readDiff)>ADC_OVERLOAD/2) - { + u8g2.setCursor(0,64); + u8g2.print( + ( (BIAS && (abs(VOUT)>=0.4)) || (!BIAS&&(VOUT>=0.4)) )? VOUT:0 , + (abs(VOUT)>=1000)?0:1 + ); + if ( + (!BIAS && (readDiff>ADC_OVERLOAD)) || + (BIAS && (abs(readDiff)>ADC_OVERLOAD/2)) + ) { u8g2.setFont(u8g2_font_9x15B_tf); u8g2.drawStr(0,28, "OVERLOAD!"); } From 4da4759fedb0c2f2a05f0b3c367c59944496bc65 Mon Sep 17 00:00:00 2001 From: josh Date: Wed, 29 Jan 2025 16:37:49 -0500 Subject: [PATCH 3/4] Step version number --- CurrentRanger_R3.ino | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CurrentRanger_R3.ino b/CurrentRanger_R3.ino index 5df39fe..8ed29f5 100644 --- a/CurrentRanger_R3.ino +++ b/CurrentRanger_R3.ino @@ -19,11 +19,12 @@ #include //https://github.com/olikraus/u8g2/wiki/u8g2reference fonts:https://github.com/olikraus/u8g2/wiki/fntlistall //#include -#define FW_VERSION "1.1.4" //firmware version +#define FW_VERSION "1.1.5" //firmware version // ********************** CHANGE LOG *********************************************************************** -// 1.1.4 - BUGFIX - USB logging values are half value when CR started without OLED, and until AUTORANGING is toggled -// 1.1.3 - BUGFIX - CR turns off after 21hrs when AUTO-OFF disabled -// 1.1.2 - BUGFIX - BIAS MODE bug fix +// 1.1.5 - FEATURE - NEw USB UI command to reset runtimes settings to default values +// 1.1.4 - BUGFIX - USB logging values are half value when CR started without OLED, and until AUTORANGING is toggled +// 1.1.3 - BUGFIX - CR turns off after 21hrs when AUTO-OFF disabled +// 1.1.2 - BUGFIX - BIAS MODE bug fix //*********************************************************************************************************** #define BIAS_LED 11 #define LPFPIN 4 From 28709fa748725082c5715d04141567267daa3673 Mon Sep 17 00:00:00 2001 From: josh Date: Fri, 31 Jan 2025 15:43:29 -0500 Subject: [PATCH 4/4] Clean up superfluous files Best practice to do versioning inside git rather than leave a trail of old version. Also best practice to move artifacts to releases rather than keep them tracked inside the repo. --- CurrentRanger R3.1.0.UF2 | Bin 524288 -> 0 bytes CurrentRanger R3.1.1.UF2 | Bin 524288 -> 0 bytes CurrentRanger R3.UF2 | Bin 524288 -> 0 bytes CurrentRanger_R1.ino | 744 -------------------------------- CurrentRanger_R2.ino | 858 ------------------------------------- CurrentRanger_R3_1.1.2.UF2 | Bin 524288 -> 0 bytes CurrentRanger_R3_1.1.3.UF2 | Bin 524288 -> 0 bytes CurrentRanger_R3_1.1.4.UF2 | Bin 524288 -> 0 bytes 8 files changed, 1602 deletions(-) delete mode 100644 CurrentRanger R3.1.0.UF2 delete mode 100644 CurrentRanger R3.1.1.UF2 delete mode 100644 CurrentRanger R3.UF2 delete mode 100644 CurrentRanger_R1.ino delete mode 100644 CurrentRanger_R2.ino delete mode 100644 CurrentRanger_R3_1.1.2.UF2 delete mode 100644 CurrentRanger_R3_1.1.3.UF2 delete mode 100644 CurrentRanger_R3_1.1.4.UF2 diff --git a/CurrentRanger R3.1.0.UF2 b/CurrentRanger R3.1.0.UF2 deleted file mode 100644 index c7b529a81206119e4bf761a66ddc06c9f7a81497..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524288 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

&$fF7@a1llecJWo@Np#Nzx1#72$ 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 diff --git a/CurrentRanger R3.1.1.UF2 b/CurrentRanger R3.1.1.UF2 deleted file mode 100644 index e9beed310ada58535d5dc92288cbddca24d0a5dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524288 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 murI z8VJ*mhV1T&vv(J|0;fu#d|dJjj`~?srAjt^(p$VcX5KpSolV{pN2K2dZHG6K9)iDVSAK6&`_RlD zKWx{M|NO)jll~iA8kprS^1eUblj(YHHzGr|}|6e)zV}$&DiF=wS_G~}udc>br zUj}DRewS#}-yhn>&;`Ul^%?S74WmFiU&vPZ^pu)t^DDF z_RdpzNPkN|?k6ATzoTx=NNn)3KS&g-*9jn@B^h%5Ju^6d77k^ap3O}#GM z`u_QnN6$X{{GlaziT4(5IrM?swtX=8gwp?lRzE9rSC!9m>^Yhm8K!@L8{4nlLP+j+WmF>!xs+vstU*loi)s&xA-#lo9S^t|c$=WkBY}1Ci zVUmwvyx+DKK5lZ=5I*JaHh9XlO-J>}V>6ukKkP5OyRjs##qV0-{q4XhrT=H#Ff0GL zea4pB5Jc=KpaM^oD*My=-&?HnOMdXJOEbt?_F8oD~Lb&J(3cBlJ(OI4kXq zveEjdanLc>?y~Q6?(FqL`|h9C?|$+ud=BepaQ5djI}Pt@!4F}@n)LHdDlk5i)efas zMFf=t%Oc?-%&wAK5?-uQK~t>D`7X^K9oMAxXfWS1;g#T zp)jX-<*(|;&hF_}!HAfhpX4v?8N3IsMGeAPWaB(_#g6Jx!I80Wh+2@^ayl;1SfGND z)&*nwE8xJkA}nZ*t~E|3tYqaskNh!0{uM!s6|UIGe6p-IF)SDr1Lsl-x?4_XmzM;i zZ8!qemmS#Q2wIKG3>5d~!iAKkV2lmA3`1YH60}+CEEhh|6^xDFe)i)TeO*WEo5xnW z{#I&p1mmnfdPGL`w!eFM-RK<|6N z_UYmpM^_{CIeVgl;}g5iZJfAvlgATP(q}FlXiJXkS3!3ImUa}Lj>{=3*agwGSOwFt zuqQCsZELFugu5$GZyHp=bm!-V;isX=Z_Bp^FB=1m$DYGmPEYR&cdeTaA5VJ8bSOWi zey=&`abWMm$>JZD{7ZjKFf+F6+{dQ1&#nJuFh4>CFSlNQ zIes>vXoL!8*_u9i7Kd{(W5R+HVlRx1bq>d?;6(ca?->t{b+pdJ4fHo+FBIfV*qvw! zW`8kx^z$m1KXeM!ez!=GrJ>#lWiNvoUPgLN|h~Vy9!Q8z(zwmbOA)ZWLo!Ja-7$% zf>(TA*fnQa$0;hzHwsz#Ur+uRA%Co?gQb}r$EZ@gcC0?fiJGZD-IE?^QNgL$=(0I> z1sY52V_lu_v7q3U&O4!5*q*<{wmbaoO@4TyIXDd_Gs>o54X>YmIwg2jsHmcAUiwa> z=;~Nws=(iWl-rXW5xfT8tN~8-7S&8Hc4bAHg46Ablg4|1@U*mAzo*GovmZ=bhh`*5>v47LQ%7A&z84Sj3VEKq64<>!ZUG3 zQPG8>qqYO#?<%8+mH$HW#|Zh)jH9|d^L|$3*en&CWxp^U_pO~6u9zffmqQl>@3 z&M@k%I8>B<1{-%z24IRH;1P3?lqLA zYEX2o182e6H?}PDr0K0Ku)Vo1#+a#hPrY|IELdhU9)2_R+=no6xiN9)Z)R*XkK5ez zIy_!MuUL2n=dN!HE**2J2zCT8caIF>`_7~14YKmDB!7&Mf8purz!MAG?fDMuR*8k_X4Ba2TImwkKB5=&=kDhC^)h=+cS*{7Dn1F-mqY$dAy|`R?J0FlPzBO zKuB2dhL~BF{w?rHeAloFE{?0ToK4mJ+3n8az-bk{(L4$cpFBa)v+C?Sq?>b*lur4cD0n9 zZVNXBS5TA7|JL;3`n@&YvcBYz!CRxCm(6p&Rs~nacR|&!$f+z%>^M@BQ~7>&a21_& z8-~wiHoAKK*qt0)jb9M6!1tv81bmrb@V3Mq*m<|3-rv~XW9#sF>?pj(yl!-V{nX%E z+lJBoHTd-o)(NIyecXo84IXGb;)M!MQ*d1jj4v#(m(&&5gX^Q$!Ldu12bSv%wnpgQ zPK7UqupbEv-tO26p8~QE`{2W5>Fvvc-~GexO` zkVoL&Qm)kZAlKZyuC{*ZZL3mJuS&Ugerc&HoVs{E6s=plY-R1n<%?&mS>vl(U$waO zwxv}o7tg4#*|2=|Z8?({uc=ykYt=2a>lV+sZG9~iEv~DoueqbDzIO4ts#P_Mb0$un zn7w%A^6L7k`sEj9<7*ig`7b7ajF3On(%iCQyiZ)ZW{rX@Tv@el-PEa}Akg=JMWSt&GLfg>4IwfI4sFt{hf{k$^4jXru4^_6ls zIyGU5QZ~55qJpyt)8h?Gl(N7b%PzbQJON9-n3l@1Bo6BCLoSfZ2@?jww$ zukZgZ^1qS%F+%=$0DK-~!i-u{Dgnm7sCW1d@bgql_(gf4dW2zc!V;w-zf=z2+zU4> zQ3^j;8JZsa!c{oxlggLM@r{jJJp3QuiRK3;hktm(A87kxdQ%wuGs^L4I7Cm!`3y70 zao({Uf7k&Yi%=0}V;q-~PA}o1g~ZKMbtY=F9(7hjkmO7aXSA zCW}z{2$;eIIyfGxcbqaxQN80Zevk?u!`C=(l+*HY$wlR~eBh23g}<2IYP>$K{a-DQ zGRkpl@zwHZqdZiGuM=&&FKsRGhn?^_U%Wn*m^i<9i;zSj!#E#tb4qXH*D2m7`^|s9H$8_A2=ME9*0BA$G?{2_JG#yuTGC! z_5Z3Iw>SS)Ic`7xtMV8q$7SQ|e7neh2?)V|7$JXL4^i&?d8`rI{^NF-%ENJuGRkoo z!1|(cWeSytw*MDi=ks!02JmgL?!WAfRxYxqH81A9lHg#J)udk?DeM@b9%A9O?gK$ek>1}tE-F8Q9eQ8y7N@;1KazO3> zCCoJa^@!3xLt`N<9OuNi-BYhr(R`)8yH=^CaQ_zEC$EFD+aTdS4ELMio&)#M@NW$K zONM`A;osW2R?LjGY;7oqyW z`b&g6Ce~GGJoGr0;p3sY!&GqhH7fPzEp$)bs?@tMjCThNhsJRj%Wyp9OLq?r->+2r zz3@X2aG!c1pTF;maeNH#ScZ@1e(8P^%KW>OD%nZ*y4^58FpT#y7!Hl&FqYx?O<%gh zU+}fPUF5$M;Nd@vkpD`ki>#Do8&)q}zx=k> zuW06%3aYA?*3`mg`~StwWLl+~u_2M73X~h}9=K=0Jsa+MssQ$3=l@^K$N#VQxX8bT z{4qlQYRYQdXP;LCSZG$}XcZO)yJQROj7>N&!mZ*=5$>>&BitjEX@nb(@J8Gd9;f0g z5wJDKU2f!vu(0VETQFe%eW6}qbvO3^o3Ze}xlJ#KHI6s&Ik+t0WV>MjeHQK;jRp0; zdE)=YLkC|6WsH+e>wSMh(AOB737a0{tW$ZC4UU@XXw9@{4vCzq5mrK#}I#p{;SC!L;M-~-$woz z;?K~34f$h;KSTeu+zm5Dc#Gj#mfc!DUpP_#{`D2JbL;nu) z#}I#p{+;BHA^r^gcalGb_%rn1MgAD#&(Qw?^2ZQ=hW@+BA4B{Z`gf5(hWIn|-$VWw z;?L0kLGs5Ce}?`Kkw1p`GxUF${4vCzq5pTtA4B{Z`u_*{V~9UP|GngoA^r^gyU8Cz z{2BW9kUxg_GxUFi{4vCzp?@#=V~9UP|9#|-A^r^g_me+{_%rnXF8O1KKSTcm+zmNPe#Gj%6ljM&f{tW$}B7Y3=XXyVl`D2JbL;q*UA4B{Z z`u~vpF~pyt|Fh(eA^r^g`^g_e{2BWHi2O0cpP~Pc$sa@f8T$W({4vCzq5n_GA4B{Z z`u~jlF~pyt|If)EL;M-~KS%x;;?L0kF!^JMKSTck^2ZQ=hW>-(k0JgH{fEdOL;M-~ zA0dAX@n`7&Jo#gYKSTc)$R9)e8Tub3e+=+{}}mWh(AOB7s($({2BVc zME)4!&(Qy6^2ZQ=hW@`Ge+=JRd#}I#p{;!ZfhWIn|KTiG_;?L0k1o>l#KSTdl z$sa@f8Ty|je+=Hn|V~9UP|6h?mhWIn||26qzh(AOB*U2A4{2BV6B7Y3=XXyV1 z`D2JbL;v59KZf`-^#3jSV~9UP|KE{6hWIn||2_F*h(AOBKaf9$_%rm^$R9)e8T#ww zk0JgH{e$F>A^r^g-z0ww@n`6Nn*1@upP~O-JFZ#}I#p{%6P^ zL;M-~zeD~Q;?L0kUGm2ee}?|=kw1p`GxUF-{4vCzq5q%AA4B{Z`u~~yF~pyt|6j-- zL;M-~e?a~i;?L0kL-NNEe}?{lC4UU@XXyVo^2ZQ=hW;OsKZf`-^#42gV~9UP|9_A_ zhWIn||4;JA5PydLACo_Z_%rlBOa2(*&(QxI`D2JbL;p|6A4B{Z`hQCP7~;>+|DWWK zA^r^gKO=t(@n`6Np8PSypP|1BQwr@N#Gj$RiTp9dpP_#k`D2JbL;rB{#}I#p{t@Jl zA^r^gN02{;_%rk$N&Xn(&(J@T{4vCzp}(2@F~pytzlHoU#Gj#m6!~L_KSTd$^2ZQ= zhW=La#}I#p{xRf_A^r^gZRC$3{tW$N$sa@f8T!YOKZf`-^tY2ghWIn|caT4Z_%rm6 zCw~m_XXx)Fe+=+Kau<~#Gj%6CFGAG{tW$-$R9)e8TyYRe+=fhA{tW%cl0Sy{GxQ%v{utuV(En2M#}I#p{wd^-A^r^gQ^_Ag z{2BVY$R9)e8TyYWe+=+-%I`&;?K~3D*0oGKSTd3$sa@f8TwBne+=+ ze-8O$h(AOBYsnu&{2BURNB$V%&(Ob&{4vCzp?^8~V~9UP{|fTQ5PydLbIBh={2BVs zBYzC>XXrnl{4vCzq5lH%#}I#p{@0T~hWIn|Ur7EK;?K~(lKe5mpP~OE^2ZQ=hW+|3>o15PydLH<3Sv_%rmsnfx)tpP~N}^2ZQ=hW=ILk0JgH{j13z zL;M-~FC~8r@n`5?L;e`z&(Ob?{4vCzq5m@S#}I#p{^2ZQ=hW@vbKZf`-^j}H-7~;>+e--&-h(AOB)#Q&M{tW$ZBYzC>XXw9%{4vCz zq5oR)#}I#p{`KUKA^r^g*O5Pl_%rlhPyQI<&(MDZ`D2JbL;u^!A4B{Z`rkqR7~;>+ zeL;M-~ z-%b7);?K~36ZvC^KSTd}$R9)e8TxM~e+=lj({tW%M zkw1p`GxTpFe+=+zlHoU#Gj#mEBRxHKSTfRGuuV~9UP|J~$|A^r^gyT~6y{2BW1A%6_+|2yQ5A^r^g|AYK7#Gj%6Uh>Bfe}?|u+znA;?L0kd*qKH{tW#eBYzC>XXyVp`D2JbL;vrSKZf`-^#1|*V~9UP|0l>FL;M-~ zA0mGY@n`7YNB$V%&(Qx#^2ZQ=hW<~HKZf`-^naTCF~pyt|1;!|A^r^ge@Olq;?L0k zS@Opae}?}3+|EJ`SA^r^ge@6Zo;?L0k z=j4we{tW$}BYzC>XXt;J{4vCzq5lB+V~9UP|3UJ{5PydLL*$Pk{tW$(kUxg_GxUF+ z{4vCzq5liyk0JgH{g0AAhWIn|A0~ec@n`6NjQlagpP~PYIbL zV~9UP|6h+|4-zPA^r^g|4jZE;?L0kFXWFQ{tW#;Ab$+; zXXyVS`D2JbL;t^$KZf`-^#2?AV~9UP|BuKYL;M-~|DF6X#Gj%6Kgb_L{2BWHC;4ND zKSTeI$sa@f8Ty|ke+=+A^r^gKP7(*@n`7&Px8kQe}?{_kw1p` zGxR@C{utuV&|ifsWdeH$@n`67B7Y3=XXqbB{utuV&_A5~F~pyte+2nsh(AOB5#)~{ z{tW#`l0Sy{GxU!ne+=C!h(AMr8~J01KSTdm^2ZQ=hW>Hnk0JgH{q5wBA^r^g9psN8{tW%&$sa@f8TvcP zA4B{Z`X`V-hWIn|Pb7Z~@n`6N3Hf7)KSTc{^2ZQ=hW?|-A4B{Z`i~}m4Dn~^KZg7< z#Gj#mGWlbOKSTeqB?V~9UP|B2*}A^r^gzd`;O;?K}OoBT1vpP_#a z`D2JbL;qaz#}I#p{*%ZbL;M-~=aD~#_%rmMO#T?+&(MDg`D2JbL;owtA4B{Z`sb5B zhWIn|_mV$`_%rmMO8yw)&(Qx$^2ZQ=hW^vYA4B{Z`d>x<7~;>+|7!Bb5PydL*N{Jk z_%rmMPW~9;&(MDc`D2JbL;nKu#}I#p{)Oa^A^r^gedLcJ{tW$#$R9)e8T!v8e+=+zk>WR#Gj%6T=K^de}?|^$R9)e8T!vB ze+=&PEN{2BT$Cw~m_XXw9z{4vCz zq5rMqk0JgH{a2DdhWIn|Uq${H;?K~3HTh$RKSTf9$R9)e8Tzjwe+=xpB{tW%slRt*|GxXm;{utuV(EoPw#}I#p{&$c+hWIn|-$?!#;?K~( zf&4MVpP~PqwP zA4B{Z`Ztq5hWIn|Zy|pS@n`7YO8yw)&(ME6`D2JbL;oG*k0JgH{qH4z4Dn~^e;@f{ zh(AOB`^g_e{2BVUkw1p`GxQITKZf`-^lvAB4Dn~^-$DKu;?K~(ll(EnpP~Ow^2ZQ= zhW@+AA4B{Z`aeMa7~;>+e>eGKh(AOBF7n3^e}?{h$R9)e8Tvm+{utuV(ElOw#}I#p z{tuHshWIn|{|@@n`72kNh#jpP~PL^2ZQ=hW_6re+=+{|WNP5PydLhsYm8{2BW9 zkw1p`GxUFw{4vCzq5o6lk0JgH{hua(4Dn~^{|xzKh(AOBACfmi#fqpP_$0 z`D2JbL;oL+e~|n!#Gj%65cy+>KSTc`)ce+=G!w zV~9UP|D)uOA^r^ghshs9{2BTmBYzC>XXyVT`D2JbL;sh^A4B{Z`oB#67~;>+{}<$s zA^r^ge@Xrr;?L0k74pXre}?|Y$sa@f8Ty|fe+=IDDV~9UP|C8j8A^r^gUn74E z@n`7&EAqz>e}?|QCVvd^XXyVr`D2JbL;q9ck0JgH{of#e4Dn~^{~Pkh5PydLza@VR z@n`7&JMza6e}?|QCw~m_XXyV2^2ZQ=hW;A)V~9UPf1Ug>#Gj#mko+;kpP~Po+|0D9p5PydLeIZEOn@+u{xZArWI)hHwwqq?IuwYeIr-AQ87j zKxj=!8^Ad!*h!j%q)n5wp=zAdn;W+zZAp4gC6oMWaB^w_L1|JNrG!Ynpnbp3%1ZM) zKIc8}AMZcM>3%-5&+P2X?9TI@>od>Htf{Qf-L~TPCz-(F7dK4RjI~&pL+=PCxjg%z+G*4F)Mxv$_VvQe zvxM2$BGq%UtnW}Wwd-*^JFo8)7&l#xyf4esuZLurXWv|Eb*<;NXxeUShwcO z_!IUpN){N#e}j~9>r0LeZdSsA;m&bPUjlCBXXfPjChfZlZa&MNtz`LQ)@xR%r*FDt zAjq;)vM2j;_g%)j%b~7H;`L(iS`Fhfdpek?W@Fe&_Lp^i>-O9EpxWAMj|M&9zZ^Lw z+sws`Y+ds85M!$9Ro*&3vkdkEvovPYiz?@vlF>dCz_XUw@=VbVRbfGOLCq?uVCfNu z)v?O`J+~aWB#W*F&_ByRdQgsBmIYUi)IN5hg$0FqtWY&&Qgyp3%Q30?qm3_aBp>JG z9M_AWf0SQ*c%Fl7Z^{eJ4K1w>pLsOmo=DRO{83g3d?IWZ|H+O!eGM($T$ZE3N4)Kj zGZfzbSne{VSLK$7ICq`-Lty zUxWCQd8Y4UeIXw9tE^Ao!NQIG`p#G=7Rsxh?DBL>cDC6og3OfX%Bya*mz|T%lU%&1 z6}Y7pw7OMhZGKr{jw`3CcH%8fL*`f0oSw%&L*J|DG$nfx{@!n$4 z75j`!O^y{ijb4?_=qWR2dyAOPVf1j}Px|-gK5ScP%5se>Gj7q^#yK*pb2qMPVfjZK zK9j+*+_$RbEC-}~UFITooKJOf;j8_ru3XQ5Wjvj1G5$--?D%&ZNlK7el7nn&YJe4`1l9A!NuQ#9NwM(n&9Yinb7j{x1b zB(6f|PH}1_R+JPtU{{|@MXS&wbMvy?dSLR3N-1aTGO+$DjJ_kgI@_5gan>xiPGTi# zfr(Xm!$GwCzWni3&#E4*Z?$tlCZ-~EW>v3WRy^^pI_$R>`j3bgL|AOf0 zm{FZB1RGNw=ju7L)tTzea-@1HT-o0Jj%-hoDc5TPy~&y8RayY0mUp9;r#jx^vQ*dl zYQ5blL%|XkR}pt@^L8f>y**hdL~dG{s*)%66QaYBM{Ghjh~MG?i^K zdY!7dlk*MVGTWX)>zypno9;33FuXbYTPoYcs!X1<=^PK3jE9WgaaB6BGHT`fX(pp* z-A3c#haATJ#>1&|h@wYlTFJQZ{ZX_RXeZVI=lL+}VW`bWvLWqg$tM=mROC9%3K>1;gXTG>=haPjojj#AfUgBs(y*$ti|7VG5NpZ0Fy&KX#7M$j}V+r3_zRCPG@ zFuxu)&bHp2<6L8~nTmFCj^ZZH^t5N3lNGEmaK|P%R~j;RcPGF5&h64O-mCrskE%o+ z%$9^nCHTUaXyUtRfz2Kh+~~WiC}-x{Wvj87iKjfTh3@ctj=F;IovmepypV<23bshb zGy0#R9C=vQcSg~oq_GKXGGkL&a1_JOM&PfF<4+`kf3(xYir73>!Q{w3Ip0`nxE6|b zjAfIZYq**%Q?r>RC(zJX$Lh2V^+J6^qhH;gdOWS2$9Mrx6RRgyW!W0)OAIQ}XByA4 znvXS=?4}W18H;vuCM9G#Z#`-Iv0dAvp1UfqZBavGcQVD7<#;Ewc*<=KZMAyVYX%N~ zFq^UPNqIJVa~MOykFX;w5ZB2RlB$lA@@KMUxaPgk9G`F6Fpa7TYs#XZrriydXE zA_w!Uj!Kp6@DG+gSowU_wB5GdOqJyLaQ6>EiyY4`o#`*~*$Pfo{i}aX(?PTx#*0Fa zPq49r_Njr?p8Xbe-~dMYkv^X#AN>mL^Sn=GTGY2+@xg-2FD9MqG96||?BfHi&Lj5B zpd8sL|1fk^U>wEP(wEiqZMdiOaC45>CwGrl>?vI%@Ylf+_!CLszkiMlKI{kxVrx@d zsKu1R9f7=tGx@3}_8qDsjxE2)^*rc2A9@g6>j@mh{lj6tb0$rnPpo5)-=Yp?n(nWX zBNehYgkC&cRKbm=-Bs5^tev+k405>tTaWgoDzwf5O8Lt%*52UZ+LKICH{sL+{ALEEcc7-uIg*+0@>LTXO<(8A#TP(gSzw@{$X?Vxiz=B zHdnXrYG+TZD?+?SVj|MrwK*Iehit;aQ5 zo8GZ*Q>7r66|8nu-C1eabQI;SaP_*omd{k)H5^x-Z>cggoQADn^}20Z+qygbitGHc zDXWKOKUn$rVmHR%Orj98-QQDUGq5>JpDNS1yM(d=3O9*8I-^KBYNZ}uiTgL^mF#<~ z%Q2Gs!xg@r%6ht;1&TuHrsZO~O*`uWF3+wBjCIL|U+ij6>P?ScNmcBQX4qqh%Amw4q^KGDY$9Vnga7Gp z!=vyz;_|^9O<_U}jNbg4VPxL8l0c^GN``{V`CS!BX+S0ewa%$4wN2T(j~mGT#1&)n zg1O%d>6JH+ed*0nyqP@rWJp!j1uQ8Y9(+^ZAxBz=n3+f0q!Rh+3~#C<%cJk4^iX>B z9chf}l6P(h#EDURjlh2lk_!BZB=FaFCb;qM;D)}_gE^Bi=uus|0kDOGc6C5CEVKXG z4G-Q@-&u~leS;Mx2bicbQ}0oZtU*{$r-~x2!YG%ck-HuKe}Yob`HW zDjNtf7VYqv(;$I39?wGIk{hfvEx5q!atf%wjW=X*jk%7!zq-nG-0=SDXy^T<`8{{# zEwHfj3+FLQMj%JEF4w-)u}m&APF|n;f}QXAi9I85#4q|%nQHoe`?cWZP#AwD3uce5 zd}Ho0`v(ENhpQL}&2s%UbfC1n=Yi65!7^v6*-}n35yXnodX2z;EK&;mi6rpo2;^^_S{}vUfv^@q;wqfT=vjqoSda{1Capf#$p@?KJO6GA>WY1U8B3q-m}+)@EN3 zEOk{&ZT6+X7+ROne2u_A9jOJ+h$Qg0xE@;9W?vFKBDJaccZ#deHXgIvg1yNZZ~H_u z#(iz}v|yif2D5b9pxGr>pE0ze%$b-_E=Q94S*ay(s*zcW0>#p#>Ld1~0Hl3Ate6XM zVx8UMZfI<^XZIwVICHk`AzQEZV?*}tZokg14oZ^F!Ic@CCHEG|0yL7&v1#hy7|4_J ztZCI*Zb)yY4Fyy1T#CNP^-y9SlhQ<(vOcs{f96>OuusS$qa8C`Pe`nk1!Cys*$3oE z(qOr(0`kEucX@TYA!x3@=ElzYhQn4?z17+BRM|Fa6f6B5dNfb zW-Q~ev)oHc^#b`cD9QLCC#cCB9&y||7#2m(m3fz%^qo1FC-QV;K@O_)goqoX@*07E z29gQLz1a&e(^V-fF^_LXpi3shL3G(7!NK z|KdA?6KW3G(*ttkC7Bb|W^sF#tIfmA7d*zM+NQQ9J+%`c52UL(ModW;;v*GSBsa z@ztz!a=^s2Vql-Pd|~0ry%jcaV$@zE@Xth2fj^N1{<$Swz;D+C)2q|0I-kbe>wnXe zoqG`NGM9VS&q`ARs(J1H9EkS>p!O8_8`x`_q!#}i;^v8-&q95`m9Wi)P$Ap_$#TBM zb?Ef^z5EM7&&j>VJm>eW@MQ1H@SNPIf=lndR?n&yu9a&)1$m$xnIz*@a;LvJ}|JGCI`xu{^h0{K9kyf7&2cuGBA);%}rmiJ8O4}D%;VzJ4c=E zIJY||Db^Ja-_chJbI*~ z_ZoqJ7Sam*i6rn(l*>MjB zZE;-R&8CzlO>$Ut4b7IcQ_YsK1iGp^aJ;1)W&GzcPSl`` zSNx|kE>zTRPwq2X<^*yqA45|2y%?2sITDCX?kloPhrCa;%m@^qJ@AS7RqZN=TXbnn zynAflO_org)?x~jSpJCiMd-V>H#;{Iql8RTcGX$G9C<57`6;_58{-OtSz9JY{6pj? zAAa&pXZ-^EYlzwrVBGU8{C0nb zoj+gLd}s6bn?ucMChqxjkjp3X3)Qcmq1-dJ;DHv@w`TOcpMY-7=??btC)czGH8rA} zmkvTt;1=omC8A>MtUTTM3iM5qJ2;HLrAqWUqFNKtnM28t>qk0vo0)jbd8|g~IffBI zhIFi&Yt3*Ub>*N>FfQ=O(ub=pEqdwOPG(67_zHE>z1#t#-=2K_NcDt=eq#Sx;IJ#_ zA+6iulOvPlZ!X0w6A+#-bjW3JbM2PZtcXKiyd!$R#kEaxA8;An`>Ti*qxBkrKN@?& zpGX4#`&}w&vh;KNAG-G~EtXQfvSnsq?=sQC0zd1!2Yg>;nG>`^Cx9zgxr^ODH@2Z= zFtVLX1*yc%!uEboRk6fN_f)@S;O6mez2wR}gBkd(uDh4!NX4GB{v*gk>y3gWM=lO_ zRqi&ghfHP@_-}OAL+^mJ2HeB+r=iS;TJ28R`D<;a(oR6uK3?NULO) zvOMpFsuFhJpF+1;bivgwGsX|9;41V_CPYQ4LNdDF3~fVr&P3r`2G4{fizcWtiBe9B z)m_Fu3*CpeqNFzENW_ZKdX2z;0#XY6i6rp1x<3ysv7`jcz$ugLP)gd10nW6j>SAcM z<$Hl;mS+QNEvjINX+c#_XdU=iCdDEvZ}6shRe{iY%a~vVP@3anC4A7}=1sGz-UuDn zX2Z|28<9}0+4KT!t(Rz)*AF^4(pGX3KH+Uey{1oPwFzaB_ zpc`dlHuih)>Ky9yAHci=^ERH(gT4pzXBbb%H%@QCT&vdQdCT)_GE6+lR*>FrfU_o9 zqL`yGu%y$}C%+8;`i?V=?a&NSiE8O_huVFn5&GJ1bNRfKizi;9r??yW>wjD8%5w1V zRR{Mjky`)#`x7y!BzmWZ%n?5->N`*`1@)bO*g&$zD3ne!A*WzL&ys8pX`wOkHyb!B zD;W%~%kwNrd&tzZ1!D71{gA7zjrA(FuV>p*Sw zy44Jt9^l8~Th;-Qs?|%`0bo0fJOQh4hXA&3+qPrtw)#z*n}vI=)22@=EB#Vl5mr@> z(cQXw(M^>#i&jTwmeR`O2Fb0@hX6JsdBx}^(M&NHmQh`5_1pbj^~m!2YD@%Q`9Kygi^9*zsg2L zMI=QHytGNn@%&)iSwjTZZ>T=dvNfyhtCZ)&&8Jcc3HyIR%cqqM*E;{j%YQokw;ULO ze-69?0wM|g|J%U-eDS}Y10(RyMUsF&k$>Xl2>hY)PWTh~C;m|XR|Z1=BOCwMdKiJffTRF_B46O|V?w`& zv5UioUj26$`AJ-4U)uDKaEb5<8eGBH2g7k@L(L}PK4*E{Ui>Au#5;B>Q%kBv~ zeP7>^R6|+<$w7^abd}UqtdG6MVSZoVY2)I_TQ`%#+JCGXu&>!y-Urqy*rD?2JW8Yvaes%B4RC|E!B0_z@{bz$C){S z4_Csc*7fuaT9!+@cAYt{+;Kv~WGQ*81gWkW&@;;(4dtsnw6241LbEVZ7+@iPEUc1QbVVH4% z78v5=pf@xRYP(P5?k_epbvd(4l8r*99>mLS8 z-Z7xRABe}G4iGCw>oubMi%2QTKam9f#7_=0@4tqY4)Ja(upwURJM>@Tp&*ZO=}d$Q z;ed5OY%I9=NWaOO3i|XwvVwOU(Y+vIj&~C&+NIhs~7w?@4{TIBi$@E zHF#ScMy3<99BOj|H2PW{;;^LYnz4R3;eyqAY0RdAC{e{{Fy0>jmcB#l($*Lx zt&(e!1IbQJcz=xU-y0%aG^pi^kZ6}RiLbaHDU zw-xdj#qHx*n#&+1hhsyjj5nzmJ0_qdNQ-85zLbf1#UC>kgee0y=RtEp{|ri4={rm{ zCMAvwF+rjKCpKB3zmDn57fk{?W>bZ;5W* zUx|%Z=;>HIJuk)L>3KeusklEI%TVZ3SiLfOuMzkcBCWumNCJQ2;=jc73Qm`S$smlu z&)6)On_+gtyaMwP%*3BCHUnlg%yyV#FfYR-qpTS`JX@D{aFNbjXE)mPOdYO)?xs#@ z2dE6+ZN^?g9Y)mO>8|5kTfNWR&DG+biTxc?t24ci=S5H9q_feRgh%X-RSj0;)b}O+{ygDUbXbPE9;_;fC+)1n}=w(?- ztfvqwv0}7dBk-SslmZMQ3H-mzQ{v}6{})bie#UWX`~QH`?h!aqoP-the#1A0jzFKk z%lNw@*26BU!`FvemRa#!j^}9KH(cL{Nxwz>XZ;O4kVdi{J?Si6rn}6-;o*r*J6ie4N9(`k%Lt=^>u(fKA)efVTQ>ti6^a zMwzsCp2PS{uW)wL7vTuC+rJ36P6@XL;dUzFN@T1sj2uQd!o#VA8aMnkJN%Bt*C>Yh zO1LEmcaIWorV{S%FTOWb37L(MT(}T^DGmxJC~>I6)kAZXTt=fl>hsZ>VP@j-?VFKD z;<-WhMI6M6(Rz)*zZfY6{zMY^Q)%MCIl`R_$D)LTI$ShV{NL~}=L;Tw7^M=GtAu+W z;U>aHvAqj>2I5E>%KlOuTHx@=&^Uo%r9uBt1$zEdhiF$o3ULM@*!hYO{XwTMa_p(D=fKXMINo;`~21)JzZBeM2y6!YMb>UFuwe zd#uvW9E-i?G~qM-tVkb7bqcwf@DE@gt=Ln#M&MrpN8nE+fxj+5?Q34_&mro6{|X$z zI9s?LB3YRSyoGmx`JP$Ky0+h#UwnL)7k z^VTx9)t&1@eIggS%9zDnP+jOM#Qt!f49H>`G#IciT^OQ^rDlTgQI)7QapBvdMa--` zrI;vR-HK<7N8plaq8egJRBfKYB5cHp(Rz)*AIv5Ei6rnZmDT163MY!d zlL^iV;E5=6=JARxPqB@MTeiHt^HKB-_X10&ld%UuU&3?BLdX*q;JK7zR7TmqGWJW9 zNA@aX&k}uwF&dAt4(JaO{V6_8{(i>T!*~vN{Hf;9Y0gCBg-Dd@1!3^qQflin`{yfd z{``J=`cZ#U9t-Te_-{_?vHoOGXP%ERs<3|OO~v=^z?us$9iY`6s_^a6H(bB1Hg4p^ zH=qy7nZ_dCycjc49bp8eI${E7mcT~wH3I*sNGwO&9^t~6oYqmQ!|0-C~i z4LrWA#QV65e9->Yp@n>mV)#ea|D|#Ki6rpv?c>;N=zgDy z?NM6EWr2IEP?PqzICp^74sBohP1iK`{7kFw8%`=&pAQ^z-i^jEhVX7Q zAwwXa7YA43Yq|XcLKpI2=0Ib-{103->CA_rHKq!u4sKT5egL;kOAo7xP?LO3-l)X< z-2rv@H~mQn`C9+iUA~+X=$RDZsX3}D`YcGcuN3|?+ClkO20g>&-`Rg_(I*Ng7Wcb~ zJ_>T?wOFCCX4x926=N|LT&?hS&j3A53$9eSx&vJOPJc4E_h^4tPI-}0;b~P=U36WE zX)@vrD>ftI{8+J#?;lfiMX~AobwwA0oM`n}z4Nh>hXrp|zEO+y+6xBd$h|N>9iY`) zvlaJc15aLg%tZ4L)TijZ@#z&g@*e}^v9d3PlOw;oF;Bv*L#rIQwLe~uEbh;8WmaXk z$dNa0j0;hpu_~1b;xFTE7PVh&i-B#Swg}_WuN3|_#qlSSDE}?s0kzxIHgANXwwc;* z35NP^)Q0DRQX5Y4I;(Y+joNKDOv;_t;b$^~zmW#Q+*fUst&Vof3pN5aSv6g8Pd~6xy zM6DpA75SYqi^PK8fDGa*g@0Kbe${`qOz>Nn8RD$Hel^xo{=RSQ6w&k0GS!Q+LG+ffdEoCu(K$+s z{s8#=pi;tj_Z@U{miq!KVDaO={m$mT9Ys3=JBv04wimSr@2?SCIBUBfZ_mHbC;G&e zJqV=<>_!+B!tlXeO1L~Vl7`QjoRAXx4$`AWJ zRVLIGZwzg7nOY2J-JTh`TZv&}zo|uMro6SI|LdX6@cos-zdVjVkp%wSoKWb_8bL}5 z3-TS+ce;|o%LkLfTOqrBvwxGqvl~%*n<0O>Rh~Rx3)L#2H1hiD^)5~LiT+EW_0?J4 z^_acS@T^l%zfB4Mw`fUd?H6xW|ov&lH&-BnOPTulb z;1(zHXyBtOKZo1O&|`)6npc_F@)LV%(5C#`Q_-&!{uOcjiF|=S_G!V^oh>(`pIkch z&XxHJUmlGX`uOm3awh7AaA+rZ_yJnorh)ga%y3c-`vUfVV!_@kG&6q>TJS$!AwTEf zCw1VhE7azajE3X~TVY66LvkBxQ>cCU=;w^7&<0F|p>|{~=-n`fV5n`O_J-OWYJYwO zztrvw{ovE?r5l$oJdfwCcsCA|!H{g|X3%07nip6}?r77tfhOh%;37PU=OZws_=W>! zBm6!AI-0K$<3B4>%P~eIfj_nTFB2ai-?`J3iygZhfjg9Tm9zp@4{mbhNt;|{x!D*g z-Xu35KQt)5a)U|X!|XVV^M9 z<&b(R3)~Yb%S{T`0w4B8&XS`1d@tm|RPGb?N)%2@ir& z-;?F@&lH{e8rW(Rz)*eeW^qbK3h?i2TA0C#U zQgVkT@LiV?d&f|myX7aGL|;Y7$CZ$aOyu{r*gkw^i+DG_qn-yX(uypP$O_Fruo^u( z;bto*UyEZ$mC)ZoXrK9cYd2@~Jv^KPf7LflVkYW~)B;Hr_J_$y`rJTu$NZrOs}BL; zJO$yG`ig*h#SrC}QiLc%h(&{3A)$Y&?{?G;qxTwt|16{x_!CLsPyBEwoJz{&%-8&@ zY^)V6LL1-CVIH6<&h0>J-+EV*liE`eep3S56kJ^LJ+9p0yrIFq?JQh16pJi|E|xYL zi_E{V=5kE%Y5sI&bJaUnR8uDg?Mkls>)-;!dXFV{xW)K7T8yuw)IRe?T{8y~zrV$n zT;ZqcgEN#c-Pp&E!o*vR4}z}dc>4AL z%4MJ&Gp!9Fx}(k=a4UM+)J{{|P3<$u;bx;Pr*>Uw(_w!QhU7^*K=Hdm5znwU)yp;- z2SB@fp;ft3ZNEXgzZY&lL%-e+Qvx;iy@==E;ePvnFt){pF@cF=q=(velCJX$sh@k| z9AocNpI7M{fR55@MEReCgo2?&68Hnu|FUm%7X0~F@H7oP1zxYSu4|YBzVYtqUCO+I!s0VhK!KHqAF}-={cl zFpnimCv#rYK4Q;4&!$Zb$fk+jhaK~=@7rzOG}}Vee8+dZ+=4mkv|Fdx-uAxcPj}=e zaVO_H^uOkgsVn+I$u5h}qMQ+FWx-G+euf<-Z0)HY2{ORmQ8N24vjm~gX z_frYmQt13R^q7jZG3f1wYt34XEv)mcn24sm{Og?>$mWZtc_aa!$+eW z)|;r(m`x5N6+~Z?Wi#Z>NTZF_V4sIc`i^Ayj^W=aE{B)2)bSA zkaL{eD6m>L>C~&tqE}#~<4?TTn#EnpQv2tMeUBfPmqoGOk<~a%x=PCNaZh>LV0QPTvTqe6ku|I}=VF%YHTa53Lr2i3U zqWpZVxbI(VlN>l3YA3lJlIeaxS#zMofcW;v(avLjCY%hVTRwSLJMRhG#(m=vV)M=q zL-F}OZiO24lA5UsR9;M8jpA!W`M(*7MfoR^z#qG4fopD=PzK*&ul*7RtL0O`W0K>! zX0AYvELEN?j#EHtiNgEE!06gqW=^&&efJ3)aM`hO2VpW>=1qV1Ub8^K6O&(L=FUkj;3?D^KiTgwFAw9dhY z?}%};Zv;aj3j6%frI5auLo46jPnu;zLv%h>(abW>pF)(v+0#uJfXpqMqfCW;W$=ft z9^p?UfxphfW7RbFgq=fmqL!r1PizSSa~_UG*V%zvIOa(uY;uz!(ZZZ-N5ASN90uttAF|e5c4L28LOC3i%4SPI`B5$ea*X z${p?KPH+Asb9nK(&)j|;iN;W^?x=y}U~#*?~>Z*uK&G#%M>u<5N`XPQ!X^Ubc^j^-n~4>rHG z`%H7{9)7!Pk7N6hJqNeHwdc(C)V&!deg|RrlAL97A0XTJ z{zMY^b0RmNxZ7p4`Kb;FgP-Z_Tc=ZxZ?(4VQXlW#mE2muw$8BZR=2eqd;OYLP20TO z@7THX7>Dia^=n)2+EuhmU#M%ntMbX)avmsWb^fH*7xyH!kxpKX%(tf;O=>G=x)X9_ zx}4gsLhUjkP`pQEZK#9s_9V%hwe2_`s9)3mUHh1GvN5?`_LF{5aw`+nt*?bX-pwrG zVB;Rl5VmifK4>`Agm2$}sc8&qe)``dr;~x@Zq!aYQTuG2RfmuwI{@ryhxdozu048i z_~{^?9)w*3DX1LT`_;nV5yziM0)MTTa&&Ml-^wg??}4iiXiutJ>$25K$ACUo?vQGsb1mPlK5^Z!-|(^jte@tV z(ZLG;5fYcF0TCOD|-%S|1Q1< zvY6>|ab}OZSa<$t8Q*f*;KnR1kKG+!#7QAf70Ca&P-i#W+uz(q|kKz=?4|o*ltco&QNYyI}D=ES_2WxShS1~QaQee>?d&?kIx4Dc`#?hdqk1#VEc;;9rTv0)HY2{19|S_@V`0Sn0w5v)l|c)aO-G z%Yt0_S>sthS1{Fv(c09CU>*GZi@mf*!!{_kqVpP*uD1;9XVlK@^_O~QdXLz1yT6S& zn(cYL{wM5)?wfMIWoO;#x&8hbxxnrGq};oVhqkgud;Kp-Pc6~*@l*d8i z#q8S{(?vShBkph62k@0z#daNEIcKPwG0ofS=it(6&*=Ua>{@gezVW2}O82bX$MB7b zxdZ-bxliC5dAUC^{vlMs{>9#N{%^|I;~{%eHz%C3t9n}P?Tgmg^_>Up{XL@?{*mi{ zXtWFbl|e7M&B{4?IQzxZF$T_R>WBQS&lcw%e->rvdoIKXt&o-uSE+jc(H*# z%F%hu@_Ok+RnyROOanq&*lBXm|KX=UB+w53j z_|4W82Cj{jo7e(|I;lausuJk5=M5<`P4YYs>T=HmFz|b{6AG zR6R2oSCSE!&e9<%dMA_!)$7-JxN>IsJQ(S`n{8rO{rI-!ZAgfCoJ_FXYV@k5AUp37 zaq7=xXqHbl@$9VsEL(|wC&##Xlf0|TKOW8SkHnv5yMRBDMEURar+Vu5uFd|ooqMl3 zr`yl5Znma8)zc3CuZ30)Mg->Dpq2B?L*WwEWAt2lXk8hP+L+GReG4^eR)?DEj7Q~2 zFqVbhIQ0*)GKd{I?JoP;%&*V5eU{Z*;+^B=k1{ViO7(CR`h1UCX%5cdA=wRQHhPf9 ztaH8D-eV}k^i*rDh(DdDr#frN7w`D?4byYHW^bFl@4V>w4_a1YUT>uxKvZlc@=Gn~ z8qhY-wV)Ru(S8O0iE)Q`dxgFu%hQU}U}Y=OgInvQ(VPKB)c>UI1pJ94@F&R+jiDPh zp?_Ym+EQ=6!7MJWCWa-7}M<%lCzfZTxi zidBIYzYe-v93(mMz5o-oWoPaqnQ|6WH|p3#(^L3bGFF0Ln3RE4xpL(1^4Ly>(>siK zZ&2PQp0brE`m+g`b0+DJ%|zerlc^S(XewwF*z?MtTv2A7b?kMCiI6Ga3$*VbJxv&X z%ED9P>+$$sml9tiR*cqb1pd_91^!B>cews1-oGxzxxHOE-Pz=wSZoNWdd3&0b#L#? zF3ve0D;@~mRk_hy3_0wDCWak4lKSYGp8f_tpI)Mxeknw#Hh4Ms$wHZX9dcnN7C{%_ zZxT2C^pbO-adWUQBl_TZj0u|JaXng$84pCwJa5d%AY}Ip%Nw_0yhqP>DU!nbWKM{7 z8cgKkl?^vv^&4hZFhl8eWu8Hf+#~-j)G+D719Ax${N~&X_f2V}{4oyxf4by-^b1p! zuTH?8w^+kmybgWYswjV3T3#u$IN>ocTCt~ejlduBQo^4|qWqUQiL(b3E`N~AN|J+9 z6qjAHD7EkX_`bh~@|EW%JooPXJVd^4m-m~9E>_0qiMhb_^1I60W%8xmeY?&-aFyL{ z5SR_6yiC@cuKF!0*$xU-ETl?3)VPVf_D zHtn-u5VHqAhVJ({>@Uy*a}?$~FjO;8z3>S7D7s)usV<-^O@>67g~vxV${!n$CX5ryNY4AMFq6BZmnS^|EQBG?A zzWa(BoEWv&2>h2KslcB|0{?>ghI%TMuR?Dkiu!*n^l(`IFYVfZMJm5N2dnupM^=RM zyr+ML(v7`SqM>@FH z0nt~;3e>Ef9du{9?qynQI=jVP%-C_>jk>%{6TW3YM4dlmHI=x?S(KoT<)q&Zn53;*Rt8SeKDS(w&TwohB* za9lF1UyJ?iZfH%OeYZF^W!K~B+c!LrRnS}{=?#tMYXttwkXj^}NCN+OJxbj3(2P9j zZ*S0j^^m9YA(5He*{@fp%{ybLb+@@W@!(F+5*6e-Llvu}M{#;%um5qoDzIAO)~v$5 zoy@H7IJmFXJ|;l8y>4ibo>lyu!YSV-73BkYI6VGTokeqV@9`wy&3LtLZy8i7BZb_V>FL(dZ9f9#-h z9`X_DjlYg@5_WO~PA|hoIfMA#0N#xYP@dQdn_jW~b&xla%ijkd2GSp_W2JL&*5AJH7GRlXrI0Zig{zi_^*hOa`C0% z9DHi$5vo(xwc1|@ARKy#qxTwt|MEEgL=xrS%!Vq?HD+$1vMe;V+LN%S_Re8+4-TFP zv9M+c>hq|j<%miquHG~F3AhFsFIEiSjeOEoNxB{Sj`89+v&u=XhoEQiU}k*ZjWBZ2 zq0@Ox2R%>h$<>+)I+3Yb(?Bt^42{ob^dIuEKhQlSwK|KlBIq{XGo!RhF>mB7k>ujqV(1{3Zp} zuDJdOh1>Y5XGy{@ggz!c@&fM}nzzWaAIF7qO^&8CoXo93A5%b^fL}AGB41_Mw1F|$ zgGMbnJO>dcLpg=~#+-pxB-yF+I6P;hYaz9mjrj^5yL<6ghlg+c2>ttIRcsN-rP{HF ze9pr;$vNq%mh>K7^-0#U4x@xXdcM}F^F9NOw^UCO)}PTi;iDM-k>kIWar}uS@P7k4 zJ+z|~Lnyc?08AHx#`&ni`l($g$Hp&Yl!P&18ara(TDkT+a~{We7FOjv z3!3ZWrn91JI4eG;v}{`V)P&jKR|@}Car}uS@E0W&bhPTwj-FUTQr*-%RX~pXP3FO5 z>J7+|>q@VHmq=TVTvSf%zogXrw1*G%66DAw8Ak(yhGko}2U6f8r|+u7Y^zygO=1`B z(=x7<_2>#xUMj{~^AkgF`m@+9YclJ_InSz|ELMiLhnp{Y*iC;6#^)b@A=8Y06w+kO z+UBW)ymZ!2-;Z|cO45R?IQ2p)`YW%<_4Z^4acHjj4SBZVlTf!m9{yMIU(lzC|7ZLU z&kz6Mca=Y+aY=mb!B-0Z)p7iZB=9fCstXNvgwSK$hrJPRxSZ(iVHdC+Y?F4S-RYW* z8DZ=Vi2Xj&;d+Z}rJY=`8$9|}NkKcxG}dd&YM>wM>@zQPWhTvr&W9?z2JgAReCOXn zedc*zxXy&@XF*yw822@8NS&7)D22?Bw99>>n$ap=NM(eZoD5}{wY6d-TIzyUNLV|_ zu%#Skh+6*+O@+Dm#w9r&Gmon9-9y+7`Y7!bEk_o~tX-YWEUyN*6Y8+~2CWV+!-_X` zcoX)4ONXBvUQEAf7Vr zDDiZnoNpj*zBlv_Zr-eL^WD&ND~Hu%pFA)-P8ZFO(_b^zw-AB^+c?w_vpOcRq;^8i zg4pcx0?fl_;|G%31=InoH5IP2hRf$4W47!Cog8`^k5+~|p3G~`du-9hN{w_p`6g** z(p*P{qr{zDprJV@=~=GWW^&jimQVXiZQwH;CdVRoxU;OItALk&$mdF#ni8AY(UqT~ zepY3&WjM0kJVu@492?waot&tWGNe%q|H$@#Z5)3h3H(zXS>TCL!dkz#FEn=J)OC#T z70%Ebm2^%yu^mz$$#{Qvvg&Q){l}G6fhdtu?Ll%k+;2Vn2@JpQ3~4*NMF`w-*+h`$Ze2BJoyU;NX5|F^t! zp%H)gcA2U6$U}|{rZ?lnn1hrCIzb-kGU3#C2`e7Hl&-H7{

PCz8OQ(CSrXNGl{D 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 diff --git a/CurrentRanger_R1.ino b/CurrentRanger_R1.ino deleted file mode 100644 index 0f4529c..0000000 --- a/CurrentRanger_R1.ino +++ /dev/null @@ -1,744 +0,0 @@ -// ************************************************************************************************************* -// CurrentRanger(TM) stock firmware -// https://lowpowerlab.com/CurrentRanger -// CurrentRanger is a high-side precision current meter featuring: -// - autoranging -// - uni/bi-directional modes (ie. DC/AC measurements) -// - ultra low burden voltage -// - 1mV per nA/uA/mA measurements with DMM/scope -// - OLED standalone readings -// - bluetooth data logging option via 3.3v/RX/TX header -// - full digital control for power/switching -// - LiPo powered with auto power-off feature (0.6uA quiescent current) -// ************************************************************************************************************* -#ifndef CURRENT_RANGER - #error You need to choose CurrentRanger board as target, see guide for details how to add it to the IDE. -#endif -//*********************************************************************************************************** -#include //for analogReadCorrection, comes with ArduinoIDE -#include //for emulated EEPROM - https://github.com/cmaglie/FlashStorage -#include //https://github.com/adafruit/Adafruit_FreeTouch -#include //https://github.com/olikraus/u8g2/wiki/u8g2reference fonts:https://github.com/olikraus/u8g2/wiki/fntlistall -//#include -//*********************************************************************************************************** -#define OFFSET_LED 11 -#define LPFPIN 4 -#define LPFLED LED_BUILTIN -#define MA 38 -#define UA 2 -#define NA 5 -#define AUTOFF PIN_AUTO_OFF -char rangeUnit = 'm'; -uint32_t lastInteraction=0; -//*********************************************************************************************************** -#define LDO_OUTPUT 3.3 //volts, change to actual LDO output (measure GND-3V on OLED header) -//*********************************************************************************************************** -#define SENSE_OUTPUT A3 -#define SENSE_GNDISO A2 -#define SENSE_VIN A5 -#define ADCREADINGS 1 //do averaging in hardware rather than software -#define VBATREADLOOPS 100 //read vbat every this many OLED_REFRESH_INTERVAL loops -#define LOBAT_THRESHOLD 3.40 //volts -#define DAC_GND_ISO_OFFSET 0 -#define DAC_HALF_SUPPLY_OFFSET 512 -#define OUTPUT_CALIB_FACTOR 1.00 //calibrate final VOUT value -#define ADC_OVERLOAD 4000 //assuming DAC output is very close to 0, this is max value less ground offset (varies from unit to unit, 4000 is a safe value) -//*********************************************************************************************************** -#define ADC_CALIBRATE_EN -//#define ADC_CALIBRATE_FORCED //uncomment to set manual offset/gain values below -#define ADC_CALIBRATE_FORCED_OFFSET 0 -#define ADC_CALIBRATE_FORCED_GAIN 2048 -//*********************************************************************************************************** -#define BUZZER 1 // BUZZER pin -#define NOTE_C5 523 -#define NOTE_D5 587 -#define NOTE_E5 659 -#define NOTE_F5 698 -#define NOTE_G5 784 -#define NOTE_A5 880 -#define NOTE_B5 988 -#define NOTE_C6 1047 -#define TONE_BEEP 4200 -//*********************************************************************************************************** -#define AUTORANGING_EN -#define MODE_MANUAL 0 -#define MODE_AUTORANGE 1 -#define STARTUP_MODE MODE_MANUAL //MODE_AUTORANGE -#define SWITCHDELAY_UP 8 //ms -#define SWITCHDELAY_DOWN 8 //ms -#define RANGE_SWITCH_THRESHOLD_HIGH ADC_OVERLOAD //ADC's 12bit value -#define RANGE_SWITCH_THRESHOLD_LOW 0 -//*********************************************************************************************************** -#define OLED_EN -#ifdef OLED_EN - #include - //i2c scanner: https://playground.arduino.cc/Main/I2cScanner - #define OLED_ADDRESS 0x3C //i2c address on most small OLEDs - #define OLED_REFRESH_INTERVAL 200 //ms - U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); - byte OLED_found=false; -#endif -//*********************************************************************************************************** -#define TOUCH_N 8 -#define TOUCH_U 9 -#define TOUCH_M A4 -Adafruit_FreeTouch qt[3] = { - Adafruit_FreeTouch( TOUCH_N, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), - Adafruit_FreeTouch( TOUCH_U, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), - Adafruit_FreeTouch( TOUCH_M, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), -}; -#define TOUCH_HIGH_THRESHOLD 600 //range is 0..1023 -#define MA_PRESSED qt[2].measure()>TOUCH_HIGH_THRESHOLD -#define MA_NOT_PRESSED !(MA_PRESSED) -#define UA_PRESSED qt[1].measure()>TOUCH_HIGH_THRESHOLD -#define UA_NOT_PRESSED !(UA_PRESSED) -#define NA_PRESSED qt[0].measure()>TOUCH_HIGH_THRESHOLD -#define NA_NOT_PRESSED !(NA_PRESSED) -//*********************************************************************************************************** -#define SERIALBAUD 230400 //Serial baud for HC-06 bluetooth output -#define BT_EN -#define BT_OUTPUT_AMPS //ADC | AMPS | NANOS Change format of bluetooth data -#define BT_REFRESH_INTERVAL 200 //ms -#define AUTOFF_EN -#ifdef AUTOFF_EN -#define AUTOFF_INTERVAL 600000 //turn unit off after 10min of inactivity -#endif -//*********************************************************************************************************** - -int offsetCorrectionValue = 0; -uint16_t gainCorrectionValue = 0; -byte calibrationPerformed=false; -#ifdef BT_EN -byte BT_found=false; -#endif - -void setup() { - SerialUSB.begin(1); //USB hyper speed, baud wont matter -/* - //some buzz - tone(BUZZER, NOTE_C5); delay(100); - tone(BUZZER, NOTE_E5); delay(100); - tone(BUZZER, NOTE_G5); delay(100); - tone(BUZZER, NOTE_C6); delay(200); - noTone(BUZZER); delay(50); - tone(BUZZER, NOTE_G5); delay(100); - tone(BUZZER, NOTE_C6); delay(400); - noTone(BUZZER); -*/ -#ifdef OLED_EN - Wire.begin(); - Wire.beginTransmission(OLED_ADDRESS); - byte error = Wire.endTransmission(); - if (error == 0) - { - SerialUSB.print("OLED FOUND at "); SerialUSB.println(OLED_ADDRESS); - u8g2.begin(); - //u8g2.setDisplayRotation(U8G2_R2); //if required (inside/custom mount?) - u8g2.setBusClock(1000000); //1Mhz i2C clock - OLED_found = true; - } - else SerialUSB.println("NO OLED attached..."); -#endif - - pinMode(A0, OUTPUT); //DAC/GNDISO - pinMode(SENSE_OUTPUT, INPUT); - pinMode(SENSE_GNDISO, INPUT); //GND-ISO - pinMode(SENSE_VIN, INPUT); //VIN > 1MEG > SENSE_VIN > 2MEG > GND - pinMode(AUTOFF, INPUT_PULLUP); - pinMode(OFFSET_LED, OUTPUT); - pinMode(LPFLED, OUTPUT); //STATUS/LPF-LED - pinMode(LPFPIN, OUTPUT); //LPF control pin - pinMode(BUZZER, OUTPUT); - pinMode(MA,OUTPUT); - pinMode(UA,OUTPUT); - pinMode(NA,OUTPUT); - - qt[0].begin(); qt[1].begin(); qt[2].begin(); //touch pads - analogReadResolution(12); - analogWriteResolution(10); //DAC resolution - - //DAC->CTRLA.bit.RUNSTDBY = 0x01;delay(1); - //DAC->CTRLB.bit.REFSEL=0;//pick internal reference, skip SYNCDAC (done by analogWrite) - analogWrite(A0, DAC_GND_ISO_OFFSET); // Initialize Dac to OFFSET - -#ifdef ADC_CALIBRATE_EN - #ifndef ADC_CALIBRATE_FORCED - adcCorrectionCheck(); - #else - //or hardcoded: - analogReadCorrectionForced(ADC_CALIBRATE_FORCED_OFFSET, ADC_CALIBRATE_FORCED_GAIN); - //(offset, gain) - gain is 12 bit number (1 bit integer + 11bit fractional, see DS p895) - // - offset is 12bit 2s complement format (p896) - #endif - -#ifdef OLED_EN - if (OLED_found && !calibrationPerformed && MA_PRESSED) - { - u8g2.clearBuffer(); - SerialUSB.println("ADC calib. values:"); - SerialUSB.print("Offset="); SerialUSB.println(offsetCorrectionValue); - SerialUSB.print("Gain="); SerialUSB.println(gainCorrectionValue); - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.setCursor(0,28); u8g2.print("ADC CALIB:"); - u8g2.setCursor(0,40); u8g2.print("offset:"); - u8g2.setCursor(64,40); u8g2.print(offsetCorrectionValue); - u8g2.setCursor(0,54); u8g2.print("gain :"); - u8g2.setCursor(64,54); u8g2.print(gainCorrectionValue); - u8g2.sendBuffer(); - delay(2000); - } -#endif - -#endif - -#ifdef BT_EN - //BT check - Serial.begin(SERIALBAUD); - SerialUSB.print("Bluetooth AT check @");SerialUSB.print(SERIALBAUD);SerialUSB.print("baud..."); - Serial.print("AT"); //assuming HC-06, no line ending required - uint32_t timer=millis(); - while(millis()-timer<1000) //about 1s to respond - { - if (Serial.available()==2 && Serial.read()=='O' && Serial.read()=='K') - { - BT_found=true; - break; - } - } - - SerialUSB.print(BT_found?"OK!":"No response. Checking for version 3.0.\r\n"); - - if (!BT_found) - { - Serial.print("\r\n"); //assuming HC-06 version 3.0 that requires line ending - uint32_t timer=millis(); - while(millis()-timer<50) //about 50ms to respond - { - if (Serial.available()==4 && Serial.read()=='O' && Serial.read()=='K' && Serial.read()=='\r' && Serial.read() == '\n') - { - BT_found=true; - break; - } - } - - SerialUSB.print(BT_found?"OK!":"No response."); - } -#endif - - //rangeMA(); //done in bootloader - WDTset(); - -/* - // ADC Linearity/Bias Calibration from NVM (should already be done done in core) - uint32_t bias = (*((uint32_t *) ADC_FUSES_BIASCAL_ADDR) & ADC_FUSES_BIASCAL_Msk) >> ADC_FUSES_BIASCAL_Pos; - uint32_t linearity = (*((uint32_t *) ADC_FUSES_LINEARITY_0_ADDR) & ADC_FUSES_LINEARITY_0_Msk) >> ADC_FUSES_LINEARITY_0_Pos; - linearity |= ((*((uint32_t *) ADC_FUSES_LINEARITY_1_ADDR) & ADC_FUSES_LINEARITY_1_Msk) >> ADC_FUSES_LINEARITY_1_Pos) << 5; - ADC->CALIB.reg = ADC_CALIB_BIAS_CAL(bias) | ADC_CALIB_LINEARITY_CAL(linearity); -*/ - - if (STARTUP_MODE == MODE_AUTORANGE) - toggleAutoranging(); -} - -uint32_t oledInterval=0, lpfInterval=0, offsetInterval=0, autorangeInterval=0, btInterval=0; -byte LPF=0, OFFSET=0, AUTORANGE=0; -byte readVbatLoop=0; -float vbat=0; -float read1=0,read2=0,readDiff=0; -bool rangeSwitched=false; - -#define RANGE_MA rangeUnit=='m' -#define RANGE_UA rangeUnit=='u' -#define RANGE_NA rangeUnit=='n' - -void rangeBeep(uint16_t switch_delay=0) -{ - uint16_t freq = NOTE_C5; - if (RANGE_UA) freq = NOTE_D5; - if (RANGE_MA) freq = NOTE_E5; - if (switch_delay==0) - tone(BUZZER, freq, 20); - else { - tone(BUZZER, freq); - delay(switch_delay); - noTone(BUZZER); - } -} - -void loop() -{ - WDTclear(); //keep the dog happy - handleTouchPads(); - handleAutoOff(); - -#ifdef AUTORANGING_EN - if (AUTORANGE) - { - readVOUT(); - //assumes we only auto-range in DC mode (no bias) - if (readDiff <= RANGE_SWITCH_THRESHOLD_LOW) - { - if (RANGE_MA) { rangeUA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_DOWN); } - else if (RANGE_UA) { rangeNA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_DOWN); } - } - else if (readDiff >= RANGE_SWITCH_THRESHOLD_HIGH) - { - rangeMA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_UP); - } - if (rangeSwitched) { - rangeSwitched=false; - return; - } - } -#endif - -#ifdef BT_EN - if (BT_found && millis() - btInterval > BT_REFRESH_INTERVAL) //refresh rate (ms) - { - btInterval = millis(); - readVOUT(); - float VOUT = ((readDiff)/4096.0)*LDO_OUTPUT*1000*(OFFSET?1:OUTPUT_CALIB_FACTOR); -#if defined BT_OUTPUT_ADC - Serial.println(readDiff,0); -#elif defined BT_OUTPUT_AMPS - Serial.print(VOUT); Serial.print("E"); Serial.println(RANGE_NA ? -9 : RANGE_UA ? -6 : -3); -#elif defined BT_OUTPUT_NANOS - Serial.println(VOUT * (RANGE_NA ? 1 : RANGE_UA ? 1000 : 1000000)); -#endif - } -#endif - -#ifdef OLED_EN - if (OLED_found && millis() - oledInterval > OLED_REFRESH_INTERVAL) //refresh rate (ms) - { - oledInterval = millis(); - readVOUT(); - float VOUT = ((readDiff)/4096.0)*LDO_OUTPUT*1000*(OFFSET?1:OUTPUT_CALIB_FACTOR); - - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_9x15B_tf); - - //limit how often we read the battery since it's not expected to change a lot - if (readVbatLoop==0) { - vbat=adcRead(SENSE_VIN); - vbat=((vbat/4096.0) * LDO_OUTPUT) * 1.5; //1.5 given by vbat->A5 resistor ratio - } - if (readVbatLoop == 100) readVbatLoop=0; - else readVbatLoop++; - - if (vbat < LOBAT_THRESHOLD) u8g2.drawStr(78,12,"LoBat!"); - else { - u8g2.drawStr(88,12,"vBat"); - u8g2.setCursor(52,12); u8g2.print(vbat); //VIN - } - - //float VOUTDIFF = (readDiff/4096.0)*LDO_OUTPUT*1000; //*(OFFSET?1:OUTPUT_CALIB_FACTOR) - if (AUTORANGE) - { - //u8g2.setFontMode(0); - //u8g2.setDrawColor(0); - u8g2.drawStr(0,12, "AUTO"); - u8g2.setCursor(0,24); - u8g2.print(readDiff,0); - } - else - { - u8g2.setCursor(0,12); - u8g2.print(readDiff,0); - } - - //u8g2.setCursor(0,24); u8g2.print(offsetCorrectionValue); - //u8g2.setCursor(40,24); u8g2.print(gainCorrectionValue); - u8g2.setFont(u8g2_font_helvB24_te); - u8g2.setCursor(106,64); u8g2.print('A'); - u8g2.setCursor(rangeUnit=='m'?102:106,38); u8g2.print(rangeUnit=='u'?char('µ'):rangeUnit); - u8g2.setFont(u8g2_font_logisoso32_tr); - u8g2.setCursor(0,64); u8g2.print((OFFSET&&abs(VOUT)>=1||!OFFSET&&VOUT>=1)?VOUT:0, abs(VOUT)>=1000?0:1); //diff - if (!OFFSET && readDiff>ADC_OVERLOAD || OFFSET && abs(readDiff)>ADC_OVERLOAD/2) - { - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.drawStr(0,28, "OVERLOAD!"); - } - u8g2.sendBuffer(); - } -#endif -} - -uint32_t buttonLastChange_range; -uint16_t valM=0, valU=0, valN=0; -void handleTouchPads() { - if (millis() - buttonLastChange_range < 200) return; - if (MA_PRESSED || UA_PRESSED || NA_PRESSED) lastInteraction=millis(); - - //range switching - if (!AUTORANGE) - { - if (MA_PRESSED && UA_NOT_PRESSED && NA_NOT_PRESSED && rangeUnit!='m') { rangeMA(); rangeBeep(); } - if (UA_PRESSED && MA_NOT_PRESSED && NA_NOT_PRESSED && rangeUnit!='u') { rangeUA(); rangeBeep(); } - if (NA_PRESSED && UA_NOT_PRESSED && MA_NOT_PRESSED && rangeUnit!='n') { rangeNA(); rangeBeep(); } - } - - //LPF activation --- [NA+UA] - if (UA_PRESSED && NA_PRESSED && MA_NOT_PRESSED && millis()-lpfInterval>1000) { toggleLPF(); Beep(3, false); } - - //offset toggling (GNDISO to half supply) --- [MA+UA] - if (MA_PRESSED && UA_PRESSED && NA_NOT_PRESSED && millis()-offsetInterval>1000) { toggleOffset(); Beep(3, false); } - - //AUTORANGE toggling - if (MA_PRESSED && NA_PRESSED && UA_NOT_PRESSED && millis()-autorangeInterval>1000) { toggleAutoranging(); Beep(20, false); delay(50); (20, false); } -} - -void rangeMA() { - rangeUnit='m'; - digitalWrite(MA,HIGH); - digitalWrite(UA,LOW); - digitalWrite(NA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) Serial.println("RANGE: MA"); -#endif -} - -void rangeUA() { - rangeUnit='u'; - digitalWrite(UA,HIGH); - digitalWrite(MA,LOW); - digitalWrite(NA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) Serial.println("RANGE: UA"); -#endif -} - -void rangeNA() { - rangeUnit='n'; - digitalWrite(NA,HIGH); - digitalWrite(MA,LOW); - digitalWrite(UA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) Serial.println("RANGE: NA"); -#endif -} - -#define AUTOFFBUZZDELAY 500 -byte AUTOOFFBUZZ=0; -uint32_t autoOffBuzzInterval=0; -byte autoffWarning=false; -void handleAutoOff() { -#ifdef AUTOFF_EN - if (millis() - lastInteraction > AUTOFF_INTERVAL-5000) - { - autoffWarning = true; - - if (millis()-autoOffBuzzInterval> AUTOFFBUZZDELAY) - { - autoOffBuzzInterval = millis(); - AUTOOFFBUZZ=!AUTOOFFBUZZ; - - if (AUTOOFFBUZZ) - tone(BUZZER, NOTE_B5); - else - noTone(BUZZER); - } - - if (millis() - lastInteraction > AUTOFF_INTERVAL) - { - - pinMode(AUTOFF, OUTPUT); - digitalWrite(AUTOFF, LOW); - } - } - else if (autoffWarning) { autoffWarning=false; digitalWrite(AUTOFF, HIGH); noTone(BUZZER); } -#endif -} - -void readVOUT() { -read1=0,read2=0; - for (byte i=0;i 20) theDelay = 20; - tone(BUZZER, TONE_BEEP, theDelay); - if (twoSounds) - { - delay(10); - tone(BUZZER, 4500, theDelay); - } -} - -#define ADCSYNC while (ADC->STATUS.bit.SYNCBUSY) -int adcRead(byte ADCpin) -{ - ADC->CTRLA.bit.ENABLE = 0; // disable ADC - ADCSYNC; - - int CTRLBoriginal = ADC->CTRLB.reg; - int AVGCTRLoriginal = ADC->AVGCTRL.reg; - int SAMPCTRLoriginal = ADC->SAMPCTRL.reg; - - ADC->CTRLB.reg &= 0b1111100011111111; // mask PRESCALER bits - ADC->CTRLB.reg |= ADC_CTRLB_PRESCALER_DIV64; // divide Clock by 64 - - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_1 | ADC_AVGCTRL_ADJRES(0x00ul); // take 1 sample, adjusting result by 0 - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_16 | ADC_AVGCTRL_ADJRES(0x4ul); //take 16 samples adjust by 4 - ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_1024 | ADC_AVGCTRL_ADJRES(0x4ul); //take 1024 samples adjust by 4 - - //sample timing (0 .. 0b111); - ADC->SAMPCTRL.reg = 0b100; //0x00 fastest - - ADC->CTRLA.bit.ENABLE = 1; // enable ADC - ADCSYNC; - - int adc = analogRead(ADCpin); - - ADC->CTRLB.reg = CTRLBoriginal; - ADC->AVGCTRL.reg = AVGCTRLoriginal; - ADC->SAMPCTRL.reg = SAMPCTRLoriginal; - - return adc; -} - -//*********************************************************************************************************** -//ADC OFFSET/GAIN CALIBRATION - adapted from SAMD_AnalogCorrection>CorrectADCResponse Example -// calibration runs automatically ONCE after unit is (re)programmed, and stores calib values in EEPROM -// (EEPROM is emulated and gets erased when reflashing SAMD21) -//*********************************************************************************************************** -#define ADC_GND_PIN A6 -#define ADC_3V3_PIN A1 -#define ADC_READS_SHIFT 8 -#define ADC_READS_COUNT (1 << ADC_READS_SHIFT) -#define ADC_MIN_GAIN 0x0400 -#define ADC_UNITY_GAIN 0x0800 -#define ADC_MAX_GAIN (0x1000 - 1) -#define ADC_RESOLUTION_BITS 12 -#define ADC_RANGE (1 << ADC_RESOLUTION_BITS) -#define ADC_TOP_VALUE (ADC_RANGE - 1) -#define MAX_TOP_VALUE_READS 10 -FlashStorage(eeprom_ADCoffset, int); -FlashStorage(eeprom_ADCgain, uint16_t); - -void adcCorrectionCheck() { - offsetCorrectionValue = eeprom_ADCoffset.read(); - gainCorrectionValue = eeprom_ADCgain.read(); - - if (offsetCorrectionValue==0 && gainCorrectionValue==0) - { -#ifdef OLED_EN - if (OLED_found) - { - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.setCursor(0,12); u8g2.print("ADC CALIB..."); - u8g2.sendBuffer(); - } - delay(1000); -#endif - SerialUSB.println("Starting ADC Calibration..."); - gainCorrectionValue = ADC_UNITY_GAIN; - calibrateADC(); - } - else - { - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - } -} - -void analogReadCorrectionForced(int offset, uint16_t gain) { - offsetCorrectionValue=offset; - gainCorrectionValue=gain; - analogReadCorrection(offset,gain); -} - -void calibrateADC() { - calibrationPerformed=true; - SerialUSB.println("\r\nCalibrating ADC with factory values"); - analogReadResolution(ADC_RESOLUTION_BITS); - SerialUSB.println("\r\nReading GND and 3.3V ADC levels"); - SerialUSB.print(" "); - readGndLevel(); - SerialUSB.print(" "); - read3V3Level(); - SerialUSB.print("\r\nOffset correction (@gain = "); - SerialUSB.print(gainCorrectionValue); - SerialUSB.println(" (unity gain))"); - - // Set default correction values and enable correction - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - - for (int offset = 0; offset < (int)(ADC_OFFSETCORR_MASK >> 1); ++offset) - { - analogReadCorrection(offset, gainCorrectionValue); - SerialUSB.print(" Offset = "); - SerialUSB.print(offset); - SerialUSB.print(", "); - - if (readGndLevel() == 0) - { - offsetCorrectionValue = offset; - break; - } - } - - SerialUSB.println("\r\nGain correction"); - uint8_t topValueReadsCount = 0U; - uint16_t minGain = 0U, maxGain = 0U; - - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - SerialUSB.print(" Gain = "); - SerialUSB.print(gainCorrectionValue); - SerialUSB.print(", "); - uint16_t highLevelRead = read3V3Level(); - - if (highLevelRead < ADC_TOP_VALUE) - { - for (uint16_t gain = ADC_UNITY_GAIN + 1; gain <= ADC_MAX_GAIN; ++gain) - { - analogReadCorrection(offsetCorrectionValue, gain); - SerialUSB.print(" Gain = "); - SerialUSB.print(gain); - SerialUSB.print(", "); - highLevelRead = read3V3Level(); - - if (highLevelRead == ADC_TOP_VALUE) - { - if (minGain == 0U) minGain = gain; - if (++topValueReadsCount >= MAX_TOP_VALUE_READS) - { - maxGain = minGain; - break; - } - maxGain = gain; - } - if (highLevelRead > ADC_TOP_VALUE) break; - } - } - else if (highLevelRead >= ADC_TOP_VALUE) - { - if (highLevelRead == ADC_TOP_VALUE) maxGain = ADC_UNITY_GAIN; - for (uint16_t gain = ADC_UNITY_GAIN - 1; gain >= ADC_MIN_GAIN; --gain) - { - analogReadCorrection(offsetCorrectionValue, gain); - SerialUSB.print(" Gain = "); - SerialUSB.print(gain); - SerialUSB.print(", "); - highLevelRead = read3V3Level(); - - if (highLevelRead == ADC_TOP_VALUE) - { - if (maxGain == 0U) maxGain = gain; - minGain = gain; - } - SerialUSB.print("* LOOP : minGain="); SerialUSB.print( minGain ); SerialUSB.print(" maxGain="); SerialUSB.println( maxGain ); - if (highLevelRead < ADC_TOP_VALUE) - { - if (minGain == 0U) minGain = maxGain; - break; - } - } - } - - gainCorrectionValue = (minGain + maxGain) >> 1; - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - - //save values to EEPROM - eeprom_ADCoffset.write(offsetCorrectionValue); - eeprom_ADCgain.write(gainCorrectionValue); -#ifdef OLED_EN - if (OLED_found) - { - u8g2.clearBuffer(); - SerialUSB.println("ADC Calib done. Values:"); - SerialUSB.print("Offset="); SerialUSB.println(offsetCorrectionValue); - SerialUSB.print("Gain="); SerialUSB.println(gainCorrectionValue); - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.setCursor(0,12); u8g2.print("ADC CALIB..."); - u8g2.setCursor(0,28); u8g2.print("DONE:"); - u8g2.setCursor(0,40); u8g2.print("offset:"); - u8g2.setCursor(64,40); u8g2.print(offsetCorrectionValue); - u8g2.setCursor(0,54); u8g2.print("gain :"); - u8g2.setCursor(64,54); u8g2.print(gainCorrectionValue); - u8g2.sendBuffer(); - delay(3000); - } -#endif -} - -uint16_t readGndLevel() { - uint32_t readAccumulator = 0; - for (int i = 0; i < ADC_READS_COUNT; ++i) - readAccumulator += analogRead(ADC_GND_PIN); - uint16_t readValue = readAccumulator >> ADC_READS_SHIFT; - SerialUSB.print("ADC(GND) = "); - SerialUSB.println(readValue); - return readValue; -} - -uint16_t read3V3Level() -{ - uint32_t readAccumulator = 0; - for (int i = 0; i < ADC_READS_COUNT; ++i) - readAccumulator += analogRead(ADC_3V3_PIN); - uint16_t readValue = readAccumulator >> ADC_READS_SHIFT; - if (readValue < (ADC_RANGE >> 1)) readValue += ADC_RANGE; - SerialUSB.print("ADC(3.3V) = "); - SerialUSB.println(readValue); - return readValue; -} - -void WDTset() { - // Generic clock generator 2, divisor = 32 (2^(DIV+1)) - GCLK->GENDIV.reg = GCLK_GENDIV_ID(2) | GCLK_GENDIV_DIV(4); - // Enable clock generator 2 using low-power 32KHz oscillator. With /32 divisor above, this yields 1024Hz(ish) clock. - GCLK->GENCTRL.reg = GCLK_GENCTRL_ID(2) | GCLK_GENCTRL_GENEN | GCLK_GENCTRL_SRC_OSCULP32K | GCLK_GENCTRL_DIVSEL; - while(GCLK->STATUS.bit.SYNCBUSY); - // WDT clock = clock gen 2 - GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID_WDT | GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK2; - - WDT->CTRL.reg = 0; //disable WDT - while(WDT->STATUS.bit.SYNCBUSY); - WDT->INTENCLR.bit.EW = 1; //disable early warning - WDT->CONFIG.bit.PER = 0x7; //period ~1s - WDT->CTRL.bit.WEN = 0; //disable window mode - while(WDT->STATUS.bit.SYNCBUSY); - WDTclear(); - WDT->CTRL.bit.ENABLE = 1; //enable WDT - while(WDT->STATUS.bit.SYNCBUSY); -} - -void WDTclear(){ - WDT->CLEAR.reg = WDT_CLEAR_CLEAR_KEY; - while(WDT->STATUS.bit.SYNCBUSY); -} diff --git a/CurrentRanger_R2.ino b/CurrentRanger_R2.ino deleted file mode 100644 index 57406cb..0000000 --- a/CurrentRanger_R2.ino +++ /dev/null @@ -1,858 +0,0 @@ -// ************************************************************************************************************* -// CurrentRanger(TM) stock firmware -// https://lowpowerlab.com/CurrentRanger -// CurrentRanger is a high-side precision current meter featuring: -// - autoranging -// - uni/bi-directional modes (ie. DC/AC measurements) -// - ultra low burden voltage -// - 1mV per nA/uA/mA measurements with DMM/scope -// - OLED standalone readings -// - bluetooth data logging option via 3.3v/RX/TX header -// - full digital control for power/switching -// - LiPo powered with auto power-off feature (0.6uA quiescent current) -// ************************************************************************************************************* -#ifndef CURRENT_RANGER - #error You need to choose CurrentRanger board as target, see guide for details how to add it to the IDE. -#endif -//*********************************************************************************************************** -#include //for analogReadCorrection, comes with ArduinoIDE -#include //for emulated EEPROM - https://github.com/cmaglie/FlashStorage -#include //https://github.com/adafruit/Adafruit_FreeTouch -#include //https://github.com/olikraus/u8g2/wiki/u8g2reference fonts:https://github.com/olikraus/u8g2/wiki/fntlistall -//*********************************************************************************************************** -#define OFFSET_LED 11 -#define LPFPIN 4 -#define LPFLED LED_BUILTIN -#define MA 38 -#define UA 2 -#define NA 5 -#define AUTOFF PIN_AUTO_OFF -char rangeUnit = 'm'; -uint32_t lastRangeChange=0; -//*********************************************************************************************************** -#define SENSE_OUTPUT A3 -#define SENSE_GNDISO A2 -#define SENSE_VIN A5 -#define ADCREADINGS 1 //do averaging in hardware rather than software -#define ADC_PRESCALER ADC_CTRLB_PRESCALER_DIV16 -#define ADC_AVGCTRL ADC_AVGCTRL_SAMPLENUM_256 | ADC_AVGCTRL_ADJRES(0x4ul) -#define ADCFULLRANGE 4095.0 -#define VBATREADLOOPS 100 //read vbat every this many OLED_REFRESH_INTERVAL loops -#define LOBAT_THRESHOLD 3.40 //volts -#define DAC_GND_ISO_OFFSET 10 -#define DAC_HALF_SUPPLY_OFFSET 512 -#define OUTPUT_CALIB_FACTOR 1.00 //calibrate final VOUT value -#define ADC_OVERLOAD 3900 //assuming GNDISO DAC output is very close to 0, this is max value less ground offset (varies from unit to unit, 3900 is a safe value) -//*********************************************************************************************************** -#define ADC_CALIBRATE_EN -#define ADC_CALIBRATE_FORCED //uncomment to set manual offset/gain values below -#define ADC_CALIBRATE_FORCED_OFFSET 0 -#define ADC_CALIBRATE_FORCED_GAIN 2048 -#define LDO_OUTPUT 3.300 //volts, change to actual LDO output (measure GND-3V on OLED header) -#define ANALOG_REFERENCE AR_DEFAULT //AR_EXTERNAL -//*********************************************************************************************************** -#define BUZZER 1 // BUZZER pin -#define NOTE_C5 523 -#define NOTE_D5 587 -#define NOTE_E5 659 -#define NOTE_F5 698 -#define NOTE_G5 784 -#define NOTE_B5 988 -#define NOTE_C6 1047 -#define TONE_BEEP 4200 -//*********************************************************************************************************** -#define MODE_MANUAL 0 -#define MODE_AUTORANGE 1 -#define STARTUP_MODE MODE_MANUAL //MODE_AUTORANGE -#define SWITCHDELAY_UP 8 //ms -#define SWITCHDELAY_DOWN 8 //ms -#define RANGE_SWITCH_THRESHOLD_HIGH ADC_OVERLOAD //ADC's 12bit value -#define RANGE_SWITCH_THRESHOLD_LOW 0 -//*********************************************************************************************************** -#include -//i2c scanner: https://playground.arduino.cc/Main/I2cScanner -#define OLED_ADDRESS 0x3C //i2c address on most small OLEDs -#define OLED_REFRESH_INTERVAL 200 //ms -U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); -byte OLED_found=false; -//*********************************************************************************************************** -#define TOUCH_N 8 -#define TOUCH_U 9 -#define TOUCH_M A4 -Adafruit_FreeTouch qt[3] = { - Adafruit_FreeTouch( TOUCH_N, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), - Adafruit_FreeTouch( TOUCH_U, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), - Adafruit_FreeTouch( TOUCH_M, OVERSAMPLE_8, RESISTOR_20K, FREQ_MODE_HOP ), -}; -#define TOUCH_HIGH_THRESHOLD 600 //range is 0..1023 -#define MA_PRESSED qt[2].measure()>TOUCH_HIGH_THRESHOLD -#define MA_NOT_PRESSED !(MA_PRESSED) -#define UA_PRESSED qt[1].measure()>TOUCH_HIGH_THRESHOLD -#define UA_NOT_PRESSED !(UA_PRESSED) -#define NA_PRESSED qt[0].measure()>TOUCH_HIGH_THRESHOLD -#define NA_NOT_PRESSED !(NA_PRESSED) -//*********************************************************************************************************** -#define SERIAL_UART_BAUD 230400 //Serial baud for HC-06/bluetooth output -#define BT_EN -#define LOGGER_FORMAT_EXPONENT //ex: 123E-3 = 123mA -//#define LOGGER_FORMAT_NANOS //ex: 123456 = 123456nA = 123.456uA -//#define LOGGER_FORMAT_ADC //raw ADC output -#define BT_REFRESH_INTERVAL 200 //ms -#define AUTOFF_DEFAULT 600 //seconds, turn unit off after 10min of inactivity -//*********************************************************************************************************** -int offsetCorrectionValue = 0; -uint16_t gainCorrectionValue = 0; -float ldoValue = 0; -uint16_t AUTOFF_INTERVAL = 0; -uint8_t USB_LOGGING_ENABLED = false; -uint8_t BT_LOGGING_ENABLED = true; -byte calibrationPerformed=false; -#ifdef BT_EN - byte BT_found=false; -#endif -FlashStorage(eeprom_ADCoffset, int); -FlashStorage(eeprom_ADCgain, uint16_t); -FlashStorage(eeprom_LDO, float); -FlashStorage(eeprom_AUTOFF, uint16_t); -//*********************************************************************************************************** -#define AUTOFFBUZZDELAY 500 -byte AUTOOFFBUZZ=0; -uint32_t autoOffBuzzInterval=0; -byte autoffWarning=false; -//*********************************************************************************************************** - -void setup() { - Serial.begin(1); //USB speed -/* - //some buzz - tone(BUZZER, NOTE_C5); delay(100); - tone(BUZZER, NOTE_E5); delay(100); - tone(BUZZER, NOTE_G5); delay(100); - tone(BUZZER, NOTE_C6); delay(200); - noTone(BUZZER); delay(50); - tone(BUZZER, NOTE_G5); delay(100); - tone(BUZZER, NOTE_C6); delay(400); - noTone(BUZZER); -*/ - - delay(50); //Wire apparently needs this - Wire.begin(); - Wire.beginTransmission(OLED_ADDRESS); - byte error = Wire.endTransmission(); - if (error == 0) - { - Serial.print("OLED FOUND at 0x"); Serial.println(OLED_ADDRESS); - u8g2.begin(); - //u8g2.setDisplayRotation(U8G2_R2); //if required (inside/custom mount?) - u8g2.setBusClock(1000000); //1Mhz i2C clock - OLED_found = true; - } - else Serial.println("NO OLED found..."); - - pinMode(A0, OUTPUT); //DAC/GNDISO - //DAC->CTRLB.bit.EOEN = 0x00; //enable high drive strength - already done in wiring.c - - pinMode(SENSE_OUTPUT, INPUT); - pinMode(SENSE_GNDISO, INPUT); //GND-ISO - pinMode(SENSE_VIN, INPUT); //VIN > 1MEG > SENSE_VIN > 2MEG > GND - pinMode(AUTOFF, INPUT_PULLUP); - pinMode(OFFSET_LED, OUTPUT); - pinMode(LPFLED, OUTPUT); //STATUS/LPF-LED - pinMode(LPFPIN, OUTPUT); //LPF control pin - pinMode(BUZZER, OUTPUT); - pinMode(MA,OUTPUT); - pinMode(UA,OUTPUT); - pinMode(NA,OUTPUT); - - qt[0].begin(); qt[1].begin(); qt[2].begin(); //touch pads - analogReadResolution(12); - analogWriteResolution(10); //DAC resolution - analogReference(ANALOG_REFERENCE); - - //DAC->CTRLA.bit.RUNSTDBY = 0x01;delay(1); - //DAC->CTRLB.bit.REFSEL=0;//pick internal reference, skip SYNCDAC (done by analogWrite) - analogWrite(A0, DAC_GND_ISO_OFFSET); // Initialize Dac to OFFSET - - AUTOFF_INTERVAL = eeprom_AUTOFF.read(); - if (AUTOFF_INTERVAL==0) { - AUTOFF_INTERVAL = AUTOFF_DEFAULT; - eeprom_AUTOFF.write(AUTOFF_INTERVAL); - } - -#ifdef ADC_CALIBRATE_EN - #ifndef ADC_CALIBRATE_FORCED - adcCorrectionCheck(); - #else - offsetCorrectionValue = eeprom_ADCoffset.read(); - gainCorrectionValue = eeprom_ADCgain.read(); - ldoValue = eeprom_LDO.read(); - if (gainCorrectionValue!=0) //check if anything saved in EEPROM (gain changed via SerialUSB +/-) - analogReadCorrectionForced(offsetCorrectionValue, gainCorrectionValue); - else - //hardcoded: - analogReadCorrectionForced(ADC_CALIBRATE_FORCED_OFFSET, ADC_CALIBRATE_FORCED_GAIN); - //(offset, gain) - gain is 12 bit number (1 bit integer + 11bit fractional, see DS p895) - // - offset is 12bit 2s complement format (p896) - if (ldoValue == 0) - { - ldoValue = LDO_OUTPUT; //set default forced value - eeprom_LDO.write(ldoValue); - } - #endif - - if (OLED_found /*&& !calibrationPerformed && MA_PRESSED*/) - { - u8g2.clearBuffer(); - Serial.println("ADC calib. values:"); - Serial.print("Offset="); Serial.println(offsetCorrectionValue); - Serial.print("Gain="); Serial.println(gainCorrectionValue); - Serial.print("LDO="); Serial.println(ldoValue); - u8g2.setFont(u8g2_font_8x13B_tf); - u8g2.setCursor(0,24); u8g2.print("CurrentRanger"); - u8g2.setFont(u8g2_font_6x12_tf); - u8g2.setCursor(0,28); u8g2.print("Offset:"); - u8g2.setCursor(64,28); u8g2.print(offsetCorrectionValue); - u8g2.setCursor(0,42); u8g2.print("Gain :"); - u8g2.setCursor(64,42); u8g2.print(gainCorrectionValue); - u8g2.setCursor(0,56); u8g2.print("LDO :"); - u8g2.setCursor(64,56); u8g2.print(ldoValue,3); - u8g2.sendBuffer(); - delay(2000); - } -#endif - -#ifdef BT_EN - //BT check - Serial.print("Bluetooth AT check @");Serial.print(SERIAL_UART_BAUD);Serial.print("baud..."); - SerialBT.begin(SERIAL_UART_BAUD); - SerialBT.print("AT"); //assuming HC-06, no line ending required - uint32_t timer=millis(); - while(millis()-timer<1000) //about 1s to respond - { - if (SerialBT.available()==2 && SerialBT.read()=='O' && SerialBT.read()=='K') - { - BT_found=true; - break; - } - } - - Serial.print(BT_found?"OK!":"No response.\r\nChecking for version 3.0..."); - - if (!BT_found) - { - SerialBT.print("\r\n"); //assuming HC-06 version 3.0 that requires line ending - uint32_t timer=millis(); - while(millis()-timer<50) //about 50ms to respond - { - if (SerialBT.available()==4 && SerialBT.read()=='O' && SerialBT.read()=='K' && SerialBT.read()=='\r' && SerialBT.read() == '\n') - { - BT_found=true; - break; - } - } - - Serial.println(BT_found?"OK!":"No response."); - } -#endif - - printSerialMenu(); - - //rangeMA(); //done in bootloader - WDTset(); - -/* - // ADC Linearity/Bias Calibration from NVM (should already be done done in core) - uint32_t bias = (*((uint32_t *) ADC_FUSES_BIASCAL_ADDR) & ADC_FUSES_BIASCAL_Msk) >> ADC_FUSES_BIASCAL_Pos; - uint32_t linearity = (*((uint32_t *) ADC_FUSES_LINEARITY_0_ADDR) & ADC_FUSES_LINEARITY_0_Msk) >> ADC_FUSES_LINEARITY_0_Pos; - linearity |= ((*((uint32_t *) ADC_FUSES_LINEARITY_1_ADDR) & ADC_FUSES_LINEARITY_1_Msk) >> ADC_FUSES_LINEARITY_1_Pos) << 5; - ADC->CALIB.reg = ADC_CALIB_BIAS_CAL(bias) | ADC_CALIB_LINEARITY_CAL(linearity); -*/ - - if (STARTUP_MODE == MODE_AUTORANGE) - toggleAutoranging(); -} - -uint32_t oledInterval=0, lpfInterval=0, offsetInterval=0, autorangeInterval=0, btInterval=0; -byte LPF=0, OFFSET=0, AUTORANGE=0; -byte readVbatLoop=0; -float vbat=0; -float read1=0,read2=0,readDiff=0; -bool rangeSwitched=false; - -#define RANGE_MA rangeUnit=='m' -#define RANGE_UA rangeUnit=='u' -#define RANGE_NA rangeUnit=='n' - -void rangeBeep(uint16_t switch_delay=0) -{ - uint16_t freq = NOTE_C5; - if (RANGE_UA) freq = NOTE_D5; - if (RANGE_MA) freq = NOTE_E5; - if (switch_delay==0) - tone(BUZZER, freq, 20); - else { - tone(BUZZER, freq); - delay(switch_delay); - noTone(BUZZER); - } -} - -uint32_t timestamp=0; -void loop() -{ - timestamp = millis(); - if (Serial.available()>0) - { - char inByte = Serial.read(); - switch (inByte) - { - case '+': - eeprom_ADCgain.write(++gainCorrectionValue); - analogReadCorrection(offsetCorrectionValue,gainCorrectionValue); - Serial.print("new gainCorrectionValue = "); - Serial.println(gainCorrectionValue); - break; - case '-': - eeprom_ADCgain.write(--gainCorrectionValue); - analogReadCorrection(offsetCorrectionValue,gainCorrectionValue); - Serial.print("new gainCorrectionValue = "); - Serial.println(gainCorrectionValue); - break; - case '<': - ldoValue -= 0.001; - eeprom_LDO.write(ldoValue); - Serial.print("new LDO_Value = "); - Serial.println(ldoValue, 3); - break; - case '>': - ldoValue += 0.001; - eeprom_LDO.write(ldoValue); - Serial.print("new LDO_Value = "); - Serial.println(ldoValue, 3); - break; - case 'u': //toggle USB logging - USB_LOGGING_ENABLED =! USB_LOGGING_ENABLED; - Serial.println(USB_LOGGING_ENABLED ? "USB_LOGGING_ENABLED" : "USB_LOGGING_DISABLED"); - break; - case 'b': //toggle BT/serial logging - BT_LOGGING_ENABLED =! BT_LOGGING_ENABLED; - Serial.println(BT_LOGGING_ENABLED ? "BT_LOGGING_ENABLED" : "BT_LOGGING_DISABLED"); - break; - case 'a': //toggle autoOff function - if (AUTOFF_INTERVAL == AUTOFF_DEFAULT) - { - Serial.println("AUTO_OFF_DISABLED"); - AUTOFF_INTERVAL = 0xFFFF; - } - else - { - Serial.println("AUTO_OFF_ENABLED"); - AUTOFF_INTERVAL = AUTOFF_DEFAULT; - } - eeprom_AUTOFF.write(AUTOFF_INTERVAL); - break; - default: break; - } - } - - WDTclear(); //keep the dog happy - handleTouchPads(); - handleAutoOff(); - - if (AUTORANGE) - { - readVOUT(); - //assumes we only auto-range in DC mode (no bias) - if (readDiff <= RANGE_SWITCH_THRESHOLD_LOW) - { - if (RANGE_MA) { rangeUA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_DOWN); } - else if (RANGE_UA) { rangeNA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_DOWN); } - } - else if (readDiff >= RANGE_SWITCH_THRESHOLD_HIGH) - { - if (RANGE_NA) { rangeUA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_UP); } - else if (RANGE_UA) { rangeMA(); rangeSwitched=true; rangeBeep(SWITCHDELAY_UP); } - } - if (rangeSwitched) { - lastRangeChange=millis(); - rangeSwitched=false; - return; //!!! - } - } - - float VOUT; - -if (USB_LOGGING_ENABLED) -{//TODO: refactor - if (!AUTORANGE) readVOUT(); - VOUT = ((readDiff)/ADCFULLRANGE)*ldoValue*1000*(OFFSET?1:OUTPUT_CALIB_FACTOR); -#if defined LOGGER_FORMAT_ADC - Serial.println(readDiff,0); -#elif defined LOGGER_FORMAT_EXPONENT - Serial.print(VOUT); Serial.print("e"); Serial.println(RANGE_NA ? -9 : RANGE_UA ? -6 : -3); -#elif defined LOGGER_FORMAT_NANOS - Serial.println(VOUT * (RANGE_NA ? 1 : RANGE_UA ? 1000 : 1000000)); -#endif -} - -#ifdef BT_EN - if (BT_found && BT_LOGGING_ENABLED && millis() - btInterval > BT_REFRESH_INTERVAL) //refresh rate (ms) - { - btInterval = millis(); - if (!AUTORANGE) readVOUT(); - VOUT = ((readDiff)/ADCFULLRANGE)*ldoValue*1000*(OFFSET?1:OUTPUT_CALIB_FACTOR); -#if defined LOGGER_FORMAT_ADC - SerialBT.println(readDiff,0); -#elif defined LOGGER_FORMAT_EXPONENT - SerialBT.print(VOUT); SerialBT.print("e"); SerialBT.println(RANGE_NA ? -9 : RANGE_UA ? -6 : -3); -#elif defined LOGGER_FORMAT_NANOS - SerialBT.println(VOUT * (RANGE_NA ? 1 : RANGE_UA ? 1000 : 1000000)); -#endif - } -#endif - - if (OLED_found && millis() - oledInterval > OLED_REFRESH_INTERVAL) //refresh rate (ms) - { - oledInterval = millis(); - readVOUT(); - float VOUT = ((readDiff)/ADCFULLRANGE)*ldoValue*1000*(OFFSET?1:OUTPUT_CALIB_FACTOR); - - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_6x10_tf); - - //limit how often we read the battery since it's not expected to change a lot - if (readVbatLoop==0) { - vbat=adcRead(SENSE_VIN); - vbat=((vbat/ADCFULLRANGE) * ldoValue) * 1.5; //1.5 given by vbat->A5 resistor ratio - } - if (readVbatLoop == 100) readVbatLoop=0; - else readVbatLoop++; - - if (vbat < LOBAT_THRESHOLD) u8g2.drawStr(88,12,"LoBat!"); - else { - u8g2.drawStr(106,12,"vBat"); - u8g2.setCursor(80,12); u8g2.print(vbat); //VIN - } - - if (AUTOOFFBUZZ) //autoffWarning - u8g2.drawStr(5,26,"* AUTO OFF! *"); - - //float VOUTDIFF = (readDiff/ADCFULLRANGE)*ldoValue*1000; //*(OFFSET?1:OUTPUT_CALIB_FACTOR) - if (AUTORANGE) - { - //u8g2.setFontMode(0); - //u8g2.setDrawColor(0); - u8g2.drawStr(0,12, "AUTO"); - u8g2.setCursor(0,24); - u8g2.print(readDiff,0); - } - else - { - u8g2.setCursor(0,12); - u8g2.print(readDiff,0); - } - - u8g2.setFont(u8g2_font_helvB24_te); - u8g2.setCursor(106,64); u8g2.print('A'); - u8g2.setCursor(rangeUnit=='m'?102:106,38); u8g2.print(rangeUnit=='u'?char('µ'):rangeUnit); - u8g2.setFont(u8g2_font_logisoso32_tr); - u8g2.setCursor(0,64); u8g2.print((OFFSET&&abs(VOUT)>=1||!OFFSET&&VOUT>=1)?VOUT:0, abs(VOUT)>=1000?0:1); //diff - if (!OFFSET && readDiff>ADC_OVERLOAD || OFFSET && abs(readDiff)>ADC_OVERLOAD/2) - { - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.drawStr(0,28, "OVERLOAD!"); - } - u8g2.sendBuffer(); - - //Serial.print(adcRead(A1)); - //Serial.print(" - "); - //Serial.println(adcRead(A6)); - } - - //Serial.println(uint32_t(AUTOFF_INTERVAL)*1000); - //Serial.println(millis()-timestamp); -} //loop() - -uint32_t buttonLastChange_range; -uint16_t valM=0, valU=0, valN=0; -void handleTouchPads() { - if (millis() - buttonLastChange_range < 200) return; - if (MA_PRESSED || UA_PRESSED || NA_PRESSED) lastRangeChange=millis(); - - //range switching - if (!AUTORANGE) - { - if (MA_PRESSED && UA_NOT_PRESSED && NA_NOT_PRESSED && rangeUnit!='m') { rangeMA(); rangeBeep(); } - if (UA_PRESSED && MA_NOT_PRESSED && NA_NOT_PRESSED && rangeUnit!='u') { rangeUA(); rangeBeep(); } - if (NA_PRESSED && UA_NOT_PRESSED && MA_NOT_PRESSED && rangeUnit!='n') { rangeNA(); rangeBeep(); } - } - - //LPF activation --- [NA+UA] - if (UA_PRESSED && NA_PRESSED && MA_NOT_PRESSED && millis()-lpfInterval>1000) { toggleLPF(); Beep(3, false); } - - //offset toggling (GNDISO to half supply) --- [MA+UA] - if (MA_PRESSED && UA_PRESSED && NA_NOT_PRESSED && millis()-offsetInterval>1000) { toggleOffset(); Beep(3, false); } - - //AUTORANGE toggling - if (MA_PRESSED && NA_PRESSED && UA_NOT_PRESSED && millis()-autorangeInterval>1000) { toggleAutoranging(); Beep(20, false); delay(50); (20, false); } -} - -void rangeMA() { - rangeUnit='m'; - digitalWrite(MA,HIGH); - digitalWrite(UA,LOW); - digitalWrite(NA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) SerialBT.println("RANGE: MA"); -#endif -} - -void rangeUA() { - rangeUnit='u'; - digitalWrite(UA,HIGH); - digitalWrite(MA,LOW); - digitalWrite(NA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) SerialBT.println("RANGE: UA"); -#endif -} - -void rangeNA() { - rangeUnit='n'; - digitalWrite(NA,HIGH); - digitalWrite(MA,LOW); - digitalWrite(UA,LOW); -#ifdef BT_OUTPUT_ADC - if (BT_found) SerialBT.println("RANGE: NA"); -#endif -} - -void handleAutoOff() { - if (millis() - lastRangeChange > uint32_t(AUTOFF_INTERVAL)*1000-5000) - { - autoffWarning = true; - - if (millis()-autoOffBuzzInterval> AUTOFFBUZZDELAY) - { - autoOffBuzzInterval = millis(); - AUTOOFFBUZZ=!AUTOOFFBUZZ; - - if (AUTOOFFBUZZ) - tone(BUZZER, NOTE_B5); - else - noTone(BUZZER); - } - - if (millis() - lastRangeChange > uint32_t(AUTOFF_INTERVAL)*1000) - { - pinMode(AUTOFF, OUTPUT); - digitalWrite(AUTOFF, LOW); - } - } - else if (autoffWarning) { autoffWarning=false; digitalWrite(AUTOFF, HIGH); noTone(BUZZER); } -} - -void toggleLPF() { - LPF=!LPF; - lpfInterval = millis(); - digitalWrite(LPFPIN, LPF); - digitalWrite(LPFLED, LPF); - if (AUTORANGE && !LPF) toggleAutoranging(); //turn off AUTORANGE -} - -void toggleOffset() { - OFFSET=!OFFSET; - offsetInterval = millis(); - analogWrite(A0, (OFFSET ? DAC_HALF_SUPPLY_OFFSET : DAC_GND_ISO_OFFSET)); - digitalWrite(OFFSET_LED, OFFSET); - if (AUTORANGE && OFFSET) toggleAutoranging(); //turn off AUTORANGE -} - -void toggleAutoranging() { - autorangeInterval = millis(); - AUTORANGE=!AUTORANGE; - if (AUTORANGE && OFFSET) toggleOffset(); //turn off OFFSET - if (AUTORANGE && !LPF) toggleLPF(); //turn on OFFSET -} - -void Beep(byte theDelay, boolean twoSounds) { - //if (theDelay > 20) theDelay = 20; - tone(BUZZER, TONE_BEEP, theDelay); - if (twoSounds) - { - delay(10); - tone(BUZZER, 4500, theDelay); - } -} - -#define ADCSYNC while (ADC->STATUS.bit.SYNCBUSY) -int adcRead(byte ADCpin) -{ - ADC->CTRLA.bit.ENABLE = 0; // disable ADC - ADCSYNC; - - int CTRLBoriginal = ADC->CTRLB.reg; - int AVGCTRLoriginal = ADC->AVGCTRL.reg; - int SAMPCTRLoriginal = ADC->SAMPCTRL.reg; - - ADC->CTRLB.reg &= 0b1111100011111111; // mask PRESCALER bits - ADC->CTRLB.reg |= ADC_PRESCALER; // divide Clock by PRESCALER - - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_1 | ADC_AVGCTRL_ADJRES(0x00ul); // take 1 sample, adjusting result by 0 - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_16 | ADC_AVGCTRL_ADJRES(0x4ul); //take 16 samples adjust by 4 - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_256 | ADC_AVGCTRL_ADJRES(0x4ul); //take 256 samples adjust by 4 - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_512 | ADC_AVGCTRL_ADJRES(0x4ul); //take 512 samples adjust by 4 - //ADC->AVGCTRL.reg = ADC_AVGCTRL_SAMPLENUM_1024 | ADC_AVGCTRL_ADJRES(0x4ul); //take 1024 samples adjust by 4 - ADC->AVGCTRL.reg = ADC_AVGCTRL; - - //sample timing (0 .. 0b111); - ADC->SAMPCTRL.reg = 0b100; //0x00 fastest - - ADC->CTRLA.bit.ENABLE = 1; // enable ADC - ADCSYNC; - - int adc = analogRead(ADCpin); - - ADC->CTRLB.reg = CTRLBoriginal; - ADC->AVGCTRL.reg = AVGCTRLoriginal; - ADC->SAMPCTRL.reg = SAMPCTRLoriginal; - - return adc; -} - -void readVOUT() { - read1=0,read2=0; - for (byte i=0;iCorrectADCResponse Example -// calibration runs automatically ONCE after unit is (re)programmed, and stores calib values in EEPROM -// (EEPROM is emulated and gets erased when reflashing SAMD21) -//*********************************************************************************************************** -#define ADC_GND_PIN A6 -#define ADC_3V3_PIN A1 -#define ADC_READS_SHIFT 8 -#define ADC_READS_COUNT (1 << ADC_READS_SHIFT) -#define ADC_MIN_GAIN 0x0400 -#define ADC_UNITY_GAIN 0x0800 -#define ADC_MAX_GAIN (0x1000 - 1) -#define ADC_RESOLUTION_BITS 12 -#define ADC_RANGE (1 << ADC_RESOLUTION_BITS) -#define ADC_TOP_VALUE (ADC_RANGE - 1) -#define MAX_TOP_VALUE_READS 10 - -void adcCorrectionCheck() { - offsetCorrectionValue = eeprom_ADCoffset.read(); - gainCorrectionValue = eeprom_ADCgain.read(); - - if (offsetCorrectionValue==0 && gainCorrectionValue==0) - { - if (OLED_found) - { - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.setCursor(0,12); u8g2.print("ADC CALIB..."); - u8g2.sendBuffer(); - } - delay(1000); - Serial.println("Starting ADC Calibration..."); - gainCorrectionValue = ADC_UNITY_GAIN; - calibrateADC(); - } - else - { - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - } -} - -void analogReadCorrectionForced(int offset, uint16_t gain) { - offsetCorrectionValue=offset; - gainCorrectionValue=gain; - analogReadCorrection(offset,gain); -} - -void calibrateADC() { - calibrationPerformed=true; - Serial.println("\r\nCalibrating ADC with factory values"); - analogReadResolution(ADC_RESOLUTION_BITS); - Serial.println("\r\nReading GND and 3.3V ADC levels"); - Serial.print(" "); - readGndLevel(); - Serial.print(" "); - read3V3Level(); - Serial.print("\r\nOffset correction (@gain = "); - Serial.print(gainCorrectionValue); - Serial.println(" (unity gain))"); - - // Set default correction values and enable correction - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - - for (int offset = 0; offset < (int)(ADC_OFFSETCORR_MASK >> 1); ++offset) - { - analogReadCorrection(offset, gainCorrectionValue); - Serial.print(" Offset = "); - Serial.print(offset); - Serial.print(", "); - - if (readGndLevel() == 0) - { - offsetCorrectionValue = offset; - break; - } - } - - Serial.println("\r\nGain correction"); - uint8_t topValueReadsCount = 0U; - uint16_t minGain = 0U, maxGain = 0U; - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - Serial.print(" Gain = "); - Serial.print(gainCorrectionValue); - Serial.print(", "); - uint16_t highLevelRead = read3V3Level(); - - if (highLevelRead < ADC_TOP_VALUE) - { - for (uint16_t gain = ADC_UNITY_GAIN + 1; gain <= ADC_MAX_GAIN; ++gain) - { - analogReadCorrection(offsetCorrectionValue, gain); - Serial.print(" Gain = "); - Serial.print(gain); - Serial.print(", "); - highLevelRead = read3V3Level(); - - if (highLevelRead == ADC_TOP_VALUE) - { - if (minGain == 0U) minGain = gain; - if (++topValueReadsCount >= MAX_TOP_VALUE_READS) - { - maxGain = minGain; - break; - } - maxGain = gain; - } - if (highLevelRead > ADC_TOP_VALUE) break; - } - } - else if (highLevelRead >= ADC_TOP_VALUE) - { - if (highLevelRead == ADC_TOP_VALUE) maxGain = ADC_UNITY_GAIN; - for (uint16_t gain = ADC_UNITY_GAIN - 1; gain >= ADC_MIN_GAIN; --gain) - { - analogReadCorrection(offsetCorrectionValue, gain); - Serial.print(" Gain = "); - Serial.print(gain); - Serial.print(", "); - highLevelRead = read3V3Level(); - - if (highLevelRead == ADC_TOP_VALUE) - { - if (maxGain == 0U) maxGain = gain; - minGain = gain; - } - Serial.print("* LOOP : minGain="); Serial.print( minGain ); Serial.print(" maxGain="); Serial.println( maxGain ); - if (highLevelRead < ADC_TOP_VALUE) - { - if (minGain == 0U) minGain = maxGain; - break; - } - } - } - - gainCorrectionValue = (minGain + maxGain) >> 1; - analogReadCorrection(offsetCorrectionValue, gainCorrectionValue); - - //save values to EEPROM - eeprom_ADCoffset.write(offsetCorrectionValue); - eeprom_ADCgain.write(gainCorrectionValue); - - if (OLED_found) - { - u8g2.clearBuffer(); - Serial.println("ADC Calib done. Values:"); - Serial.print("Offset="); Serial.println(offsetCorrectionValue); - Serial.print("Gain="); Serial.println(gainCorrectionValue); - u8g2.setFont(u8g2_font_9x15B_tf); - u8g2.setCursor(0,12); u8g2.print("ADC CALIB..."); - u8g2.setCursor(0,28); u8g2.print("DONE:"); - u8g2.setCursor(0,40); u8g2.print("offset:"); - u8g2.setCursor(64,40); u8g2.print(offsetCorrectionValue); - u8g2.setCursor(0,54); u8g2.print("gain :"); - u8g2.setCursor(64,54); u8g2.print(gainCorrectionValue); - u8g2.sendBuffer(); - delay(3000); - } -} - -uint16_t readGndLevel() { - uint32_t readAccumulator = 0; - for (int i = 0; i < ADC_READS_COUNT; ++i) - readAccumulator += analogRead(ADC_GND_PIN); - uint16_t readValue = readAccumulator >> ADC_READS_SHIFT; - Serial.print("ADC(GND) = "); - Serial.println(readValue); - return readValue; -} - -uint16_t read3V3Level() -{ - uint32_t readAccumulator = 0; - for (int i = 0; i < ADC_READS_COUNT; ++i) - readAccumulator += analogRead(ADC_3V3_PIN); - uint16_t readValue = readAccumulator >> ADC_READS_SHIFT; - if (readValue < (ADC_RANGE >> 1)) readValue += ADC_RANGE; - Serial.print("ADC(3.3V) = "); - Serial.println(readValue); - return readValue; -} - -void WDTset() { - // Generic clock generator 2, divisor = 32 (2^(DIV+1)) - GCLK->GENDIV.reg = GCLK_GENDIV_ID(2) | GCLK_GENDIV_DIV(4); - // Enable clock generator 2 using low-power 32KHz oscillator. With /32 divisor above, this yields 1024Hz(ish) clock. - GCLK->GENCTRL.reg = GCLK_GENCTRL_ID(2) | GCLK_GENCTRL_GENEN | GCLK_GENCTRL_SRC_OSCULP32K | GCLK_GENCTRL_DIVSEL; - while(GCLK->STATUS.bit.SYNCBUSY); - // WDT clock = clock gen 2 - GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID_WDT | GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK2; - - WDT->CTRL.reg = 0; //disable WDT - while(WDT->STATUS.bit.SYNCBUSY); - WDT->INTENCLR.bit.EW = 1; //disable early warning - WDT->CONFIG.bit.PER = 0x7; //period ~1s - WDT->CTRL.bit.WEN = 0; //disable window mode - while(WDT->STATUS.bit.SYNCBUSY); - WDTclear(); - WDT->CTRL.bit.ENABLE = 1; //enable WDT - while(WDT->STATUS.bit.SYNCBUSY); -} - -void WDTclear(){ - WDT->CLEAR.reg = WDT_CLEAR_CLEAR_KEY; - while(WDT->STATUS.bit.SYNCBUSY); -} - -void printSerialMenu() { - if (OLED_found /*&& !calibrationPerformed && MA_PRESSED*/) - { - Serial.println("\r\nUSB serial commands:"); - Serial.println("a = toggle Auto-Off function"); - Serial.print ("b = toggle BT/serial logging (");Serial.print(SERIAL_UART_BAUD);Serial.println("baud)"); - Serial.println("u = toggle USB/serial logging"); - Serial.println("< = Calibrate LDO value (-1mV)"); - Serial.println("> = Calibrate LDO value (+1mV)"); - Serial.println("- = Calibrate GAIN value (-1)"); - Serial.println("+ = Calibrate GAIN value (+1)"); - Serial.println(); - } -} diff --git a/CurrentRanger_R3_1.1.2.UF2 b/CurrentRanger_R3_1.1.2.UF2 deleted file mode 100644 index f1ec42b3bccec2371435b064dd83d70961eeb555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524288 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