XM10 Extension Module SDK v2.5.0¶
릴리즈 날짜: 2026-07-24 | 대상 HW: Rev 1.1 · Rev 2.0 공통 | KIT H10 FW: v2.3.0+
한눈에 보기¶
USB 메모리(USB 스틱)에 데이터를 저장하던 기능(USB-MSC 로깅)을 뺀 릴리즈입니다. 이제 데이터는 USB 케이블로 PC 에 실시간으로 보내서 확인하고 저장합니다. Rev 1.1 · Rev 2.0 둘 다 해당됩니다.
- USB 메모리 저장 기능을 뺐습니다 — 저장 속도가 느려서 데이터가 중간중간 조용히 빠질 수 있었기 때문입니다(아래 쉬운 설명 참고).
- 데이터는 이제 USB 케이블로 실시간 전송 — PhAI Studio 로 그래프를 보면서 바로 CSV 로 저장하면 됩니다. 더 빠르고, 데이터가 빠지지 않습니다.
- 예제 정리 — USB 메모리 저장 전용 예제 5 개를 뺐습니다. 데이터 수집은 CDC 예제(Ex.07~09)로 배웁니다.
왜 뺐나요? (쉽게)¶
USB 메모리(USB 스틱)는 글씨를 천천히 쓰는 친구라고 생각하면 됩니다.
보드는 1 초에 1000 번씩 아주 빠르게 데이터를 만들어 내는데, USB 스틱이 그걸 다 받아 적기에는 손이 느립니다. 그래서 받아 적는 동안 잠깐잠깐(2~3 밀리초, 운이 나쁘면 더 오래) 멈추고, 그 사이에 만들어진 데이터 몇 개가 적히지 못하고 사라집니다.
더 곤란한 건, 저장된 파일을 열어 보면 번호(loop count)는 1, 2, 3... 빠짐없이 예쁘게 이어져 있어서 겉보기엔 멀쩡해 보인다는 점입니다. 실제로는 중간에 데이터가 빠졌는데도 말이죠. 이렇게 모르는 사이에 데이터가 빠지는 것은, 데이터를 믿고 쓰는 연구·학습에 나쁩니다.
그래서 이 기능을 빼고, 빠지지 않는 방법(USB 케이블 실시간 전송) 으로 바꿨습니다.
그럼 데이터는 어떻게 모으나요?¶
USB 케이블(USB-CDC)로 PC 에 실시간으로 보냅니다. 두 가지 방법이 있습니다.
- PhAI Studio (가장 쉬움) — 보드를 USB 로 연결하면 그래프가 실시간으로 뜹니다. 녹화 버튼을 누르면 되고, 나중에 CSV 로 내보내기도 됩니다.
- 파이썬 직접 받기 (원하면) — 직접 코드를 짜고 싶다면 리포지토리의
PythonDecoder/CDC/파이썬 샘플로 받으면서 CSV 로 자동 저장할 수 있습니다.
배우는 순서는 Ex.07 → 08 → 09 (USB 시리얼 → 센서값 출력 → 고속 스트리밍) 예제를 따라가면 됩니다.
PhAI Studio 는 아직 개발 중이라, 직접 정의한 데이터 구조체(커스텀 구조체)는 우선
xm10도구로 보고 저장하세요. (PC 데이터 도구 안내)온보드(보드에 직접) 저장은 지원하지 않습니다.
무엇이 바뀌었나¶
뺀 것¶
- USB 메모리 저장 예제 5 개 삭제 —
10_MSC_Manual_log,10a_MSC_Basic_Log,10b_MSC_Custom_Struct,10c_MSC_Advanced_Log,34_MSC_GaitAnalysis_Log. - USB 메모리 저장 API 숨김 —
XM_SetUsbLogSource/XM_StartUsbDataLog/XM_StopUsbDataLog등 파일 로깅 함수는 더 이상 제공하지 않습니다. - 관련 문서 정리 — "USB 메모리 로깅" 안내 페이지를 빼고, 데이터 수집 안내를 USB-CDC 로 통일했습니다.
바뀐 것¶
- 예제 11 · 12 · 17 — 데이터 기록 부분을 USB 메모리 저장에서 USB-CDC 실시간 스트리밍으로 바꿨습니다. 동작을 배우는 데는 그대로 좋습니다.
- 예제 개수 — Rev 2.0 은 45 개, Rev 1.1 은 42 개가 되었습니다.
그대로인 것¶
- CDC(실시간 스트리밍) API 전부 유지 —
XM_SendUsbDataWithId,XM_SetUsbCustomMeta,XM_SendUsbDebugMessage등. - 제어·센서·LED·버튼 등 나머지 API 는 변경 없음 — 여러분의
Control_Setup/Control_Loop코드는 그대로 다시 빌드하면 됩니다(파일 로깅 함수를 쓰던 경우만 CDC 로 바꾸면 됩니다).
다운로드¶
| 파일 | 대상 보드 |
|---|---|
| Rev2.0.zip | XM10 Rev 2.0 (RJ45 Ethernet 포트 있는 최신 보드) |
| Rev1.1.zip | XM10 Rev 1.1 (초기 개발용 보드) |
본인 보드 리비전과 같은 ZIP 을 받아주세요. RJ45 Ethernet 포트가 있으면 Rev 2.0, 없으면 Rev 1.1 입니다.
Release 첨부 파일¶
이번 릴리즈에도 아래 파일을 함께 첨부했습니다. 여러분 보드 리비전에 맞는 RevX.X.zip 하나와, KIT H10 을 함께 쓰신다면 아래 3 개 파일이 필요합니다.
| 파일 | 용도 |
|---|---|
AGR_Bootloader.bin |
XM10 부트로더 (SWD 로 1 회 설치. 이후 FW 는 PhAI Studio USB 업로드) |
SUIT_H10_Binary_20260716.zip |
KIT H10 (CM · MD · ESP32) 펌웨어 — USB 스틱에 넣어 업데이트 |
SUIT_ContentsFiles.zip |
KIT H10 컨텐츠 파일 (모션 · 사운드 등) — USB 스틱에 함께 |
부트로더 · KIT H10 펌웨어 · 컨텐츠 파일은 이전 릴리즈(v2.3.0)와 동일합니다. 편의를 위해 v2.5.0 에도 같은 파일을 그대로 첨부했으니, 이미 v2.3.0 이후로 설치·업데이트하셨다면 추가 작업이 없습니다. 설치 방법은 부트로더 업로드 · KIT H10 펌웨어 문서를 참고하세요.
준비물 안내¶
빌드 마무리 단계(업로드용 .bin 생성)가 Python 을 사용합니다. 아직 설치하지 않았다면 개발 환경 구축 안내대로 Python 3.10+ 를 설치해 주세요 (PATH 등록 필수).
호환성 안내¶
| 항목 | 영향 |
|---|---|
사용자 코드 (Control_Setup / Control_Loop) |
파일 로깅 함수(XM_SetUsbLogSource 등)를 쓰던 경우에만 CDC 로 바꾸면 됩니다. 그 외에는 재빌드만 하면 됩니다 |
| CDC(실시간 스트리밍) API | 변경 없음 |
| USB 메모리(MSC) 파일 로깅 | 제거됨 — 데이터 수집은 USB-CDC 로 |
| 온보드(SD 카드) 저장 | 지원하지 않음 |
| KIT H10 펌웨어·컨텐츠 파일 | 이전과 동일 — 추가 업데이트 불필요 |
| 부트로더 | 이전과 동일 — 재설치 불필요 |