Linux2010.04.02 16:18
console로 열린 터미널에서 일부의 속성만을 변경해서 사용중이었는데
다른건 전송이 되는데 0x11 데이터가 제대로 받아지지 않는 문제가 발생했다.

일단 엔터 치기 전에는 입력이 받아지지 않는건
'캐노니컬 모드(canonical mode)'로 인한 것이기 때문에 ~ICANON 으로 해결을 했지만

0x11 은 DC1(Data Control 1 - XON) 으로 캐노니컬과는 별개이기 때문에 0x11 데이터가 손실되었다.
터미널은 워낙 내용이 방대해서.. 간단하게 해결책만 제시하자면

ffmpeg의 소스중 일부를 인용
 712                 new_set.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
 713                                       |INLCR|IGNCR|ICRNL|IXON);
 714                 new_set.c_oflag |= OPOST;
 715                 new_set.c_lflag &= ~(ECHO|ECHONL|ICANON|IEXTEN);
 716                 new_set.c_cflag &= ~(CSIZE|PARENB);
 717                 new_set.c_cflag |= CS8;
 718                 new_set.c_cc[VMIN] = 1;
 719                 new_set.c_cc[VTIME] = 0;


       IXON   Enable XON/XOFF flow control on output.
       IXOFF  Enable XON/XOFF flow control on input.

[링크 : http://linux.die.net/man/3/tcgetattr]

결론 : 아마도 이랬을 것입니다
신고
Posted by 구차니

댓글을 달아 주세요

별건 아니지만, 예전 프로그램을 조합+개조하여 만들어 본 녀석인데..
흐음.. 엔터를 두번이나 눌러야 하다니 이걸 어떻게 개선을 해야 하려나..

아무튼 이녀석의 목적은
- 서보모터를 시리얼 포트를 통해 값을 입력받아 제어한다.

일단 약간의 버그로 인해
- 숫자 입력후 엔터를 두번 눌러야 각도가 변경되고
- 엔터만 눌러대거나, 이상한 각도를 입력하면 서보가 길길댄다.

입력가능한 숫자 범위는 서보마다 다르겠지만
ES-311 엘레파츠의 저렴한 모터로는
32~112 값으로 0도에서 180도까지 이동이 가능하다(정확하게는 한 160도 정도 되는듯?)

소스코드

신고
Posted by 구차니

댓글을 달아 주세요

  1. 앗이거... 제가 찾고있었던건데 ㅎㅎ.. 근데 어떻게 사용해야될련지는 모르겠네요... 원격컴퓨터에서 RC 비행기를 조종하는 솔루션개발중인데 어떻게 시작할지 막막하네요 ㅠㅠ

    2010.06.26 17:04 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 헐 솔루션이라니 ㅠ.ㅠ
      너무 고도의 것을 하시려는거 아닌가요? ^^;

      저도 백수모드라서 한번 해볼까 해요
      굳이 RC가 아니더라도 여러가지 방법으로 말이죠 ^^

      2010.06.26 22:55 신고 [ ADDR : EDIT/ DEL ]
    • ㅎㅎ.. 구상도는 생각했는데 역시 너무 어렵겠죠 ?

      2010.06.27 16:02 신고 [ ADDR : EDIT/ DEL ]
    • 일단 컴퓨터로 오면은 실시간성에 문제가 생기니 추락해도 책임안진다고 하시면 될꺼 같기도 해요 ㅋㅋ

      2010.06.27 19:18 신고 [ ADDR : EDIT/ DEL ]

파일방2009.01.21 21:07
Windows를 사용한다면 하이퍼 터미널
Linux를 사용한다면 minicom 이 대답인데..

그 외에 사용가능한 대안으로는
open source project중에 putty 와 Teraterm이 있다.

Teraterm의 오리지널은 1999년 이후로는 개발이 안되는 일본판이고
sourceforge.jp 에서 open source project로 진행중인 것이 있는데, 상당히 복잡한 기능을 가지고 있다.


putty는 그에 비해서 매우 단순한 터미널이다.

좌측은 PuttyTel(Telnet client) 우측은 Putty(SSH Client)이다.
차이점은 Serial 과 SSH의 차이이다.

 TeraTerm  PuttyTel
 SSH 지원
 SSH지원하지 않음(Putty사용)
 파일 전송 지원(Kermit/ZMODEM/XMODEM)
 파일 전송 지원하지 않음

둘다 드래그로 복사, 우클릭으로 붙여넣기를 지원하여 편하지만,
TeraTerm은 환경을 저장할 수 없어(시리얼 관련) 매번 설정해주어야 하는 불편함이 있지만,
PuttyTel은 저장이 가능하므로 TeraTerm에 비하면 편리하다.

결국은 파일 전송의 필요에 따라서 어느것을 사용할지 고르면 된다.

물론 용량은
PuttyTel 294,912 바이트
TeraTerm 6,066,571 바이트(설치 프로그램) 으로 많은 차이가 있다.

[Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/]
[Teraterm : http://ttssh2.sourceforge.jp/]


2009.2.3 덧붙임

Putty 0.59 beta 부터 serial 기능이 통합되었습니다.

These features were new in beta 0.59 (released 2007-01-24):

  • PuTTY can now connect to local serial ports as well as making network connections.

[출처 : http://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html]
PuTTY Change Log
0.60 beta 버전의 putty

신고

'파일방' 카테고리의 다른 글

TeamViewer  (0) 2009.08.03
UFO:AI 임시 번역본  (0) 2009.03.07
Dual time clock  (0) 2009.02.04
공개 시리얼 프로그램(터미널) - free terminal program(RS-232)  (6) 2009.01.21
Notepad2 개궁극의 버전 - 트래픽 분산용  (4) 2009.01.16
POTO TV CSE 드라이버(회색)  (22) 2008.11.26
Posted by 구차니

댓글을 달아 주세요

  1. 악플

    2009.01.21 21:22 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 악플2

    2009.01.21 21:38 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. Rainbow

    악플어택하러 왔습니다 하하~
    대부분 다음을 쓰지만 정보검색은 네이버로 하는데
    그때 찾아뵌 적이 있는 곳이로군요
    은근슬쩍 유용한 정보가 많아서 좋았는데 이제사 답글 남깁니다^^

    2009.01.22 12:24 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 원래는 blog.naver.com/morpheuz82 에서 블로깅을 했었답니다 ^^; 네이버가 싫어요! 를 외치면서 티스토리로 나왔더랬죠. 유용한 정보라고 말씀해주시니 감사합니다 ㅠ.ㅠ 저는 이것저것 다 모으다 보니 잡동사니라고 표현을 했는데 말이죠 ^^;

      2009.01.22 18:22 신고 [ ADDR : EDIT/ DEL ]