arrow-left
全てのページ
gitbookGitBook提供
1 / 4

Loading...

Loading...

Loading...

Loading...

PalBase

PALセンサー共通データ

PALの各センサーのデータ構造体はすべてPalBaseを継承します。センサーデータの格納状況u32StoredMaskとモジュール電源電圧u16Voltの情報が含まれます。

	struct PalBase {
		uint32_t u32StoredMask;
		uint16_t u16Volt;
	};

派生構造体に定義されるSTORE_COMP_MASKとu32StoreMaskが一致すれば、全てのセンサーのデータが適切に解釈され、格納されていることになります。

PalMot

動作センサーパル(MOT)のセンサーデータ

struct PalMot : public PalBase {
	const uint8_t U8VARS_CT = 17; // センサー数
	const uint32_t STORE_COMP_MASK = 3; // 電圧と加速度サンプル1あればコンプとする

	uint8_t u8samples; // 格納サンプル数
	int16_t i16X[16];  // X軸 (ミリG)
	int16_t i16Y[16];  // Y軸
	int16_t i16Z[16];  // Z軸
};

※ 各サンプルの連続性を確認するには、パケットのシーケンス番号の抜けが無いことを確認してください。

PalAmb

環境センサーパル(AMB)のセンサーデータ

struct PalAmb : public PalBase {
	const uint8_t U8VARS_CT = 4; // センサー数
	const uint32_t STORE_COMP_MASK = (1 << U8VARS_CT) - 1; // 全コンプマスク

	int16_t i16Temp;  // 温度 (x100)
	uint16_t u16Humd; // 湿度 (x100 %)
	uint32_t u32Lumi; // 照度 (lux相当)
};

PalMag

開閉センサーパル(MAG)のセンサーデータ

struct PalMag : public PalBase {
	const uint8_t U8VARS_CT = 2; // センサー数
	const uint32_t STORE_COMP_MASK = (1 << U8VARS_CT) - 1; // 全コンプのマスク

	uint8_t u8MagStat; // 開閉状況 (0:磁石が遠い, 1/2:磁石検出)
	uint8_t bRegularTransmit; // 定期送信の時に 1, 磁石検出では 0
};