From 708b35c295a7ba29757a07e7e85547bf4e3f7f76 Mon Sep 17 00:00:00 2001 From: Tristan Krause Date: Thu, 16 May 2019 10:44:38 +0200 Subject: [PATCH] adc reference bug fixed --- .gitignore | 1 + control/examples/pegel/gnuplotscript.gp | 13 ------------- control/examples/pegel/main.cpp | 5 ++++- control/examples/pegel/test_plot | Bin 4352 -> 4352 bytes control/src/Makefile | 4 ++-- firmware/Makefile | 2 +- firmware/adu.cpp | 2 +- 7 files changed, 9 insertions(+), 18 deletions(-) delete mode 100644 control/examples/pegel/gnuplotscript.gp diff --git a/.gitignore b/.gitignore index 1775dbf..6027263 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Prerequisites *.d +gnuplotscript.gp # Compiled Object files *.slo diff --git a/control/examples/pegel/gnuplotscript.gp b/control/examples/pegel/gnuplotscript.gp deleted file mode 100644 index 54829e1..0000000 --- a/control/examples/pegel/gnuplotscript.gp +++ /dev/null @@ -1,13 +0,0 @@ -set margin 10,10 -unset key -set grid -set title '' -set xlabel 'U_{OUT} [V]' -set ylabel 'U_{IN} [V]' -set xrange [0:5] -set yrange [0:5] -set label at 5,5 ' [V] = 0' left -unset output -set terminal qt -unset output -plot "/tmp/tempfile0" using ($1*0.004888):($2*0.004888) binary format="%int16%int16" endian=big title ' [V] = 0' w l diff --git a/control/examples/pegel/main.cpp b/control/examples/pegel/main.cpp index 4a98e19..4370320 100644 --- a/control/examples/pegel/main.cpp +++ b/control/examples/pegel/main.cpp @@ -34,7 +34,10 @@ int main() for(uint16_t x = 0; x < sample_count * delta; x += delta) { - pf.addDot(Dot(x, ba[x], curve)); + drv.analogWrite0(x); + uint16_t y = drv.analogRead(0); + std::cout << x << " - " << y << std::endl; + pf.addDot(Dot(x, y, curve)); } // speichern und plotty starten diff --git a/control/examples/pegel/test_plot b/control/examples/pegel/test_plot index d6217fdb269768987011bc2c22747f76e241dfa7..908f0cb1655c40e6978d6bcd54242bbe3de8fec2 100644 GIT binary patch literal 4352 zcmd7U_48GA0*CSMmybvzsnVT-sHC8@bhjXlgfvJCNGl+zfYO}`h@^mkQU+ikD4mMZ zrIP#d%_4#gnfG&^J7>B*wi;Wu-*D)rh zLBi-j^_vf&E{l$G?AfoS4{{z>ip5ew5>J zd``d#Iguq+NmNqx7$>vjoWfG7RGiu#S5NShmPVyj=~Q}^L1k2#RA$b?SuLB&u5zfH zoXc`^9?PqqQu#Q)JILJ`;gHB-%13)PZa zS!>lsy{g)(cB;MVpkCvS+{rp~7wf9JsqU(W>Zx8=y;N`2NA*?xRDU%fUwxpas~Kvh znx$r|IXu_qsrhPwTBsJO#cGLK%FB4UtxzATkJL(DWvkW4YK{6ttySyPdbL4qRGZYN zYO~s+wyMw6Hr~!V>~r-6@3dWNx7wrjsxQ@7{Iz|f_VIo@puSb#sqfVf>Y(~j9a4wY zPwHnrVn@|6bzGfLC)Fu+TAfj6`JA0szwobifq%2#)kSqlUFIu%m9N=#b%Sr(Exv7k z@SpaVx})x@dwky>@WYt<9{q>0u@)ybCN{*z#y+Cr@}m|{#a9VbLX}7*R!LM+^_WV= z$t{ISsZy!b>T&gidQzoPX;nH-Zy8iZl}Tk*Svad@Z$tNz#6JX{IWIXCiaSI%FV2~YN1-HR;smXqh3{QRXf#Qbx^OV zj;a%Pwl1ox>ZZD@9;&B$UG?JL)`$CAKh>WH@Ebgk2k~Hj(}wU+9>&9Y1drrV{1(5> zqiqb2wRd@@%#J%Pv;ptlV|a4p2Kr_p3Ub4ypR{!VqU^a zc^NO~75pK8WGi_UujY?=jeWvvc^$9k4ZM*z@u$3*xA0c`jJNT2-oc;q7q*jk@owJ3 zd-+TLiofP>cpvZQ1N<$2XW#P=e9(U6LwuNj;-C459pz(oT%F*Pe9BJq89r<0_&oo@ zzw!nCjeqBhe2Fjf6~4;X_`2QTn|zCJ^B?vn|HXIsF5lz({J86T^YhbOfS=)K`8h7gg}5*m;i6oOpXcISf?wblxg?k3(p-ki zayc%~FL4E~$d$M18&HT_+@U)P52dV%FVbrx8RoC zid%CVylQQ^9k=HW{2F)UPTZNha98ez?$(2Q^6T7-d!rBfT0id31NaRd$b)z=zlk9> zl!x(f9)XcIir>Q97>zL)i+3;%<1qmfG07(LyLb;%Fx95veSCoFn1Pv?h1r;cxtNFf zSb&9CWQ(x`OR)^gu>v3BBdo+KTaAxx4L-qITZi@7fQ{IMPq7(Wuoa(S8@6KyKF1f> ziCx%@J=lvc@fE(tH`s^$IDl{Q9lpm8IEWu{2#4_#e#Q|T#W5Vm37o_!oW>cP#W|eE zFZdM~@Ed-|MO?yVT)|ab!*$%iP29q5{DD957w+IL?%_Tj;9;DH!Jq!%#UDKU;qT8Q zh>J%N5Al%z2}7cY#34yU(vUPfhGa;N6iA6wNF5%Jcp^L*ktU=GX+ye*^dUn;#*i^& zLgtVqB5TMRvLQQiASZGmH}ZtMcq$@a$QSa5ry~l40^u1vi|0@fg-{qpP!z@RJc^?P zUcieeiBc$yGAN63D36y=Ayka06e@+vsDi4f7OJC0M9ok$)C#pxC!%hs7g0ad4-G=Y zh(@7NcsVqVXcC%)S3=W>W}#VVjuvQ%R-tu7o6sh_ingI$MElSIuSIkWogzAiF6bK3 zEp$hZh@Ro~h+d&r=#4(;8~R1`5BHHK zEZ)I5jE|TQCWMJ$QpDsiIlPPa!W2x!w21e^2NBc5^e_W6F)Pf*9L&W$%*TR=g<%mE zV@br)unfzwBI3jF5msUqR^#J{HDOKoB&>~C7uH8?2ph2ppJFq%U@JbuHf+ZZe2y=$ z6T7e*d$1Q@;wyZOZ?F&haRA@qJA98Ha1cM@5Dw!f{EQV2o4AGB_yd39FWkXh+{1l5z{9`!2Sn`>KmY&$ literal 4352 zcmd7K1Jf7=5(eNe`I5%A(b%?av$1X4cB3{{8#`%i+qP}{p1HZZxz7E8o1JIh+1c5R zSE5Sw(rHUnFVmo5*&;y#0s;yL2_6t!1_V?K{m;;<*6UTiYL!0!ng3^7vfSU7|8@Jf zqklaN_wUF54;lC)AP7MTBpAW@i4cS&6rl-2Si%vW2t*_jk%>Z7q7j`K#3UB6i9=lC z5uXGkBoT@EnIt478OcdON>Y)UG^8aR>B&GwGLe}qWF;Hf$w5wXk()f^B_H`IKtT#o zm?9LV7{w_;NlHg4bfgoV=|We!(VZUjq!+#ELtpyQp8*VH5Q7=QP=+y_5sYLMqZz|k z#xb4={K`ZoF_|e$|__a*~4D;v7ZARiqM21Ea3=G1R@fN$V4G3(TGkAViJqk#33&6h))6%l8D6o zOcIikjO3&sC8HNAm8eV=s#1;W)SxE6P>b5sp)U2PPXij#h{iObDa~k33tG~O*0iB5 z?PyO2I?{>GbfGKV=uQuM(u>~op)dXD&j1E8h`|hDD8m@e2u3oB(Trg%;~38beq|z) zn9LNW@*BT1jp@u_CbO8$9Og2Q`7GcM{$wGGSj-ZZvW(@dU?r|rna*v|nDa)`qm;V8#A&IwL(iqo9oEay1S1uk-l%Ut0q*SO9N zZgPv;+~F?wxX%L~@`%Sg;VI8}&I?}hir2j1E$?{G2R`zN&wSx4-}ugtz#l;a2trT- z2}W>!A_O4`MQFkhmT-h80uhNsWTFt2XhbIlF^NTN;t-d3#3um>Nkn3PCJ9MNMsiY+ zl2oK74QWY7dNPoaOk^etS;@0trU*qTMsZ3|l2VkW3}q=t zc`8tmN>ru_RjEdGYEYA3s6}n+P?vhtrvVLVL}QxJlx8%i1ubbsYueD3cC@Dh9qB}8 zy3mzwbf*VB=|yk)(3gJnX8;2k#9)Rnlwk~K1S1*6XvQ#>ag1jIzcP_YOlAsG`HkP1 z#&l*dlUdAW4s)5ud=~Hrf3lE8EM^HyS;lf!u##1*W({ju$9n!^0~^`IX11`EZER-; zJK4o<_OO?I?B@UnImBU(aFk;l=L9D?#c9rPmUEov0vEZ&Wv+0QYh33BH@U@a?r@iT z+~)xgdBkI$@RVmf=LIi$#cSU1mUq1810VUsXTI>2Z+z!R;E%unf)JEIf)Sjb2ti0f z5t=ZBB^=?2Ktv)DnJ7dh8qtYCOkxq6IK(9$@ku~J5|NmnNkUSRk(?ByBo(PiLt4_2 zo(yCp6Pd|ERP^DMC?-QJfN#q!gtoLs`mEo(fc?5|yb! zRjN^)8r0+$YEhdy)TJKvX+T37(U>MQr5Vj>K}%ZEnl`kh9qs8rM>^4&E_9_E-RVJ3 zdeNIc^ravD8NfgWF_<9?Wf;R5!AM3inlX%J9OIe5uS{eTlbOO)e&cthF`XIAWEQiT z!(8Sup9TEEpDbh%i&?@_ma&`_tYj6dS;Jb^v7W!!z(zK)nJsK(8{65zPIj@IJ?v#4 z`#Hct4snS|UJKW_S_j$lW9`Tqb gJmneBdBICw@tQZhqW}N^ diff --git a/control/src/Makefile b/control/src/Makefile index c5438a4..cb2b18a 100644 --- a/control/src/Makefile +++ b/control/src/Makefile @@ -47,7 +47,7 @@ cli: drv $(OBJECTS_CLI) $(PATH_COMPILER) $(CFLAGS) $(OBJECTS_CLI) -L $(PATH_TMP_LIB) -o $(OUT_TMP_CLI) $(LDFLAGS_CLI) @bash -c 'if [ ! -f "$(OUT_DRV)" ]; then echo -e "\n*** Warning ***: driver not installed\nType \"sudo make install\" to install or update b15fdrv."; fi' -install: drv +install: all @echo "Installing driver..." @mkdir -p $(PATH_INCLUDE) cp $(OUT_TMP_DRV) $(OUT_DRV) @@ -55,7 +55,7 @@ install: drv cp $(OUT_TMP_PLOTTY) $(OUT_PLOTTY) cp drv/*.h $(PATH_INCLUDE) -uninstall: +uninstall: clean @echo "Uninstalling driver..." rm -rf $(PATH_INCLUDE) $(OUT_DRV) $(OUT_CLI) $(OUT_PLOTTY) diff --git a/firmware/Makefile b/firmware/Makefile index 7805486..15d169e 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -44,7 +44,7 @@ clean: checkfuses: @echo "Checking fuses..." - @bash -c 'diff -B <( echo "$(FUSES)" ) <( avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) 2>&1 | grep "safemode: Fuses OK" | tail -c 19 ) >/dev/null || avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) -U lfuse:w:0x$(LFUSE):m -U hfuse:w:0x$(HFUSE):m -U efuse:w:0x$(EFUSE):m' + @bash -c 'diff -B <( echo "$(FUSES)" ) <( avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) 2>&1 | grep "safemode: Fuses OK" | tail -c 19 ) >/dev/null && echo "Fuses okay" || avrdude -Pusb -p $(MCU) -c $(PROGRAMMER) -U lfuse:w:0x$(LFUSE):m -U hfuse:w:0x$(HFUSE):m -U efuse:w:0x$(EFUSE):m' upload: b15f checkfuses @echo "Uploading hex file..." diff --git a/firmware/adu.cpp b/firmware/adu.cpp index 3e7faff..af2abca 100644 --- a/firmware/adu.cpp +++ b/firmware/adu.cpp @@ -3,7 +3,7 @@ void ADU::init() volatile { // externe Referenz an AREF - ADMUX = 0; + ADMUX = _BV(REFS0); // ADC aktiviert, Interruptbetrieb, prescaler = 128 ADCSRA = _BV(ADEN) | _BV(ADIE) | _BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0);