「WEEKLY_INI」の編集履歴(バックアップ)一覧に戻る
WEEKLY_INI - (2008/11/08 (土) 21:42:04) の編集履歴(バックアップ)
WEEKLY.INI
weekly.iniはRuputerのSYSTEM直下にあるINIファイルで、
Ruputerの週アラーム(ウィークリーアラーム)を管理している設定ファイルだ。
そのサイズは76bytes。
MANUALによれば、先頭から4つ分(4CH分)の週アラームデータが保管されている。
その構造は、
#define SNDFILENAMESIZE 8
typedef struct {
unsigned short week;
unsigned short hour;
unsigned short min;
char snd[SNDFILENAMESIZE];
} WEEKLYTABLE;
(引用元:『RupSDK rupsys.h』)
これが連続して4つ。
なお、char snd[SNDFILENAMESIZE] には '.snd'は含めないことになっている。
しかし、これだけでは、14 * 4 = 56(bytes)なので、あと20bytes足りない。
残りの20bytesは次のとおり。
typedef struct{
short DISPno;
short Chaim;
short ALmode[4];
unsigned short ALweek[4];
}WATCH;
(引用元:『RupSDK DQalarm alarm.c』)
DISPno:用途不明
Chaim :用途不明
short ALmode[4];
これは、 0 = OFF / 1 = DAY / 2 = WEEK だ。
WEEKで全ての曜日にアラームを指定した状態でも、DAYと同じ扱い(表示)にならないのは、
ここにそれぞれのCHについて、WEEKLYTABLE構造体とは別にアラームモードの情報をもっているため。
unsigned short ALweek[4];
これは、WEEKLYTABLE構造体の week のバックアップだと、考えるといい。
例えば、(1)WEEK -> DAY に設定を変更し、適用した後、(2)もう一度その逆の操作をしても、
(1)の設定の前、どの曜日にアラームをONにしていたかの情報が残っている。それはこのため。
OFFやDAYモードへ変更する際にはこのエリアに前のweekの情報を残しておくこと。
なお、weekly.iniを週アラームへ反映させるには、Rupsys関数の setWeeklyAlarm() を実行する。