전자 디자인 랩 Lab6 (GUI) 소스코드 리포트
- 최초 등록일
- 2010.06.03
- 최종 저작일
- 2010.05
- 16페이지/ 압축파일
- 가격 10,000원
소개글
C언어 기반 코드로 결과물은 오실로스코프입니다.
DSO (Digital Storage Oscilloscope) 제작과정 중 마지막인 통합 + GUI 설계입니다.
(최종 결과물만 필요하신 분들은 이것만 필요하시겠고, 그 전 각 단계에 대한 설명과
구현과정 등이 필요하신 분들은 똑같이 전자 디자인 랩 Lab5 , 4, 3, 2, 1 로 검색하시면
되겠습니다.)
DSO는 Embedded board와 PC와의 server / clinet 방식으로 이루어졌습니다.
Embedded board는 EZ-X5로 작업했으며, Server측에서는 하드웨어와 연동하여 명령어를 수행하는
Module program도 함께 들어있습니다.
Server/Client, PWM(Pulse Width Modulation), PGA(Programmable Gain Amplifier), ADC(Analog to Digital Converter), Trigger, GUI(Graphical User Interface) 가 모두 통합된 것입니다.
GUI는 Linux의 GNOME 기반 Glade를 사용하였습니다.
이에 관한 실험 결과 report가 포함되어 있습니다.
모두가 통합되어 있지만, 가장 중점으로 다룬 것은 GNOME(그놈)과 GLADE(글레이드) 부분입니다.
실험 6이지만, 1~5자료가 없어도 전혀 상관없이 구동할 수 있으며,
보드만 있다면 hardware에는 크게 영향을 받지 않습니다. (연결만 알맞게 된다면)
최종적으로 A+ 받았습니다.
(한국어로 작성했으며, 기술적으로 바꾸기 힘든 단어들은 그냥 영어단어 그대로 사용했습니다.)
목차
1. Purpose
2. Experiment sequence
3. Experimental results
4. Discussion
5. Demonstration
6. Rough Code Explanation
본문내용
1. Purpose
본 실험의 목적은 Lab1에서 Lab5까지 구현한 DSO(digital storage oscilloscope)의component들을 GUI (graphic user interface)를 기반으로 통합하는 것이다. GUI는 X-window 기반 GNOME을 이용하며, 이 중에서도 빠른 개발을 위한 Glade와 Gtk를 사용한다. 추가적으로 invert, on/off, y position의 기능들을 software적으로 구현한다.
2. Experiment sequence
- 기존 Lab1 ~ Lab5까지는 각 module들의 동작, 성능을 학인하기 위해서 임시로 필요한 input, ouput들만 연결하였다. 하지만 최종적으로 합치기 위해서는 모든 input, output관계가 유기적으로 연결되어야 한다. 아래 Fig. 6.1을 참조하면 그 연결 관계를 이해하기 쉽다.
1) Software
- Lab1은 server/client application이었다. Server는 Embedded board에서 실행되어 Ethernet을 통해 전달되어 오는 msg를 parsing하고, valid한 command에 상응하는 작동을 한다. 따라서 Lab1~Lab5의 server program들이 모두 합쳐져야 한다. 우리는 기존 실험들에서 새롭게 server program을 작성하지 않고, Lab1에서 작성한 server를 바탕으로 계속 add/modify를 하였기 때문에, server측면에서는 추가적인 작업이 필요치 않았다. Client는 GUI관련 code들이 들어가야 하기 때문에 Glade로 작성된 4개의 code들(callback.c, interface.c, main.c, support.c)이 client를 대체하게 된다.
- Lab2~Lab5까지 사용된 Module program 역시 최종 구현을 위해 합쳐져야 한다. Module program 역시, 매 실험시마다 add/modify를 하였고 정상적으로 작동하였기 때문에 그대로 사용하였다.
참고 자료
없음
압축파일 내 파일목록
interface.c
callbacks.c
Lab6.hwp
project2.glade
project2.gladep