From 87c7251701b783ceac89dfc2437c718b168b067d Mon Sep 17 00:00:00 2001 From: whowe Date: Sat, 8 Jun 2024 10:46:03 +0800 Subject: [PATCH] Turntable noise filtering and debouncing --- .gitignore | 1 + Production/Firmware/iidx_pico.uf2 | Bin 112128 -> 120832 bytes firmware/src/main.c | 4 +-- firmware/src/turntable.c | 42 +++++++++++++++++++++++++----- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 62004d1..3afa269 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ PCB/Turntable/iidx_tt-backups/ PCB/Keyboard/iidx_pico-backups/ Production/PCB/Turntable Production/PCB/Keyboard +build \ No newline at end of file diff --git a/Production/Firmware/iidx_pico.uf2 b/Production/Firmware/iidx_pico.uf2 index e4c8e5957dd1fe3cad473e46835d4b03fa9f3505..9969b28d1905b62520824ebab55cddb6985cc9b8 100644 GIT binary patch literal 120832 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

pqmJsxuSGUYEKr< zixw(kuyPs3rZI~^J_{A30mFwBHdBp>|K|k%&mqG)|DJhKK8sS$3ws<5s&Fi##%$<- z4_Ckl|KFE;ngCKGRJ)=JE~O~@xy8lBN@Mj}XRQKTE|Uj&2aq_}iWAYGY^UnM+UTrZ zr#3b;s5d~aajsPzO?B6+YgXQ@6f5|*QB9FL0ky}d6RJ0iJ|TS`=(?F|O#B}b{2xMw zb^hI<)O=~Wx;q>QlmddkwpNdSE0I&q>uKSH>K9j(F?7+R=q~uTmh%9_&ae-{Eaily zLRFYTRnW-KQr`d9Pvl;@1LJ^5Na|i`3;G$bfVc~~f@Cit`%@e7Zkohj4R+nnDEH$y zos+4?#Q$Nz|6ycU=b!ZPs6kH;!`|^DX6b_rNSTn5{L5F_&+N6KZ?xi z<-gc!rH8&TpEubRdsn? zt$x*TgpEvlDv9H!Xmolqk#{{$CjOIx|D=KcQER3QZ2;bmYYT*2u~PnTWP_#n7(Rq` zBi`0H4bIR~tqOHp#g*-4_AYxW0_ zPO`ssSK^KqX@6lTUef^kSpC%tFohM1qsM~D1brT1G}r0!O6kc|W8(jq;Qtshte1bo z8o6l9;}4-{-CCNmiFV)m<{E{(f=VgLP#oha#82~MpYNWFI8(u8>ukN=O;?;v*DGZm z^E%Mh_k}S>Or4Cf@#=(tzZD~p!A_nEtl^`RsM;xwxT4`!ZzR$g_Lt%&En8An>T!Ei zVMQ`UHOBicij7YNwZ_}pFh~F|j1ZT#mU9!gi6k)JHc`K2D)*Ex6aUW({+~DU-`0jM zwRM!nY}6PB?do-nP1S3}YD>mQ;a*QTrglKFh$H0=g}p)Prv5p`0cehmAIGx=a|=Wv z>I^8|8}x)j<%y3%Vt5E7GJeDoG`E}{qnP^P><2!$} z{_6!~RxkfXO_2`fSW#|NcPtV>si8ZdX1znLZE0#y9qSt!Z2zyaE6OcZHYmH}U6Im6 z6^q?YEc~3&W5_{=sA$Q2k)D2$2S9j*#H9u??t~5 zm<`MXf;*U{1)%sd)tLCl_fd)e7m;C||CgYPWzYl3LdY4?e(FAENdn|Q1iwQ-uRKP6 z4@p0=kA=Gs1`Lm=G=|-x(%^2gikcI$e>Js9_@QPdX~tk*B{P& zVYV7VYXNg7e1?sh2z-#%(NNvIlK1!2nwwhcn#X%a(0dt%K1OPWnMaR)2Ce?)bI+hF z=yhW%nP%*Qs1Nut8del3p;SM{Qy=pFXtx0vd7xqZk{x;QhHd&-xI zf9$17{J)H2I{#SbJ)utdqA4s3PX!#I)%1EDKi-iM2u3|2)xCw6N8uKH%4;*DALkf( zkjF|Y1K!}~m`~i0>s063=9Z@QwJpwdYt`Cy>({oBF2?E$(y>f6CjRj*Eb-rm4D0;M zccs#m$*`X~%pp-8v366x4WeO}o7WF`*9Q|ee$3}ly?}>sTL}Fv@eTp$H0p7wu@2Q2 z!m7Yjl@V}bHn&8>-;MT%SbaRWu$*KH?-&OXd?pDaD(O6CPT-Svp~6a zyzl*3Hoi#&{2JJvWR@L}-H>NN^1iktnD~EH@c$~VsPn%EI(QM~#Ex;CWD)JeUND8t zz2(L!{W-oTKU43!bkm)mSrW>V*}hLcv)mckKMT7w{5wfUaysu=@bN2?+eJ85cnJ?# zhCLs0uyhQew@3D8`&h9EJ*jZ#4cO`9II~@d?*!#;D&VoxS=$kRxIS4pbIMF#mU2n^ zr+91p6YLxMl!IY6_vv^uWa+8NY{u-G&ga!4S?Wn5}N@nA3w?FXS4HX+mG+hSF0cAEbS$hN=uIy8d;i0EERE)3rUCOUZdjhV`THIYv{_syrVz8E30byj;yN5@TdK} znyY#Xe~#}yi=({`{rJ$nt|GCkaBlu2eDAY&->-6Z*4X>$?hVtgi@PhR;sc@2%Iqct{)GBiK1-+Und@xhVTNC#zvUZ`FCQe|e%8yKUng zExecCREKwcYZ>cCf3pXDjuuEOKzl%n-NCzx`uBaG%>;Y*I*7ZalDo@N+!aXMB?j*D z4cz4uci20W(vBS`tQMqwDNlPbyUC$2k#2`(+=FlvQag>O{NWQDV4p%M&tPNX{|&+a z8%F-I&q|6nw3>;xkHOUg2Hx`U-BnTEb~^5KOA?%mhzn86AXCC)t7UEl0DkL4$7 z9mUQ9l)PpKcHx1`%3WO!R(frcm8<|q%fZomrw`Qk;EuXLV+#wCy>klL)cM(pbMgvy z@2!_r<=0>@u!Yl-vkER)aCzTqM?pu{HRrd9-P?;8_MSO5tClSoJce(JpYBC0FP$E~ zFIn-Y$@7C*%NB=cv8=0#YO#}H$qPwVd@T7H_O2J-8DT>}gsaJig&w>GA$pK1Gm~)uq4JLoaAgWbj(T_`iuFNO$^; z+5qFfm+}8CGbaAu68ygfJ*4BGL0M4KsDC(x2I-&n;2r-rK7|Kw)bd`|@<#o`$@Jf- ztBdrENQ0Jlk(Ree%d6A!HfniME$<#JZ?~3rK+8L-zRoi{FVwkxu@HQ z?ZbmMxM<2ya&(iUTOeiCvu~v@tNdpURv&guvu8OI_3VlFoX|%G8x#NU2>#zep3{~8 zM(nZB0JH#2z?xy|m3(eE5+iGq((U{KjN< z{zNBzcl;aEfQkS21pn_LMPG&gZ!9C6EZg(O%c@*xR|gcXudCSivpR7tFaBs5BFfFx{^@Iey7 z5*?6)E{OyrVTVLFBw?3C59FC?^xO(<;{OA|{|83?p@Y2=2OtT(5(gm(Nr^s4Lchcy zBw^*5{C~*!`kxPt{6hzOB@RFmdL<4*5|R>qkc57TK}f=o#0f|O zwtDB73Q4d?_D(=(!cz#Q#Tv|BsCPLkD{$4nPumB@RLok`jH8gno%ZNWzfB2}lAy=*2M=l3JlEa%B)}n&Zs!&unJ#K7u@d IOAYb=A2F~5cK`qY literal 112128 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 diff --git a/firmware/src/main.c b/firmware/src/main.c index 1a1d75d..10894f9 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -92,7 +92,7 @@ static void core1_loop() static void core0_loop() { - uint64_t next_frame = 0; + absolute_time_t next_frame = {0}; while (true) { @@ -114,7 +114,7 @@ static void core0_loop() cli_fps_count(0); sleep_until(next_frame); - next_frame = time_us_64() + 1000; // 1KHz + next_frame = make_timeout_time_us(1000); } } diff --git a/firmware/src/turntable.c b/firmware/src/turntable.c index 76195b8..3d87d1e 100644 --- a/firmware/src/turntable.c +++ b/firmware/src/turntable.c @@ -22,7 +22,7 @@ static uint16_t angle = 0; static void init_i2c() { - i2c_init(TT_AS5600_I2C, 573 * 1000); + i2c_init(TT_AS5600_I2C, 400 * 1000); gpio_set_function(TT_AS5600_SCL, GPIO_FUNC_I2C); gpio_set_function(TT_AS5600_SDA, GPIO_FUNC_I2C); gpio_set_drive_strength(TT_AS5600_SCL, GPIO_DRIVE_STRENGTH_8MA); @@ -36,16 +36,46 @@ void turntable_init() init_i2c(); } -void turntable_update() +static int read_angle() { const uint8_t as5600_addr = 0x36; uint8_t buf[2] = {0x0c, 0x00}; - i2c_write_blocking_until(TT_AS5600_I2C, as5600_addr, buf, 1, true, + int ret = i2c_write_blocking_until(TT_AS5600_I2C, as5600_addr, buf, 1, true, make_timeout_time_ms(1)); - i2c_read_blocking_until(TT_AS5600_I2C, as5600_addr, buf, 2, false, - make_timeout_time_ms(1)); + if (ret != 1) { + return -1; + } - angle = ((uint16_t)buf[0] & 0x0f) << 8 | buf[1]; + ret = i2c_read_blocking_until(TT_AS5600_I2C, as5600_addr, buf, 2, false, + make_timeout_time_ms(1)); + if (ret != 2) { + return -1; + } + + return (buf[0] & 0x0f) << 8 | buf[1]; +} +void turntable_update() +{ + int candidate = read_angle(); + if (candidate < 0) { + return; + } + + for (int i = 0; i < 2; i++) { + int update = read_angle(); + + if (abs(update - candidate) > 2) { + return; + } + + if (update > candidate) { + candidate++; + } else if (update < candidate) { + candidate--; + } + } + + angle = candidate; } uint16_t turntable_raw()