uDZP_2{usOHfgyG$Tjw#)AjJi3{Mf3a6F%5h>
zEj&E3-indTYZ9{cHkBQd`L3q=mOIoQ_sfypH0}eRQL793(0BlRV&}Q>PO2b}l8+#{
ztA~0W1kE(`?h0r*zYi_Dz!$FX3Ex0cA9>!iyVV}|xA%9`@(cK|P2?8gc&>lAb>I6R
z1K(YURg4Qw!mpd~*GLm#>jNsuz=2+I(fFln3+`aXyTEwN$PCKcfHY>h|JwS9%8o?n
zU&W?@N=2ygDXhnH2miJCIeob70>#R-Glql?4u4){89<2?qHT%~9US2T$*8Vfdngv9
zc|lx?&b2;>OVznH2XTdRE_Ii|rR|OjO^nzJ)EE`v+O2V+gVm1=k`@&Yjzb0td-~}d
zM-7rzLmbL3mBkB-BekhRLKDJ+C{fyHf>JDa9J;;hz+}`aMr#~|TCEQv#p$HYL8N%S
zRyPDmcWOfhne`>>Onbr9iLToPrNgzdI552sFf(1WB1r48I1tkqUEhJ116GaIxekGp
z1`gsHr*lQV65zt&Vd{~1kk$*X9G$ckB%|OIz2M%Uf>VhrAsiH=^>T&6AX1@DVtWEy
zB|0fSh*YM177tONkoP4+XX{M&f;3N%s)eY%0a5dXD3Edl*Eu@L1=2J@s?kZCg9>_d
z(!C%V8te70e>EVzQSW+C779tr^~$r#yp2s4AqZ5R52NcU?~ssDl~4-*ro7)|h~E}ZQP2!BlbotQw0
z7Z!B!P8bD>Vbe3nA@@TD4a6N33$bb7yF>FNhNgskwO?gzqqVCNLzD4DB$Rt9aP!OX
Gfd3yl4OaI6
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf
index cb2029c04c192722db61bff5c69b72eae099f289..c699d4f3b412af35af9a744109584fe2b70a8c34 100644
GIT binary patch
delta 5642
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
MO^0;+-!Dt~U$9YENdN!<
delta 5230
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
ausz##y!6ykO_99|Z81(qHlX9AGJ$Ks*D
W@&jm^a(nzbHXvr-9>0!*w;2FYDLI?~
delta 194
zcmaF)Naf8Vl?k5wUGrNy*%*M}!%YVUCX>mItcDXijk(~$3nue2ns5Bu!8tjMTWNAD
z*Tv=v?)D09Mj&PaVrC#_0bc;3+hf+T0Wtgbm~|Yy%>X=fIYs~g
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf
index 36f6dc1e4c3d7898343c9b15334c12cd4a9310e6..22e19dcaedae1b2cfec7c05828da41b371dc0c5a 100644
GIT binary patch
delta 211
zcmcceSmokll?f_bNA@>#urUC^#EE(mT*qO&8509Cx$b|S(+QTlKe>_JeB-a390=u|
zllOA&pFEH2;^Z1GrRIF@_Iz$eAZ7w$W*}w(V%F{X+-%DiMCvQBcq_1cU~FK#ahr>Q
zlf^)RWd&0MV?U6?#p0mAastSS19G@ooD^8j06F164iAg70?P#;ClJWtWpP(v=>c*k
c06Bat9ttc!fTk(87p-9fV)pGtYdDfx0o{N>ApigX
delta 214
zcmcckSmnxNl?f_bUGrNy*%*M}*+e}F1n*H&pWMK1zVYV{4uo>+
z$-6oCO~1p)$~k!n*NMrMTuRM3-0eBsj6lo;#LPg<0>rG_bGX@7EQr)sVDVO9`M}t~
zc;hw~11F1t0?P`f2F89Mhl|BQf#n2{69?pQvp6ZRoB?vefgBzdX9boEKu#c#!^`5X
iz|sTcOaOBDSUeP1egI8VZZBBF2E^>!3)XNvZUz9jEkaiS
delta 214
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