From a0c96c6677af06c8a9f27c837852a0dd6b562651 Mon Sep 17 00:00:00 2001 From: jhChun Date: Tue, 17 Mar 2026 18:03:04 +0900 Subject: [PATCH] =?UTF-8?q?maa=20samples=20140->100=20=EB=B3=80=EA=B2=BD,?= =?UTF-8?q?=20mec/maa=20=EC=88=98=EC=8B=A0=20=EC=8B=9C=20Piezo=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20Active/Sleep?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MAA_NUM_SAMPLES 140에서 100으로 변경 (DR_ADC_ECHO_SAMPLES_MAX 제한) - 단일(mec) 및 모든 채널(maa) 에코 캡처 명령 수신 시 Piezo 자동 Active, 응답 송신 후 Sleep - Cmd_mpa 중복 호출 정리 (dr_piezo_system_init 내부에 power_on 포함) - 채널별 디버그 로그 추가 - 코드 리뷰 주석 정리 및 기타 파일 업데이트 Co-Authored-By: Claude Opus 4.6 (1M context) --- data/CODE_REVIEW_STATUS.md | 78 +++- data/CODE_REVIEW_STATUS.pdf | Bin 204931 -> 0 bytes data/CODE_REVIEW_STATUS_0316.pdf | Bin 0 -> 225644 bytes pc_firm/dr_adc121s051/dr_adc121s051.c | 19 +- pc_firm/dr_adc121s051/dr_adc121s051.h | 8 +- pc_firm/parser.c | 85 ++-- .../ble_app_bladder_patch/battery_saadc.h | 22 +- .../ble_app_bladder_patch/debug_print.h | 21 +- .../ble_app_bladder_patch/fstorage.c | 121 +++++- .../ble_app_bladder_patch/fstorage.h | 24 +- .../ble_app_bladder_patch/i2c_manager.c | 84 +++- .../ble_app_bladder_patch/i2c_manager.h | 36 +- .../icm42670p/app_raw/app_raw.h | 68 ++-- .../icm42670p/app_raw/app_raw_main.h | 17 +- .../icm42670p/system_interface.c | 163 ++++++-- .../icm42670p/system_interface.h | 48 ++- .../ble_app_bladder_patch/main.c | 20 +- .../ble_app_bladder_patch/main_timer.h | 24 +- .../ble_app_bladder_patch_s140.uvoptx | 364 ++++++++---------- .../ble_app_bladder_patch_s140.uvprojx | 20 - .../pca10056/s140/config/sdk_config.h | 2 +- .../ble_app_bladder_patch/power_control.c | 143 ++++++- .../ble_app_bladder_patch/power_control.h | 34 +- .../ble_app_bladder_patch/pulse_gen.c | 84 +++- .../ble_app_bladder_patch/pulse_gen.h | 23 +- .../ble_app_bladder_patch/tmp235_q1.c | 1 + .../ble_app_bladder_patch/tmp235_q1.h | 17 +- project/ble_peripheral/dr_piezo/dr_piezo.c | 360 ++++++++++++----- project/ble_peripheral/dr_piezo/dr_piezo.h | 89 ++++- 29 files changed, 1474 insertions(+), 501 deletions(-) delete mode 100644 data/CODE_REVIEW_STATUS.pdf create mode 100644 data/CODE_REVIEW_STATUS_0316.pdf diff --git a/data/CODE_REVIEW_STATUS.md b/data/CODE_REVIEW_STATUS.md index a3c235c..840a244 100644 --- a/data/CODE_REVIEW_STATUS.md +++ b/data/CODE_REVIEW_STATUS.md @@ -165,6 +165,75 @@ cat_interface.c 삭제(EEPROM/AES 코드 전체 삭제). TWI 인스턴스(m_twi) | c_addr[6] | main.c:187 | 삭제 | **미완료** | | led_pd_dac_v[LED_NUM] | 참조 다수 | 삭제 | 확인 필요 | +### 2.3.1 cmd_parse.c → parser.c 통합 현황 + +현재 구조: main.c → `received_command_process()` [cmd_parse.c] → `dr_cmd_parser()` [parser.c] → 실패 시 레거시 if-else 체인 [cmd_parse.c] + +#### parser.c 명령어 테이블 (g_cmd_table) + +| 태그 | 핸들러 | enabled | 기능 | 비고 | +|------|--------|---------|------|------| +| `cmd?` | Cmd_cmd | true | 핀 테스트 (sudo) | parser.c 신규 | +| `mpa?` | Cmd_mpa | true | Piezo 활성화 | parser.c 신규 | +| `mpb?` | Cmd_mpb | true | Piezo 비활성화 | parser.c 신규 | +| `mpc?` | Cmd_mpc | true | Piezo Cycles 제어 | parser.c 신규 | +| `mdc?` | Cmd_mdc | true | Piezo burst + Echo (12-bit) | parser.c 신규 | +| `mec?` | Cmd_mec | true | Piezo burst + Echo (16-bit) | parser.c 신규 | +| `maa?` | Cmd_maa | true | 8채널 전체 캡처 | parser.c 신규 | +| `msp?` | Cmd_msp | true | IMU 6축 raw data | parser.c 신규 | +| `mwh?` | Cmd_mwh | true | HW번호 쓰기 (FDS) | shz? 대체 | +| `mws?` | Cmd_mws | true | 시리얼번호 쓰기 (FDS) | ssz? 대체 | +| `mrh?` | Cmd_mrh | true | HW번호 읽기 (FDS) | siz? 대체 | +| `mrs?` | Cmd_mrs | true | 시리얼번호 읽기 (FDS) | srz? 대체 | +| `mpz?` | Cmd_mpz | true | 패스키 쓰기 (FDS) | **신규 추가** (spz? 대체) | +| `mqz?` | Cmd_mqz | true | 패스키 읽기 | **신규 추가** (sqz? 대체) | +| `mxz?` | Cmd_mxz | true | life_cycle 쓰기 (FDS) | **신규 추가** (sxz? 대체) | +| `myz?` | Cmd_myz | true | life_cycle 읽기 | **신규 추가** (syz? 대체) | +| `mta?` | Cmd_mta | true | 디바이스 상태 | sta? 리네이밍 | +| `sta?` | Cmd_sta | true | 디바이스 활성화/슬립 | 레거시 호환 | +| `str?` | Cmd_str | false | 디바이스 상태 읽기 | 미완성 (TODO) | +| `mcj?` | Cmd_mcj | true | PD-ADC 풀 측정 | parser.c 신규 | +| `scj?` | Cmd_mcj | true | mcj 호환 | 레거시 호환 | +| `sej?` | Cmd_sej | true | PD-ADC 측정 | 레거시 호환 | +| `ssj?` | Cmd_ssj | false | PD-ADC 측정 | 비활성 | +| `msn?` | Cmd_msn | true | 배터리 측정 | ssn? 리네이밍 | +| `ssn?` | Cmd_msn | true | 배터리 측정 | 레거시 호환 | +| `spn?` | Cmd_spn | false | 압력 센서 측정 | 비활성 | +| `sso?` | Cmd_sso | false | 온도 센서 측정 | 비활성 | +| `ssp?` | Cmd_ssp | true | 모션 센서 raw data | 레거시 호환 | +| `ssq?` | Cmd_ssq | false | 전원 OFF | 비활성 | +| `ssr?` | Cmd_ssr | false | 본딩 삭제+리셋 | 비활성 | +| `sss?` | Cmd_sss | false | 디바이스 리셋 | 비활성 | +| `sst?` | Cmd_sst | false | Ready 응답 | 비활성 | +| `mfv?` | Cmd_mfv | true | 펌웨어 버전 읽기 | ssv? 대체 | + +#### cmd_parse.c 레거시 명령어 (parser.c에 없는 것) + +| 태그 | 상태 | 기능 | 비고 | +|------|------|------|------| +| `spz?` | 활성 | 패스키 쓰기 | → parser.c `mpz?`로 대체 완료 | +| `sqz?` | 활성 | 패스키 읽기 | → parser.c `mqz?`로 대체 완료 | +| `sxz?` | 활성 | life_cycle 쓰기 | → parser.c `mxz?`로 대체 완료 | +| `syz?` | 활성 | life_cycle 읽기 | → parser.c `myz?`로 대체 완료 | +| `sez?` | 활성 (stub) | AGC gain — HW 제거됨 | param_error만 응답 | +| `sfz?` | 활성 (stub) | AGC gain — HW 제거됨 | param_error만 응답 | +| `ssv?` | `if(0&&)` 비활성 | 펌웨어 버전 | → parser.c `mfv?`로 대체됨 | +| `ssz?` | `if(0&&)` 비활성 | 시리얼번호 쓰기 | → parser.c `mws?`로 대체됨 | +| `srz?` | `if(0&&)` 비활성 | 시리얼번호 읽기 | → parser.c `mrs?`로 대체됨 | +| `siz?` | `if(0&&)` 비활성 | HW번호 읽기 | → parser.c `mrh?`로 대체됨 | +| `shz?` | `if(0&&)` 비활성 | HW번호 쓰기 | → parser.c `mwh?`로 대체됨 | + +#### 통합 남은 작업 + +| # | 작업 | 현재 상태 | +|---|------|----------| +| 1 | parser.c에 누락 명령어 추가 (mpz/mqz/mxz/myz) | **완료** | +| 2 | received_command_process() 래퍼를 main.c로 이동 | **미완료** | +| 3 | 전역 변수 (SERIAL_NO, m_static_passkey 등) main.c로 이동 | **미완료** | +| 4 | cmd_parse.h include 정리 (7개 파일) | **미완료** | +| 5 | cmd_parse.c / cmd_parse.h 삭제 | **미완료** | +| 6 | Keil 프로젝트 파일 업데이트 | **미완료** | + ### 2.4 주석 처리된 코드 | 위치 | 내용 | 판정 | 현재 상태 | @@ -448,10 +517,11 @@ BLE_GAP_EVT_CONNECTED/DISCONNECTED 핸들러에 IMU 타이머 start/stop 로직 | 5 | 미사용 HW 드라이버 삭제 (1.2절) | **완료** | | 6 | cat_interface.c EEPROM 기능 삭제 + TWI를 i2c_manager.c로 통합 (1.5절) | **완료** | | 7 | cmd_parse.c EEPROM 호출 -> FDS 전환 (1.5.4절) | **완료** | -| 8 | 미사용 전역변수 + HW_NO 삭제 (2.2-2.3절) | **미완료** | -| 9 | DEBUG_MINIMAL_BOOT 조건 제거 (3절) | **미완료** | -| 10 | Keil uvprojx 소스 참조 제거 (4절) | 확인 필요 | -| 11 | 주석 처리된 코드 삭제 (2.4절) | **미완료** | +| 8 | cmd_parse.c → parser.c 통합 (2.3.1절) | **진행 중** (명령어 이전 완료, 파일 삭제 미완료) | +| 9 | 미사용 전역변수 + HW_NO 삭제 (2.2-2.3절) | **미완료** | +| 10 | DEBUG_MINIMAL_BOOT 조건 제거 (3절) | **미완료** | +| 11 | Keil uvprojx 소스 참조 제거 (4절) | 확인 필요 | +| 12 | 주석 처리된 코드 삭제 (2.4절) | **미완료** | ### 2차 정리 (저전력 최적화) diff --git a/data/CODE_REVIEW_STATUS.pdf b/data/CODE_REVIEW_STATUS.pdf deleted file mode 100644 index a9654c9d230d754d32e0c5e990a4df69eb19ead6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204931 zcma&O1CS?8vo|`kWAAXswr$(CZQHhXY}@<~cWm3XZO`53ykFe+{q8++;zU$;XIEub zW_Lw&|1z^8N#un^X&7jkp-JY?Pj{gi@aggG3@xF#x#@%)O$?mv9P!D8%pL7)EL?0T zpy}it?TlTFO#XH%Sy>p+{guVHVW&L;Te!kmosjI8ub4F4P~^c+<5 z^kjeAUp^T-<&st>gJ0J;Hg1Ugs4nAQ@ym6I9*T;`IKi3o7)b8nK;_-w_%>YX3Z`uUkFY*k& zPH;qgP`}sVTD)$b8>avE|thtGPv zUk{1xA9vd!lVC2u{KgHrsYs(L`@bqY-``&5mGt@!&&>!m-ynV+2H*Q11)kkKo)701 z3sV&fzBxaf7cV?yzqNX+1@K;Zb5@yPYfoaAXWRq zLDdC_+oHZY0X_EFXzl|Wujri~w;%vfso$&W`BM^MGNOPIQTJBVllN8_UA2bn;Gx?Dt#f3rwij3Cn2o{ zvcqUbxD+NKO+;$RZKT9-fn*4CVk)6L&9Y)Jl4iqC>ES^VD@s}oCI<;Q<9f1&739BD z89N9C=aco#{6qgG?s{GSL!s*9|Emygc28B@()Uu$yxM*=x9sF*MZ;eZp@LmU)3%6U zx$JuO*7A$w+6cd0>W=aDS~)D&4So{0Sz1>HeVN%U89_qU4~*}M-Lffkx+OaFgCS

lB|;E8p$A;A_d*G?m#gk=*fHJ`2eV3ONZ%heH%Z?@sS&;58j(sD5|#gy(+$rUBf z3z~6qP!UA_AYL1?o4SdEcb#4{o*R!J!+o|{E}*h~r(z{V2m89W5F)23cB^r__Olz7$1mMj$ca|z|Xnks_O z{I>}9*O4(K{c3}vBb?p=ft>=Yl<|n>^XQK=0hOzKdUc-amS*qO3iM9c zt9RtAw7JS4ub-%5J(WHH2o|M1iTqj?su#7GCCFkX4irm5ww%%^2vYT(ale0l^jsz; zF={NJLuAb{%N(x>G1g5@D(-!U+uoYI*_yPyK7U~>F;o!z=@V7^k8$e-`ULX2uza90S7c2uEq| zq`BX9(E;CqZq=chqm9q#zeJhyX=EVWGYUo+$O;2Gc+dzp=Y5J6_UcL@*wj49$W22% z1kY_V$hEvH2arLtGM`fxJ0{;F*+h7(F^=GY5Eb;aqntkN1p1hy#%S(!u#e+^OTuO> zTh?oxyXe;NU;=40)zFXd0-sMd2_Oq9`jMttO|`RuEuJ@t-O7u{*t5b$_Q5KiVYgl} z6+5fs|Ac)YK<%eQ80(wqDE4(E;@+_S2X+UJ_c<%h4>T*u57g%1+C?8@ri0iE5R}w) z=l&dvOUTN9{hL|*`GjnTb$!wQl42vr9YFxn8?)330LVqc-dlB7eL=Qa=chozd+Cyf zh2I6L8@eU~A9lz6Q@U7v<$_}hK1{4jM@)y}8x5yuZX#{*?ULhJB~-f1ZT4_o40J6x zDg&Ngfhr|V*TVHCTH_|)aZ}dh+FU_)rAGC#JUDwkhD zl1Ch)M4UV+x7{+P2>c4%+-GQzYCNjgg;W;1|Btf3@{*70#Ndt&Th}}UuTqnrKjm34 zI#XZLaI;lyWB3Skss(1`tx~3h(m6;b-4iaLb8%jxxfsp2_24I-Q-c=1u*Q3zBD`$j ze~MntMP8&3RoOjclTvVMk~?1x$73z6>+B(NT}#eY0e7ypp6kz`TEA^{{zq`y%TgNC1eSevVechBm20bY$m1n}^KHTnNU0&E_?W{n(E{EBj60ZPlR2h=>hQ!a~4~boKP1KZ5&W ztkn|#<}=;aI{a!p>eoeTTu2$Xx{k7<;ws<{d!PZ)XLhORUcXecB=J-- zv{+@(wE_S&er99V){MZ6)g5&6svGa`I;H3p^MvU`*Q}2UJKQas-BK6Y5fZa6dCUuj zUeShV^@I| zYno3#CEx@H;WThI;zpsQbZXPuNF@HgS2Ns&&t#|?$DE=eaK!N#if=_FBtTlrk@&$f zac}_W6}@2_t95@Lb)`D0$&z|5In@3+@2L8^kq9^U;h$W>NIQH=I!dSG-xtw;7b-#( zP&qy%+xJqTE3}hGRJMG0GQTm$DZWkPY_cr#0H`hE-tr(Z82}_$%Q9;*(5CyK6z{c2 z_}3Pu_FLjKS!TBI@d*&8Z+wo0~8lq_JK(!7%7;8X@#nBgHSPJd>m zdWvF;f6_NU$;-M-mA*a!IS@LDU)s%m?DMF=J@;1~lYib{iCqwsb_F{3kwbn}cLqo| zjBZhsag8Nkg%QafV|!U#9yxogkQ{^BW%*jE;|kv(tGmkkhz91`(COrJq}Z}vAJg@*a4O0 z5t24qY&J6_%G_%?U@)Z0s12lBw-;lrfc@t&|j>3~%!kN0OTU zZnIA@3led@W3Ij_u)MUUDPvW*AO%5#KO}Xf?>?uQN?fMYK2DCq(RLZKlG_8Tlf$VW zUYa0nBwb*hoqA-t^c7{v5Pan!Bl?@`n&ddSOM;>kmcYcV5-c~F{^MAI(Ex74SVhHu3@df!l2Y4uRRX~sk19k!*0(bLaGYKRQ5Dkkzj{T{cse;btO-_B zmBKcKd$5oc@{jOPBot_uZ(_v-c}>m*V5&eOT%3 zZuuII@1sn%`If26bfY3DNLho7q4&Y{Ag~MuaSTPA2$V6l~B2yVs_Wp z%L{}*Gmzw6>ESoL{|nbSdNA8!^)B=;Ep=Xt8qPtn@|v`9Sk zo5ujd(=ifeLLda7q#|!$9#s`0Xuyf~JSs*grC)?S{C1Uel4r&QEdEos&KD!GR)X5~Mc4go`I}!D31{B#9qrib$sVM9~sf2GW`^ zMsuQR0IYven&^p3eLebQ)bZTahY&TSeDP^kEXF%$VbRQ{TIGlln(7hz9!zI=+XLa|_0q0XWPF z>@bh=x=9C^8RjtN#5Q?rcKHF#fs7U)$)+%H0MsN29Oe=g)4W4QG{aCQMYL+QlO;Z`~6Wl+r%dpcPxUQA6J6 z;}GYDu9Ucdh7BsgbG$soPcoj9WHHrrOm9l2c-!Z0JyDK|jr&xob67`66yB<4mjK@YrWe3+tRb4%+u!9nT@mUW_ zp{M%}3B>9y)Uu3gxW5w(Ya`ex;%?b@-$(~XIU$6%Q`PCkK6He+YJ~tXY1{%OPJ)3p zPJxZwG+ewlvsrO7nOQxuAnzOp=Z2L~dTRHvZy7C>gUhVl+nnzkEggC3qH13Q4_#v2 zzhC}Dy1552y#hCyjZ}3rS?^z~1GnG%cUIQyKiSTES=$i_!i1cU7I*btRT-R87d1!Q zCxp8P>6OHwO!9hnoQkfc^jADa=96v*8xvuMLPqMihDA5>uM(6>bwLUxLgPBmk7X7QPe|dC|b~KQP*orbt7|1%KyMQeRDh=PnPk+ zQT>g4tO&Hj$jtVxi<;?E)B1VJ?b`g9U#d6=Yt!mAG7$PF3}@S(N-KdSjptgx8=3I; z6xck=W0zI0GZZ(GXR5)ls*|=QCiAMtre`>^_TxG2V3Io-7X$sU7s@;~06C_&1C-fH zSCZNJRed*0<|DSP5_A9PiW!f^Ewsbpiuy3EEt$vMw!r$zv7pegosHvA&rC*FIi22P z-go5y>aJ!qG0BLuh2G+>HN&*Azy>k)YLlFk!2cl;*m99da2%llKiIxZ5!?J!Xi;_<-kh7X zU!cLbE7595GO|_hY*xgyNQ2MR=)9uk$*7*2HcUW`8^P1ZpJx|5)rl zn%fdeodP!zz*^+B8A>b=JEMQz8XtjBH3QzHycxvUnlPoYdQ_lPsdT@i8k%AyQZ$u} zxP;uGd)doUc@AfBovF$>*$-m@8O;P@lmz7%USF?;Aa)*2kE>vSoQ$=hnWqe{a4mP! zCXoa8wSXrl!t*EwuZpDWVWpB8Mja#tk>keuj*v9AB(g7W3?Z7on9bMsD3Y8( zHwTSxf28ikG;Dto>S3aSlhNTZw`p9-bG~+jMS;-XyxzRsB{>Asw^jGLDUG&#)d{8L z`^c_q#dd+!bk*n{LJkn}sB+N@K?fFX;b(X&54dif{{d^*RP{<(>^f2G`{L7rwL(np z>(NW07ehvub+hQ99%5hD@)O8CbFRm5L^zc5IeS%M*#NFX4=N1J5!IEIIig zHP93grwIkqQ0xM4t;;j#@yG`{z~GvFx88ZYl4_AQ%iz z;Op|4MCwj3v1@;pXF;vyHpFykhMR!GG+L!K$f~Z9I@*4e?tIR+9h}ED8d|KTCbr!R z6;mBJnQY_Pr85W}#&g%em*HlsbSt9H;&JRzno}%`X>0q1{h?2dN2gGPwfWsT8}gWwA)xI!en;YU3m@R*4Bk0f0^9&O0XNGG>fgS}u{ ztKmglHCCILR`CP%jXz+syGCLrdPLSNDb2{8NST zzk#Cv5nKNsp(qnG^M69oCaulb^VWaD<~J?@i)X0?{)Pb#rVYz9;3pt}O)zNdfK4C2 zyoGLRu4ZP7DSUCks9f?pCW%oFY06(;G+AH1`jcu4fgHQowBH|>m(Of|I+h1fj2kq5 zAMclVei~m=j+3A>d{{uNdg3zFU)R@sbhrI@-CdtAjheonOnDlmXaq$M`rV*V&qDhU znC-rupYF?1T3x;bdHT8PNhW9^%u&kY%XW5thuS}mCFlMW|8lH3Wm-k&r4qYtd3fc~ zx!=E(8(;R@l4mT=j>G*t*NcLf-wiZ~qy=(23?y_8QP6^%viMO$GU5PLm|ckk=WP%hz(jH!mK*=p=(RDlx6;K7du-0X#spSFrq4 znAAgz%sLK97H%G+fuao7o^2Utqta_C<-oYixzU3OZEvy*)7%;Myc`QjmvT#A2OM8Q#0+J#|_JYfh$gsfmfAP7}V zV>VEs${GSq7)L$Mrf07VSNbspY!+U66j%C^M(9uDM3g5z-Fje%0#Dk8#*qjY{i+t4 zsEag!jXwq9eo7^GS_&AIRvTacwZSj?8Fo!-C1vkH4K`lN?qLE>Cn=8!kL}@ zp2Nsh5^(F4Pk0b{>ELw;upQo=lmf%6ghJ80z)x{ixt>F z&MEt0=()-Q!DYAIaKdt#YGMd$q$kvpt4R^$Cds4Z7ECzBWp~m^gniEi!Xm!-k_d!I zLrTod#MxSN(?(Tpfh|RsuFnbx>KeyLR>XTA8pw##l!=IR@YuiIl|4xJ5O=i@OEcRe zUiwcC!%rS`@Wk$zEfE;N3DqaCf9orxN9nta*n=jHAtOpdZb#)UaRhRTASSf%&AUYg zzFD7P0pEK?s@Lul9lhNWA&!|!3zJt$i`0(RoK}UIy4%!^55UmOe3d^}CQQQ`E7vA z?*hcs7-W(p#Tu`?v9mC;nQ8L>K_7o zTo^<*W}dqxg*h!Dw6KQ_-7Yl>Rv=w8hcpJ(DG?vp9Rn9KJVH{y{Htb9XsFF*ql5z8o)AH+wIT)t## zc6=pOq}w_&)?_7CT#lFy9wI-NA;4nYvePh+8>ui0PKslA$lJ%|_QA{BJ%`gLuV{-1 z(El-WDwveKVu32+HR!-44~BA2!9e;Qjvg|=W*;qew}+}zI= zZ|W+UZyq5dlBvAd96FxwG@+I)Cw5>*YvLo)rmHt$p(kxz^|ns?FoCc?wJdY1Mb zs@ry4JBZLRjP;>sG>94WbQ`qBVPbI6f)rH*8&!jFVz&nuY-#$=@Hfhw2PjgMqZ0uZ z)s>)|`fKi{H`#!c8t2~tu1ziURA7>A_p6_iKqgk+&g+ux!z=}yH)~)nl+5WRahQj5 zlvSR^?WMIq!baE`TyC4`lfE2Nwo6QiBdRK#C41LIflZq6O)nh0P4!rxu9dq_Q(_>`4=AM^eitn;5M%=o zOW`pb{We>J^`?-bp*WVeTFH|Zvf3jlq3hImQ&Jxo;%^Gd_OaI34)MF|~|L>^shU!i#M-NrI~xc)9sT-;gZdk(HSQ>d8Tp4u;zI3PB^8cDG(ZA3lmJ+iDL7& zl@e|4;W;C@6Kx2s@*nIn)0HYbLbGQx%L*u^jb`P$*CSUjFW>g4L4Dxrj?nrSS|Yc#8~h#EXgr{I*($11Fh>ZHivSRW~zdgg<( zTc4USRwL7m0v1z+(p_CmrsbPBpInq(=2!m;39Fdpj5P=Gm9EV$N1N%JNquK{fR0v9 z{uaCIhuRfAh5kn_7Z_=ti@1BEfG@OcLxEL0Xleji4&dDN;6&fauGuO*doHu1^gz3n zk=K$vGGP2JPwKn3>?0?y^{Vvx&DVr#0{A8W=k^ezN$9a}BvEiMb-ocaW_+)um~yeTXY0xyQQ-Uha2iCVcZrPu9lj z-|ck%`P^S_+1~1NA}+PfNbdgps%`21K7GQ=p9dBFT7|586It0o`})2t)q1;or?cbx zDzfYTU@Oq5wF3$VzBm?F*j;=O(arAe{Cp|O?Dl!r_?vCApLcD5kFzVY+xGQ&Z&Wl- znj_Cu_03Ww-WC~t(eZlqKDd7Vpzg5yc6@)jW(!LsML?hF{=7%)A?MwZ7zZi*xZ{Uu zca6Z}r$Edj&-eEBs-^^y*6(erpn}9Y`JiZrl7HJgxJEe%D?6D8-l5*kQYYxgr3%Dl zrKS`gyz%HeBVCt*k#sb8ul)GFgzJ$uID*^c*A+E(KmpB(u2V6aRZ463&+cNe=5ueL z2a_oE4U$B!X7P$Of)rsNhi&b_)}5OoMPmGwkw!Axp&?G$ZIT~Hh%OJ4BHp*S8`gsP zA)L7EnZDa8YDzqMZN);Uu0oXXV=3RXcEO$Gj-?B{3qxbqL&Oq|Ug(IlD3FedFkwVR zRGe781}uuWWrvJ@28*8HQD5+^_eVL1k-%Bc-wR9;JavL6eZ#*;AVAjqp~@kU6%o+H zanMJvan$i$^aBePcT#Q&0_#Dk8$`?e#29xT-tZ�-}n;0IqRxnQY2B+BkmT1sgG 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 z%0A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 T{&grq`hgq-C^R(E%7Fg^qv8!G diff --git a/data/CODE_REVIEW_STATUS_0316.pdf b/data/CODE_REVIEW_STATUS_0316.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3eb93f3f2eb89c14782472e5410e43a3cdc7b448 GIT binary patch literal 225644 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

r0hAat>9cI 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�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 z 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𝔞Pe8-Wh@txeQ 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 9) cycles = 5; /* Valid range: 3~9, default 5 */ if (averaging == 0) averaging = 1; /* Minimum 1 */ if (averaging > 1000) averaging = 1000; /* Maximum 1000 */ - if (piezo_ch > 7) piezo_ch = 0; /* Validate piezo channel: 0~7 jhChun 26.01.29 */ + if (piezo_ch >= MAA_NUM_CHANNELS) piezo_ch = 0; /* 채널 범위 검증 */ dr_adc_echo_t echo; echo.peak_raw = 0; @@ -1325,6 +1328,8 @@ static dr_adc_err_t maa_async_capture_channel(uint8_t ch) { if (ch > (MAA_NUM_CHANNELS - 1)) return DR_ADC_ERR_INVALID_PARAM; + if (g_plat.log) g_plat.log("[maa] capturing CH%u\r\n", ch); + return dr_adc_capture_channel_only( g_maa_ctx.freq_option, g_maa_ctx.delay_us, @@ -1434,6 +1439,13 @@ static void maa_async_send_completion(uint16_t status) dr_binary_tx_safe(buf, 3); + /* 자동으로 켰으면 완료 후 전원 OFF */ + if (g_maa_ctx.auto_powered) { + if (g_plat.log) g_plat.log("[Cmd_maa] TX/RX Active -> Sleep\r\n"); + dr_piezo_power_off(); + g_maa_ctx.auto_powered = false; + } + g_maa_ctx.state = MAA_ASYNC_IDLE; ADC_LOG("maa_async: complete, status=0x%04X", status); } @@ -1551,3 +1563,8 @@ void maa_async_abort(void) } } +void maa_async_set_auto_power(bool on) +{ + g_maa_ctx.auto_powered = on; +} + diff --git a/pc_firm/dr_adc121s051/dr_adc121s051.h b/pc_firm/dr_adc121s051/dr_adc121s051.h index 6c129c3..c79afee 100644 --- a/pc_firm/dr_adc121s051/dr_adc121s051.h +++ b/pc_firm/dr_adc121s051/dr_adc121s051.h @@ -336,7 +336,7 @@ void dr_piezo_select_channel(uint8_t channel); * @brief 8-channel echo buffer for maa? command * Memory: 140 samples × 2 bytes × 8 channels = 2,240 bytes */ -#define MAA_NUM_CHANNELS 8 /* 4 -> 8 jhChun 26.02.12*/ +#define MAA_NUM_CHANNELS 6 /* 4 -> 8 -> 6 jhChun 26.03.17*/ #define MAA_SAMPLES_MAX 200 /** @@ -454,6 +454,7 @@ typedef struct { dr_maa_channel_t channels[MAA_NUM_CHANNELS]; /**< Captured data for each channel */ uint16_t total_packets; /**< Total packets for current channel */ uint16_t data_packets; /**< Data packets for current channel */ + bool auto_powered; /**< true: 자동 전원 ON → 완료 후 OFF */ } maa_async_ctx_t; /** @@ -501,5 +502,10 @@ maa_async_state_t maa_async_get_state(void); */ void maa_async_abort(void); +/** + * @brief 자동 전원 플래그 설정 (완료 후 자동 power off) + */ +void maa_async_set_auto_power(bool on); + #endif /* DR_ADC121S051_H */ diff --git a/pc_firm/parser.c b/pc_firm/parser.c index 4574aae..3684690 100644 --- a/pc_firm/parser.c +++ b/pc_firm/parser.c @@ -111,6 +111,7 @@ extern config_data_t m_config; /* 전체 설정 구조체 (FDS 저장 대 /* 피에조 초음파 트랜스듀서 제어 함수 */ extern void dr_piezo_power_on( void ); /* 피에조 회로 전원 ON (TX/RX 보드) */ extern void dr_piezo_power_off( void ); /* 피에조 회로 전원 OFF */ +extern bool dr_piezo_is_power_on( void ); /* 피에조 전원 상태 확인 */ extern void dr_piezo_burst_sw(uint8_t cycles); /* 2.1MHz 버스트 펄스 발생 (기본 주파수) */ extern void dr_piezo_burst_sw_18mhz(uint8_t cycles); /* 1.8MHz 버스트 펄스 발생 */ extern void dr_piezo_burst_sw_20mhz(uint8_t cycles); /* 2.0MHz 버스트 펄스 발생 */ @@ -436,7 +437,7 @@ static CmdEntry g_cmd_table[] = { /* D. 각종 센서 측정 */ { "msn?", true, Cmd_msn }, - { "mso?", false, Cmd_mso }, + { "mso?", true, Cmd_mso }, { "msp?", true, Cmd_msp }, { "msi?", true, Cmd_msi }, @@ -511,7 +512,7 @@ static int dr_cmd_dispatch(const ParsedCmd *cmd) int dr_cmd_parser(const uint8_t *buf, uint8_t len) { ParsedCmd cmd; - g_plat.log("parser!!!!!!!!"); + g_plat.log("parser!!!!!!!!\r\n"); if (g_plat.log) g_plat.log("[PARSER] in len=%u crc=%u\r\n", len, g_plat.crc_check); @@ -614,9 +615,7 @@ static int Cmd_msq(const ParsedCmd *cmd) { uint16_t val = 0; dr_get_u16(cmd, 0, &val); - if (g_plat.log && g_log_enable) { - g_plat.log("[Cmd_msq] Power off\r\n"); - } + if (g_plat.log) g_plat.log("[Cmd_msq] Power off val=%u\r\n", val); single_format_data(ble_bin_buffer, "rsq:", val); dr_binary_tx_safe(ble_bin_buffer, 2); go_device_power_off = true; /* 메인 루프에서 전원 OFF 실행 예약 */ @@ -637,9 +636,7 @@ static int Cmd_msr(const ParsedCmd *cmd) { uint16_t val = 0; dr_get_u16(cmd, 0, &val); - if (g_plat.log && g_log_enable) { - g_plat.log("[Cmd_msr] Bond delete + reset\r\n"); - } + if (g_plat.log) g_plat.log("[Cmd_msr] Bond delete + reset val=%u\r\n", val); single_format_data(ble_bin_buffer, "rsr:", val); dr_binary_tx_safe(ble_bin_buffer, 2); @@ -665,9 +662,7 @@ static int Cmd_mss(const ParsedCmd *cmd) { uint16_t val = 0; dr_get_u16(cmd, 0, &val); - if (g_plat.log && g_log_enable) { - g_plat.log("[Cmd_mss] Device reset\r\n"); - } + if (g_plat.log) g_plat.log("[Cmd_mss] Device reset val=%u\r\n", val); single_format_data(ble_bin_buffer, "rss:", val); dr_binary_tx_safe(ble_bin_buffer, 2); @@ -712,8 +707,7 @@ static int Cmd_mpa(const ParsedCmd *cmd) g_plat.log("[Cmd_mpa] Piezo Activation\n"); } - dr_piezo_power_on(); /* 피에조 보드 전원 ON (LDO 활성화) */ - dr_piezo_system_init(); /* 피에조 시스템 초기화 (DAC/MUX/ADC 설정) */ + dr_piezo_system_init(); /* 내부에서 power_on + init 수행 */ if (g_plat.tx_bin) { single_format_data(ble_bin_buffer, "rpa:", 1); @@ -777,8 +771,8 @@ static int Cmd_mpc(const ParsedCmd *cmd) (void)dr_get_u16(cmd, 1, &freq_option); /* word 1: 주파수 옵션 */ (void)dr_get_u16(cmd, 2, &piezo_ch); /* word 2: 피에조 채널 */ - /* 채널 범위 검증: 0~7 유효, 초과 시 0으로 리셋 */ - if (piezo_ch > 7) piezo_ch = 0; + /* 채널 범위 검증: 초과 시 0으로 리셋 */ + if (piezo_ch >= MAA_NUM_CHANNELS) piezo_ch = 0; if (g_plat.log && g_log_enable) { const char *freq_str = (freq_option == 0) ? "1.8MHz" : @@ -851,6 +845,14 @@ static int Cmd_mec(const ParsedCmd *cmd) uint16_t averaging = 1; /* 기본 1 (평균화 없음), 최대 1000 */ uint16_t piezo_ch = 0; /* 기본 채널 0 (유효: 0~7) */ + /* 피에조 전원이 꺼져 있으면 자동으로 켜기 */ + bool auto_powered = false; + if (!dr_piezo_is_power_on()) { + if (g_plat.log) g_plat.log("[Cmd_mec] TX/RX Sleep -> Active\r\n"); + dr_piezo_system_init(); + auto_powered = true; + } + /* 6개 파라미터 순서대로 추출 (데이터 부족 시 기본값 유지) */ (void)dr_get_u16(cmd, 0, &freq_option); /* word 0: 주파수 옵션 */ (void)dr_get_u16(cmd, 1, &delay_us); /* word 1: 버스트→ADC 딜레이 */ @@ -863,8 +865,8 @@ static int Cmd_mec(const ParsedCmd *cmd) if (averaging == 0) averaging = 1; if (averaging > 1000) averaging = 1000; - /* 피에조 채널 범위 검증: 0~7 */ - if (piezo_ch > 7) piezo_ch = 0; + /* 피에조 채널 범위 검증 */ + if (piezo_ch >= MAA_NUM_CHANNELS) piezo_ch = 0; if (g_plat.log && g_log_enable) { const char *freq_str = (freq_option == 0) ? "1.8MHz" : @@ -877,18 +879,10 @@ static int Cmd_mec(const ParsedCmd *cmd) freq_option, freq_str, delay_us, num_samples, cycles, averaging, piezo_ch); } - /* 통합 버스트+캡처+전송 함수 호출 - * 내부 동작 순서: - * 1. ADC 전원 ON - * 2. MUX로 피에조 채널 선택 (0~7) - * 3. 주파수별 버스트 펄스 발생 (freq_option에 따라) - * 4. delay_us 후 ADC 캡처 (averaging 횟수만큼 반복) - * 5. 캡처된 샘플 평균화 (노이즈 저감) - * 6. BLE 멀티패킷 전송 (패킷 간 타이밍 자동 관리) - */ + /* 통합 버스트+캡처+전송 함수 호출 */ dr_adc_err_t err = dr_adc_burst_capture_transmit( (uint8_t)freq_option, delay_us, num_samples, (uint8_t)cycles, - (uint16_t)averaging, (uint8_t)piezo_ch, ble_bin_buffer, 0); /* 0=raa 태그로 전송 */ + (uint16_t)averaging, (uint8_t)piezo_ch, ble_bin_buffer, 0); /* 에러 발생 시 에러 코드 + 요청 샘플 수 응답 */ if (err != DR_ADC_OK) { @@ -899,6 +893,12 @@ static int Cmd_mec(const ParsedCmd *cmd) g_plat.log("[Cmd_mec] result=%d\r\n", err); } + /* 자동으로 켰으면 완료 후 전원 OFF */ + if (auto_powered) { + if (g_plat.log) g_plat.log("[Cmd_mec] TX/RX Active -> Sleep\r\n"); + dr_piezo_power_off(); + } + return 1; } @@ -981,7 +981,7 @@ static int Cmd_cmd(const ParsedCmd *cmd) */ #define MAA_FREQ_OPTION 1 /* 기본 2.1MHz */ #define MAA_DELAY_US 10 /* 버스트 후 10us 딜레이 */ -#define MAA_NUM_SAMPLES 140 /* 140샘플 (약 25cm 거리) */ +#define MAA_NUM_SAMPLES 100 /* 140샘플 (약 25cm 거리) */ #define MAA_CYCLES 7 /* 7사이클 버스트 */ #define MAA_AVERAGING 5 /* 5회 평균화 */ @@ -1005,11 +1005,22 @@ static int Cmd_maa(const ParsedCmd *cmd) return 1; } + /* 피에조 전원이 꺼져 있으면 자동으로 켜기 */ + bool auto_powered = false; + bool pwr = dr_piezo_is_power_on(); + if (g_plat.log) g_plat.log("[Cmd_maa] piezo_power=%u\r\n", pwr); + if (!pwr) { + if (g_plat.log) g_plat.log("[Cmd_maa] TX/RX Sleep -> Active\r\n"); + dr_piezo_system_init(); + auto_powered = true; + } + /*======================================================================= - * 비동기 4채널 캡처 시작 + * 비동기 6채널 캡처 시작 * - maa_async_start(): CH0 캡처 실행 + 첫 헤더 패킷 전송 * - 이후 패킷은 BLE_NUS_EVT_TX_RDY 콜백에서 자동 전송 * - 블로킹 딜레이 없음 → SoftDevice 이벤트 정상 처리 가능 + * - auto_powered=true면 완료 후 자동 전원 OFF *=======================================================================*/ err = maa_async_start( (uint8_t)MAA_FREQ_OPTION, @@ -1021,12 +1032,19 @@ static int Cmd_maa(const ParsedCmd *cmd) ); if (err != DR_ADC_OK) { - /* 시작 실패 → maa_async_start 내부에서 에러 응답 이미 전송됨 */ + /* 시작 실패 → 에러 응답 전송 (앱 타임아웃 방지) */ + if (g_plat.log) g_plat.log("[Cmd_maa] start failed err=%d\r\n", err); + single_format_data(ble_bin_buffer, "raa:", (uint16_t)(0xFF00 | err)); + dr_binary_tx_safe(ble_bin_buffer, 3); + if (auto_powered) dr_piezo_power_off(); return 1; } + /* 자동 전원 플래그 설정 → 비동기 완료 시 자동 OFF */ + maa_async_set_auto_power(auto_powered); + /* 즉시 반환 → 비동기 전송 진행 중 */ - /* 전체 완료 시 상태 머신이 "raa:" 응답을 자동 전송 */ + /* 전체 완료 시 상태 머신이 "raa:" 응답 + 자동 power off 처리 */ return 1; } @@ -1119,10 +1137,7 @@ static int Cmd_mrs(const ParsedCmd *cmd) /*============================================================================== - * 패스키 / 수명 카운터 (FDS) - * * 패스키: BLE 페어링 시 사용하는 6자리 숫자 (예: "123456") - * 수명 카운터: 디바이스 사용 횟수 추적 (uint32, 상위16+하위16으로 분할 전송) *============================================================================*/ /* mpz? - BLE 패스키 FDS에 쓰기 @@ -1154,6 +1169,8 @@ static int Cmd_mqz(const ParsedCmd *cmd) (void)cmd; memcpy(m_static_passkey, m_config.static_passkey, 6); + if (g_plat.log) g_plat.log("[mqz] Passkey read: %.6s\r\n", m_static_passkey); + ascii_format_data(ble_bin_buffer, "rqz:", m_static_passkey, 6); dr_binary_tx_safe(ble_bin_buffer, 5); return 1; diff --git a/project/ble_peripheral/ble_app_bladder_patch/battery_saadc.h b/project/ble_peripheral/ble_app_bladder_patch/battery_saadc.h index 60e9eaa..20c21f4 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/battery_saadc.h +++ b/project/ble_peripheral/ble_app_bladder_patch/battery_saadc.h @@ -3,19 +3,39 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [헤더 개요] 배터리 전압 및 압력센서 SAADC 측정 인터페이스 + * + * nRF52840 SAADC를 이용한 배터리 전압 측정과 압력센서 2채널 측정의 + * 외부 호출용 API를 선언한다. + * + * 주요 API: + * - battery_level_meas() : 배터리 전압 1회 측정 (AIN2) + * - pressure_all_level_meas() : 압력센서 2채널 1회 측정 (AIN7, AIN4) + * - battery_timer_init/start/stop() : 5초 주기 배터리 모니터링 타이머 제어 + * + * LOW_BATTERY_VOLTAGE(3100mV) 이하가 10회 연속 감지되면 자동 전원 OFF ******************************************************************************/ #ifndef _BATTERY_SAADC_H_ #define _BATTERY_SAADC_H_ +/* 저전압 판정 임계값 (mV) — 이 값 이하가 10회 연속이면 자동 전원 OFF */ #define LOW_BATTERY_VOLTAGE 3100 /* Low Battery 임계값 */ +/** @brief 배터리 전압 1회 측정 시작 (비동기, 결과는 콜백에서 처리) */ void battery_level_meas(void); +/** @brief 압력센서 2채널(AIN7, AIN4) 1회 측정 시작 (비동기) */ void pressure_all_level_meas(void); +/** @brief 배터리 모니터링 5초 반복 타이머 시작 */ void battery_timer_start(void); +/** @brief 배터리 모니터링 타이머 정지 */ void battery_timer_stop(void); +/** @brief 배터리 모니터링 타이머 초기화 (앱 시작 시 1회 호출) */ void battery_timer_init(void); #endif //_BATTERY_SAADC_H_ diff --git a/project/ble_peripheral/ble_app_bladder_patch/debug_print.h b/project/ble_peripheral/ble_app_bladder_patch/debug_print.h index 1f513db..886cc96 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/debug_print.h +++ b/project/ble_peripheral/ble_app_bladder_patch/debug_print.h @@ -1,13 +1,32 @@ // file: debug_print.h +/******************************************************************************* + * [한국어 설명] 디버그 출력 매크로 (조건부 컴파일) + * + * SEGGER RTT(Real Time Transfer)를 이용한 디버그 출력 매크로. + * J-Link 디버거를 통해 실시간으로 로그를 PC에 전송한다. + * UART를 사용하지 않으므로 시스템 타이밍에 미치는 영향이 적다. + * + * === 조건부 컴파일 === + * ENABLE_PRINTF = 1: DBG_PRINTF가 SEGGER_RTT_printf(채널0)로 치환됨 + * -> 실제 로그 출력 (디버깅 시 사용) + * ENABLE_PRINTF = 0: DBG_PRINTF가 빈 매크로로 치환됨 + * -> 코드에서 완전히 제거 (릴리스 빌드 시 사용) + * + * === 사용법 === + * DBG_PRINTF("값: %d\r\n", value); // printf와 동일한 포맷 문자열 + * 출력은 SEGGER RTT Viewer 또는 J-Link RTT Client에서 확인. + ******************************************************************************/ #ifndef DEBUG_PRINT_H #define DEBUG_PRINT_H -#define ENABLE_PRINTF 1 // Set to 0 to disable globally +#define ENABLE_PRINTF 1 /* 1=디버그 출력 활성화, 0=전역 비활성화 */ #if ENABLE_PRINTF #include "SEGGER_RTT.h" + /* SEGGER RTT 채널 0으로 포맷 문자열 출력 */ #define DBG_PRINTF(...) SEGGER_RTT_printf(0, __VA_ARGS__) #else + /* 빈 매크로: 컴파일러가 호출 코드를 완전히 제거 */ #define DBG_PRINTF(...) // Do nothing #endif diff --git a/project/ble_peripheral/ble_app_bladder_patch/fstorage.c b/project/ble_peripheral/ble_app_bladder_patch/fstorage.c index f8376a8..9232239 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/fstorage.c +++ b/project/ble_peripheral/ble_app_bladder_patch/fstorage.c @@ -2,6 +2,36 @@ TEST medi50 Dec 23 ******************************************************************************/ +/** + * @file fstorage.c + * @brief FDS(Flash Data Storage) 기반 설정 저장 모듈 + * + * 외부 EEPROM을 대체하여 nRF52840 내장 플래시에 장치 설정을 저장/로드한다. + * + * [레코드 관리] + * - CONFIG_FILE = 0x8010, CONFIG_REC_KEY = 0x7010 으로 단일 레코드를 관리한다. + * + * [config_data_t 구조체 필드] + * - magic(4B) : 포맷 확인용 매직 넘버 (MAGIC = 0x20231226) + * - hw_no(12B) : 하드웨어 번호 (BLE 명령으로 설정) + * - serial_no(12B) : 시리얼 번호 (기본값: "VB026030000") + * - passkey(6B) : BLE 페어링용 정적 패스키 + * - bond_delete(1B) : 본딩 데이터 삭제 플래그 + * - reset_status(1B) : 리셋 상태 값 + * - pd_adc_cnt : 포토다이오드 ADC 측정 횟수 + * - pd_delay_us : 포토다이오드 측정 간 지연 시간(us) + * - life_cycle : 장치 사용 횟수 + * + * [매직 넘버 검증] + * - 플래시에서 로드한 데이터의 magic 값이 0x20231226과 일치하는지 확인하여 + * 유효한 설정인지 판별한다. 불일치 시 기본값으로 초기화한다. + * + * [FDS 이벤트 후처리] + * - FDS 쓰기/업데이트 완료 이벤트 수신 후, 대기 중인 후처리를 수행한다: + * 전원 OFF (go_device_power_off), 슬립 진입 (go_sleep_mode_enter), + * 시스템 리셋 (go_NVIC_SystemReset) + */ + #include "sdk_config.h" #include @@ -27,23 +57,29 @@ #include "debug_print.h" -/* File ID and Key used for the configuration record. */ +/* FDS 레코드 식별자: 파일 ID와 레코드 키로 단일 설정 레코드를 관리 */ #define CONFIG_FILE (0x8010) #define CONFIG_REC_KEY (0x7010) +/* 매직 넘버: 플래시에 저장된 데이터가 유효한 설정인지 판별하는 데 사용 */ #define CONFIG_MAGIC_NUMBER_VALUE (0x20231226) + +/* 전역 설정 데이터 구조체 인스턴스 */ config_data_t m_config; -extern bool go_device_power_off; -extern bool go_sleep_mode_enter; -extern bool go_NVIC_SystemReset; +/* FDS 쓰기 완료 후 수행할 후처리 플래그 (main.c에서 선언) */ +extern bool go_device_power_off; /* 전원 OFF 요청 */ +extern bool go_sleep_mode_enter; /* 슬립 모드 진입 요청 */ +extern bool go_NVIC_SystemReset; /* 시스템 리셋 요청 */ -/* Flag to check fds initialization. */ +/* FDS 초기화 완료 여부 플래그 (fds_evt_handler에서 true로 설정) */ static bool volatile m_fds_initialized; +/* FDS 쓰기 진행 중 플래그: true이면 쓰기 완료 대기 중 */ bool fds_flag_write = false; -/* A record containing dummy configuration data. */ + +/* FDS에 기록할 레코드 템플릿 (m_config 데이터를 가리킴) */ static fds_record_t const m_dummy_record = { .file_id = CONFIG_FILE, @@ -54,9 +90,16 @@ static fds_record_t const m_dummy_record = }; -int8_t reset_status_dflt = 99; -uint8_t static_passkey_dflt[6] = "123456"; +/* 기본 설정값 상수 */ +int8_t reset_status_dflt = 99; /* 리셋 상태 기본값 */ +uint8_t static_passkey_dflt[6] = "123456"; /* BLE 패스키 기본값 */ +/** + * @brief 기본 설정값 초기화 + * + * m_config 구조체의 각 필드를 공장 초기값으로 설정한다. + * 플래시에 유효한 설정이 없거나 매직 넘버가 불일치할 때 호출된다. + */ void fds_default_value_set(void) { /* HW Number - empty (set via BLE command) */ @@ -84,8 +127,19 @@ void fds_default_value_set(void) } +/* 마지막 FDS 이벤트 ID 저장 (디버깅용) */ static volatile uint8_t fds_last_evt = 0xFF; +/** + * @brief FDS 이벤트 콜백 핸들러 + * + * FDS 내부에서 비동기 작업이 완료될 때 호출된다. + * - FDS_EVT_INIT : FDS 초기화 완료 → m_fds_initialized 플래그 설정 + * - FDS_EVT_WRITE : 새 레코드 쓰기 완료 → fds_flag_write 해제 + * - FDS_EVT_UPDATE : 레코드 업데이트 완료 → fds_flag_write 해제 후 + * 대기 중인 전원 OFF / 슬립 진입 / 시스템 리셋 수행 + * - FDS_EVT_DEL_RECORD / FDS_EVT_DEL_FILE / FDS_EVT_GC : 현재 미사용 + */ static void fds_evt_handler( fds_evt_t const *p_evt ) { fds_last_evt = p_evt->id; @@ -140,7 +194,13 @@ static void fds_evt_handler( fds_evt_t const *p_evt ) } -/**@brief Wait for fds to initialize. */ +/** + * @brief FDS 초기화 완료 대기 + * + * m_fds_initialized 플래그가 true가 될 때까지 대기한다. + * 최대 3초(3000ms) 타임아웃이 설정되어 있으며, + * 타임아웃 시 에러 로그를 출력하고 반환한다. + */ static void wait_for_fds_ready( void ) { uint32_t timeout = 0; @@ -157,6 +217,20 @@ static void wait_for_fds_ready( void ) } +/** + * @brief FDS에서 설정 로드 + * + * 플래시에서 CONFIG_FILE/CONFIG_REC_KEY 레코드를 검색하여 m_config에 로드한다. + * + * 동작 흐름: + * 1. fds_record_find()로 레코드 검색 (실패 시 최대 10회 재시도, 100ms 간격) + * 2. 레코드 발견 시: + * - fds_record_open()으로 열기 (CRC 에러 시 삭제 후 기본값으로 재생성) + * - 데이터를 m_config로 복사 + * - 매직 넘버 불일치 시 기존 레코드 삭제 → 기본값 설정 → 재기록 + * 3. 레코드 미발견 시: + * - 기본값으로 새 레코드 생성 후 다시 로드 + */ void config_load( void ) { ret_code_t rc; @@ -264,6 +338,21 @@ void config_load( void ) } +/** + * @brief 현재 설정을 FDS에 저장 + * + * m_config의 내용을 플래시에 기록한다. + * + * 동작 흐름: + * 1. 이전 FDS 쓰기 작업이 진행 중이면 최대 3초 대기 + * 2. 매직 넘버가 올바르지 않으면 보정 + * 3. 기존 레코드가 있으면 fds_record_update()로 갱신 + * - 플래시 공간 부족 시 GC(가비지 컬렉션) 수행 후 재시도 + * 4. 기존 레코드가 없으면 fds_record_write()로 새로 생성 + * + * 참고: 쓰기 완료는 fds_evt_handler()에서 비동기로 처리되며, + * 완료 후 전원 OFF/슬립/리셋 등의 후처리가 수행될 수 있다. + */ void config_save( void ) { ret_code_t rc; @@ -334,11 +423,25 @@ void config_save( void ) } +/** + * @brief config_load()의 래퍼 함수 + * + * 외부 모듈에서 설정 로드를 요청할 때 사용한다. + */ void fs_set_value(void) { config_load(); } +/** + * @brief FDS 초기화 + * + * 부팅 시 호출되어 FDS 모듈을 초기화한다. + * 1. fds_register()로 이벤트 핸들러 등록 + * 2. fds_init()로 FDS 초기화 시작 + * 3. wait_for_fds_ready()로 초기화 완료 대기 (최대 3초) + * 4. fds_stat()로 플래시 상태 확인 + */ void fs_storage_init(void) { ret_code_t rc; diff --git a/project/ble_peripheral/ble_app_bladder_patch/fstorage.h b/project/ble_peripheral/ble_app_bladder_patch/fstorage.h index e5b8129..a4d27f0 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/fstorage.h +++ b/project/ble_peripheral/ble_app_bladder_patch/fstorage.h @@ -3,7 +3,29 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief FDS(Flash Data Storage) 기반 설정 저장 모듈 인터페이스 + ******************************************************************************* + * + * [헤더 개요] + * nRF52840 내장 플래시에 디바이스 설정을 저장/로드하는 FDS 모듈의 공용 API. + * 외부 EEPROM을 대체하며, SoftDevice와 공존하여 플래시를 안전하게 관리한다. + * + * [config_data_t 구조체] (45바이트, 패킹됨) + * magic_number(4B): 포맷 확인용 (0x20231226) + * hw_no(12B): 하드웨어 번호 + * serial_no(12B): 시리얼 번호 (BLE 디바이스 이름으로도 사용) + * static_passkey(6B): BLE 페어링 패스키 (숫자 6자리) + * bond_data_delete(1B): 본딩 삭제 플래그 + * reset_status(1B): 리셋 상태 코드 + * pd_adc_cnt(1B): ADC 샘플링 횟수 + * pd_delay_us(2B): PD 안정화 딜레이 (마이크로초) + * life_cycle(4B): 디바이스 사용 횟수 + * + * [주요 API] + * fs_storage_init(): FDS 초기화 (부트 시 1회) + * config_load(): FDS에서 설정 로드 (없으면 기본값 생성) + * config_save(): 현재 설정을 FDS에 저장 + * ******************************************************************************/ #ifndef IHP_FSTORAGE_H_ diff --git a/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.c b/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.c index fc79152..e82794d 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.c +++ b/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.c @@ -1,6 +1,28 @@ /******************************************************************************* * @file i2c_manager.c * @brief Reliable HW↔SW I2C Switching Logic (with Mode Set Logging) + ******************************************************************************* + * + * [모듈 개요] + * I2C 버스의 HW(하드웨어 TWI) / SW(소프트웨어 비트뱅) 모드 전환을 관리하는 모듈. + * + * - HW I2C: nRF52840 내장 TWI 하드웨어 주변장치를 사용 (ICM42670P IMU 센서 통신용, 400kHz) + * - SW I2C: GPIO 비트뱅 방식의 소프트웨어 I2C (현재 사용하지 않는 레거시 코드) + * + * [핀 설정] + * SCL = P1.14 (ICM42670_I2C_SCL_PIN) + * SDA = P1.15 (ICM42670_I2C_SDA_PIN) + * + * [주요 함수] + * hw_i2c_init_once() : SW→HW 전환 또는 HW 초기화 (이미 HW 모드면 중복 초기화 방지) + * sw_i2c_init_once() : HW→SW 전환 (TWI 해제 후 SW 모드 진입, 레거시) + * i2c_reset_state() : 모든 I2C 모드 플래그를 초기화 (HW/SW 모두 false) + * + * [동작 원리] + * HW_I2C_FRQ, SW_I2C_FRQ 두 개의 bool 플래그로 현재 모드를 추적하며, + * 한 번에 하나의 모드만 활성화되도록 상호 배제(mutex) 방식으로 관리한다. + * 모드 전환 시 기존 모드의 리소스를 먼저 해제한 후 새 모드를 초기화한다. + * ******************************************************************************/ #include "i2c_manager.h" @@ -12,40 +34,52 @@ #include "boards.h" #include "system_interface.h" -bool HW_I2C_FRQ = true; -bool SW_I2C_FRQ = false; +/* 현재 I2C 모드 상태 플래그 (true = 해당 모드 활성화) */ +bool HW_I2C_FRQ = true; /* HW TWI 모드 활성 여부 (기본값: true, 초기 상태는 HW) */ +bool SW_I2C_FRQ = false; /* SW 비트뱅 모드 활성 여부 */ +/* TWI 인스턴스 번호 (nRF52840은 TWI0, TWI1 두 개 지원) */ #define TWI_INSTANCE 0 /* TWI (I2C) 하드웨어 인스턴스 : IMU 드라이버에서 사용 - jhChun 26.03.16 */ const nrfx_twi_t m_twi = NRFX_TWI_INSTANCE(TWI_INSTANCE); /* TWI (I2C) 해제 - jhChun 26.03.16 */ +/* TWI 하드웨어를 비활성화하고 초기화 해제하여 GPIO 핀을 반환한다 */ static void twi_uninitialize(void){ - nrfx_twi_disable(&m_twi); - nrfx_twi_uninit(&m_twi); + nrfx_twi_disable(&m_twi); /* TWI 주변장치 비활성화 */ + nrfx_twi_uninit(&m_twi); /* TWI 초기화 해제 (핀 리소스 반환) */ } /* TWI (I2C) 하드웨어 초기화 (SCL/SDA핀, 400kHz) - jhChun 26.03.16 */ +/* SCL, SDA 핀을 설정하고 400kHz Fast Mode로 TWI를 초기화 및 활성화한다 */ static void twi_initialize(void){ ret_code_t err_code; + /* TWI 설정 구조체: 핀 번호, 클럭 속도, 인터럽트 우선순위 지정 */ const nrfx_twi_config_t twi_config = { - .scl = ICM42670_I2C_SCL_PIN, - .sda = ICM42670_I2C_SDA_PIN, - .frequency = NRF_TWI_FREQ_400K, - .interrupt_priority = APP_IRQ_PRIORITY_HIGH, + .scl = ICM42670_I2C_SCL_PIN, /* SCL 핀 (P1.14) */ + .sda = ICM42670_I2C_SDA_PIN, /* SDA 핀 (P1.15) */ + .frequency = NRF_TWI_FREQ_400K, /* 400kHz Fast Mode */ + .interrupt_priority = APP_IRQ_PRIORITY_HIGH, /* 높은 인터럽트 우선순위 */ }; + /* TWI 초기화 (이벤트 핸들러 NULL = 블로킹 모드) */ err_code = nrfx_twi_init(&m_twi, &twi_config, NULL, NULL); APP_ERROR_CHECK(err_code); - nrfx_twi_enable(&m_twi); + nrfx_twi_enable(&m_twi); /* TWI 주변장치 활성화 → I2C 통신 가능 */ } /* -------------------------------------------------------------------------- */ /* HW (TWI) 초기화 */ /* -------------------------------------------------------------------------- */ +/* + * HW I2C 모드로 전환하거나 초기화하는 함수. + * - SW 모드가 활성화되어 있으면 SW 플래그를 해제하고 HW로 전환 + * - 이미 HW 모드이면 중복 초기화를 방지하여 바로 리턴 + * - 최초 HW 초기화 시 twi_initialize()를 호출하여 TWI 하드웨어 설정 + */ void hw_i2c_init_once(void) { // SW 모드일 경우 강제 해제 후 HW 전환 @@ -55,9 +89,10 @@ void hw_i2c_init_once(void) // SW 리소스 해제 (필요 시 추가) SW_I2C_FRQ = false; - nrf_delay_ms(2); + nrf_delay_ms(2); /* 모드 전환 안정화 대기 (2ms) */ } + /* 이미 HW 모드가 활성화되어 있으면 중복 초기화 방지를 위해 즉시 리턴 */ // 이미 HW면 스킵 if (HW_I2C_FRQ) { @@ -65,10 +100,12 @@ void hw_i2c_init_once(void) return; } + /* HW TWI 하드웨어 초기화 수행 (SCL/SDA 핀 설정, 400kHz, 활성화) */ // 실제 HW 초기화 twi_initialize(); - nrf_delay_ms(2); + nrf_delay_ms(2); /* 초기화 후 안정화 대기 (2ms) */ + /* 모드 플래그 갱신: HW 활성, SW 비활성 */ HW_I2C_FRQ = true; SW_I2C_FRQ = false; @@ -78,6 +115,12 @@ void hw_i2c_init_once(void) /* -------------------------------------------------------------------------- */ /* SW (Port Bang-Bang) 초기화 */ /* -------------------------------------------------------------------------- */ +/* + * SW I2C(비트뱅) 모드로 전환하는 함수. (현재 레거시, 사용하지 않음) + * - HW 모드가 활성화되어 있으면 TWI를 해제하고 SW로 전환 + * - 이미 SW 모드이면 중복 초기화를 방지하여 바로 리턴 + * - power_control.c의 power_loop()에서 Step 0에서 호출됨 + */ void sw_i2c_init_once(void) { // HW 모드일 경우 강제 해제 후 SW 전환 @@ -85,9 +128,9 @@ void sw_i2c_init_once(void) { //DBG_PRINTF("[I2C]HW→SW\r\n"); - nrfx_twi_disable(&m_twi); - nrfx_twi_uninit(&m_twi); - nrf_delay_ms(2); + nrfx_twi_disable(&m_twi); /* TWI 비활성화 */ + nrfx_twi_uninit(&m_twi); /* TWI 초기화 해제 */ + nrf_delay_ms(2); /* 모드 전환 안정화 대기 (2ms) */ HW_I2C_FRQ = false; } @@ -99,10 +142,12 @@ void sw_i2c_init_once(void) return; } + /* TWI 라인 완전 해제 후 SW 비트뱅 모드 진입 */ // 실제 SW 초기화 twi_uninitialize(); // TWI 라인 해제 - nrf_delay_ms(1); + nrf_delay_ms(1); /* 해제 후 안정화 대기 (1ms) */ + /* 모드 플래그 갱신: SW 활성, HW 비활성 */ SW_I2C_FRQ = true; HW_I2C_FRQ = false; @@ -112,9 +157,14 @@ void sw_i2c_init_once(void) /* -------------------------------------------------------------------------- */ /* 전체 리셋 */ /* -------------------------------------------------------------------------- */ +/* + * 모든 I2C 모드 플래그를 초기화하는 함수. + * HW/SW 모두 비활성 상태로 만들어, 다음 init 호출 시 강제로 재초기화되도록 한다. + * 주로 시스템 리셋이나 에러 복구 시 사용. + */ void i2c_reset_state(void) { - HW_I2C_FRQ = false; - SW_I2C_FRQ = false; + HW_I2C_FRQ = false; /* HW 모드 플래그 초기화 */ + SW_I2C_FRQ = false; /* SW 모드 플래그 초기화 */ DBG_PRINTF("Flags reset\r\n"); } diff --git a/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.h b/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.h index c913b33..5100725 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.h +++ b/project/ble_peripheral/ble_app_bladder_patch/i2c_manager.h @@ -1,6 +1,16 @@ /******************************************************************************* * @file i2c_manager.h * @brief Common header for HW/SW I2C mutex control + ******************************************************************************* + * + * [헤더 개요] + * I2C 버스 HW/SW 모드 전환 관리자의 공용 인터페이스 헤더. + * + * - HW_I2C_FRQ: HW TWI 모드 활성 여부 (true = HW I2C 사용 중) + * - SW_I2C_FRQ: SW 비트뱅 모드 활성 여부 (true = SW I2C 사용 중) + * + * 두 플래그는 상호 배제적으로 동작하며, 동시에 true가 되지 않도록 관리된다. + * ******************************************************************************/ #ifndef __I2C_MANAGER_H__ #define __I2C_MANAGER_H__ @@ -8,11 +18,33 @@ #include #include "app_error.h" -extern bool HW_I2C_FRQ; -extern bool SW_I2C_FRQ; +/* I2C 모드 상태 플래그 (외부 참조용) */ +extern bool HW_I2C_FRQ; /* HW TWI 모드 활성 여부 */ +extern bool SW_I2C_FRQ; /* SW 비트뱅 모드 활성 여부 */ +/** + * @brief HW I2C(TWI) 모드 초기화 (중복 초기화 방지) + * + * SW 모드가 활성화되어 있으면 해제 후 HW로 전환한다. + * 이미 HW 모드이면 아무 동작 없이 리턴한다. + * ICM42670P IMU 센서 통신 전에 호출하여 HW I2C를 준비한다. + */ void hw_i2c_init_once(void); + +/** + * @brief SW I2C(비트뱅) 모드 초기화 (레거시, 현재 미사용) + * + * HW 모드가 활성화되어 있으면 TWI를 해제한 후 SW로 전환한다. + * 이미 SW 모드이면 아무 동작 없이 리턴한다. + */ void sw_i2c_init_once(void); + +/** + * @brief I2C 모드 플래그 전체 초기화 + * + * HW_I2C_FRQ, SW_I2C_FRQ를 모두 false로 리셋한다. + * 다음 init 호출 시 강제로 재초기화가 수행된다. + */ void i2c_reset_state(void); #endif diff --git a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw.h b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw.h index 956f1cd..3e4dc9e 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw.h +++ b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw.h @@ -3,7 +3,20 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [헤더 개요] ICM42670P IMU 드라이버 상위 레이어 선언 + * + * IMU 센서의 초기화, 설정, 데이터 읽기를 위한 함수 프로토타입과 + * 동작 모드 설정 매크로를 정의한다. + * + * 주요 설정 매크로: + * SERIF_TYPE - 통신 인터페이스 (UI_I2C) + * USE_LOW_NOISE_MODE - 1:저잡음(800Hz), 0:저전력(100Hz) + * USE_HIGH_RES_MODE - 1:20비트 고해상도, 0:16비트 표준 + * USE_FIFO - 1:FIFO 사용, 0:레지스터 직접 읽기 ******************************************************************************/ #ifndef _APP_RAW_H_ @@ -16,64 +29,71 @@ #include "inv_imu_driver.h" -/*** Example configuration ***/ +/*** 설정 매크로 ***/ -/* - * Select communication link between SmartMotion and IMU +/* + * MCU와 IMU 간 통신 인터페이스 선택 + * UI_I2C: I2C 통신 사용 (기본) */ #define SERIF_TYPE UI_I2C /* - * Set power mode flag - * Set this flag to run example in low-noise mode. - * Reset this flag to run example in low-power mode. - * Note: low-noise mode is not available with sensor data frequencies less than 12.5Hz. + * 전원 모드 설정 + * 1: 저잡음 모드 — 800Hz ODR, 높은 정밀도, 높은 전력 소모 + * 0: 저전력 모드 — 100Hz ODR, 낮은 전력 소모 + * 주의: 12.5Hz 미만 ODR에서는 저잡음 모드 사용 불가 */ #define USE_LOW_NOISE_MODE 1 /* - * Select Fifo resolution Mode (default is low resolution mode) - * Low resolution mode: 16 bits data format - * High resolution mode: 20 bits data format - * Warning: Enabling High Res mode will force FSR to 16g and 2000dps + * FIFO 해상도 모드 선택 + * 0: 저해상도 — 16비트 데이터 (기본) + * 1: 고해상도 — 20비트 데이터 (FSR이 16g/2000dps로 강제 고정됨) */ #define USE_HIGH_RES_MODE 0 /* - * Select to use FIFO or to read data from registers + * 데이터 읽기 방식 선택 + * 0: 레지스터 직접 읽기 (현재 사용 중) + * 1: FIFO에서 읽기 */ #define USE_FIFO 0 /** - * \brief This function is in charge of reseting and initializing IMU device. It should - * be successfully executed before any access to IMU device. + * \brief IMU 디바이스를 리셋하고 초기화한다. WHOAMI 확인 포함. + * 다른 IMU 접근 함수 호출 전에 반드시 성공적으로 실행되어야 한다. * - * \return 0 on success, negative value on error. + * \return 0=성공, 음수=에러 */ int setup_imu_device(struct inv_imu_serif *icm_serif); /** - * \brief This function configures the device in order to output gyro and accelerometer. - * \return 0 on success, negative value on error. + * \brief 자이로 및 가속도계 출력을 위한 디바이스 설정을 수행한다. + * FSR, ODR, 전원 모드, FIFO 설정 등을 적용한다. + * \return 0=성공, 음수=에러 */ int configure_imu_device(void); /** - * \brief This function extracts data from the IMU FIFO. - * \return 0 on success, negative value on error. + * \brief FIFO 또는 레지스터에서 IMU 데이터를 추출한다. + * 내부적으로 imu_callback()이 호출되어 데이터를 처리한다. + * \return 0=성공, 음수=에러 */ int get_imu_data(void); /** - * \brief This function is the custom handling packet function. - * \param[in] event structure containing sensor data from one packet + * \brief 센서 데이터 수신 콜백. 마운팅 매트릭스 적용 후 + * info4/BLE/UART 모드에 따라 데이터를 출력한다. + * \param[in] event 하나의 센서 데이터 패킷을 담은 구조체 */ void imu_callback(inv_imu_sensor_event_t *event); /** - * \brief Direct IMU register read — bypasses DRDY, sends rsp: via BLE. - * \return 0 on success, negative value on error. + * \brief 드라이버 API를 우회한 직접 I2C 레지스터 읽기. + * DRDY 인터럽트 없이 즉시 센서 데이터를 읽어 BLE로 전송한다. + * 읽기 후 IMU를 슬립 모드로 전환하여 전력을 절감한다. + * \return 0=성공, 음수=에러 */ int imu_read_direct(void); diff --git a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw_main.h b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw_main.h index a0c2183..b7127be 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw_main.h +++ b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/app_raw/app_raw_main.h @@ -3,16 +3,29 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [헤더 개요] ICM42670P 메인 초기화/폴링 루프 선언 + * + * ICM42670P IMU 센서의 전체 초기화 및 메인 루프 함수를 선언한다. + * - icm42670_init() : 전체 초기화 (MCU설정 → IMU초기화 → 센서설정 → 인터럽트 활성화) + * - icm42670_main() : 메인 폴링 루프 (INT1 인터럽트 확인 → 데이터 읽기) + * - icm42670_uninit() : 해제 (프로토타입만 선언, 구현은 별도) ******************************************************************************/ #ifndef _APP_RAW_MAIN_H_ #define _APP_RAW_MAIN_H_ #include "sdk_config.h" +/* ICM42670P 전체 초기화 — MCU I2C 설정 → IMU 드라이버 초기화 → 센서 설정 → 인터럽트 활성화 */ int icm42670_init(void); + +/* ICM42670P 메인 폴링 루프 — INT1 인터럽트 플래그 확인 후 센서 데이터 읽기 */ void icm42670_main(void); + +/* ICM42670P 해제 (프로토타입 선언) */ int icm42670_uninit(void); #endif /* !_APP_RAW_MAIN_H_ */ - diff --git a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.c b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.c index 2500960..0cec044 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.c +++ b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.c @@ -3,7 +3,29 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [모듈 개요] ICM42670P IMU 센서 I2C 통신 인터페이스 + * + * nRF52840의 TWI(I2C) 하드웨어를 사용하여 ICM42670P IMU 센서와 통신하는 + * 저수준 인터페이스 모듈이다. + * + * - I2C 슬레이브 주소: 0x68 (ICM42670P 기본 주소) + * - I2C 핀 설정: SCL=P1.14, SDA=P1.15 (system_interface.h에서 정의) + * - TWI 인스턴스: NRFX_TWI_INSTANCE(0) 사용 + * - 통신 속도: 100kHz (NRF_TWI_FREQ_100K) + * + * 주요 함수 흐름: + * inv_io_hal_init() → I2C 또는 SPI 초기화 (현재 I2C만 구현) + * inv_io_hal_read_reg() → 레지스터 읽기 (TX로 주소 전송 → RX로 데이터 수신) + * inv_io_hal_write_reg() → 레지스터 쓰기 (주소+데이터를 한번에 TX) + * + * 에러 처리: 모든 I2C 읽기/쓰기에서 실패 시 1회 재시도 후 에러 출력 + * + * 참고: SPI4 인터페이스 코드 경로도 존재하지만 현재 미구현 상태이며, + * 실제 운용에서는 I2C(UI_I2C)만 사용한다. ******************************************************************************/ /* board driver */ @@ -21,18 +43,31 @@ #include "system_interface.h" #include "nrf_delay.h" -/* I2C number and slave address for INV device */ +/* ICM42670P I2C 슬레이브 주소 및 직렬 쓰기 최대 바이트 수 */ #define ICM_I2C_ADDR 0x68 #define INV_MAX_SERIAL_WRITE 16 -/* TWI instance. */ +/* TWI(I2C) 인스턴스 생성 — system_interface.h의 ICM42670_I2C_INSTANCE(0)을 사용 */ const nrfx_twi_t m_twi_icm42670 = NRFX_TWI_INSTANCE(ICM42670_I2C_INSTANCE); +/* + * inv_i2c_master_uninitialize() + * I2C 버스를 비활성화하고 TWI 인스턴스를 해제한다. + * 슬립 모드 진입 전 또는 재초기화 전에 호출된다. + */ void inv_i2c_master_uninitialize(void){ nrfx_twi_disable(&m_twi_icm42670); nrfx_twi_uninit(&m_twi_icm42670); } +/* + * inv_i2c_master_initialize() + * nRF52840 TWI 하드웨어를 초기화하고 활성화한다. + * - SCL: P1.14, SDA: P1.15 + * - 속도: 100kHz + * - 인터럽트 우선순위: 최고 (APP_IRQ_PRIORITY_HIGH) + * - 이벤트 핸들러 없음 (블로킹 모드로 동작) + */ void inv_i2c_master_initialize(void){ ret_code_t err_code; @@ -43,50 +78,75 @@ void inv_i2c_master_initialize(void){ .interrupt_priority = APP_IRQ_PRIORITY_HIGH, }; + /* TWI 드라이버 초기화 (이벤트 핸들러=NULL → 블로킹 모드) */ err_code = nrfx_twi_init(&m_twi_icm42670, &twi_icm42670_config, NULL, NULL); APP_ERROR_CHECK(err_code); + /* TWI 하드웨어 활성화 — 이후 tx/rx 가능 */ nrfx_twi_enable(&m_twi_icm42670); } +/* + * icm42670_twi_tx() + * I2C 전송 래퍼 함수. nrfx_twi_tx를 호출하여 데이터를 송신한다. + * no_stop=true이면 STOP 컨디션을 보내지 않음 (Repeated START를 위해 사용) + */ uint32_t icm42670_twi_tx( uint8_t device_id, uint8_t const * p_data, uint8_t length, bool no_stop) { - ret_code_t ret; - ret = nrfx_twi_tx(&m_twi_icm42670, device_id, p_data, length, no_stop); + ret_code_t ret; + ret = nrfx_twi_tx(&m_twi_icm42670, device_id, p_data, length, no_stop); return ret; } +/* + * icm42670_twi_rx() + * I2C 수신 래퍼 함수. nrfx_twi_rx를 호출하여 데이터를 수신한다. + */ uint32_t icm42670_twi_rx( uint8_t device_id, uint8_t * p_data, uint8_t length) { - ret_code_t ret; + ret_code_t ret; ret = nrfx_twi_rx(&m_twi_icm42670, device_id, p_data, length); return ret; } +/* + * inv_i2c_master_read_register() + * ICM42670P의 특정 레지스터에서 데이터를 읽는다. + * + * 동작 순서: + * 1) TX: 레지스터 주소 1바이트 전송 (no_stop=true → Repeated START 준비) + * 2) RX: 지정된 길이만큼 데이터 수신 + * + * 에러 처리: TX, RX 각각 실패 시 1회 재시도한다. + */ static unsigned long inv_i2c_master_read_register(unsigned char Address, unsigned char RegisterAddr, unsigned short RegisterLen, unsigned char *RegisterValue){ //ret_code_t ret; uint32_t ret; uint8_t addr8 = (uint8_t)RegisterAddr; + /* 1단계: 읽을 레지스터 주소를 전송 (STOP 없이 → Repeated START 사용) */ ret = icm42670_twi_tx(Address, &addr8, 1, true); if(ret != NRF_SUCCESS) { + /* 실패 시 1회 재시도 */ ret = icm42670_twi_tx(Address, &addr8, 1, true); if(ret != NRF_SUCCESS) { printf("ERR! i2c read-1\r\n"); } } - ret = icm42670_twi_rx(Address, RegisterValue, RegisterLen); + /* 2단계: 해당 레지스터에서 데이터 수신 */ + ret = icm42670_twi_rx(Address, RegisterValue, RegisterLen); if(ret != NRF_SUCCESS) { - ret = icm42670_twi_rx(Address, RegisterValue, RegisterLen); + /* 실패 시 1회 재시도 */ + ret = icm42670_twi_rx(Address, RegisterValue, RegisterLen); if(ret != NRF_SUCCESS) { printf("ERR! i2c read-2\r\n"); } @@ -95,14 +155,28 @@ static unsigned long inv_i2c_master_read_register(unsigned char Address, unsigne return ret; } +/* + * inv_i2c_master_write_register() + * ICM42670P의 특정 레지스터에 데이터를 쓴다. + * + * 동작 순서: + * 1) 버퍼[0]에 레지스터 주소, 버퍼[1~N]에 쓸 데이터를 배치 + * 2) TX: 주소+데이터를 한번에 전송 (no_stop=false → STOP 컨디션 포함) + * + * 에러 처리: 실패 시 1회 재시도한다. + */ static unsigned long inv_i2c_master_write_register(unsigned char Address, unsigned char RegisterAddr, unsigned short RegisterLen, const unsigned char *RegisterValue){ uint32_t ret; - uint8_t buffer[1 + INV_MAX_SERIAL_WRITE]; /* Addr + data */ + uint8_t buffer[1 + INV_MAX_SERIAL_WRITE]; /* 레지스터 주소(1) + 데이터(최대 16바이트) */ + /* 버퍼 구성: [레지스터 주소][데이터 바이트들] */ buffer[0] = (uint8_t)RegisterAddr; memcpy(buffer+1, RegisterValue, RegisterLen); + + /* 주소+데이터를 한번에 전송 */ ret = icm42670_twi_tx(Address, buffer, RegisterLen+1, false); if(ret != NRF_SUCCESS) { + /* 실패 시 1회 재시도 */ ret = icm42670_twi_tx(Address, buffer, RegisterLen+1, false); if(ret != NRF_SUCCESS) { printf("ERR! i2c write\r\n"); @@ -114,7 +188,12 @@ static unsigned long inv_i2c_master_write_register(unsigned char Address, unsign - +/* + * inv_io_hal_init() + * IMU 드라이버가 사용하는 시리얼 인터페이스(I2C 또는 SPI)를 초기화한다. + * serif->serif_type에 따라 분기하며, 현재는 I2C만 구현되어 있다. + * 반환값: 0=성공, -1=지원하지 않는 인터페이스 타입 + */ int inv_io_hal_init(struct inv_imu_serif *serif) { @@ -122,13 +201,14 @@ int inv_io_hal_init(struct inv_imu_serif *serif) switch (serif->serif_type) { case UI_SPI4: { + /* SPI4 초기화 — 현재 미구현 (I2C만 사용) */ break; } case UI_I2C: inv_i2c_master_initialize(); break; - + default: return -1; } @@ -137,12 +217,17 @@ int inv_io_hal_init(struct inv_imu_serif *serif) } +/* + * inv_io_hal_read_reg() + * IMU 드라이버 콜백: 지정된 레지스터에서 데이터를 읽는다. + * 시리얼 타입에 따라 I2C 또는 SPI 읽기를 수행한다. + */ int inv_io_hal_read_reg(struct inv_imu_serif *serif, uint8_t reg, uint8_t * rbuffer, uint32_t rlen) { switch (serif->serif_type) { case UI_SPI4: return 0; - + case UI_I2C: return inv_i2c_master_read_register(ICM_I2C_ADDR, reg, rlen, rbuffer); @@ -151,12 +236,17 @@ int inv_io_hal_read_reg(struct inv_imu_serif *serif, uint8_t reg, uint8_t * rbuf } } +/* + * inv_io_hal_write_reg() + * IMU 드라이버 콜백: 지정된 레지스터에 데이터를 쓴다. + * 시리얼 타입에 따라 I2C 또는 SPI 쓰기를 수행한다. + */ int inv_io_hal_write_reg(struct inv_imu_serif *serif, uint8_t reg, const uint8_t * wbuffer, uint32_t wlen) { switch (serif->serif_type) { case UI_SPI4: return 0; - + case UI_I2C: return inv_i2c_master_write_register(ICM_I2C_ADDR, reg, wlen, wbuffer); @@ -164,20 +254,30 @@ int inv_io_hal_write_reg(struct inv_imu_serif *serif, uint8_t reg, const uint8_t return -1; } } + +/* + * cat_read() + * 범용 I2C 읽기 함수 (디버그/레거시용). + * 8바이트를 읽어 첫 번째 바이트를 반환하고, 읽은 데이터를 콘솔에 출력한다. + * 참고: 현재 실제 운용에서는 사용되지 않으며, 디버그 목적으로 남아 있다. + */ uint8_t cat_read(uint8_t device_id, uint8_t address, uint8_t *data) { - + uint8_t read_data = 0; char adata[8]; ret_code_t err_code; //address = 1|(address<<1); address = (address & 0xFF); + + /* 레지스터 주소 전송 (STOP 없이, Repeated START 준비) */ err_code = nrfx_twi_tx(&m_twi_icm42670, device_id, &address, 1, true); if (err_code != NRF_SUCCESS) { // Handle error // return; } + /* 8바이트 데이터 수신 */ err_code = nrfx_twi_rx(&m_twi_icm42670, device_id, data, 8); if (err_code != NRF_SUCCESS) { // Handle error @@ -187,41 +287,48 @@ uint8_t cat_read(uint8_t device_id, uint8_t address, uint8_t *data) memcpy(adata,data,8); printf("Data %s . \r\n", adata); return read_data; - - - - - + + + + + } +/* + * cat_write() + * 범용 I2C 쓰기 함수 (디버그/레거시용). + * 주소 1바이트 + 데이터 1바이트를 전송한다. + * 참고: buffer에 6바이트를 복사하지만, 실제 전송은 2바이트만 수행한다. + */ void cat_write(uint8_t device_id, uint8_t address, uint8_t *data){ - + uint8_t buffer[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00}; - + address = (address & 0xFF); - + buffer[0] = (address); //buffer[1] =(data & 0xFF); memcpy(buffer+1,data,6); ret_code_t err_code; //err_code = nrf_drv_twi_tx(&m_twi_ir, device_id, 0x00, 1, false); + + /* 주소(1바이트) + 데이터(1바이트) = 2바이트 전송 */ err_code = nrfx_twi_tx(&m_twi_icm42670, device_id, buffer, 2, false); // err_code = nrf_drv_twi_tx(&m_twi_ir, device_id, buffer, 2, false); // nrfx_twi_rx(&m_twi_icm42670, device_id, p_data, length); -// nrfx_twi_tx(&m_twi_icm42670, device_id, p_data, length, no_stop); +// nrfx_twi_tx(&m_twi_icm42670, device_id, p_data, length, no_stop); printf("Data %x %x %x %x. \r\n", buffer[0], buffer[1], buffer[2], buffer[3]); - + //err_code = nrf_drv_twi_tx(&m_twi_ir, device_id, buffer, 6, false); if (err_code != NRF_SUCCESS) { - + printf("TWI Error."); - + } - + } - diff --git a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.h b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.h index 76ae19f..b98505b 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.h +++ b/project/ble_peripheral/ble_app_bladder_patch/icm42670p/system_interface.h @@ -3,7 +3,22 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [헤더 개요] ICM42670P I2C 통신 인터페이스 선언 + * + * nRF52840 TWI 하드웨어를 통해 ICM42670P IMU 센서와 통신하기 위한 + * 핀 정의, 함수 프로토타입을 선언한다. + * + * 핀 배치: + * - I2C SCL : P1.14 + * - I2C SDA : P1.15 + * - INT1 : P1.13 (데이터 준비 인터럽트) + * - INT2 : P0.26 (보조 인터럽트, 현재 미사용) + * + * TWI 인스턴스: 0번 사용 ******************************************************************************/ #ifndef _SYSTEM_INTERFACE_H_ @@ -17,25 +32,42 @@ #endif -#define ICM42670_I2C_INSTANCE 0 /**< I2C instance index. */ -#define ICM42670_I2C_SDA_PIN NRF_GPIO_PIN_MAP(1,15) -#define ICM42670_I2C_SCL_PIN NRF_GPIO_PIN_MAP(1,14) -#define ICM42670_INT1_PIN NRF_GPIO_PIN_MAP(1,13) -#define ICM42670_INT2_PIN NRF_GPIO_PIN_MAP(0,26) +#define ICM42670_I2C_INSTANCE 0 /**< I2C(TWI) 인스턴스 인덱스 */ +#define ICM42670_I2C_SDA_PIN NRF_GPIO_PIN_MAP(1,15) /**< SDA 핀: P1.15 */ +#define ICM42670_I2C_SCL_PIN NRF_GPIO_PIN_MAP(1,14) /**< SCL 핀: P1.14 */ +#define ICM42670_INT1_PIN NRF_GPIO_PIN_MAP(1,13) /**< INT1 핀: P1.13 (데이터 준비 인터럽트) */ +#define ICM42670_INT2_PIN NRF_GPIO_PIN_MAP(0,26) /**< INT2 핀: P0.26 (보조, 현재 미사용) */ + +/* I2C 전송 래퍼 — no_stop=true이면 Repeated START를 위해 STOP 컨디션 생략 */ uint32_t icm42670_twi_tx( uint8_t device_id, uint8_t const * p_data, uint8_t length, bool no_stop); + +/* I2C 수신 래퍼 */ uint32_t icm42670_twi_rx( uint8_t device_id, uint8_t * p_data, uint8_t length); + +/* 범용 I2C 읽기 (디버그/레거시용) — 8바이트를 읽어 첫 바이트 반환 */ uint8_t cat_read (uint8_t device_id, uint8_t address, uint8_t *data); -void cat_write (uint8_t device_id, uint8_t address, uint8_t *data); + +/* 범용 I2C 쓰기 (디버그/레거시용) — 주소+데이터 2바이트 전송 */ +void cat_write (uint8_t device_id, uint8_t address, uint8_t *data); + +/* I2C 하드웨어 해제 (슬립 또는 재초기화 전 호출) */ void inv_i2c_master_uninitialize(void); + +/* I2C 하드웨어 초기화 (100kHz, 블로킹 모드) */ void inv_i2c_master_initialize(void); + +/* IMU 드라이버용 시리얼 인터페이스 초기화 (I2C/SPI 분기) */ int inv_io_hal_init(struct inv_imu_serif *serif); + +/* IMU 드라이버 콜백: 레지스터 읽기 */ int inv_io_hal_read_reg(struct inv_imu_serif *serif, uint8_t reg, uint8_t * rbuffer, uint32_t rlen); + +/* IMU 드라이버 콜백: 레지스터 쓰기 */ int inv_io_hal_write_reg(struct inv_imu_serif *serif, uint8_t reg, const uint8_t * wbuffer, uint32_t wlen); #endif /* !_SYSTEM_INTERFACE_H_ */ - diff --git a/project/ble_peripheral/ble_app_bladder_patch/main.c b/project/ble_peripheral/ble_app_bladder_patch/main.c index 6670842..365b110 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/main.c +++ b/project/ble_peripheral/ble_app_bladder_patch/main.c @@ -608,11 +608,15 @@ static void nrf_qwr_error_handler(uint32_t nrf_error) extern bool maa_async_on_tx_ready(void); extern bool maa_async_is_busy(void); +/* 2026-03-17: BLE 콜백에서 블로킹 방지 — 명령을 버퍼에 저장 후 메인 루프에서 처리 */ +static volatile uint8_t pending_cmd_buf[BLE_NUS_MAX_DATA_LEN]; +static volatile uint8_t pending_cmd_len = 0; + /** * @brief NUS(Nordic UART Service) 데이터 수신 핸들러 * * BLE를 통해 스마트폰 앱에서 데이터를 수신했을 때 호출됨 - * - RX_DATA 이벤트: 수신된 명령을 received_command_process()로 전달 + * - RX_DATA 이벤트: 수신 데이터를 버퍼에 복사 (메인 루프에서 dr_cmd_parser 호출) * - TX_RDY 이벤트: BLE TX 버퍼에 공간이 생겼을 때 비동기 MAA 전송 계속 */ static void nus_data_handler(ble_nus_evt_t * p_evt) @@ -622,7 +626,12 @@ static void nus_data_handler(ble_nus_evt_t * p_evt) cmd_type_t = CMD_BLE; ble_got_new_data = true; DBG_PRINTF("[NUS] RX len=%d\r\n", p_evt->params.rx_data.length); - dr_cmd_parser(p_evt->params.rx_data.p_data, p_evt->params.rx_data.length); + + /* 콜백에서는 복사만 하고, 메인 루프에서 처리 */ + if (p_evt->params.rx_data.length <= BLE_NUS_MAX_DATA_LEN) { + memcpy((void *)pending_cmd_buf, p_evt->params.rx_data.p_data, p_evt->params.rx_data.length); + pending_cmd_len = p_evt->params.rx_data.length; + } } else if (p_evt->type == BLE_NUS_EVT_TX_RDY) { @@ -1771,6 +1780,13 @@ int main(void) // MAIN LOOP for (;;) { + /* BLE 콜백에서 수신된 명령이 있으면 여기서 처리 (블로킹 방지) */ + if (pending_cmd_len > 0) { + uint8_t len = pending_cmd_len; + pending_cmd_len = 0; + dr_cmd_parser((const uint8_t *)pending_cmd_buf, len); + } + idle_state_handle(); } } diff --git a/project/ble_peripheral/ble_app_bladder_patch/main_timer.h b/project/ble_peripheral/ble_app_bladder_patch/main_timer.h index 3029238..e0a7e21 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/main_timer.h +++ b/project/ble_peripheral/ble_app_bladder_patch/main_timer.h @@ -3,15 +3,35 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************* + * + * [헤더 개요] + * 메인 이벤트 루프 타이머의 공용 인터페이스 헤더. + * + * 10ms(일반) 또는 80ms(디테일) 간격의 싱글샷 타이머를 사용하여 + * main_loop() 콜백에서 센서 데이터 수집 및 시스템 제어를 수행한다. + * + * [주요 함수] + * main_timer_start() : 타이머 시작 (싱글샷, 수동 재시작 필요) + * main_timer_stop() : 타이머 정지 + * main_timer_init() : 타이머 초기화 (앱 시작 시 1회 호출) + * ******************************************************************************/ #ifndef TIMER_ROUTINE_H__ #define TIMER_ROUTINE_H__ +/** @brief 메인 루프 타이머 시작 (싱글샷, MAIN_LOOP_INTERVAL 후 main_loop 호출) */ void main_timer_start(void); + +/** @brief 지정된 간격(ms)으로 메인 루프 타이머 시작 */ +void main_timer_start_ms(uint32_t interval_ms); + +/** @brief 메인 루프 타이머 정지 */ void main_timer_stop(void); + +/** @brief 메인 루프 타이머 초기화 (앱 시작 시 1회, 싱글샷 모드로 생성) */ void main_timer_init(void); #endif //TIMER_ROUTINE_H__ - diff --git a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvoptx b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvoptx index 26232f3..cf05330 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvoptx +++ b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvoptx @@ -225,7 +225,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -241,7 +241,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -305,7 +305,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -321,7 +321,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -369,7 +369,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -385,7 +385,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -401,7 +401,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -417,7 +417,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -433,7 +433,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -449,7 +449,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -465,7 +465,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -481,7 +481,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -497,7 +497,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -513,7 +513,7 @@ 0 0 0 - ..\..\..\cmd_parse.c + C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c @@ -1207,30 +1207,6 @@ 1 8 - 1 - 0 - 0 - 0 - ..\..\..\cmd_parse.c - cmd_parse.c - 0 - 0 - - - 1 - 9 - 5 - 0 - 0 - 0 - ..\..\..\cmd_parse.h - cmd_parse.h - 0 - 0 - - - 1 - 10 5 0 0 @@ -1242,7 +1218,7 @@ 1 - 11 + 9 1 0 0 @@ -1254,7 +1230,7 @@ 1 - 12 + 10 5 0 0 @@ -1266,7 +1242,7 @@ 1 - 13 + 11 1 0 0 @@ -1278,7 +1254,7 @@ 1 - 14 + 12 5 0 0 @@ -1290,7 +1266,7 @@ 1 - 15 + 13 1 0 0 @@ -1302,7 +1278,7 @@ 1 - 16 + 14 1 0 0 @@ -1314,7 +1290,7 @@ 1 - 17 + 15 5 0 0 @@ -1326,7 +1302,7 @@ 1 - 18 + 16 1 0 0 @@ -1338,7 +1314,7 @@ 1 - 19 + 17 5 0 0 @@ -1350,7 +1326,7 @@ 1 - 20 + 18 1 0 0 @@ -1362,7 +1338,7 @@ 1 - 21 + 19 5 0 0 @@ -1374,7 +1350,7 @@ 1 - 22 + 20 1 0 0 @@ -1386,7 +1362,7 @@ 1 - 23 + 21 1 0 0 @@ -1398,7 +1374,7 @@ 1 - 24 + 22 5 0 0 @@ -1418,7 +1394,7 @@ 0 2 - 25 + 23 1 0 0 @@ -1438,7 +1414,7 @@ 0 3 - 26 + 24 1 0 0 @@ -1450,7 +1426,7 @@ 3 - 27 + 25 1 0 0 @@ -1470,7 +1446,7 @@ 0 4 - 28 + 26 1 0 0 @@ -1484,13 +1460,13 @@ nRF_BLE - 0 + 1 0 0 0 5 - 29 + 27 1 0 0 @@ -1502,7 +1478,7 @@ 5 - 30 + 28 1 0 0 @@ -1514,7 +1490,7 @@ 5 - 31 + 29 1 0 0 @@ -1526,7 +1502,7 @@ 5 - 32 + 30 1 0 0 @@ -1538,7 +1514,7 @@ 5 - 33 + 31 1 0 0 @@ -1550,7 +1526,7 @@ 5 - 34 + 32 1 0 0 @@ -1562,7 +1538,7 @@ 5 - 35 + 33 1 0 0 @@ -1574,7 +1550,7 @@ 5 - 36 + 34 1 0 0 @@ -1586,7 +1562,7 @@ 5 - 37 + 35 1 0 0 @@ -1598,7 +1574,7 @@ 5 - 38 + 36 1 0 0 @@ -1610,7 +1586,7 @@ 5 - 39 + 37 1 0 0 @@ -1622,7 +1598,7 @@ 5 - 40 + 38 1 0 0 @@ -1634,7 +1610,7 @@ 5 - 41 + 39 1 0 0 @@ -1646,7 +1622,7 @@ 5 - 42 + 40 1 0 0 @@ -1658,7 +1634,7 @@ 5 - 43 + 41 1 0 0 @@ -1670,7 +1646,7 @@ 5 - 44 + 42 1 0 0 @@ -1682,7 +1658,7 @@ 5 - 45 + 43 1 0 0 @@ -1694,7 +1670,7 @@ 5 - 46 + 44 1 0 0 @@ -1706,7 +1682,7 @@ 5 - 47 + 45 1 0 0 @@ -1718,7 +1694,7 @@ 5 - 48 + 46 1 0 0 @@ -1738,7 +1714,7 @@ 0 6 - 49 + 47 1 0 0 @@ -1758,7 +1734,7 @@ 0 7 - 50 + 48 1 0 0 @@ -1770,7 +1746,7 @@ 7 - 51 + 49 1 0 0 @@ -1782,7 +1758,7 @@ 7 - 52 + 50 1 0 0 @@ -1794,7 +1770,7 @@ 7 - 53 + 51 1 0 0 @@ -1806,7 +1782,7 @@ 7 - 54 + 52 1 0 0 @@ -1818,7 +1794,7 @@ 7 - 55 + 53 1 0 0 @@ -1830,7 +1806,7 @@ 7 - 56 + 54 1 0 0 @@ -1842,7 +1818,7 @@ 7 - 57 + 55 1 0 0 @@ -1854,7 +1830,7 @@ 7 - 58 + 56 1 0 0 @@ -1866,7 +1842,7 @@ 7 - 59 + 57 1 0 0 @@ -1878,7 +1854,7 @@ 7 - 60 + 58 1 0 0 @@ -1890,7 +1866,7 @@ 7 - 61 + 59 1 0 0 @@ -1902,7 +1878,7 @@ 7 - 62 + 60 1 0 0 @@ -1914,7 +1890,7 @@ 7 - 63 + 61 1 0 0 @@ -1926,7 +1902,7 @@ 7 - 64 + 62 1 0 0 @@ -1938,7 +1914,7 @@ 7 - 65 + 63 1 0 0 @@ -1950,7 +1926,7 @@ 7 - 66 + 64 1 0 0 @@ -1962,7 +1938,7 @@ 7 - 67 + 65 1 0 0 @@ -1974,7 +1950,7 @@ 7 - 68 + 66 1 0 0 @@ -1986,7 +1962,7 @@ 7 - 69 + 67 5 0 0 @@ -2006,7 +1982,7 @@ 0 8 - 70 + 68 1 0 0 @@ -2018,7 +1994,7 @@ 8 - 71 + 69 1 0 0 @@ -2030,7 +2006,7 @@ 8 - 72 + 70 1 0 0 @@ -2042,7 +2018,7 @@ 8 - 73 + 71 1 0 0 @@ -2054,7 +2030,7 @@ 8 - 74 + 72 1 0 0 @@ -2066,7 +2042,7 @@ 8 - 75 + 73 1 0 0 @@ -2078,7 +2054,7 @@ 8 - 76 + 74 1 0 0 @@ -2090,7 +2066,7 @@ 8 - 77 + 75 1 0 0 @@ -2102,7 +2078,7 @@ 8 - 78 + 76 1 0 0 @@ -2114,7 +2090,7 @@ 8 - 79 + 77 1 0 0 @@ -2126,7 +2102,7 @@ 8 - 80 + 78 1 0 0 @@ -2138,7 +2114,7 @@ 8 - 81 + 79 1 0 0 @@ -2150,7 +2126,7 @@ 8 - 82 + 80 1 0 0 @@ -2162,7 +2138,7 @@ 8 - 83 + 81 1 0 0 @@ -2174,7 +2150,7 @@ 8 - 84 + 82 1 0 0 @@ -2186,7 +2162,7 @@ 8 - 85 + 83 1 0 0 @@ -2198,7 +2174,7 @@ 8 - 86 + 84 1 0 0 @@ -2210,7 +2186,7 @@ 8 - 87 + 85 1 0 0 @@ -2222,7 +2198,7 @@ 8 - 88 + 86 1 0 0 @@ -2234,7 +2210,7 @@ 8 - 89 + 87 1 0 0 @@ -2246,7 +2222,7 @@ 8 - 90 + 88 1 0 0 @@ -2258,7 +2234,7 @@ 8 - 91 + 89 1 0 0 @@ -2270,7 +2246,7 @@ 8 - 92 + 90 1 0 0 @@ -2282,7 +2258,7 @@ 8 - 93 + 91 1 0 0 @@ -2294,7 +2270,7 @@ 8 - 94 + 92 1 0 0 @@ -2306,7 +2282,7 @@ 8 - 95 + 93 1 0 0 @@ -2318,7 +2294,7 @@ 8 - 96 + 94 1 0 0 @@ -2330,7 +2306,7 @@ 8 - 97 + 95 1 0 0 @@ -2342,7 +2318,7 @@ 8 - 98 + 96 1 0 0 @@ -2362,7 +2338,7 @@ 0 9 - 99 + 97 1 0 0 @@ -2374,7 +2350,7 @@ 9 - 100 + 98 1 0 0 @@ -2386,7 +2362,7 @@ 9 - 101 + 99 1 0 0 @@ -2398,7 +2374,7 @@ 9 - 102 + 100 1 0 0 @@ -2410,7 +2386,7 @@ 9 - 103 + 101 1 0 0 @@ -2430,7 +2406,7 @@ 0 10 - 104 + 102 1 0 0 @@ -2442,7 +2418,7 @@ 10 - 105 + 103 1 0 0 @@ -2454,7 +2430,7 @@ 10 - 106 + 104 1 0 0 @@ -2474,7 +2450,7 @@ 0 11 - 107 + 105 1 0 0 @@ -2486,7 +2462,7 @@ 11 - 108 + 106 1 0 0 @@ -2498,7 +2474,7 @@ 11 - 109 + 107 1 0 0 @@ -2518,7 +2494,7 @@ 0 12 - 110 + 108 1 0 0 @@ -2530,7 +2506,7 @@ 12 - 111 + 109 1 0 0 @@ -2542,7 +2518,7 @@ 12 - 112 + 110 1 0 0 @@ -2554,7 +2530,7 @@ 12 - 113 + 111 1 0 0 @@ -2574,7 +2550,7 @@ 0 13 - 114 + 112 1 0 0 @@ -2586,7 +2562,7 @@ 13 - 115 + 113 1 0 0 @@ -2598,7 +2574,7 @@ 13 - 116 + 114 1 0 0 @@ -2610,7 +2586,7 @@ 13 - 117 + 115 1 0 0 @@ -2622,7 +2598,7 @@ 13 - 118 + 116 1 0 0 @@ -2634,7 +2610,7 @@ 13 - 119 + 117 1 0 0 @@ -2646,7 +2622,7 @@ 13 - 120 + 118 1 0 0 @@ -2658,7 +2634,7 @@ 13 - 121 + 119 1 0 0 @@ -2670,7 +2646,7 @@ 13 - 122 + 120 1 0 0 @@ -2682,7 +2658,7 @@ 13 - 123 + 121 1 0 0 @@ -2694,7 +2670,7 @@ 13 - 124 + 122 1 0 0 @@ -2706,7 +2682,7 @@ 13 - 125 + 123 1 0 0 @@ -2718,7 +2694,7 @@ 13 - 126 + 124 1 0 0 @@ -2730,7 +2706,7 @@ 13 - 127 + 125 1 0 0 @@ -2750,7 +2726,7 @@ 0 14 - 128 + 126 1 0 0 @@ -2762,7 +2738,7 @@ 14 - 129 + 127 1 0 0 @@ -2774,7 +2750,7 @@ 14 - 130 + 128 1 0 0 @@ -2786,7 +2762,7 @@ 14 - 131 + 129 1 0 0 @@ -2798,7 +2774,7 @@ 14 - 132 + 130 1 0 0 @@ -2810,7 +2786,7 @@ 14 - 133 + 131 1 0 0 @@ -2822,7 +2798,7 @@ 14 - 134 + 132 1 0 0 @@ -2834,7 +2810,7 @@ 14 - 135 + 133 1 0 0 @@ -2846,7 +2822,7 @@ 14 - 136 + 134 1 0 0 @@ -2858,7 +2834,7 @@ 14 - 137 + 135 1 0 0 @@ -2870,7 +2846,7 @@ 14 - 138 + 136 1 0 0 @@ -2882,7 +2858,7 @@ 14 - 139 + 137 1 0 0 @@ -2894,7 +2870,7 @@ 14 - 140 + 138 1 0 0 @@ -2914,7 +2890,7 @@ 0 15 - 141 + 139 1 0 0 @@ -2926,7 +2902,7 @@ 15 - 142 + 140 1 0 0 @@ -2938,7 +2914,7 @@ 15 - 143 + 141 1 0 0 @@ -2950,7 +2926,7 @@ 15 - 144 + 142 1 0 0 @@ -2962,7 +2938,7 @@ 15 - 145 + 143 1 0 0 @@ -2974,7 +2950,7 @@ 15 - 146 + 144 1 0 0 @@ -2986,7 +2962,7 @@ 15 - 147 + 145 1 0 0 @@ -3006,7 +2982,7 @@ 0 16 - 148 + 146 1 0 0 @@ -3018,7 +2994,7 @@ 16 - 149 + 147 1 0 0 @@ -3030,7 +3006,7 @@ 16 - 150 + 148 1 0 0 @@ -3050,7 +3026,7 @@ 0 17 - 151 + 149 4 0 0 @@ -3070,7 +3046,7 @@ 0 18 - 152 + 150 1 0 0 @@ -3082,7 +3058,7 @@ 18 - 153 + 151 1 0 0 @@ -3094,7 +3070,7 @@ 18 - 154 + 152 1 0 0 @@ -3114,7 +3090,7 @@ 0 19 - 155 + 153 4 0 0 @@ -3134,7 +3110,7 @@ 0 20 - 156 + 154 1 0 0 @@ -3146,7 +3122,7 @@ 20 - 157 + 155 1 0 0 @@ -3158,7 +3134,7 @@ 20 - 158 + 156 1 0 0 @@ -3170,7 +3146,7 @@ 20 - 159 + 157 1 0 0 @@ -3182,7 +3158,7 @@ 20 - 160 + 158 1 0 0 @@ -3194,7 +3170,7 @@ 20 - 161 + 159 1 0 0 @@ -3206,7 +3182,7 @@ 20 - 162 + 160 1 0 0 @@ -3218,7 +3194,7 @@ 20 - 163 + 161 1 0 0 @@ -3230,7 +3206,7 @@ 20 - 164 + 162 1 0 0 @@ -3242,7 +3218,7 @@ 20 - 165 + 163 1 0 0 diff --git a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvprojx b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvprojx index 9fdfb58..50ea965 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvprojx +++ b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/arm5_no_packs/ble_app_bladder_patch_s140.uvprojx @@ -418,16 +418,6 @@ 1 ..\..\..\fstorage.c - - cmd_parse.c - 1 - ..\..\..\cmd_parse.c - - - cmd_parse.h - 5 - ..\..\..\cmd_parse.h - debug_print.h 5 @@ -4631,16 +4621,6 @@ 1 ..\..\..\fstorage.c - - cmd_parse.c - 1 - ..\..\..\cmd_parse.c - - - cmd_parse.h - 5 - ..\..\..\cmd_parse.h - debug_print.h 5 diff --git a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/config/sdk_config.h b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/config/sdk_config.h index 25633d6..30671df 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/config/sdk_config.h +++ b/project/ble_peripheral/ble_app_bladder_patch/pca10056/s140/config/sdk_config.h @@ -11473,7 +11473,7 @@ // or this value is actually used. It depends on which one is bigger. #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP -#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 1024 // 512 -> 1024 jhChun 26.03.17 #endif // SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. diff --git a/project/ble_peripheral/ble_app_bladder_patch/power_control.c b/project/ble_peripheral/ble_app_bladder_patch/power_control.c index ec040aa..acf4162 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/power_control.c +++ b/project/ble_peripheral/ble_app_bladder_patch/power_control.c @@ -1,6 +1,33 @@ /******************************************************************************* TEST medi50 Dec 23 //=========power_control.c==================== + ******************************************************************************* + * + * [모듈 개요] + * 디바이스 전원 시퀀스를 관리하는 모듈 (전원 켜기 / 끄기 / 슬립). + * + * [전원 켜기 흐름] + * device_activated() + * → p_order=0으로 초기화, power_loop 타이머 시작 + * → power_loop() 상태머신이 20ms 간격으로 Step 0→1→2 순서대로 실행 + * - Step 0: I2C 초기화 (sw_i2c_init_once) + * - Step 1: 예약 (현재 미사용) + * - Step 2: 전원 시퀀스 완료 + * + * [슬립 모드] + * device_sleep_mode() + * → EEPROM OFF → processing 플래그 해제 + * + * [재활성화] + * device_reactivated() + * → I2C 재초기화 후 전원 시퀀스를 처음부터 다시 시작 + * + * [EEPROM 쓰기 보호 핀] + * EEP_WP = P0.24 (레거시, 현재는 FDS를 사용하므로 실질적으로 미사용) + * + * [타이머] + * 싱글샷 모드 app_timer, 20ms 간격으로 power_loop 호출 + * ******************************************************************************/ #include #include @@ -15,50 +42,89 @@ #include "app_timer.h" #include "debug_print.h" #include "i2c_manager.h" + +/* EEPROM 쓰기 보호 핀 (P0.24) - 레거시, 현재는 FDS 사용 */ #define EEP_WP NRF_GPIO_PIN_MAP(0, 24) + +/* 전원 시퀀스용 싱글샷 타이머 인스턴스 */ APP_TIMER_DEF(m_power_timer_id); +/* 전원 시퀀스 상태머신의 타이머 간격 (20ms) */ // 2025-12-08 change to #define POWER_LOOP_INTERVAL 30 -> 20 #define POWER_LOOP_INTERVAL 20 +/* 전원 시퀀스 현재 단계 (0: I2C 초기화, 1: 예약, 2: 완료) */ static uint8_t p_order; + +/* 데이터 처리 중 플래그 (외부 모듈에서 선언) */ extern volatile bool processing; + +/* 전원 시퀀스 잠금 플래그 (true = 전원 시퀀스 진행 중) */ bool lock_check = false; + +/** + * @brief 전원 관련 GPIO 핀 초기화 + * + * EEP_WP 핀을 출력 모드로 설정한다. + */ void power_gpio_init(void) { nrf_gpio_cfg_output(EEP_WP); } +/** + * @brief EEPROM 전원 제어 (ON/OFF) + * + * @param eeprom_st ON: EEP_WP 핀 HIGH (쓰기 허용), OFF: LOW (쓰기 보호) + * 레거시 기능으로, 현재는 FDS(Flash Data Storage)를 사용하여 실질적으로 미사용. + */ void eeprom_control(on_off_cont_t eeprom_st) { if(eeprom_st == OFF) { - nrf_gpio_pin_clear(EEP_WP); + nrf_gpio_pin_clear(EEP_WP); /* LOW: EEPROM 쓰기 보호 활성화 */ }else if(eeprom_st == ON){ - nrf_gpio_pin_set(EEP_WP); + nrf_gpio_pin_set(EEP_WP); /* HIGH: EEPROM 쓰기 허용 */ } } +/** + * @brief 디바이스 슬립 모드 진입 + * + * EEPROM을 OFF하고, 데이터 처리 플래그(processing)를 해제하여 + * 메인 루프가 더 이상 센서 데이터를 처리하지 않도록 한다. + * + * @return 0 (항상 성공) + */ int device_sleep_mode(void){ int rc = 0; - eeprom_control(OFF); + eeprom_control(OFF); /* EEPROM 쓰기 보호 활성화 */ nrf_delay_ms(2); DBG_PRINTF("Device_Sleep_Mode OK!\r\n"); nrf_delay_ms(10); - processing = false; + processing = false; /* 데이터 처리 플래그 해제 → 센서 처리 중단 */ return rc; } +/** + * @brief 디바이스 전원 켜기 (전원 시퀀스 시작) + * + * 전원 시퀀스 단계를 0으로 초기화하고, 잠금 플래그를 설정한 뒤 + * 타이머를 시작하여 power_loop() 상태머신을 구동한다. + * EEPROM은 OFF 상태로 시작한다. + * + * @return 0 (항상 성공) + */ int device_activated(void){ int rc = 0; - p_order = 0; - lock_check =true; - power_timer_start(); - eeprom_control(OFF); + p_order = 0; /* 상태머신 시작 단계 (Step 0: I2C 초기화) */ + lock_check =true; /* 전원 시퀀스 진행 중 잠금 */ + power_timer_start(); /* 20ms 후 power_loop() 첫 호출 */ + eeprom_control(OFF); /* EEPROM OFF 상태로 시작 */ return rc; } @@ -74,32 +140,49 @@ int device_activated(void){ * 1: (reserved) * 2: Complete */ +/* + * 전원 시퀀스 상태머신 (20ms 싱글샷 타이머 콜백). + * + * [실행 흐름] + * 1) 타이머 콜백 진입 → 타이머 정지 (싱글샷이므로) + * 2) 현재 p_order에 해당하는 초기화 단계 실행 + * 3) p_order < 2이면 다음 단계로 진행하고 타이머 재시작 + * 4) p_order == 2이면 전원 시퀀스 완료 + * + * [DEBUG_MINIMAL_BOOT 모드] + * 센서 초기화를 건너뛰고 즉시 완료 단계(Step 2)로 점프 + */ void power_loop(void *p_context) { UNUSED_PARAMETER(p_context); - power_timer_stop(); + power_timer_stop(); /* 현재 타이머 정지 (싱글샷 → 수동 재시작 필요) */ #if DEBUG_MINIMAL_BOOT /* Minimal Boot: Skip sensor initialization */ + /* 미니멀 부트 모드: 센서 초기화 생략하고 바로 완료 */ DBG_PRINTF("[PWR] Minimal mode - skipping sensor init\r\n"); p_order = 2; // Jump to complete #else /* Full Boot: Execute power sequence */ + /* 풀 부트 모드: 전원 시퀀스 단계별 실행 */ switch (p_order) { /* Step 0: I2C Initialize */ + /* 단계 0: I2C 버스를 SW 모드로 초기화 (레거시 흐름) */ case 0: - sw_i2c_init_once(); - nrf_delay_ms(10); + sw_i2c_init_once(); /* SW I2C 초기화 (TWI 해제 → 비트뱅 모드) */ + nrf_delay_ms(10); /* I2C 버스 안정화 대기 */ DBG_PRINTF("[PWR] Step %d: I2C Init\r\n", p_order); break; /* Step 1: Reserved */ + /* 단계 1: 예약 (추후 센서 초기화 등 추가 가능) */ case 1: DBG_PRINTF("[PWR] Step %d: (reserved)\r\n", p_order); break; /* Step 2: Complete */ + /* 단계 2: 전원 시퀀스 완료 → 디바이스 사용 준비 완료 */ case 2: DBG_PRINTF("[PWR] Step %d: Sequence Complete\r\n", p_order); break; @@ -110,31 +193,49 @@ void power_loop(void *p_context) #endif /* Advance to next step or finish */ + /* 다음 단계로 진행하거나, 시퀀스 완료 처리 */ if (p_order < 2) { - p_order++; - power_timer_start(); + p_order++; /* 다음 단계로 이동 */ + power_timer_start(); /* 20ms 후 다음 단계 실행 */ } else { + /* 전원 시퀀스 전체 완료 */ DBG_PRINTF("[PWR] Device Activated OK!\r\n"); } } +/** + * @brief 디바이스 재활성화 (슬립 복귀 시) + * + * I2C를 재초기화하고, 전원 시퀀스를 처음부터 다시 시작한다. + * 슬립 모드에서 깨어날 때 호출된다. + * + * @return 0 (항상 성공) + */ int device_reactivated(void){ int rc = 0; - sw_i2c_init_once(); - nrf_delay_ms(10); - lock_check = true; - p_order = 0; - power_timer_start(); + sw_i2c_init_once(); /* I2C 버스 재초기화 */ + nrf_delay_ms(10); /* 안정화 대기 */ + lock_check = true; /* 전원 시퀀스 진행 중 잠금 */ + p_order = 0; /* 상태머신을 Step 0부터 재시작 */ + power_timer_start(); /* 20ms 후 power_loop() 시작 */ return rc; } +/** + * @brief 전원 시퀀스 타이머 시작 + * + * 싱글샷 모드로 POWER_LOOP_INTERVAL(20ms) 후 power_loop()를 호출한다. + */ void power_timer_start(void) { APP_ERROR_CHECK(app_timer_start(m_power_timer_id, APP_TIMER_TICKS(POWER_LOOP_INTERVAL), NULL)); } +/** + * @brief 전원 시퀀스 타이머 정지 + */ void power_timer_stop(void) { APP_ERROR_CHECK(app_timer_stop(m_power_timer_id)); @@ -142,6 +243,12 @@ void power_timer_stop(void) } +/** + * @brief 전원 시퀀스 타이머 초기화 (앱 시작 시 1회 호출) + * + * 싱글샷 모드 타이머를 생성하고, 콜백으로 power_loop()를 등록한다. + * 싱글샷이므로 매 단계마다 power_timer_start()로 수동 재시작해야 한다. + */ void power_timer_init(void) //active start { APP_ERROR_CHECK(app_timer_create(&m_power_timer_id, APP_TIMER_MODE_SINGLE_SHOT, power_loop)); diff --git a/project/ble_peripheral/ble_app_bladder_patch/power_control.h b/project/ble_peripheral/ble_app_bladder_patch/power_control.h index bba0237..773b069 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/power_control.h +++ b/project/ble_peripheral/ble_app_bladder_patch/power_control.h @@ -3,7 +3,22 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************* + * + * [헤더 개요] + * 디바이스 전원 시퀀스 관리 모듈의 공용 인터페이스 헤더. + * + * [주요 함수 요약] + * power_gpio_init() : 전원 관련 GPIO 초기화 (EEP_WP 핀) + * eeprom_control() : EEPROM 쓰기 보호 ON/OFF (레거시) + * device_activated() : 전원 켜기 → power_loop 상태머신 시작 + * device_sleep_mode() : 슬립 모드 진입 (EEPROM OFF, 처리 중단) + * device_reactivated() : 슬립 복귀 → I2C 재초기화 후 전원 시퀀스 재시작 + * power_loop() : 20ms 간격 전원 시퀀스 상태머신 콜백 + * power_timer_start/stop : 전원 시퀀스 타이머 제어 + * power_timer_init() : 전원 시퀀스 타이머 초기화 (앱 시작 시 1회) + * ******************************************************************************/ #ifndef _POWER_CONTROL_H_ @@ -11,14 +26,31 @@ #include "main.h" +/** @brief 전원 관련 GPIO 핀 초기화 (EEP_WP 출력 설정) */ void power_gpio_init(void); + +/** @brief EEPROM 쓰기 보호 제어 (ON=허용, OFF=보호) - 레거시 */ void eeprom_control(on_off_cont_t eeprom_st); + +/** @brief 디바이스 슬립 모드 진입 (EEPROM OFF, processing 해제) */ int device_sleep_mode(void); + +/** @brief 디바이스 전원 켜기 (전원 시퀀스 상태머신 시작) */ int device_activated(void); + +/** @brief 디바이스 재활성화 (슬립 복귀 시 I2C 재초기화 후 시퀀스 재시작) */ int device_reactivated(void); + +/** @brief 전원 시퀀스 상태머신 (20ms 타이머 콜백, Step 0→1→2) */ void power_loop(void * p_context); /* For x ms */ + +/** @brief 전원 시퀀스 타이머 시작 (20ms 싱글샷) */ void power_timer_start(void); + +/** @brief 전원 시퀀스 타이머 정지 */ void power_timer_stop(void);; + +/** @brief 전원 시퀀스 타이머 초기화 (앱 시작 시 1회 호출) */ void power_timer_init(void); #endif //_POWER_CONTROL_H_ diff --git a/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.c b/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.c index 0ef1942..40f3fb3 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.c +++ b/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.c @@ -6,6 +6,26 @@ * @date 2025-10-13 ******************************************************************************/ +/******************************************************************************* + * [한국어 설명] PWM 펄스 생성기 + * + * === 현재 상태 === + * SKIP_PWM 매크로가 정의되어 있어 PWM 기능이 비활성화됨. + * init/start/stop 함수는 모두 Stub(빈 껍데기) 구현으로, + * 로그만 출력하고 실제 PWM 동작은 하지 않는다. + * 빌드 호환성을 위해 함수 인터페이스만 유지. + * + * === 실제 구현 (SKIP_PWM 미정의 시) === + * nrfx_pwm 드라이버 + app_timer를 사용하여 3핀(P28/P29/P30) PWM 제어. + * PWM 인스턴스 0, 16MHz 클럭, TOP=8, 개별 채널 로드 모드. + * 6단계 시퀀스로 채널별 듀티 사이클 조절. + * app_timer(10ms)로 주기적 반복 재생. + * + * === 비활성화 사유 === + * 현재 프로젝트에서는 피에조 구동을 dr_piezo 드라이버가 담당하므로 + * 이 PWM 펄스 생성기는 사용하지 않음. + ******************************************************************************/ + #define SKIP_PWM // ? ?? ???? PWM ?? ??? #include "pulse_gen.h" @@ -15,57 +35,72 @@ #ifdef SKIP_PWM /* ========================================================================== */ -/* PWM ?? ???? Stub ?? */ +/* PWM 비활성화 모드: Stub 구현 (로그만 출력, 실제 동작 없음) */ /* ========================================================================== */ +/* Stub 초기화: 아무 동작 없이 성공 반환 */ ret_code_t pulse_gen_init(void) { DBG_PRINTF("[PWM] skipped init\r\n"); return NRF_SUCCESS; } +/* Stub 시작: 아무 동작 없음 */ void pulse_gen_start(void) { DBG_PRINTF("[PWM] skipped start\r\n"); } +/* Stub 정지: 아무 동작 없음 */ void pulse_gen_stop(void) { DBG_PRINTF("[PWM] skipped stop\r\n"); } #else /* ==================================================================== */ -/* ?? PWM ?? ?? (SKIP_PWM ?? ?? ? ???) */ +/* 실제 PWM 구현 코드 (SKIP_PWM 미정의 시에만 컴파일됨) */ /* ========================================================================== */ #include "nrfx_pwm.h" -/* --- Configuration --- */ -#define PULSE_PIN_1 28 -#define PULSE_PIN_2 29 -#define PULSE_PIN_3 30 -#define PULSE_DELAY_MS 10 +/* --- 설정값 --- */ +#define PULSE_PIN_1 28 /* PWM 출력 핀 1 (P0.28) */ +#define PULSE_PIN_2 29 /* PWM 출력 핀 2 (P0.29) */ +#define PULSE_PIN_3 30 /* PWM 출력 핀 3 (P0.30) */ +#define PULSE_DELAY_MS 10 /* 반복 재생 간격 (ms) */ -#define PWM_INSTANCE_ID 0 -#define PWM_TOP_VALUE 8 -#define SEQUENCE_LENGTH 6 +#define PWM_INSTANCE_ID 0 /* PWM 하드웨어 인스턴스 번호 */ +#define PWM_TOP_VALUE 8 /* PWM 카운터 최대값 (듀티 사이클 분해능) */ +#define SEQUENCE_LENGTH 6 /* PWM 시퀀스 단계 수 */ -static nrfx_pwm_t m_pwm = NRFX_PWM_INSTANCE(PWM_INSTANCE_ID); -APP_TIMER_DEF(m_pulse_delay_timer_id); -static volatile bool m_pulses_running = false; +static nrfx_pwm_t m_pwm = NRFX_PWM_INSTANCE(PWM_INSTANCE_ID); /* PWM 인스턴스 */ +APP_TIMER_DEF(m_pulse_delay_timer_id); /* 반복 재생용 앱 타이머 */ +static volatile bool m_pulses_running = false; /* 펄스 생성 동작 중 플래그 */ +/* PWM 시퀀스 데이터: 6단계에 걸쳐 3채널의 듀티 사이클을 개별 설정 */ static nrf_pwm_values_individual_t m_pulse_seq_values[SEQUENCE_LENGTH]; static nrf_pwm_sequence_t const m_pulse_sequence = { .values.p_individual = m_pulse_seq_values, .length = NRF_PWM_VALUES_LENGTH(m_pulse_seq_values), - .repeats = 0, - .end_delay = 0 + .repeats = 0, /* 각 단계 반복 없음 */ + .end_delay = 0 /* 시퀀스 종료 후 추가 지연 없음 */ }; /* -------------------------------------------------------------------------- */ -/* Local Handlers */ +/* 내부 핸들러 함수 */ /* -------------------------------------------------------------------------- */ + +/* + * PWM 시퀀스 값 초기화 + * 6단계에 걸쳐 CH0/CH1/CH2의 듀티 사이클을 교대 설정: + * 단계0: CH0=100%, CH1=0, CH2=0 + * 단계1: CH0=0, CH1=100%, CH2=0 + * 단계2: CH0=100%, CH1=0, CH2=0 + * 단계3: CH0=0, CH1=100%, CH2=0 + * 단계4: CH0=0, CH1=0, CH2=0 (모두 OFF) + * 단계5: CH0=0, CH1=0, CH2=100% + */ static void prepare_pulse_sequence(void) { m_pulse_seq_values[0].channel_0 = PWM_TOP_VALUE; m_pulse_seq_values[0].channel_1 = 0; m_pulse_seq_values[0].channel_2 = 0; @@ -76,6 +111,7 @@ static void prepare_pulse_sequence(void) m_pulse_seq_values[5].channel_0 = 0; m_pulse_seq_values[5].channel_1 = 0; m_pulse_seq_values[5].channel_2 = PWM_TOP_VALUE; } +/* 타이머 타임아웃 핸들러: m_pulses_running이면 PWM 시퀀스 1회 재생 후 타이머 재시작 */ static void pulse_delay_timeout_handler(void * p_context) { if (m_pulses_running) @@ -86,8 +122,14 @@ static void pulse_delay_timeout_handler(void * p_context) } /* -------------------------------------------------------------------------- */ -/* Public Functions */ +/* 공개 함수 */ /* -------------------------------------------------------------------------- */ + +/* + * PWM 초기화: PWM 인스턴스 설정 + 앱 타이머 생성 + * PWM: 16MHz 클럭, UP 카운트 모드, TOP=8, 개별 채널 로드 + * 타이머: 단발(SINGLE_SHOT) 모드, 10ms 후 시퀀스 재생 + */ ret_code_t pulse_gen_init(void) { ret_code_t err_code; @@ -121,18 +163,20 @@ ret_code_t pulse_gen_init(void) return err_code; } +/* 펄스 생성 시작: 플래그 설정 후 타임아웃 핸들러를 직접 호출하여 즉시 첫 재생 */ void pulse_gen_start(void) { - if (m_pulses_running) return; + if (m_pulses_running) return; /* 이미 동작 중이면 무시 */ m_pulses_running = true; - pulse_delay_timeout_handler(NULL); + pulse_delay_timeout_handler(NULL); /* 첫 번째 재생 즉시 시작 */ } +/* 펄스 생성 정지: 플래그 해제 + 타이머 정지 + PWM 즉시 정지 */ void pulse_gen_stop(void) { m_pulses_running = false; app_timer_stop(m_pulse_delay_timer_id); - nrfx_pwm_stop(&m_pwm, true); + nrfx_pwm_stop(&m_pwm, true); /* true = 즉시 정지 (현재 시퀀스 중단) */ } #endif /* SKIP_PWM */ diff --git a/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.h b/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.h index a76c585..5eadf41 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.h +++ b/project/ble_peripheral/ble_app_bladder_patch/pulse_gen.h @@ -1,3 +1,15 @@ +/******************************************************************************* + * [한국어 설명] PWM 펄스 생성기 헤더 + * + * PWM 기반 펄스 생성 모듈의 공개 인터페이스. + * 현재 SKIP_PWM 매크로로 비활성화되어 있으며, Stub 구현만 동작함. + * 실제 구현 시 nrfx_pwm + app_timer로 3핀(P28/P29/P30) PWM 제어. + * + * 비활성화 사유: 피에조 구동은 dr_piezo 드라이버가 담당하므로 + * 이 PWM 모듈은 현재 프로젝트에서 사용하지 않음. + * 빌드 호환성을 위해 인터페이스만 유지. + ******************************************************************************/ + #ifndef PULSE_GEN_H__ #define PULSE_GEN_H__ @@ -6,20 +18,23 @@ #include "sdk_errors.h" /** - * @brief Initializes the PWM peripheral and app_timer for pulse generation. + * @brief PWM 주변장치 및 app_timer를 초기화한다. + * (SKIP_PWM 정의 시 아무 동작 없이 NRF_SUCCESS 반환) * * @return NRF_SUCCESS on successful initialization, otherwise an error code. */ ret_code_t pulse_gen_init(void); /** - * @brief Starts the repeating pulse generation. - * Generates a burst of pulses, waits a few ms, and repeats. + * @brief 반복 펄스 생성을 시작한다. + * 버스트 펄스를 생성하고, 수 ms 대기 후 반복. + * (SKIP_PWM 정의 시 아무 동작 없음) */ void pulse_gen_start(void); /** - * @brief Stops the repeating pulse generation. + * @brief 반복 펄스 생성을 정지한다. + * (SKIP_PWM 정의 시 아무 동작 없음) */ void pulse_gen_stop(void); diff --git a/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.c b/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.c index 379fd8d..1692aee 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.c +++ b/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.c @@ -97,6 +97,7 @@ void tmp235_voltage_handler(nrf_drv_saadc_evt_t const * p_event) /* TMP325 Vout /* ADC 변환 결과 읽기 */ adc_result = p_event->data.done.p_buffer[0]; + DBG_PRINTF("[TMP] adc=%d\r\n", adc_result); /* SAADC 해제 — 배터리/압력센서 측정과 하드웨어 공유 */ nrf_drv_saadc_uninit(); diff --git a/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.h b/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.h index 2e2ddc5..536c118 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.h +++ b/project/ble_peripheral/ble_app_bladder_patch/tmp235_q1.h @@ -3,13 +3,28 @@ * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 - * @brief + * @brief + ******************************************************************************/ + +/******************************************************************************* + * [헤더 개요] TMP235-Q1 아날로그 온도센서 드라이버 인터페이스 + * + * TMP235-Q1의 아날로그 전압 출력을 SAADC(AIN3)로 읽어 + * 온도(°C)로 변환하는 기능의 외부 호출용 API를 선언한다. + * + * 주요 API: + * - tmp235_init() : SAADC 초기화 + 즉시 측정 시작 (내부 사용) + * - tmp235_voltage_level_meas() : 온도 1회 측정 (외부 호출용 래퍼) + * + * 온도 변환: Vout(mV) → Ta(°C) = (Vout - 500) / 10.0 (0~100°C 구간) ******************************************************************************/ #ifndef _TMP235_Q1_H_ #define _TMP235_Q1_H_ +/** @brief TMP235 SAADC 초기화 및 측정 시작 (AIN3 채널) */ void tmp235_init(void); +/** @brief 온도 1회 측정 외부 호출 함수 (내부적으로 tmp235_init 호출) */ void tmp235_voltage_level_meas(void); #endif /* !_TMP235_Q1_H_ */ diff --git a/project/ble_peripheral/dr_piezo/dr_piezo.c b/project/ble_peripheral/dr_piezo/dr_piezo.c index 3b5f80a..753fe0f 100644 --- a/project/ble_peripheral/dr_piezo/dr_piezo.c +++ b/project/ble_peripheral/dr_piezo/dr_piezo.c @@ -3,35 +3,88 @@ * @brief Piezo Transducer Driver (2MHz Signal Generator) * @author Charles KWON * @date 2025-12-09 - * + * * @details Uses Timer2 + GPIOTE + PPI for CPU-free 2MHz waveform generation - * + * * Timing Diagram (???): - * + * * |<----------- PE HIGH ----------->| * PE ___/?????????????????????????????????\___ * P_OUT ___/?\_/?\_/?\_/?\_/?\________________\___ * N_OUT ___\_/?\_/?\_/?\_/?\_/________________\___ * DMP _________________________/?????\_________ * |<-- 3~5 cycles -->| || - * + * * P_OUT? N_OUT? ?? ?? ?? (???) - * + * * 2MHz = 500ns period = 250ns half-period * Timer @ 16MHz: 1 tick = 62.5ns * Half-period = 250ns = 4 ticks * Full-period = 500ns = 8 ticks ******************************************************************************/ -#include "dr_piezo.h" -#include "nrf_gpio.h" -#include "nrf_timer.h" -#include "nrf_gpiote.h" -#include "nrf_ppi.h" -#include "nrf_delay.h" -#include "power_control.h" -#include "app_util_platform.h" +/******************************************************************************* + * [한국어 설명] 피에조 초음파 트랜스듀서 드라이버 + * + * === 개요 === + * 방광 측정용 2MHz 초음파 송신 신호를 생성하는 드라이버. + * nRF52840의 하드웨어 주변장치(Timer2 + GPIOTE + PPI)를 활용하여 + * CPU 개입 없이 정밀한 2MHz 파형을 자동으로 생성한다. + * + * === 초음파 TX 시퀀스 === + * 1단계: PE(Pulse Enable) = HIGH -> MOSFET 드라이버 활성화 + * 2단계: P_OUT/N_OUT 교번 펄스 생성 (2MHz, 3~7 사이클) + * - P_OUT과 N_OUT은 역상(반대 위상)으로 동작 + * - 피에조 소자 양단에 +/-20V 교번 전압 인가 + * 3단계: DMP(Dump) = HIGH -> 펄스 완료 후 피에조에 남은 잔류 에너지 방전 + * 4단계: DMP = LOW -> 방전 완료 + * 5단계: PE = LOW -> MOSFET 드라이버 비활성화, 유휴 상태 복귀 + * + * === 하드웨어 아키텍처 === + * [Timer2] --- CC[0](반주기=4틱) ---> [PPI CH8,9] ---> [GPIOTE CH4,5] -> P_OUT/N_OUT 토글 + * |-- CC[1](전체주기=8틱) --> [PPI CH10,11] --> [GPIOTE CH4,5] -> P_OUT/N_OUT 토글 + * |-- CC[2](전체주기=8틱) --> 타이머 자동 클리어 + 인터럽트(잔여 사이클 카운트) + * + * - Timer2: 16MHz 클럭, 16비트 모드 + * - CC[0] = 4틱(250ns) -> 반주기 시점에서 P_OUT/N_OUT 토글 + * - CC[1] = 8틱(500ns) -> 전체주기 시점에서 P_OUT/N_OUT 토글 + * - CC[2] = 8틱(500ns) -> 인터럽트 발생 + 타이머 자동 클리어(SHORT) + * + * - GPIOTE CH4: P_OUT 핀 토글 모드 + * - GPIOTE CH5: N_OUT 핀 토글 모드 + * + * - PPI CH8: CC[0] 이벤트 -> P_OUT 토글 태스크 + * - PPI CH9: CC[0] 이벤트 -> N_OUT 토글 태스크 + * - PPI CH10: CC[1] 이벤트 -> P_OUT 토글 태스크 + * - PPI CH11: CC[1] 이벤트 -> N_OUT 토글 태스크 + * + * === 전원 === + * DR_PIEZO_PWR_EN(P1.9) -> DC/DC 컨버터 활성화 -> +/-20V 고전압 생성 + * + * === 소프트웨어 버스트 모드 (dr_piezo_burst_sw 계열) === + * Timer/PPI 대신 CPU에서 직접 GPIO를 제어하는 방식. + * 인터럽트를 비활성화(__disable_irq)하고 NOP 명령어로 정밀 타이밍 생성. + * 포트 레지스터(NRF_P1->OUT)에 직접 접근하여 여러 핀을 동시에 제어. + * 주파수별(1.7/1.8/1.9/2.0/2.1/2.2 MHz) NOP 개수가 다름. + * + * NOP 타이밍 계산법: + * CPU 클럭 64MHz -> 1 NOP = 15.625ns + * 목표 반주기(ns) = 1,000,000 / (목표주파수MHz * 2) + * 필요 NOP 수 = (목표 반주기 - 레지스터 쓰기 시간(~30ns)) / 15.625 + * 루프 오버헤드(~47ns = 3 NOP)는 두 번째 반주기에서 차감 + ******************************************************************************/ +/* 헤더 포함 */ +#include "dr_piezo.h" +#include "nrf_gpio.h" /* GPIO 제어 (핀 설정, 출력) */ +#include "nrf_timer.h" /* 타이머 주변장치 제어 */ +#include "nrf_gpiote.h" /* GPIOTE (GPIO Tasks and Events) 제어 */ +#include "nrf_ppi.h" /* PPI (Programmable Peripheral Interconnect) 제어 */ +#include "nrf_delay.h" /* 지연(딜레이) 함수 */ +#include "power_control.h" /* 전원 관리 */ +#include "app_util_platform.h" /* 인터럽트 우선순위 등 플랫폼 유틸리티 */ + +/* 조건부 디버그 출력: FEATURE_PRINTF 정의 시 SEGGER RTT로 출력 */ #ifdef FEATURE_PRINTF #include "debug_print.h" #else @@ -39,62 +92,76 @@ #endif /*============================================================================== - * HARDWARE RESOURCE ALLOCATION + * 하드웨어 리소스 할당 + * - Timer2: 2MHz 파형 생성의 시간 기준 (16MHz 클럭) + * - GPIOTE CH4/5: P_OUT/N_OUT 핀의 하드웨어 토글 + * - PPI CH8~11: 타이머 비교 이벤트 -> GPIOTE 토글 태스크 자동 연결 *============================================================================*/ -#define PIEZO_TIMER NRF_TIMER2 -#define PIEZO_TIMER_IRQn TIMER2_IRQn -#define PIEZO_TIMER_IRQ_PRIORITY 6 +#define PIEZO_TIMER NRF_TIMER2 /* 사용할 타이머 인스턴스 */ +#define PIEZO_TIMER_IRQn TIMER2_IRQn /* 타이머2 인터럽트 번호 */ +#define PIEZO_TIMER_IRQ_PRIORITY 6 /* 인터럽트 우선순위 (6 = 중간) */ -/* GPIOTE channels */ -#define GPIOTE_CH_P_OUT 4 -#define GPIOTE_CH_N_OUT 5 +/* GPIOTE 채널 할당 - 핀 토글 제어용 */ +#define GPIOTE_CH_P_OUT 4 /* P_OUT(양극 출력) 토글용 GPIOTE 채널 */ +#define GPIOTE_CH_N_OUT 5 /* N_OUT(음극 출력) 토글용 GPIOTE 채널 */ -/* PPI channels */ -#define PPI_CH_P_OUT_TOGGLE_0 8 -#define PPI_CH_N_OUT_TOGGLE_0 9 -#define PPI_CH_P_OUT_TOGGLE_1 10 -#define PPI_CH_N_OUT_TOGGLE_1 11 +/* PPI 채널 할당 - 타이머 이벤트 -> GPIOTE 태스크 연결 */ +#define PPI_CH_P_OUT_TOGGLE_0 8 /* CC[0](반주기) -> P_OUT 토글 */ +#define PPI_CH_N_OUT_TOGGLE_0 9 /* CC[0](반주기) -> N_OUT 토글 */ +#define PPI_CH_P_OUT_TOGGLE_1 10 /* CC[1](전체주기) -> P_OUT 토글 */ +#define PPI_CH_N_OUT_TOGGLE_1 11 /* CC[1](전체주기) -> N_OUT 토글 */ /*============================================================================== - * TIMING CONSTANTS + * 타이밍 상수 + * Timer2 클럭: 16MHz -> 1틱 = 62.5ns + * 2MHz 신호: 주기 500ns(8틱), 반주기 250ns(4틱) *============================================================================*/ -#define TIMER_FREQ_MHZ 16 -#define TICK_NS (1000 / TIMER_FREQ_MHZ) /* 62.5ns */ +#define TIMER_FREQ_MHZ 16 /* 타이머 클럭 주파수 (MHz) */ +#define TICK_NS (1000 / TIMER_FREQ_MHZ) /* 1틱 = 62.5ns */ -/* 2MHz: period = 500ns, half = 250ns */ -#define PERIOD_TICKS_2MHZ 8 /* 500ns / 62.5ns = 8 */ -#define HALF_PERIOD_TICKS 4 /* 250ns / 62.5ns = 4 */ +/* 2MHz 기준 타이밍: 주기 = 500ns, 반주기 = 250ns */ +#define PERIOD_TICKS_2MHZ 8 /* 전체 주기: 500ns / 62.5ns = 8틱 */ +#define HALF_PERIOD_TICKS 4 /* 반주기: 250ns / 62.5ns = 4틱 */ /*============================================================================== - * PIEZO OPERATING FREQUENCY CONFIGURATION + * 피에조 동작 주파수 설정 *============================================================================*/ /* - * Target piezo frequency: 1.8 MHz + * 목표 피에조 주파수: 2.1 MHz (하드웨어 버스트 모드용) * - * Timing (hardcoded in dr_piezo_burst_sw for stability): - * 1.8 MHz: 556ns period, 278ns half-period - * At 64MHz CPU (1 NOP = 15.625ns): - * First half: 15 NOPs (~234ns) - * Second half: 12 NOPs (~188ns) + loop overhead + * 소프트웨어 버스트 모드의 타이밍은 각 주파수별 함수에 NOP 개수로 하드코딩됨. + * 안정적인 파형 생성을 위해 컴파일 타임에 고정. * - * To change frequency, modify the NOP counts in dr_piezo_burst_sw(): - * 2.0 MHz: First=14, Second=11 - * 2.1 MHz: First=13, Second=10 - * 1.5 MHz: First=18, Second=15 + * NOP 기반 타이밍 계산 (CPU 64MHz, 1 NOP = 15.625ns): + * 1.7 MHz: 반주기 294ns -> 첫 반주기 18 NOP, 둘째 반주기 10 NOP + 루프 오버헤드 + * 1.8 MHz: 반주기 278ns -> 첫 반주기 17 NOP, 둘째 반주기 11 NOP + 루프 오버헤드 + * 1.9 MHz: 반주기 263ns -> 첫 반주기 15 NOP, 둘째 반주기 9 NOP + 루프 오버헤드 + * 2.0 MHz: 반주기 250ns -> 첫 반주기 15 NOP, 둘째 반주기 10 NOP + 루프 오버헤드 + * 2.1 MHz: 반주기 238ns -> 첫 반주기 14 NOP, 둘째 반주기 9 NOP + 루프 오버헤드 + * 2.2 MHz: 반주기 227ns -> 첫 반주기 13 NOP, 둘째 반주기 8 NOP + 루프 오버헤드 + * + * 주파수를 변경하려면 dr_piezo_burst_sw_XXmhz() 함수의 NOP 수를 수정할 것. */ -#define PIEZO_FREQ_MHZ 2.1f +#define PIEZO_FREQ_MHZ 2.1f /* 기본 동작 주파수 (MHz) */ /*============================================================================== - * STATIC VARIABLES + * 정적 변수 *============================================================================*/ -static volatile bool m_tx_active = false; -static volatile uint8_t m_remaining_cycles = 0; -static uint32_t m_period_ticks = PERIOD_TICKS_2MHZ; -static bool m_power_enabled = false; -static bool m_initialized = false; +static volatile bool m_tx_active = false; /* TX 송신 중 플래그 (인터럽트에서 변경) */ +static volatile uint8_t m_remaining_cycles = 0; /* 남은 펄스 사이클 수 (인터럽트에서 감소) */ +static uint32_t m_period_ticks = PERIOD_TICKS_2MHZ; /* 현재 주기 (타이머 틱 단위) */ +static bool m_power_enabled = false; /* DC/DC 컨버터 전원 상태 */ +static bool m_initialized = false; /* 드라이버 초기화 완료 여부 */ /*============================================================================== - * INTERRUPT HANDLER + * 타이머2 인터럽트 핸들러 + * 매 주기(CC[2])마다 호출되어 잔여 사이클을 감소시킨다. + * 잔여 사이클이 0이 되면: + * 1) 타이머 정지 및 클리어 + * 2) GPIOTE 비활성화 (P_OUT/N_OUT 토글 중단) + * 3) GPIO를 출력 모드로 재설정 후 LOW로 초기화 + * 4) DMP 펄스 발생 (피에조 잔류 에너지 방전) + * 5) PE = LOW (MOSFET 드라이버 비활성화) *============================================================================*/ void TIMER2_IRQHandler(void) { @@ -140,9 +207,12 @@ void TIMER2_IRQHandler(void) } /*============================================================================== - * POWER CONTROL FUNCTIONS + * 전원 제어 함수 + * DC/DC 컨버터(±20V)를 ON/OFF하여 피에조 구동 전압을 제어한다. + * 전원 안정화에 약 10ms 필요. *============================================================================*/ +/* 피에조 전원 ON: DC/DC 컨버터 활성화 → ±20V 생성 */ void dr_piezo_power_on(void) { nrf_delay_ms(20); @@ -158,6 +228,7 @@ void dr_piezo_power_on(void) DBG_PRINTF("[DR_PIEZO] Power ON: +/-20V ready\r\n"); } +/* 피에조 전원 OFF: TX 비활성화 후 DC/DC 컨버터 차단 */ void dr_piezo_power_off(void) { dr_piezo_disable(); @@ -169,10 +240,17 @@ void dr_piezo_power_off(void) DBG_PRINTF("[DR_PIEZO] Power OFF\r\n"); } +/* 피에조 전원 상태 확인 */ +bool dr_piezo_is_power_on(void) +{ + return m_power_enabled; +} + /*============================================================================== - * PRIVATE FUNCTIONS + * 내부(private) 초기화 함수 *============================================================================*/ +/* GPIO 초기화: 모든 신호 핀을 출력 모드로 설정하고 LOW(유휴)로 초기화 */ static void dr_piezo_gpio_init(void) { nrf_gpio_cfg_output(DR_PIEZO_PIN_PE); @@ -192,6 +270,7 @@ static void dr_piezo_gpio_init(void) DBG_PRINTF("[DR_PIEZO] GPIO init done\r\n"); } +/* GPIOTE 초기화: P_OUT/N_OUT을 토글 모드로 설정 (PPI 연결 대상) */ static void dr_piezo_gpiote_init(void) { /* P_OUT: Toggle mode, initial LOW */ @@ -215,6 +294,12 @@ static void dr_piezo_gpiote_init(void) DBG_PRINTF("[DR_PIEZO] GPIOTE init done\r\n"); } +/* + * 타이머 초기화: 16MHz 클럭, 16비트 모드 + * CC[0]=반주기(4틱): 반주기 시점 토글 이벤트 + * CC[1]=전체주기(8틱): 전체주기 시점 토글 이벤트 + * CC[2]=전체주기(8틱): 인터럽트 발생 + 타이머 자동 클리어(SHORT) + */ static void dr_piezo_timer_init(void) { nrf_timer_task_trigger(PIEZO_TIMER, NRF_TIMER_TASK_STOP); @@ -258,6 +343,12 @@ static void dr_piezo_timer_init(void) DBG_PRINTF("[DR_PIEZO] Timer init done (period=%d ticks)\r\n", m_period_ticks); } +/* + * PPI 초기화: 타이머 비교 이벤트 → GPIOTE 토글 태스크 연결 (4채널) + * CC[0] 이벤트(반주기) → P_OUT 토글 + N_OUT 토글 + * CC[1] 이벤트(전체주기) → P_OUT 토글 + N_OUT 토글 + * 이로써 P_OUT과 N_OUT은 항상 역상으로 동작함. + */ static void dr_piezo_ppi_init(void) { /* @@ -302,9 +393,10 @@ static void dr_piezo_ppi_init(void) } /*============================================================================== - * TX DRIVER FUNCTIONS + * TX 드라이버 공개 함수 *============================================================================*/ +/* TX 드라이버 초기화: GPIO → GPIOTE → Timer → PPI 순서로 설정 */ void dr_piezo_init(void) { DBG_PRINTF("[DR_PIEZO] Initializing TX driver...\r\n"); @@ -321,6 +413,7 @@ void dr_piezo_init(void) DBG_PRINTF("[DR_PIEZO] TX driver ready (2MHz)\r\n"); } +/* TX 드라이버 해제: 타이머 정지, PPI/GPIOTE 비활성화, 모든 핀 LOW */ void dr_piezo_uninit(void) { nrf_timer_task_trigger(PIEZO_TIMER, NRF_TIMER_TASK_STOP); @@ -346,6 +439,13 @@ void dr_piezo_uninit(void) DBG_PRINTF("[DR_PIEZO] TX driver uninitialized\r\n"); } +/* + * 하드웨어 기반 버스트 송신 (Timer + PPI + GPIOTE 사용) + * 1) GPIOTE를 재설정: P_OUT=HIGH 시작, N_OUT=LOW 시작 (역상) + * 2) PE = HIGH → MOSFET 드라이버 활성화 + * 3) 타이머 시작 → PPI가 자동으로 P_OUT/N_OUT 토글 + * 4) 인터럽트 핸들러에서 잔여 사이클 관리 및 종료 처리 + */ void dr_piezo_burst(uint8_t cycles) { if (m_tx_active) @@ -409,11 +509,13 @@ void dr_piezo_burst(uint8_t cycles) nrf_timer_task_trigger(PIEZO_TIMER, NRF_TIMER_TASK_START); } +/* 기본 사이클 수(5)로 버스트 송신 */ void dr_piezo_pulse(void) { dr_piezo_burst(DR_PIEZO_DEFAULT_CYCLES); } +/* TX 출력 활성화: 수동으로 초기 상태 설정 (PE=HIGH, P_OUT=HIGH, N_OUT=LOW) */ void dr_piezo_enable(void) { nrf_gpio_pin_set(DR_PIEZO_PIN_P_OUT); @@ -423,6 +525,7 @@ void dr_piezo_enable(void) DBG_PRINTF("[DR_PIEZO] TX enabled\r\n"); } +/* TX 출력 비활성화: 모든 신호 핀 LOW로 복귀 (유휴 상태) */ void dr_piezo_disable(void) { nrf_gpio_pin_clear(DR_PIEZO_PIN_DMP); @@ -432,11 +535,13 @@ void dr_piezo_disable(void) DBG_PRINTF("[DR_PIEZO] TX disabled\r\n"); } +/* TX 송신 중 여부 확인 (인터럽트 핸들러에서 false로 전환) */ bool dr_piezo_is_busy(void) { return m_tx_active; } +/* 동작 주파수 변경 (100kHz~4MHz): 타이머 CC 레지스터 재설정 */ void dr_piezo_set_frequency(uint32_t freq_hz) { if (freq_hz < 100000 || freq_hz > 4000000) @@ -456,9 +561,14 @@ void dr_piezo_set_frequency(uint32_t freq_hz) } /*============================================================================== - * MUX CONTROL FUNCTION + * MUX 제어 함수 + * 8채널 아날로그 MUX로 피에조 에코 신호 경로를 선택한다. + * MUXA: CH0~CH3 담당, MUXB: CH4~CH7 담당 + * SEL0, SEL1: MUX 내부 채널 주소 선택 + * High Drive(H0H1) 모드: MUX IC의 빠른 스위칭을 위해 강한 출력 구동력 사용 *============================================================================*/ +/* MUX 제어 핀 초기화: 4개 핀 모두 High Drive 출력으로 설정, 기본값 LOW */ void dr_piezo_mux_init(void) { /* Configure MUX control pins as outputs */ @@ -522,9 +632,18 @@ void dr_piezo_mux_init(void) } +/* + * 피에조 채널 선택 (0~7) + * 채널 매핑 (EN_MUXA, EN_MUXB, SEL0, SEL1): + * CH0 = MUXA 입력0 (1,0,0,0) CH4 = MUXB 입력0 (0,1,1,1) + * CH1 = MUXA 입력2 (1,0,1,0) CH5 = MUXB 입력1 (0,1,0,1) + * CH2 = MUXA 입력1 (1,0,0,1) CH6 = MUXB 입력2 (0,1,1,0) + * CH3 = MUXA 입력3 (1,0,1,1) CH7 = MUXB 입력3 (0,1,0,0) + * 채널 전환 후 MUX 안정화 대기 시간(1.3ms) 필요. + */ void dr_piezo_select_channel(uint8_t channel) { - channel = channel & 0x07; /* Mask to 0-7 */ + channel = channel & 0x07; /* 0~7 범위로 마스킹 */ switch (channel) { // EN_A EN_B SEL0 SEL1 @@ -566,6 +685,7 @@ void dr_piezo_select_channel(uint8_t channel) nrf_delay_us(DR_PIEZO_MUX_SETTLING_US); } +/* 핀 테스트: 각 신호 핀을 순서대로 HIGH/LOW 토글 (오실로스코프 확인용) */ void dr_piezo_test_pins(void) { DBG_PRINTF("[DR_PIEZO] Pin test...\r\n"); @@ -606,9 +726,10 @@ void dr_piezo_test_pins(void) } /*============================================================================== - * SYSTEM FUNCTIONS + * 시스템 함수 (전원 + TX 드라이버 통합 제어) *============================================================================*/ +/* 시스템 전체 초기화: 전원 ON → TX 드라이버 초기화 */ void dr_piezo_system_init(void) { DBG_PRINTF("[DR_PIEZO] System init...\r\n"); @@ -617,6 +738,7 @@ void dr_piezo_system_init(void) DBG_PRINTF("[DR_PIEZO] System ready\r\n"); } +/* 시스템 전체 종료: TX 드라이버 해제 → 전원 OFF */ void dr_piezo_system_uninit(void) { dr_piezo_uninit(); @@ -624,6 +746,7 @@ void dr_piezo_system_uninit(void) DBG_PRINTF("[DR_PIEZO] System shutdown\r\n"); } +/* 전원 확인 후 버스트 송신 (블로킹: 송신 완료까지 대기) */ void dr_piezo_transmit(uint8_t cycles) { if (!m_power_enabled) @@ -638,60 +761,74 @@ void dr_piezo_transmit(uint8_t cycles) } /*============================================================================== - * SOFTWARE-BASED BURST + * 소프트웨어 기반 버스트 모드 * 2025-12-11 Charles KWON *============================================================================== - * - * Timing Diagram: - * - * |<-margin->|<----- pulses ----->|<-- DMP -->|<-margin->| - * + * + * Timer/PPI/GPIOTE 하드웨어 대신 CPU에서 직접 GPIO 레지스터를 조작하여 + * 초음파 펄스를 생성하는 방식. 인터럽트를 비활성화하여 정확한 타이밍 보장. + * + * === 타이밍 다이어그램 === + * + * |<-마진->|<----- 펄스들 ----->|<-- DMP -->|<-마진->| + * * PE ___/--------------------------------------------------\___ * P_OUT ___________/-\_/-\_/-\_/-\_/-\____________________\_______ * N_OUT ___________\_/-\_/-\_/-\_/-\_/____________________\_______ * DMP __________________________________/----------\____________ - * - * Signal Description: - * - PE (Pulse Enable): Wraps entire sequence with margin before and after - * - P_OUT: Positive output, starts LOW, toggles at 2MHz, opposite phase to N_OUT - * - N_OUT: Negative output, starts LOW, toggles at 2MHz, opposite phase to P_OUT - * - DMP (Dump): Activates after pulses complete, simultaneous with N_OUT falling edge - * - * Timing Specifications: - * - Frequency: 2MHz (500ns period, 250ns half-period) - * - CPU Clock: 64MHz (1 NOP = 15.625ns) - * - Duty Cycle: 50:50 - * - DMP Pulse Width: ~500ns - * - PE Margin: ~3 NOPs before pulses and after DMP - * - * Pin Mapping (Port P1): - * - P1.02: N_OUT (Negative output) - * - P1.03: P_OUT (Positive output) - * - P1.05: PE (Pulse Enable) - * - P1.09: DMP (Dump control) - * - * Note: Direct register access (NRF_P1->OUT) is used for simultaneous - * multi-pin control to ensure precise timing and phase alignment. + * + * === 신호 설명 === + * - PE (Pulse Enable): 전체 시퀀스를 감싸는 활성화 신호 (전후 마진 포함) + * - P_OUT: 양극 출력, N_OUT과 역상으로 2MHz 토글 + * - N_OUT: 음극 출력, P_OUT과 역상으로 2MHz 토글 + * - DMP (Dump): 펄스 완료 후 피에조 잔류 에너지 방전 + * + * === 동작 원리 === + * 1) __disable_irq()로 인터럽트 차단 → 타이밍 흔들림 방지 + * 2) PE ON (P0.25 OUTSET 레지스터 사용 → 다른 P0 핀 영향 없음) + * 3) NOP 마진 후 for 루프로 P_OUT/N_OUT 교번 출력 + * 4) DMP 펄스 (32 NOP ≒ 500ns) + * 5) PE OFF 후 __enable_irq()로 인터럽트 복원 + * + * === 포트 레지스터 직접 접근 === + * NRF_P1->OUT 레지스터에 미리 계산된 비트 마스크를 직접 기록. + * 이 방식으로 P_OUT, N_OUT, DMP를 동시에 제어하면서도 + * 채널 선택 핀(MUX SEL)은 보존한다 (P1_CTRL_MASK로 제어 핀만 변경). + * PE는 P0 포트에 있으므로 OUTSET/OUTCLR 레지스터로 별도 제어. *============================================================================*/ +/* 핀 번호에서 포트 내 비트 위치 추출 (하위 5비트 = 0~31) */ #define PIN_NUM(pin) ((pin) & 0x1F) -/* Bit masks for P1 port pins - derived from dr_piezo.h definitions - * - * WARNING: Never hardcode pin numbers! - * Hardcoding may save a developer's time momentarily, - * but it will also shorten their lifespan +/* P1 포트 핀의 비트 마스크 - dr_piezo.h의 핀 정의에서 자동 생성 + * + * 경고: 핀 번호를 절대 하드코딩하지 말 것! + * 하드코딩은 개발자의 시간을 일시적으로 절약해줄 수 있지만, + * 동시에 개발자의 수명을 단축시킬 것이다. * - Charles KWON + * + * 각 마스크는 해당 핀의 포트 레지스터 내 비트 위치를 나타낸다. + * NRF_P1->OUT에 직접 쓸 때 사용되며, 여러 핀을 동시에 제어 가능. */ -#define P_OUT_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_P_OUT)) /* P1.03 -> P1.07 */ -#define N_OUT_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_N_OUT)) /* P1.02 -> P1.06 */ -#define PE_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_PE)) /* P1.05 -> P0.25 */ -#define DMP_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_DMP)) /* P1.09 -> P1.00 */ +#define P_OUT_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_P_OUT)) /* P1.07 양극 출력 */ +#define N_OUT_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_N_OUT)) /* P1.06 음극 출력 */ +#define PE_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_PE)) /* P0.25 펄스 활성화 */ +#define DMP_MASK (1UL << PIN_NUM(DR_PIEZO_PIN_DMP)) /* P1.00 방전 제어 */ -/* Combined mask for all piezo control signals (excluding channel select) */ +/* P1 포트에서 피에조 제어에 사용하는 핀들의 결합 마스크 (채널 선택 핀 제외) */ #define P1_CTRL_MASK (P_OUT_MASK | N_OUT_MASK | DMP_MASK) +/* + * 소프트웨어 버스트 - 기본 주파수 2.1MHz + * + * NOP 타이밍 계산: + * 2.1MHz → 주기 476ns, 반주기 238ns + * CPU 64MHz → 1 NOP = 15.625ns + * 첫 반주기: 14 NOP(≒219ns) + 레지스터 쓰기(≒30ns) = ≒249ns + * 둘째 반주기: 9 NOP(≒141ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒218ns + * 합계: ≒436~476ns (≒2.1MHz) + */ void dr_piezo_burst_sw(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ @@ -838,6 +975,13 @@ void dr_piezo_burst_sw(uint8_t cycles) * First half: 15 NOPs (~234ns) * Second half: 12 NOPs (~188ns) + loop overhead */ +/* + * 소프트웨어 버스트 - 1.8MHz + * NOP 타이밍: 반주기 278ns + * 첫 반주기: 17 NOP(≒266ns) + 레지스터 쓰기(≒30ns) = ≒296ns + * 둘째 반주기: 11 NOP(≒172ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒249ns + * 합계: ≒499~556ns (≒1.8MHz) + */ void dr_piezo_burst_sw_18mhz(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ @@ -960,6 +1104,13 @@ void dr_piezo_burst_sw_18mhz(uint8_t cycles) * Second half: 11 NOPs (~172ns) + loop overhead (~47ns) = ~219ns * Total: ~468-500ns per cycle */ +/* + * 소프트웨어 버스트 - 2.0MHz + * NOP 타이밍: 반주기 250ns + * 첫 반주기: 15 NOP(≒234ns) + 레지스터 쓰기(≒30ns) = ≒264ns + * 둘째 반주기: 10 NOP(≒156ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒233ns + * 합계: ≒468~500ns (≒2.0MHz) + */ void dr_piezo_burst_sw_20mhz(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ @@ -1083,6 +1234,13 @@ void dr_piezo_burst_sw_20mhz(uint8_t cycles) * Second half: 11 NOPs (~172ns) + loop overhead (~47ns) = ~219ns * Total: ~468-500ns per cycle */ +/* + * 소프트웨어 버스트 - 1.9MHz + * NOP 타이밍: 반주기 263ns + * 첫 반주기: 15 NOP(≒234ns) + 레지스터 쓰기(≒30ns) = ≒264ns + * 둘째 반주기: 9 NOP(≒141ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒218ns + * 합계: ≒468~500ns (≒1.9MHz) + */ void dr_piezo_burst_sw_19mhz(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ @@ -1208,6 +1366,13 @@ void dr_piezo_burst_sw_19mhz(uint8_t cycles) * Second half: 11 NOPs (~172ns) + loop overhead (~47ns) = ~219ns * Total: ~452ns per cycle (~2.21 MHz) */ +/* + * 소프트웨어 버스트 - 2.2MHz + * NOP 타이밍: 반주기 227ns + * 첫 반주기: 13 NOP(≒203ns) + 레지스터 쓰기(≒30ns) = ≒233ns + * 둘째 반주기: 8 NOP(≒125ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒202ns + * 합계: ≒435~454ns (≒2.2MHz) + */ void dr_piezo_burst_sw_22mhz(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ @@ -1327,6 +1492,13 @@ void dr_piezo_burst_sw_22mhz(uint8_t cycles) * Second half: 14 NOPs (~219ns) + loop overhead (~47ns) = ~266ns * Total: ~532-588ns per cycle */ +/* + * 소프트웨어 버스트 - 1.7MHz + * NOP 타이밍: 반주기 294ns + * 첫 반주기: 18 NOP(≒281ns) + 레지스터 쓰기(≒30ns) = ≒311ns + * 둘째 반주기: 10 NOP(≒156ns) + 루프 오버헤드(≒47ns) + 레지스터 쓰기(≒30ns) = ≒233ns + * 합계: ≒532~588ns (≒1.7MHz) + */ void dr_piezo_burst_sw_17mhz(uint8_t cycles) { /* Clamp cycles to valid range (1-20) */ diff --git a/project/ble_peripheral/dr_piezo/dr_piezo.h b/project/ble_peripheral/dr_piezo/dr_piezo.h index f87a57b..00d31d1 100644 --- a/project/ble_peripheral/dr_piezo/dr_piezo.h +++ b/project/ble_peripheral/dr_piezo/dr_piezo.h @@ -3,20 +3,60 @@ * @brief Piezo Transducer Driver (2MHz Signal Generator) * @author Charles KWON * @date 2025-12-09 - * + * * @note Hardware: nRF52840 + MD1822K6-G MOSFET Driver + TC7920K6-G MOSFET - * Output: �20V at 2MHz, 3~5 cycles - * + * Output: +/-20V at 2MHz, 3~5 cycles + * * @details Timing Sequence: * 1. PE = HIGH (enable) * 2. P_OUT/N_OUT = 2MHz pulses (3~5 cycles) * 3. DMP = HIGH (dump) * 4. DMP = LOW * 5. PE = LOW (disable) - * + * * All signals (P_OUT, N_OUT, DMP) operate within PE HIGH period. ******************************************************************************/ +/******************************************************************************* + * [한국어 설명] 피에조 초음파 트랜스듀서 드라이버 헤더 + * + * === 개요 === + * 방광 측정용 초음파 송신기의 핀 할당, 설정값, 함수 선언을 정의. + * nRF52840 + MD1822K6-G(MOSFET 드라이버) + TC7920K6-G(MOSFET) 하드웨어 구성. + * 출력: +/-20V, 2MHz, 3~7 사이클 버스트. + * + * === 핀 할당 === + * 전원 제어: + * - DR_PIEZO_PWR_EN (P1.9): DC/DC 컨버터 활성화 -> +/-20V 고전압 생성 + * + * TX 신호 핀 (MOSFET 드라이버 제어): + * - PE (P0.25): Pulse Enable - 전체 시퀀스 활성화/비활성화 + * - DMP (P1.0): Dump - 펄스 후 피에조 잔류 에너지 방전 + * - P_OUT (P1.7): Positive Output - 피에조 양극 구동 + * - N_OUT (P1.6): Negative Output - 피에조 음극 구동 (P_OUT과 역상) + * + * MUX 제어 핀 (8채널 에코 신호 경로 선택): + * - EN_MUXA (P0.21): MUXA 활성화 (CH0~CH3 담당) + * - EN_MUXB (P0.23): MUXB 활성화 (CH4~CH7 담당) + * - SEL0 (P1.10): MUX 내부 채널 주소 비트 0 + * - SEL1 (P0.28): MUX 내부 채널 주소 비트 1 + * + * === MUX 채널 매핑 (8채널) === + * CH0 = MUXA 입력0: EN_A=1, EN_B=0, SEL0=0, SEL1=0 + * CH1 = MUXA 입력2: EN_A=1, EN_B=0, SEL0=1, SEL1=0 + * CH2 = MUXA 입력1: EN_A=1, EN_B=0, SEL0=0, SEL1=1 + * CH3 = MUXA 입력3: EN_A=1, EN_B=0, SEL0=1, SEL1=1 + * CH4 = MUXB 입력0: EN_A=0, EN_B=1, SEL0=1, SEL1=1 + * CH5 = MUXB 입력1: EN_A=0, EN_B=1, SEL0=0, SEL1=1 + * CH6 = MUXB 입력2: EN_A=0, EN_B=1, SEL0=1, SEL1=0 + * CH7 = MUXB 입력3: EN_A=0, EN_B=1, SEL0=0, SEL1=0 + * + * === 두 가지 버스트 모드 === + * 1) 하드웨어 버스트 (dr_piezo_burst): Timer2 + PPI + GPIOTE 사용, CPU 비의존적 + * 2) 소프트웨어 버스트 (dr_piezo_burst_sw_XXmhz): CPU NOP 기반 정밀 타이밍 + * - 주파수별 전용 함수: 1.7/1.8/1.9/2.0/2.1/2.2 MHz + ******************************************************************************/ + #ifndef DR_PIEZO_H #define DR_PIEZO_H @@ -25,7 +65,8 @@ #include "nrf_gpio.h" /*============================================================================== - * POWER CONTROL PINS (DC/DC Converter +/-20V) + * 전원 제어 핀 (DC/DC 컨버터 +/-20V) + * DR_PIEZO_PWR_EN: HIGH로 설정 시 DC/DC 컨버터가 +/-20V 고전압 생성 *============================================================================*/ //#define DR_PIEZO_PWR_SHDN NRF_GPIO_PIN_MAP(0, 21) /**< SHDN_VPP/VNN (LT3463) */ // P0.21 : PZT_EN_MUXA jhChun 0128 //#define DR_PIEZO_PWR_EN_10V NRF_GPIO_PIN_MAP(0, 22) /**< EN_+10V (MCP1804) */ // P0.22 : NIRS PIN @@ -33,7 +74,12 @@ #define DR_PIEZO_PWR_EN NRF_GPIO_PIN_MAP(1, 9) /** Power Enable jhChun 0128 */ /*============================================================================== - * TX SIGNAL PINS (MOSFET Driver Control) + * TX 신호 핀 (MOSFET 드라이버 제어) + * PE: Pulse Enable - 전체 TX 시퀀스 활성화/비활성화 + * DMP: Dump - 펄스 후 피에조 잔류 에너지 방전용 + * P_OUT: Positive Output - 피에조 양극 구동 (N_OUT과 역상) + * N_OUT: Negative Output - 피에조 음극 구동 (P_OUT과 역상) + * 주의: 이전 핀 할당(주석 처리)에서 새 보드 레이아웃으로 변경됨 (jhChun 0128) *============================================================================*/ //#define DR_PIEZO_PIN_PE NRF_GPIO_PIN_MAP(1, 5) /**< Pulse Enable */ //#define DR_PIEZO_PIN_DMP NRF_GPIO_PIN_MAP(1, 9) /**< Dump control */ @@ -46,7 +92,11 @@ #define DR_PIEZO_PIN_N_OUT NRF_GPIO_PIN_MAP(1, 6) /**< Negative output */ // P1.2 -> P1.6 jhChun 0128 /*============================================================================== - * MUX CONTROL PINS (Echo Signal Path Selection) + * MUX 제어 핀 (에코 신호 경로 선택) + * 8채널 아날로그 MUX로 피에조 센서 채널을 선택한다. + * MUXA(CH0~CH3)와 MUXB(CH4~CH7) 두 개의 4채널 MUX 사용. + * EN_MUXA/EN_MUXB: 각 MUX 활성화 (동시에 하나만 HIGH) + * SEL0/SEL1: MUX 내부 4채널 중 하나를 선택하는 주소 비트 *============================================================================*/ //#define DR_PIEZO_MUX_SEL1 NRF_GPIO_PIN_MAP(1, 13) /**< MUX Select 1 (HIGH) */ //#define DR_PIEZO_MUX_SEL2 NRF_GPIO_PIN_MAP(1, 12) /**< MUX Select 2 (LOW) */ @@ -59,7 +109,11 @@ #define DR_PIEZO_MUX_SEL1 NRF_GPIO_PIN_MAP(0, 28) /**< MUX Select 1 */ /*============================================================================== - * CONFIGURATION + * 설정값 + * DR_PIEZO_FREQ_HZ: 목표 주파수 (실제 동작 주파수는 dr_piezo.c에서 결정) + * DR_PIEZO_DEFAULT_CYCLES: 기본 버스트 사이클 수 (5) + * DR_PIEZO_MIN/MAX_CYCLES: 허용 사이클 범위 (3~7) + * DR_PIEZO_MUX_SETTLING_US: MUX 채널 전환 후 아날로그 경로 안정화 대기 시간 *============================================================================*/ /** * @note Actual operating frequency is defined in dr_piezo.c as PIEZO_FREQ_MHZ. @@ -73,7 +127,8 @@ #define DR_PIEZO_MUX_SETTLING_US 1300 /**< MUX settling delay (us) */ /*============================================================================== - * POWER CONTROL FUNCTIONS + * 전원 제어 함수 + * DC/DC 컨버터(+/-20V)를 ON/OFF하여 피에조 구동 고전압을 제어한다. *============================================================================*/ /** @@ -86,8 +141,15 @@ void dr_piezo_power_on(void); */ void dr_piezo_power_off(void); +/** + * @brief 피에조 전원 상태 확인 + * @return true: 전원 ON, false: 전원 OFF + */ +bool dr_piezo_is_power_on(void); + /*============================================================================== - * TX DRIVER FUNCTIONS + * TX 드라이버 함수 + * 초음파 송신 관련: 초기화, 버스트 송신, 활성화/비활성화, 주파수 설정 *============================================================================*/ /** @@ -156,7 +218,12 @@ void dr_piezo_mux_init(void); void dr_piezo_select_channel(uint8_t channel); /*============================================================================== - * SYSTEM FUNCTIONS (Power + TX combined) + * 시스템 함수 (전원 + TX 통합 제어) + * 전원 ON/OFF와 TX 드라이버 초기화/해제를 한 번에 수행하는 편의 함수. + * 소프트웨어 버스트(burst_sw) 계열: CPU NOP 기반 정밀 타이밍. + * - Timer/PPI 없이 CPU에서 직접 GPIO를 제어 + * - 인터럽트 비활성화 상태에서 동작하여 타이밍 정확도 보장 + * - 주파수별 전용 함수 제공 (NOP 개수가 다름) *============================================================================*/ /**