• R/O
  • SSH
  • HTTPS

scip: Commit


Commit MetaInfo

Revision29 (tree)
Time2009-08-23 00:00:36
Authorbluewind

Log Message

タイムアウトのバグをFIX

Change Summary

Incremental Difference

--- libscip2/trunk/include/scipioo.h (revision 28)
+++ libscip2/trunk/include/scipioo.h (revision 29)
@@ -15,95 +15,95 @@
1515 extern "C"{
1616 #endif
1717
18- //! I/O ハンドル
18+ //! I/O ??潟???
1919 typedef void* tScipIO;
2020
21- //! Open オペレーション
21+ //! Open ???????若?激?с?
2222 /*!
23- デバイスをオープンし、必要ならば通信パラメータをセットアップする。
23+ ?????ゃ?鴻?????若???潟????綽?荀??????育??篆<?????<?若?帥???祉?????≪??????????
2424
25- @retval !NULL I/Oハンドル
26- @retval NULL 失敗
25+ @retval !NULL I/O??潟???
26+ @retval NULL 紊掩??
2727 */
2828 tScipIO scipIOOpen(char *aDevName);
2929
30- //! Close オペレーション
30+ //! Close ???????若?激?с?
3131 /*!
32- デバイスをクローズし、I/O ハンドルを破棄する。
33- @retval 0 成功
34- @retval !0 エラーコード
32+ ?????ゃ?鴻???????若?冴????I/O ??潟???????贋???????
33+ @retval 0 ????
34+ @retval !0 ?????若?潟?若??
3535 */
3636 int scipIOClose(tScipIO aDev);
3737
38- //! Poll in オペレーション
38+ //! Poll in ???????若?激?с?
3939 /*!
40- 呼出時点で読み出せるデータが存在するかチェックする。
41- この関数はブロックしない。
40+ ?弱?堺???鴻?ц??水?冴???????若?帥??絖????????????с??????????
41+ ?????∽?違??????????????????
4242
43- @retval 0 読み出し可能なデータが存在する
44- @retval <0 エラーコード
43+ @retval 0 茯??水?冴?????純?????若?帥??絖???????
44+ @retval <0 ?????若?潟?若??
4545 */
4646 int scipIOPoll(tScipIO aDev);
4747
48- //! Read オペレーション
48+ //! Read ???????若?激?с?
4949 /*!
50- 呼出時点で読めるだけのデータを取得する。
51- もし読めるデータがなければ、最大で scipIOSetTimeout で設定した時間
52- ブロックしてデータを待つ。
50+ ?弱?堺???鴻?ц??????????????若?帥????緇???????
51+ ????茯????????若?帥?????????違????紊с? scipIOSetTimeout ?ц┃絎?????????
52+ ???????????????若?帥??緇??ゃ??
5353
54- @retval >=0 読み込んだバイト数
55- @retval <0 エラーコード
54+ @retval >=0 茯??粋昭???????ゃ???
55+ @retval <0 ?????若?潟?若??
5656 */
5757 int scipIORead(tScipIO aDev, char *aBuff, size_t count);
5858
59- //! 1行読み出し
59+ //! 1茵?茯??水?冴??
6060 /*!
61- 呼出時点で読み出せる、LF終わる1行分のデータを取得する。
62- もし1行分のデータがなければ、最大で scipIOSetTimeout で設定した時間
63- ブロックしてデータを待つ。
61+ ?弱?堺???鴻?ц??水?冴??????LF腟????1茵????????若?帥????緇???????
62+ ????1茵????????若?帥?????????違????紊с? scipIOSetTimeout ?ц┃絎?????????
63+ ???????????????若?帥??緇??ゃ??
6464
65- @retval >=0 読み込んだバイト数
66- @retval <0 エラーコード
65+ @retval >=0 茯??粋昭???????ゃ???
66+ @retval <0 ?????若?潟?若??
6767 */
6868 int scipIOReadLine(tScipIO aDev, char *aBuff, size_t count);
6969
70- //! Write オペレーション
70+ //! Write ???????若?激?с?
7171 /*!
72- デバイスへデータを出力する。
73- 実際のデータ出力のために(例えばfflushのような)明示的なオペレーションは
74- 必要ない。
75- 呼出時点で以前の呼出によるデータ出力が完了していない場合にはその
76- データ出力が完了するまでブロックする。
72+ ?????ゃ?鴻?吾???若?帥???阪????????
73+ 絎????????若?水?阪??????????箴?????flush??????????ず???????????若?激?с?潟?
74+ 綽?荀???????
75+ ?弱?堺???鴻?т札?????弱?冴?????????若?水?阪????絎?篋????????????翫?????????
76+ ???若?水?阪????絎?篋??????障?с??????????????
7777
78- @retval >=0 書き込んだバイト数
79- @retval <0 エラーコード
78+ @retval >=0 ?吾??莨若???????ゃ???
79+ @retval <0 ?????若?潟?若??
8080 */
8181 int scipIOWrite(tScipIO aDev, const char *aBuff, size_t count);
8282
83- //! 通信速度パラメータ設定
83+ //! ??篆♂??綺??????<?若?粋┃絎?
8484 /*!
85- デバイスの通信速度を設定する。
86- scipIOReadで読み取られていないデータは破棄され、未送信のデータも破棄される。
87- デバイスがUSBの場合にはデータの破棄だけを行う(scipIOClearと同じ)。
85+ ?????ゃ?鴻????篆♂??綺???荐????????
86+ scipIORead?ц??水????????????????若?帥???贋???????????篆<?????若?帥???贋?????????
87+ ?????ゃ?鴻??USB???翫?????????若?帥???贋???????茵???(scipIOClear??????)??
8888
89- @retval 0 成功
90- @retval !0 エラーコード
89+ @retval 0 ????
90+ @retval !0 ?????若?潟?若??
9191 */
9292 int scipIOSetBitrate(tScipIO aDev, unsigned int aBitrate);
9393
94- //! 受信タイムアウト設定
94+ //! ??篆<?帥?ゃ???≪????荐??
9595 /*!
96- scipIORead呼出時にデータが受信されていなかった場合にデータ到着を待つ、
97- 最長の時間を設定する。
98- @retval 0 成功
99- @retval !0 エラーコード
96+ scipIORead?弱?堺???????若?帥????篆<?????????????c???翫???????若?水?亥????緇??ゃ??
97+ ???激????????荐????????
98+ @retval 0 ????
99+ @retval !0 ?????若?潟?若??
100100 */
101101 int scipIOSetTimeout(tScipIO aDev, unsigned int aTimeoutMs);
102102
103- //! 状態復帰
103+ //! ?倶??緇?鍵
104104 /*!
105- 未送信のデータと受信バッファ中のデータを破棄する。通信デバイスが
106- 状態を持つ場合には初期状態に復帰し、通信可能な状態にする。
105+ ????篆<?????若?帥???拭???????>賢?????若?帥???贋?????????篆<?????ゃ?鴻??
106+ ?倶???????ゅ?翫???????????倶????奨絽違??????篆≦??純???倶??????????
107107 */
108108 int scipIOClear(tScipIO aDev);
109109
--- libscip2/trunk/src/scipio-linux.c (revision 28)
+++ libscip2/trunk/src/scipio-linux.c (revision 29)
@@ -69,7 +69,8 @@
6969 tio.c_cflag&= ~PARENB; // no parity
7070 tio.c_cflag&= ~CRTSCTS; // no CTS/RTS
7171 tio.c_cflag&= ~CSTOPB; // stop bit = 1bit
72- tio.c_cc[VTIME] = 5; // 500ms to timeout
72+// tio.c_cc[VTIME] = 5; // 500ms to timeout
73+ tio.c_cc[VTIME] = 0; // 0ms to timeout(read() ではなく poll() で待つ)
7374 tio.c_cc[VMIN] =0;
7475
7576 // Commit
@@ -297,6 +298,7 @@
297298 */
298299 int scipIOSetTimeout(tScipIO aDev, unsigned int aTimeoutMs)
299300 {
301+#if 0
300302 struct termios tio;
301303 tcgetattr(aDev->fd,&tio);
302304
@@ -303,12 +305,13 @@
303305 tio.c_cc[VTIME] = aTimeoutMs/100;
304306 tio.c_cc[VMIN] =0;
305307
306- aDev->timeoutMs=aTimeoutMs;
307- return 1;
308-
309308 // Commit
310309 if(tcsetattr(aDev->fd,TCSADRAIN,&tio)==0)
311310 return 1;
311+#endif
312+
313+ aDev->timeoutMs=aTimeoutMs;
314+
312315 return 0;
313316 }
314317
Show on old repository browser