1: 2003-10-24 (金) 07:33:00 [6] | 2: 2004-02-13 (金) 18:50:59 [7] | ||
---|---|---|---|
Line 28: | Line 28: | ||
参考になるサンプル:movec2(introa) | 参考になるサンプル:movec2(introa) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0060 | ||
***lib_waitsignal | ***lib_waitsignal | ||
Line 48: | Line 49: | ||
参考になるサンプル:movec2(introa) | 参考になるサンプル:movec2(introa) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0018_f | ||
**シグナル定義 | **シグナル定義 | ||
Line 87: | Line 89: | ||
(オープン済みであること)を指定する。 | (オープン済みであること)を指定する。 | ||
- | 参考になるサンプル:movec2(introa),dblcntc0(introb) | + | 参考になるサンプル: |
+ | キーシグナル:movec2(introa), keytstc0(introc)[拡張キーシグナル] | ||
+ | タイマーシグナル:dblcntc0(introb) | ||
+ | -p0crefリンク: | ||
+ | --キーシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_100 | ||
+ | --タイマーシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_10 | ||
+ | --低レベルマウスシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_200 | ||
***void lib_definesignal0p0 | ***void lib_definesignal0p0 | ||
Line 97: | Line 105: | ||
参考になるサンプル:movec2(introa) | 参考になるサンプル:movec2(introa) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_0 | ||
**タイマー制御 | **タイマー制御 | ||
Line 138: | Line 147: | ||
参考になるサンプル:cntdwnc1(introa) | 参考になるサンプル:cntdwnc1(introa) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0018_f | ||
***lib_opentimer | ***lib_opentimer | ||
Line 151: | Line 161: | ||
参考になるサンプル:dblcntc0(introb) | 参考になるサンプル:dblcntc0(introb) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0070 | ||
***lib_closetimer | ***lib_closetimer | ||
Line 161: | Line 172: | ||
slotはタイマーとして使っていたスロット番号を指定する。使用している3つのうち、 | slotはタイマーとして使っていたスロット番号を指定する。使用している3つのうち、 | ||
最初の1つを指定する。 | 最初の1つを指定する。 | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0074 | ||
***lib_settimertime | ***lib_settimertime | ||
Line 180: | Line 192: | ||
シグナルを発するか、もしくはキャンセルすることによって休止状態に戻るまで | シグナルを発するか、もしくはキャンセルすることによって休止状態に戻るまで | ||
次の設定はできない。 | 次の設定はできない。 | ||
+ | |||
+ | タイマーシグナルの発生頻度も、lib_waitsignaltime()と同様に、間隔が少なくとも | ||
+ | 10ミリ秒以上はあってほしい。これももちろん10ミリ秒単位であることを要請している | ||
+ | わけではない。また頻繁に繰り替えすことがないのなら、10ミリ秒を | ||
+ | 下回ることがあってもかまわない。将来のOSASKでは、連続して何度も10ミリ秒以下の | ||
+ | 指定をした場合、OS側で強制的に10ミリ秒間間隔に補正される可能性がある。 | ||
+ | 現在のOSASKでは、OSの動作が不安定になるので、やってはいけない。 | ||
参考になるサンプル:dblcntc0(introb) | 参考になるサンプル:dblcntc0(introb) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_32 | ||
***lib_settimer | ***lib_settimer | ||
Line 193: | Line 213: | ||
もともと休止状態にあるタイマーに対し、キャンセルしてもよいが、何も起きない。 | もともと休止状態にあるタイマーに対し、キャンセルしてもよいが、何も起きない。 | ||
- | タイマーシグナルの発生頻度も、lib_waitsignaltime()と同様に、間隔が少なくとも | + | 参考になるサンプル:dblcntc0(introb) |
- | 10ミリ秒以上はあってほしい。これももちろん10ミリ秒単位であることを要請している | + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_1 |
- | わけではない。また頻繁に繰り替えすことがないのなら、10ミリ秒を | + | |
- | 下回ることがあってもかまわない。将来のOSASKでは、連続して何度も10ミリ秒以下の | + | ***lib_settimertime2 |
- | 指定をした場合、OS側で強制的に10ミリ秒間間隔に補正される可能性がある。 | + | void lib_settimertime2(int opt, int slot0, int slot1, unsigned int *time) : |
- | 現在のOSASKでは、OSの動作が不安定になるので、やってはいけない。 | + | |
+ | 2つのタイマーの間の時間差を算出します。timeはunsigned intの配列(もしくはポイ | ||
+ | ンタ)で、最低でも3つの要素が必要です。計算された値が、timeに格納されます。 | ||
+ | |||
+ | time = slot1 - slot0 | ||
+ | |||
+ | time[0]が下位で、time[2]が上位です。time[1]がちょうど秒の位になります。つまり、 | ||
+ | タイマー設定の際のいつもの単位です。なおこの時に返される値の精度については保証 | ||
+ | しません。おそらくOSASKのバージョンによってまちまちでしょう。 | ||
+ | |||
+ | 参考になるサンプル:starsc0(introd) | ||
+ | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_82 | ||
**タイマーの3つの状態 | **タイマーの3つの状態 |
(This host) = http://osask.net