-03-27)
본 문서는 2026년 3월 27일 기준 Fluid Ardule 시스템의 개발 및 안정화 작업 내역을 정리한 것이다. 최종 결과물은 다음 두 파일로 구성된다.
본 작업의 핵심 목표는 다음과 같다.
다음과 같은 사운드폰트 리스트를 지원한다.
기능 특징: - Python → UNO로 SFLIST 전송 - UNO에서 메뉴 기반 선택 가능 - 선택 즉시 FluidSynth 재시작 - 현재 선택 상태 LCD 표시
주요 상태: - INIT - WAIT_AUDIO - WAIT_MIDI - READY
동작 흐름:
특징: - 장치 연결/해제 이벤트에 따라 상태 자동 전이 - FluidSynth 자동 시작/종료 - UNO LCD에 상태 반영
표시 항목: - Audio: OK / — - MIDI: OK / — - SF: 현재 사운드폰트 - V: 볼륨 값
개선 사항: - 초기화 상태 명확화 (Initializing…) - 장치 미연결 시 명확한 표시 - READY 상태에서 전체 정보 표시
SELECT 버튼 long press 기반 기능:
구현 특징: - 메뉴 기반 선택 (No Halt / Reboot) - Python과 ACK 기반 통신 - 중복 명령 방지 - 재시도 로직 포함
문제: - 기존에는 HALT/REBOOT 명령이 누락되는 경우 존재
해결: - ACK 기반 프로토콜 도입 - Python ↔ UNO 양방향 확인 - 재전송 로직 추가
결과: - 전원 제어 동작 안정화
문제: - DAC 탈착 시 UNO 시리얼 재연결 발생
해결: - UNO_READY 이벤트 처리 - Python에서 전체 상태 재전송
재동기화 항목: - SFLIST - SF - VOLUME - DAC 상태 - MIDI 상태
결과: - 모든 경우에서 정상 상태 진입
결과: - 상태 정상 복구 - FluidSynth 자동 재시작
결과: - 안정적으로 동작
개선 방향: - 유전원 USB 허브 사용 - 별도 5V 안정화
본 작업을 통해 Fluid Ardule 시스템은 다음과 같은 수준에 도달하였다.
2026년 3월 27일 기준으로 본 버전을 최종 안정 버전(Stable Build)으로 간주한다.