• R/O
  • SSH
  • HTTPS

scip: Commit


Commit MetaInfo

Revision27 (tree)
Time2009-05-21 13:54:42
Authory_o_s

Log Message

windowsでdll版のビルドができるように修正

Change Summary

Incremental Difference

--- libscip2/trunk/include/scipbase.h (revision 26)
+++ libscip2/trunk/include/scipbase.h (revision 27)
@@ -23,7 +23,7 @@
2323 @retval 0> 成功
2424 @retval <=0 失敗
2525 */
26- int scipSendCommand(tScipIO aDev, const char* aCmd);
26+ LIBSCIP2_DECL int scipSendCommand(tScipIO aDev, const char* aCmd);
2727
2828 //! 応答を受信する
2929 /*!
@@ -38,11 +38,11 @@
3838 @retval 0> 成功
3939 @retval <=0 エラーコード
4040 */
41- int scipReceiveRecord(tScipIO aDev,char *aEcho, char *aStatus,
41+ LIBSCIP2_DECL int scipReceiveRecord(tScipIO aDev,char *aEcho, char *aStatus,
4242 char *aData, size_t aLen);
4343
4444 //! 送受信バッファをクリアする
45- void scipPurgeBuffers(tScipIO aDev);
45+ LIBSCIP2_DECL void scipPurgeBuffers(tScipIO aDev);
4646 /*!
4747
4848 LF を送信し、受信タイムアウトが発生するまで受信バッファを読み飛
@@ -56,7 +56,7 @@
5656 @param[in] aData 6bitエンコードされた文字列
5757 @param[in] aSize 1個のデータを表現するのに使われている文字数
5858 */
59- unsigned int scipDecode6(const char* aData, size_t aSize);
59+ LIBSCIP2_DECL unsigned int scipDecode6(const char* aData, size_t aSize);
6060
6161 //! レコード行末のチェックサムを処理
6262 /*!
@@ -73,7 +73,7 @@
7373 @retval >0 正しいチェックサム文字を検出した。行中の文字数を返す
7474 @retval 0 不正なチェックサム文字を検出した。もしくは行が短すぎる。
7575 */
76- int scipCheckLine(char* aLine, int aSkipSeparator);
76+ LIBSCIP2_DECL int scipCheckLine(char* aLine, int aSkipSeparator);
7777
7878 #ifdef __cplusplus
7979 }
--- libscip2/trunk/include/scip2util.h (revision 26)
+++ libscip2/trunk/include/scip2util.h (revision 27)
@@ -94,7 +94,7 @@
9494 @param commDelay コマンド送受信にかかる通信時間の推定値
9595 @return 推定結果のセンサ起動時刻
9696 */
97- tScipTime scip2EstimateTimeOffset(tScipState *aSensor, double commDelay);
97+ tScipTime scip2EstimateTimeOffset(tScipSensor *aSensor, double commDelay);
9898 /*!
9999 センサから取得した時刻値をホスト側での時刻に換算する。
100100 あらかじめ scip2EstimateEpoch により推定したセンサ起動時刻が必要。
@@ -114,17 +114,17 @@
114114 scip2Do_VV() を使用してセンサからバージョン情報を取得、解釈し、
115115 aVersion構造体に設定する。
116116 */
117- int scip2GetVersion(tScipState *aSensor, tScipSensorVersion *aVersion);
117+ int scip2GetVersion(tScipSensor *aSensor, tScipSensorVersion *aVersion);
118118 /*!
119119 scip2Do_II() を使用してセンサからステータス情報を取得、解釈し、
120120 aStatus構造体に設定する。
121121 */
122- int scip2GetStatus(tScipState *aSensor, tScipSensorStatus *aStatus);
122+ int scip2GetStatus(tScipSensor *aSensor, tScipSensorStatus *aStatus);
123123 /*!
124124 scip2Do_PP() を使用してセンサからパラメータ情報を取得、解釈し、
125125 aParam構造体に設定する。
126126 */
127- int scip2GetParam(tScipState *aSensor, tScipSensorParam *aParam);
127+ int scip2GetParam(tScipSensor *aSensor, tScipSensorParam *aParam);
128128
129129 #if 0
130130 /*!
--- libscip2/trunk/include/scip2command.h (revision 26)
+++ libscip2/trunk/include/scip2command.h (revision 27)
@@ -15,6 +15,21 @@
1515
1616 #include "scipio.h" // for tScipIO
1717
18+
19+#ifdef WIN32
20+ #ifdef LIBSCIP2_DECL
21+ #undef LIBSCIP2_DECL
22+ #endif
23+ #ifdef scip2command_EXPORTS
24+ #define LIBSCIP2_DECL __declspec(dllexport)
25+ #else
26+ #define LIBSCIP2_DECL
27+ #endif
28+#else
29+ #define LIBSCIP2_DECL
30+#endif
31+
32+
1833 typedef struct {
1934 tScipIO dev;
2035 void* userData; //! このポインタはユーザが自由に使って良い
@@ -22,7 +37,7 @@
2237 } tScipSensor;
2338
2439 //! scip2IO ハンドルから scip2command ハンドルを作る
25- tScipSensor *scip2CommandInit(tScipIO *aIO);
40+ LIBSCIP2_DECL tScipSensor *scip2CommandInit(tScipIO *aIO);
2641
2742 //! scip2デバイスを開き、scip2command ハンドルを作る
2843 /*
@@ -29,7 +44,7 @@
2944 @retval !NULL 作成した scip2command ハンドル
3045 @retval NULL 失敗
3146 */
32- tScipSensor *scip2CommandOpen(char* aDevName);
47+ LIBSCIP2_DECL tScipSensor *scip2CommandOpen(const char* aDevName);
3348
3449 //! scip2commandハンドルを破棄する
3550 /*!
@@ -36,7 +51,7 @@
3651 scip2CommandInit もしくは scip2CommandOpen で作った scip2command ハンドルを
3752 破棄する。この時関連付けられているscipIOハンドルも閉じて破棄する。
3853 */
39- void scip2CommandFinalize(tScipSensor *aSensor);
54+ LIBSCIP2_DECL void scip2CommandFinalize(tScipSensor *aSensor);
4055
4156 //! 計測を中断してOFFモードに遷移 (QT)
4257 /*!
@@ -43,7 +58,7 @@
4358 @retval >0 成功
4459 @retval <=0 失敗
4560 */
46- int scip2Do_QT(tScipSensor* aSensor);
61+ LIBSCIP2_DECL int scip2Do_QT(tScipSensor* aSensor);
4762
4863 //! OFFモードに遷移 (RT)
4964 /*!
@@ -50,7 +65,7 @@
5065 @retval >0 成功
5166 @retval <=0 失敗
5267 */
53- int scip21Do_RT(tScipSensor* aSensor);
68+ LIBSCIP2_DECL int scip21Do_RT(tScipSensor* aSensor);
5469
5570 //! 初期状態に復帰 (RS)
5671 /*!
@@ -57,7 +72,7 @@
5772 @retval >0 成功
5873 @retval <=0 失敗
5974 */
60- int scip2Do_RS(tScipSensor* aSensor);
75+ LIBSCIP2_DECL int scip2Do_RS(tScipSensor* aSensor);
6176
6277 //! ONモードに遷移して事前測定開始
6378 /*!
@@ -64,7 +79,7 @@
6479 @retval >0 成功
6580 @retval <=0 失敗
6681 */
67- int scip2Do_BM(tScipSensor* aSensor);
82+ LIBSCIP2_DECL int scip2Do_BM(tScipSensor* aSensor);
6883
6984 //! scanのパラメータ
7085 typedef struct{
@@ -78,15 +93,15 @@
7893 @retval >0 成功
7994 @retval <=0 失敗
8095 */
81- int scip2Do_GS(tScipSensor* aSensor, tScipScanParam aParam,
96+ LIBSCIP2_DECL int scip2Do_GS(tScipSensor* aSensor, tScipScanParam aParam,
8297 int* aRange, int* aTimestamp);
83- int scip2Do_GD(tScipSensor* aSensor, tScipScanParam aParam,
98+ LIBSCIP2_DECL int scip2Do_GD(tScipSensor* aSensor, tScipScanParam aParam,
8499 int* aRange, int* aTimestamp);
85- int scip2Do_GE(tScipSensor* aSensor, tScipScanParam aParam,
100+ LIBSCIP2_DECL int scip2Do_GE(tScipSensor* aSensor, tScipScanParam aParam,
86101 int* aRange, int* aTimestamp);
87- int scip2Do_GI(tScipSensor* aSensor, tScipScanParam aParam,
102+ LIBSCIP2_DECL int scip2Do_GI(tScipSensor* aSensor, tScipScanParam aParam,
88103 int* aRange, int* aTimestamp);
89- int scip2Do_GR(tScipSensor* aSensor, tScipScanParam aParam,
104+ LIBSCIP2_DECL int scip2Do_GR(tScipSensor* aSensor, tScipScanParam aParam,
90105 int* aRange, int* aTimestamp);
91106
92107 //! Mxモードに遷移して測定、データ送信開始(MD/MS/ME/MI/MR)
@@ -98,15 +113,15 @@
98113 @retval >0 成功
99114 @retval <=0 失敗
100115 */
101- int scip2Do_MS(tScipSensor* aSensor, tScipScanParam aParam,
116+ LIBSCIP2_DECL int scip2Do_MS(tScipSensor* aSensor, tScipScanParam aParam,
102117 int aScanNum, int aScanSkip);
103- int scip2Do_MD(tScipSensor* aSensor, tScipScanParam aParam,
118+ LIBSCIP2_DECL int scip2Do_MD(tScipSensor* aSensor, tScipScanParam aParam,
104119 int aScanNum, int aScanSkip);
105- int scip2Do_ME(tScipSensor* aSensor, tScipScanParam aParam,
120+ LIBSCIP2_DECL int scip2Do_ME(tScipSensor* aSensor, tScipScanParam aParam,
106121 int aScanNum, int aScanSkip);
107- int scip2Do_MI(tScipSensor* aSensor, tScipScanParam aParam,
122+ LIBSCIP2_DECL int scip2Do_MI(tScipSensor* aSensor, tScipScanParam aParam,
108123 int aScanNum, int aScanSkip);
109- int scip2Do_MR(tScipSensor* aSensor, tScipScanParam aParam,
124+ LIBSCIP2_DECL int scip2Do_MR(tScipSensor* aSensor, tScipScanParam aParam,
110125 int aScanNum, int aScanSkip);
111126
112127 //! Mxモードにおいて送られてくるレンジデータを取得する
@@ -119,7 +134,7 @@
119134 @retval >0 成功
120135 @retval <=0 失敗
121136 */
122- int scip2GetRange(tScipSensor* aSensor, int* aRange, size_t aNum, int* aTimestamp);
137+ LIBSCIP2_DECL int scip2GetRange(tScipSensor* aSensor, int* aRange, size_t aNum, int* aTimestamp);
123138
124139 //! Mxモードにおいて送られてくる複合データを取得する
125140 /*!
@@ -131,7 +146,7 @@
131146 @retval >0 成功
132147 @retval <=0 失敗
133148 */
134- int scip2GetMultiplex(tScipSensor* aSensor, int* aRange, int* aIntensity, size_t aNum, int* aTimestamp);
149+ LIBSCIP2_DECL int scip2GetMultiplex(tScipSensor* aSensor, int* aRange, int* aIntensity, size_t aNum, int* aTimestamp);
135150
136151 //! 通信速度設定 (SS)
137152 /*!
@@ -138,7 +153,7 @@
138153 @retval >0 成功
139154 @retval <=0 失敗
140155 */
141- int scip2Do_SS(tScipSensor* aSensor, int aBitrate);
156+ LIBSCIP2_DECL int scip2Do_SS(tScipSensor* aSensor, int aBitrate);
142157
143158 //! バージョン情報取得 (VV)
144159 /*!
@@ -151,7 +166,7 @@
151166 @retval >0 成功
152167 @retval <=0 失敗
153168 */
154- int scip2Do_VV(tScipSensor* aSensor, char* aBuffer, size_t aLen);
169+ LIBSCIP2_DECL int scip2Do_VV(tScipSensor* aSensor, char* aBuffer, size_t aLen);
155170 //! ステータス情報取得 (II)
156171 /*!
157172 ステータス情報文字列を取得する。取得に成功した場合にはaBufferにス
@@ -163,13 +178,13 @@
163178 @retval >0 成功
164179 @retval <=0 失敗
165180 */
166- int scip2Do_II(tScipSensor* aSensor, char* aBuffer, size_t aLen);
181+ LIBSCIP2_DECL int scip2Do_II(tScipSensor* aSensor, char* aBuffer, size_t aLen);
167182 //! センサパラメータ取得 (PP)
168183 /*!
169184 @retval >0 成功
170185 @retval <=0 失敗
171186 */
172- int scip2Do_PP(tScipSensor* aSensor, char* aBuffer, size_t aLen);
187+ LIBSCIP2_DECL int scip2Do_PP(tScipSensor* aSensor, char* aBuffer, size_t aLen);
173188
174189 //! モータ回転速度設定 (CR)
175190 /*!
@@ -176,7 +191,7 @@
176191 @retval >0 成功
177192 @retval <=0 失敗
178193 */
179- int scip2Do_CR(tScipSensor* aSensor, unsigned int aSpeed);
194+ LIBSCIP2_DECL int scip2Do_CR(tScipSensor* aSensor, unsigned int aSpeed);
180195
181196 #ifdef __cplusplus
182197 }
--- libscip2/trunk/include/scipio.h (revision 26)
+++ libscip2/trunk/include/scipio.h (revision 27)
@@ -15,8 +15,20 @@
1515 extern "C"{
1616 #endif
1717
18+#ifdef WIN32
19+ #ifdef scipbase_EXPORTS
20+ #define LIBSCIP2_DECL __declspec(dllexport)
21+ #else
22+ #define LIBSCIP2_DECL
23+ #endif
24+#else
25+ #define LIBSCIP2_DECL
26+#endif
27+
28+#ifndef SCIPIO_SOURCE
1829 //! I/O ハンドル
1930 typedef void* tScipIO;
31+#endif
2032
2133 //! Open オペレーション
2234 /*!
@@ -25,7 +37,7 @@
2537 @retval !NULL I/Oハンドル
2638 @retval NULL 失敗
2739 */
28- tScipIO scipIOOpen(char *aDevName);
40+ LIBSCIP2_DECL tScipIO scipIOOpen(char *aDevName);
2941
3042 //! Close オペレーション
3143 /*!
@@ -33,7 +45,7 @@
3345 @retval 0 成功
3446 @retval !0 エラーコード
3547 */
36- int scipIOClose(tScipIO aDev);
48+ LIBSCIP2_DECL int scipIOClose(tScipIO aDev);
3749
3850 //! Read オペレーション
3951 /*!
@@ -44,7 +56,7 @@
4456 @retval >=0 読み込んだバイト数
4557 @retval <0 エラーコード
4658 */
47- int scipIORead(tScipIO aDev, void *aBuff, size_t aCount, int aTimeoutMs);
59+ LIBSCIP2_DECL int scipIORead(tScipIO aDev, void *aBuff, size_t aCount, int aTimeoutMs);
4860
4961 //! 1行読み出し
5062 /*!
@@ -55,7 +67,7 @@
5567 @retval >=0 読み込んだバイト数
5668 @retval <0 エラーコード
5769 */
58- int scipIOReadLine(tScipIO aDev, char *aBuff, size_t aCount);
70+ LIBSCIP2_DECL int scipIOReadLine(tScipIO aDev, char *aBuff, size_t aCount);
5971
6072 //! Write オペレーション
6173 /*!
@@ -68,7 +80,7 @@
6880 @retval >=0 書き込んだバイト数
6981 @retval <0 エラーコード
7082 */
71- int scipIOWrite(tScipIO aDev, const char *aBuff, size_t count);
83+ LIBSCIP2_DECL int scipIOWrite(tScipIO aDev, const char *aBuff, size_t count);
7284
7385 //! 通信速度パラメータ設定
7486 /*!
@@ -79,7 +91,7 @@
7991 @retval 0 成功
8092 @retval !0 エラーコード
8193 */
82- int scipIOSetBitrate(tScipIO aDev, unsigned int aBitrate);
94+ LIBSCIP2_DECL int scipIOSetBitrate(tScipIO aDev, unsigned int aBitrate);
8395
8496 //! 受信タイムアウト設定
8597 /*!
@@ -88,7 +100,7 @@
88100 @retval 0 成功
89101 @retval !0 エラーコード
90102 */
91- int scipIOSetTimeout(tScipIO aDev, unsigned int aTimeoutMs);
103+ LIBSCIP2_DECL int scipIOSetTimeout(tScipIO aDev, unsigned int aTimeoutMs);
92104
93105 //! 状態復帰
94106 /*!
@@ -95,7 +107,7 @@
95107 未送信のデータと受信バッファ中のデータを破棄する。通信デバイスが
96108 状態を持つ場合には初期状態に復帰し、通信可能な状態にする。
97109 */
98- int scipIOClear(tScipIO aDev);
110+ LIBSCIP2_DECL int scipIOClear(tScipIO aDev);
99111
100112 #ifdef __cplusplus
101113 }
--- libscip2/trunk/src/scip2command.c (revision 26)
+++ libscip2/trunk/src/scip2command.c (revision 27)
@@ -55,7 +55,7 @@
5555 //! scip2IO ハンドルから scip2command ハンドルを作る
5656 tScipSensor *scip2CommandInit(tScipIO *aIO)
5757 {
58-#warning not implemented
58+ //#warning not implemented
5959 }
6060
6161 //! scip2デバイスを開き、scip2command ハンドルを作る
@@ -96,7 +96,7 @@
9696 */
9797 int scip2Do_QT(tScipSensor* aSensor)
9898 {
99-#warning not implemented
99+ //#warning not implemented
100100 IMPL(aSensor)->mode=MODE_OFF;
101101 }
102102
@@ -107,7 +107,7 @@
107107 */
108108 int scip21Do_RT(tScipSensor* aSensor)
109109 {
110-#warning not implemented
110+//#warning not implemented
111111 IMPL(aSensor)->mode=MODE_OFF;
112112 }
113113
@@ -118,7 +118,7 @@
118118 */
119119 int scip2Do_RS(tScipSensor* aSensor)
120120 {
121-#warning not implemented
121+//#warning not implemented
122122 IMPL(aSensor)->mode=MODE_OFF;
123123 }
124124
@@ -158,7 +158,7 @@
158158 int scip2Do_GS(tScipSensor* aSensor, tScipScanParam aParam,
159159 int* aRange, int* aTimeStamp)
160160 {
161-#warning not implemented
161+//#warning not implemented
162162 }
163163 int scip2Do_GD(tScipSensor* aSensor, tScipScanParam aParam,
164164 int* aRange, int* aTimeStamp)
@@ -206,17 +206,17 @@
206206 int scip2Do_GE(tScipSensor* aSensor, tScipScanParam aParam,
207207 int* aRange, int* aTimeStamp)
208208 {
209-#warning not implemented
209+//#warning not implemented
210210 }
211211 int scip2Do_GI(tScipSensor* aSensor, tScipScanParam aParam,
212212 int* aRange, int* aTimeStamp)
213213 {
214-#warning not implemented
214+//#warning not implemented
215215 }
216216 int scip2Do_GR(tScipSensor* aSensor, tScipScanParam aParam,
217217 int* aRange, int* aTimeStamp)
218218 {
219-#warning not implemented
219+//#warning not implemented
220220 }
221221
222222 //! Mxモードに遷移して測定、データ送信開始(MD/MS/ME/MI/MR)
@@ -406,8 +406,7 @@
406406 */
407407 int scip2GetMultiplex(tScipSensor* aSensor, int* aRange, int* aIntensity, size_t aNum,int *aTimeStamp)
408408 {
409-
410-#warning not implemented
409+//#warning not implemented
411410 }
412411
413412 //! 通信速度設定 (SS)
@@ -417,7 +416,7 @@
417416 */
418417 int scip2Do_SS(tScipSensor* aSensor, int aBitrate)
419418 {
420-#warning not implemented
419+//#warning not implemented
421420 }
422421
423422 //! バージョン情報取得 (VV)
@@ -433,7 +432,7 @@
433432 */
434433 int scip2Do_VV(tScipSensor* aSensor, char* aBuffer, size_t aLen)
435434 {
436-#warning not implemented
435+//#warning not implemented
437436 }
438437 //! ステータス情報取得 (II)
439438 /*!
@@ -448,7 +447,7 @@
448447 */
449448 int scip2Do_II(tScipSensor* aSensor, char* aBuffer, size_t aLen)
450449 {
451-#warning not implemented
450+//#warning not implemented
452451 }
453452 //! センサパラメータ取得 (PP)
454453 /*!
@@ -457,7 +456,7 @@
457456 */
458457 int scip2Do_PP(tScipSensor* aSensor, char* aBuffer, size_t aLen)
459458 {
460-#warning not implemented
459+//#warning not implemented
461460 }
462461
463462 //! モータ回転速度設定 (CR)
@@ -467,7 +466,7 @@
467466 */
468467 int scip2Do_CR(tScipSensor* aSensor, unsigned int aSpeed)
469468 {
470-#warning not implemented
469+//#warning not implemented
471470 }
472471
473472
@@ -554,6 +553,6 @@
554553 // 応答ステータスコードを数値にエンコード
555554 int encodeStatus(char *aStatus)
556555 {
557-#warning 後回し
556+//#warning 後回し
558557 return -1;
559558 }
--- libscip2/trunk/src/scipio-win32.c (revision 26)
+++ libscip2/trunk/src/scipio-win32.c (revision 27)
@@ -36,6 +36,9 @@
3636
3737 typedef tScipIOImpl* tScipIO;
3838
39+#define SCIPIO_SOURCE
40+#include "scipio.h"
41+
3942 // プロトタイプ宣言
4043 typedef int speed_t;
4144 int scipIOClose(tScipIO aDev);
@@ -348,7 +351,6 @@
348351 aDev->timeout.WriteTotalTimeoutConstant=aTimeoutMs;
349352 aDev->timeout.WriteTotalTimeoutMultiplier=1;
350353 SetCommTimeouts(aDev->h,&aDev->timeout);
351-
352354 }
353355
354356 //! 状態復帰
Show on old repository browser