프로젝트 소개

fynescope는 PicoScope 2000B 및 2000B MSO 시리즈 PC 오실로스코프를 위한 프로토타입 그래픽 사용자 인터페이스 및 제어 애플리케이션입니다. Go로 작성되었으며 Fyne 위젯 툴킷과 PicoScope 2000A 시리즈 SDK를 기반으로 구축되었습니다. 지원 플랫폼은 Linux와 Windows 11(x64, ARM64 / Raspberry Pi 4 이상)입니다. 핵심 기능 - 시간 영역 오실로스코프 f(t): 다중 채널 파형 캡처, 수직 및 시간 분할, 선형 및 sin(x)/x 보간, 지속성, 그리고 넓은 범위와 세부 사항을 동시에 검사할 수 있는 독립적인 Time Zoom 창. - 혼합 신호(MSO) 지원: 2206B MSO와 같은 MSO 모델을 위한 디지털 채널 시각화(D0-D15), 디지털 에지/패턴 트리거, 구성 가능한 로직 임계값(TTL, CMOS, ECL 또는 사용자 정의), 유연한 채널 스태킹. - 트리거링: Simple Edge, Advanced Edge, Window, Interval, Pulse Width, Window Pulse Width, Runt, Dropout, Window Dropout, Logic, 그리고 Complex 다중 채널 트리거. - 프로토콜 디코딩: 아날로그 채널에서의 내장 UART 및 SPI 디코딩, 인라인 프레임 토큰 오버레이 및 오류 플래그. - 스펙트럼 분석기 FFT: 선형 또는 로그 주파수 축을 사용한 실시간 주파수 영역 분석. - 주파수 응답 분석 f(f) / 보드 플롯: 내장 AWG 또는 외부 SCPI 신호 발생기와 통합된, 크기 및 위상 플롯을 포함한 자동 주파수 스윕. - X-Y 모드 f(v): 한 채널을 다른 채널에 대해 플롯하여 위상 관계와 리사주 패턴을 분석. - 가상/수학 채널: expr 엔진을 통해 임의 표현식(예: chA + chB, chA * chB, 오프셋 및 스케일링)을 사용하여 물리적 입력으로부터 실시간으로 계산된 채널. - 디지털 및 아날로그 필터: 영위상(FiltFilt) 기능을 갖춘 실시간 저역 통과, 고역 통과, 대역 통과 및 대역 저지 FIR/IIR 필터, 그리고 데모 모드에서의 시뮬레이션된 RLC 필터. - 상관관계: 채널 간의 실시간 Pearson 스칼라 상관관계 및 교차 상관관계. - 신호 발생기 / AWG: 내장 임의 파형 발생기(사인, 사각, 삼각, 램프, DC, 노이즈, 스윕) 제어. - SCPI 지원: 자동화된 테스트 및 보드 플롯 생성을 위해 USB를 통해 외부 SCPI 신호 발생기를 제어. - 하드웨어 없는 데모 모드: 다중 채널 아날로그 파형, 디지털 패턴, 스윕 및 노이즈를 생성하는 내장 신호 시뮬레이터로, 하드웨어 없이 전체 UI를 탐색할 수 있습니다. - 원격 웹 서버 및 음성 제어: Web Speech API(-webport)를 통한 핸즈프리 음성 명령과 함께 웹 브라우저로의 라이브 MJPEG 스트리밍, 기본 인증으로 보호됨. - 원격 HTTPS REST API: 오실로스코프 상태를 조회하고 프로그래밍 방식으로 매개변수를 구성(-apiport, -apiauth). 빌드 및 사용법 데모 모드는 PicoSDK나 C 툴체인 없이 실행됩니다: go run -tags=demo . -demo. 실제 하드웨어 지원으로 빌드하려면 Go 1.27, C 컴파일러 및 공식 PicoScope SDK(libps2000a)가 필요합니다. 빌드 태그에는 demo(순수 Go 시뮬레이터), sim(PicoScope C 드라이버 인터페이스를 모킹하는 하드웨어 시뮬레이터), scpi(보드 스윕을 위한 외부 SCPI 발생기 제어), web(MJPEG 스트리밍 및 음성 제어 서버)이 포함됩니다. 일반적인 CLI 옵션은 데모 모드, 화면 크기 스케일링, 웹 포트, API 포트, GIF 내보내기, 로그 수준 및 버전/정보 출력을 다룹니다. 문서 및 제한 사항 저장소에는 github-wiki 디렉터리와 시작하기, 기능 및 컨트롤, 데모 모드, 발생기 제어, 가상 채널, 트리거 모드, 프로토콜 디코딩, 분해능 증가, 웹 서버 및 음성 제어, 테스트 및 디버깅, 프로그램 구조, 제한 사항을 다루는 온라인 GitHub Wiki가 포함되어 있습니다. 이 프로젝트는 공식 PicoScope 7 소프트웨어의 일부 기능이 구현되지 않았다고 명시하고 있으며, 예를 들어 심층 통계 측정, 마스크 제한 테스트 및 추가 프로토콜이 있습니다. 언급된 개발 도구로는 LiteIDE와 AI 코딩 지원이 있습니다. 이 프로젝트는 BSD 3-Clause 라이선스에 따라 라이선스가 부여되며 다른 오픈 소스 프로젝트 및 하드웨어 제공업체의 코드와 API 구조를 통합합니다.