프로그래밍/C
C ] TUI ARINC429 비행 고도/속도 송신 앱 (Text-based User Interface)
eteo
2025. 1. 7. 22:40
개발 배경 :
콘솔 창에 그래픽 요소를 추가하여 사용자 친화적인 인터페이스를 구현한 형태를 TUI(Text-based UI) 또는 CUI(Console UI)라고 한다. 사용자로부터 키보드 입력을 받아 프로그램을 제어하고 데이터를 시각적으로 구분하기 위해 박스나 테두리를 활용하고 색상을 입혀 데이터를 강조한다.
이런 TUI 앱을 언젠가 한번 만들어봐야지 하고 생각했었는데 마침 적당한 사례를 발견해서 업무상 굳이 필요는 없었지만 개인 시간을 들여 한번 만들어 봤다.
어플리케이션 설명 :
이 어플리케이션은 대기 자료 컴퓨터(Air Data Computer)를 시뮬레이션하기 위한 도구로 비행고도(Altitude)와 비행속도(Airspeed) 정해진 주기로 송신하도록 제어할 수 있다. 현재 송신하고 있는 데이터를 시각적으로 표시하며, 다양한 해상도 설정을 통해 데이터 값을 조정할 수 있는 기능을 제공한다.
해당 어플리케이션은 이전 글에서 소개한 적있는 USB to ARINC429 장치와 그 드라이버를 사용한다.
2023.10.26 - [임베디드 개발/펌웨어] - Excalibur systems DAS-429UNET/RTx & Mystic
주요 기능 :
- 실시간 데이터 시각화 및 제어 : 고도와 속도를 Slider로 표현하여 사용자는 위/아래 방향키를 통해 정해진 범위 내에서 데이터를 설정할 수 있고, 데이터의 변화를 시각적으로 확인 가능하다.
- 해상도 설정 기능 : 고도 및 속도의 정밀도를 직접 조정 가능해 fine tuning 또는 coarse tuning이 가능하다.
- 수신 시작/중단 제어 : START/STOP 버튼을 통해 송신을 시작하거나 중단할 수 있다. 현재 송신하고 있는 메시지의 개수는 실시간으로 업데이트 되어 화면 상단에 표시되고, 송신 도중에도 데이터 값을 바꿀 수 있다.