From 971f7786cdad3229841da5dd7e70da58a211a7c1 Mon Sep 17 00:00:00 2001 From: whowechina Date: Sun, 19 Apr 2026 13:28:24 +0800 Subject: [PATCH] Lower ir duty cycle --- Production/Firmware/chu_pico.uf2 | Bin 172032 -> 174592 bytes firmware/src/air.c | 25 ++++++++++++------------- firmware/src/usb_descriptors.c | 2 ++ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Production/Firmware/chu_pico.uf2 b/Production/Firmware/chu_pico.uf2 index eff05649c5c1f25cf5e7852c72a256a1402627f8..432981be0855e50f04561d1e8ebc1c1fa70f3ebd 100644 GIT binary patch delta 45045 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
HgmSfTl) z^$KXgfQ>yVq<#|AUl2WMs%7fYzh_$+Y1zMF+c{Q7vAaw(YC~UZw-<{IlJYSqKLuhO zD_xr>950Veh?UnXmK9?dCIns+^%OpU_LD+IQQ1IDlE7*>KN{Nz3mT4h;HY4ohTyt( z8s%0X&JMq~7L$4mJeBZI)1sIrqv<5yt?D{7ibg53Mm3bU(u!*o=Taa>I#^=*c0S=u ziR;#~SXs>o#p>d$hCA1vONkX@uCMP=h@1a*zQ`SS^4)Q>z;gbZlkY5oQv4dr-Y5r+ z_1G!OobKJ-NP&U(#4Y2>Li`Q3pY?9oK$Z{QUIJan3-=OeFY$|JE9F?)k4A>)ooY}|hMwneum4WL)j-vCQbA`0eS1p1_=uxgaGoG-j&YNA= zwFj;83u|1tU*`_)JX2@GrD;NnY@}=o7g4FyaPHLz&bWkWqfej>M zk?C=;25{REh>O%AJ-BxeYiEu#S!k`RiaEu|%zM3(yz8!P3pEybcKgT~u$ccOTs(-p z+k7YZS+m}QTKAzhw8K$JNuqOYV?iUaIHuM#)yp1d>XTPgEwb9D<(CeBxE{S?OSEb3 zpTw`mmVahpqz57Dn_Ttpz1;^9-{tzoZ#s@x$6RWkZoWh~)H;3i1%isq{FY}XG)}bH zy?o=054B=gIsn?Z4S3uR9By@*T|a5pxbF2;n4oJ$h4&Hf6ph7*R5qBLooOhw2~H_%EVMbvyQ0wuY}42#)Gly6 zW0iXrTcRR)nhR0z3^{+6#U{(r)ms!;49Q+F=t6+CRu%D(x@F09`9w5};q9<5trWIb4H(WIUFK&5VU$h>d+kfG*IJsG5;)a* z$ILCv^(9GY`>Ea5Ii9r}4qCH3?XF!`t%nTH>r0Nn66ra9cwS#}$ZGbSFwRBoOHkhP zRui~thDPn8f^WdXlw{n=Py7oksgso@Vb|Ul5UOUqUih`gai1BsprH5k$Ssp8c3U!{taDp`( zr6EZ#p7>T1*c!h)ynb!Z(%n|Sx1Q1Ms^8UW{jY~=!4qTt&2V?%&t4PUSkc0W-zfMN z^WPs{1nBVpf=FC5^&58iY)os1fPlSUQ(f0CTAL5E-I-{o51al@zY7=D9%LHIEO7Ov z3TBVJ&+;yeq%YIMx63E|u-%Qqdr!HB5Nwm9@v1$LR7vC%nss*YZCtH zk{mmn7Dd_GgUqXFUKOGj!D{_^FzbH=b9018TYDO_8J053gdFE-EgF-+8=zl$rjEJX zT?l78ota_(-Vh%DQb$T}vi&r+O!$4E)JGo6m~(uoVwk-*h3cw~qWM*3*ezP-0%S+{ z-N83~1j_(#Hs3dO~m#?x!@4(4_<~H2-L!8Cly8qaArWMcNsOvDx=i7DoP8{E(T_MB+MX6(J*7;<9Mo9j-v-f&bpH4l4v_5Hf* z&1O{K^(bpC5U6aeiuuO`KlC-j!A_6wFeteeCTZeF0_pDWU09zq%)7lhwXvB&t~~?0 z_Os6l@&Owl1IMA&pe@mcJurMf>xHLHd#vMNp9{{h#GPbP&|4T>v5f(JY23`9Q4O>l zWy3#glN#>yf>Rc&I5*NEN7U2Lw0;J-!^e%P0WJtk}#@ zqvoQ|eDv7¥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 Rzw8vEd^M%Yedy1T{|9?2fZqTB delta 43243 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ÞJsJa;AQf14mE zy@#N9KS2-m6t&K*4HSBvs?d49(-W){6#WvVz&m|v0Zcr>;`@@nx{{^f{glK;O@8a) zW^)`F)Ht*(fizE;Ztg=88%xY-WrG5>z7yMynJr6GCZbD zS32L>pvpU8?W>3M~)Ul?= z-_lWktS9hdho{H?2F$c5=*K(u2Yg?3ycF=+I$jL;e(iW6;M08je88vsc5lG!umx z%$1H-KRbLYC7rjqC8&c|z&=nZ;=;}_!$X$Yi<1`9p+!b}&4sxnYe<{XNDbf4SZb~( z#xELLVeETb!+14|#U0Fw2lD-jk(CckHtJ)VFfe}XFK zx6m3BmVFA8&bDUT3l#+G)Q)s}VZLpyu-5XCjph3>VJQe)SMu!)2^xeSxZbkWVPpzf z*tcwJ4A0C>#kLtnuWSU1?6Wh_*PVx42W)Qya1Pjx_25M93n1;zQKr*D=vl#^wm5f5ztNNxvhIyd7n1aczfP7BMpgt6j`KEuXoL8S7!?PZASSi%SiHHD?y0 zj^b440*uKQlS+_&r)`&E8VM4=*oHPX>T{l*;X~HbT=Q(JdNAkN-d17W>c^ZPz`V&d z)%Io&=2Y8x!?YninNIYhJ`+IAfDI;R4{Fb9a+6a3n^g5Lws}D0_9&FPgH^~x+dMm?5xv_En+86o!8R#?XRtl3!W-nrYYyPm|KQZwN&<*F+p8+X z7(e2^0OD6pjjbqvr?I`G!t1^y3VtJi_rCMjOSu8OUoZV#h4)WC-thq5t4`ac49kW7 z{?4#n`bLHL&81-L@Ypr1*Fc>p=5!$W4(C^}T{PG-xGZV0WjXA_TBB^#Fvv2fY;Yi4 zY8x0JktGMYygYWDdaKsFkrl-KS5cG6&u)Z9*qjLN*~o@K zd5Qfl@o^wDVJ{f8_FDoa@VJ12%Qp8z!QHS)MO;Ky^y#|-2GW*8;Pi8-^K0};bx|cr zHOqK?6B`&l3`@}>K5`2is*{{o?XzKgkLC-bdncjdHiO^3g$=6zz+O>SF?EBv!f*Mo z(Ogs))BYQCUsygA#&$_o6h6{Hdx!nbZ8voWEY+QZ<&vMROR6&JnkN*gY$E=6b__(? z=k&?^Qe%LD#{Jt$h+cvM`i(Vsc+QbkhmKJH`I(vEjn|hb&0nIbp|K|1xUeP{Ht3tp zv;W1aVF}DEJ~>~HD*lK&?b%CqTw~d=2)4-1!G_;M_TV}VV{jnASQCa^msKsSOtSP^ zORU#{b+0y;NIKth{5x}rbM1L#J{~M2o$DO8*!%h$o}B!xT{QhhG<{xAe68bc>_$ql z+dnuI;&IqW2TjTaP0Zy$$XuHmWsM~pd7sBv&!czOmnw}>s%nfmeKcQkX)D`b@hJ?_ zskz-lz)x0(Z<`+)9=I?x{7OS;SQ*BK|l0;EGcw9RFW(BFyRnt^fk9H&e78l-5*B4Pr`PuWVt> zRK)4Z6ynQN#0S!Tf=M^Zk5jJTl>a|)xaV<}+;a_w)E_|4i)pjPC0pNDA;Q1xiA;eO#x_zD`0m3_Q4f!FaU4B70?=h<8TF718^Fyfc5}f zhAW^m0FFNJH~_qJH_L$vS}(^(H(4QVvWhgmW{+Se>{Ve+QLv_jVC@xH&-Y^S*j=g~ X;cK23@%xyvfy$x7H92?vDe8X#{Xl+# diff --git a/firmware/src/air.c b/firmware/src/air.c index 0015b7c..5a1ba3c 100644 --- a/firmware/src/air.c +++ b/firmware/src/air.c @@ -180,21 +180,20 @@ static void air_update_tof() static void ir_read() { - for (int i = 0; i < count_of(IR_ABC); i++) { - gpio_put(IR_ABC[i], 1); - sleep_us(9); + static int phase = 0; - adc_select_input(IR_SIG[0]); - sleep_us(1); - ir_raw[i * 2] = adc_read(); + gpio_put(IR_ABC[phase], 1); + sleep_us(20); // time for phototransistor to settle down - adc_select_input(IR_SIG[1]); - sleep_us(1); - ir_raw[i * 2 + 1] = adc_read(); - - gpio_put(IR_ABC[i], 0); - sleep_us(1); + for (int i = 0; i < 2; i++) { + adc_select_input(IR_SIG[i]); + sleep_us(2); + ir_raw[phase * 2 + i] = adc_read(); } + + gpio_put(IR_ABC[phase], 0); + + phase = (phase + 1) % count_of(IR_ABC); } static void ir_judge() @@ -207,7 +206,7 @@ static void ir_judge() threshold = threshold * IR_DEBOUNCE_PERCENT / 100; } - ir_blocked[i] = offset >= threshold; + ir_blocked[i] = (offset >= threshold); } } diff --git a/firmware/src/usb_descriptors.c b/firmware/src/usb_descriptors.c index 3e167eb..a0ab948 100644 --- a/firmware/src/usb_descriptors.c +++ b/firmware/src/usb_descriptors.c @@ -23,6 +23,8 @@ * */ +#include + #include "usb_descriptors.h" #include "tusb.h"