Skip to content

[하드웨어][9월 정기배포] develop <= develop-hw - #3103

Merged
Tnks2U merged 11 commits into
developfrom
develop-hw
Sep 16, 2026
Merged

Tnks2U merged 11 commits into
developfrom
develop-hw

Conversation

@Tnks2U

@Tnks2U Tnks2U commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

entry-hw 배포이슈: entrylabs/entry-hw#906 (하드웨어 1.9.78, 9/17 배포)

포함된 하드웨어 변경

🤖 Generated with Claude Code

kihyeonlion and others added 11 commits August 24, 2026 14:06
- 핸드셰이크가 실패해도 포트를 정리하지 않아, 같은 동글이 새로고침 전까지 재연결되지 않음
- 정체 파싱을 이름 대신 필드 위치 기준으로 바꾼다. 주소는 16진수 12자리만 받음
- 핸드셰이크에 5초 타임아웃을 두고, 실패하면 모듈이 직접 포트를 정리함
- 연결 유지 중 동글의 페어링 로봇이 바뀌면 같은 정체를 두 번 확인한 뒤 전환함
- 연결 시 모듈 번호를 '0204' + 변형바이트로 덮어쓰던 대입을 제거한다. 다른 hardwareLite
  모듈은 모두 생성자에서 번호를 고정한다. 변형 바이트는 로봇마다 달라(실측 05, 00, 01)
  등록되지 않은 번호가 만들어지고, 햄스터S도 0204가 되어 기종 구분이 안됨
- 검증 실패 프레임이 연속되면 정체를 다시 요청함
- 설치형 엔트리와 entry-hw는 햄스터와 햄스터S가 이미 두 항목으로 나뉘어 있는데 브라우저
  연결만 하나로 합쳐져 있었다. 그 구조를 맞춤
- 한 파일에서 인스턴스 둘을 내보낸다(020401 햄스터, 020E01 햄스터S). 블록 정의는 한 벌을
  공유하고, 블록 함수 32곳이 호출 시점에 인스턴스를 찾음
- 햄스터S 항목은 다른 기종을 거부한다. 문구는 로케일 넷(ko, en, jp, vn)
- 기존 햄스터 항목은 두 기종을 계속 받는다. 저장된 작품에 기종 정보가 없어 대칭으로
  분리하면 그 항목으로 햄스터S를 쓰던 작품이 연결 불가가 됨
- 햄스터S 사진은 구형과 좌우가 반대여서 센서 모니터 좌표를 항목별로 줌
- 타이머를 지울 때 완료 콜백을 함께 버려서, 대기 블록이 완료 표시를 기다리며 영원히
  폴링했다. 햄스터S와 무관하게 현재 출고본에서도 재현됨
- 대기 계열 5개(이동, 음표, 출력, 라인트레이서, 보드)를 모두 덮음
- 벤더 모듈에서 스레드를 중단시킬 수단이 없어, 취소된 대기 블록은 완료로 처리해 다음
  블록으로 넘김
- 로보메이션의 새 로봇 두 종. 기존 로보메이션 동글을 그대로 사용
- 삐오봇: 바퀴 두 개, 목 회전, 눈 LED, 버저
- 라쿤봇: 관절 네 개짜리 로봇 팔. 각도 지정, 좌표 지정, 티치 재생
- 블록 파일 `block_pio.js`, `block_raccoon.js` 신규
- 블록에 뜨는 글자는 각 파일의 `setLanguage()` 에 ko, en, jp, vn 네 로케일
- 로봇 동작은 `block_robomation.js` 에 `PioRobot`, `RaccoonRobot` 으로 추가
- 하드웨어 목록 등록은 `hardware/index.js` 가 자동 처리. 등록 파일 수정 없음
- 로봇 사진 `images/hw/pio.png`, `images/hw/raccoon.png`
…nt at 12

- Add SERVO_PIN(4) sensor type, ko/en templates, block menu entry and
  runcoding_led_set_servo block (0~180 clamp), same behaviour as the
  original runcoding servo block
- Lower falling star/flower/snow max count from 20 to 12 to match the
  firmware MAX_OBJECTS change (frees SRAM on the Uno)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
[로보메이션] 삐오봇, 라쿤봇 하드웨어 블록 추가
[로보메이션] 브라우저 연결 기능 - 햄스터S 추가 및 햄스터 연결 안정성 개선
feat(hardware): Jikko Basic 수정 및 Animal, Darae, Drone 블록 추가
Add servo motor block to Runcoding_display and cap OLED animation cou…
#3093에서 추가된 카테고리별 색상 테마(직코베이직 9색, 다래보드 4색)와
드론 단일 테마(#FF5656)를 표준 하드웨어 색으로 교체한다.
- color: EntryStatic.colorSet.block.default.HARDWARE
- outerLine: EntryStatic.colorSet.block.darken.HARDWARE
- 드롭다운 arrowColor: EntryStatic.colorSet.arrow.default.HARDWARE

색 값만 바꾸고 팔레트·매핑·값 블록 복제 로직과 카테고리 제목 블록은 그대로 둔다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Tnks2U Tnks2U self-assigned this Sep 16, 2026
@Tnks2U
Tnks2U requested review from kimorkim and prisml September 16, 2026 09:04
'이 항목은 햄스터S 전용입니다. 구형 햄스터는 목록에서 "햄스터"를 선택해 주세요. 다시 연결할 때 포트를 한 번 더 선택해야 합니다.',
foreignTitle: '다른 로봇이 연결되었습니다',
foreignDesc:
'햄스터S가 아닌 로봇이 연결되었습니다. 이 항목에서는 이 로봇을 제어할 수 없습니다. 연결을 끊고 햄스터S를 연결하거나, 목록에서 "햄스터"를 선택해 주세요.',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 107. Maximum allowed is 100.

en: {
rejectTitle: 'Not a Hamster S',
rejectDesc:
'This entry is for Hamster S only. For the older Hamster, choose "Hamster" from the list. You will need to pick the port again when reconnecting.',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 163. Maximum allowed is 100.

'This entry is for Hamster S only. For the older Hamster, choose "Hamster" from the list. You will need to pick the port again when reconnecting.',
foreignTitle: 'A different robot is connected',
foreignDesc:
'A robot other than Hamster S is connected. This entry cannot control it. Disconnect and connect a Hamster S, or choose "Hamster" from the list.',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 162. Maximum allowed is 100.

'この項目はハムスターS専用です。旧型ハムスターは一覧から「ハムスター」を選んでください。再接続の際はポートをもう一度選択する必要があります。',
foreignTitle: '別のロボットが接続されました',
foreignDesc:
'ハムスターS以外のロボットが接続されています。この項目ではこのロボットを制御できません。接続を切ってハムスターSを接続するか、一覧から「ハムスター」を選んでください。',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 102. Maximum allowed is 100.

vn: {
rejectTitle: 'Đây không phải Hamster S',
rejectDesc:
'Mục này chỉ dành cho Hamster S. Với Hamster đời cũ, hãy chọn "Hamster" trong danh sách. Khi kết nối lại, bạn cần chọn cổng một lần nữa.',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 154. Maximum allowed is 100.

'Mục này chỉ dành cho Hamster S. Với Hamster đời cũ, hãy chọn "Hamster" trong danh sách. Khi kết nối lại, bạn cần chọn cổng một lần nữa.',
foreignTitle: 'Đã kết nối một robot khác',
foreignDesc:
'Một robot không phải Hamster S đang được kết nối. Mục này không thể điều khiển nó. Hãy ngắt kết nối và kết nối Hamster S, hoặc chọn "Hamster" trong danh sách.',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [eslint] <max-len> reported by reviewdog 🐶
This line has a length of 177. Maximum allowed is 100.

@Tnks2U
Tnks2U merged commit e01b81b into develop Sep 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants