public uint CheckSensor() { bool ret = false; int iError = 0; uint[] data = new uint[6]; DISP_SENSOR_VALUE stSensorValue = new DISP_SENSOR_VALUE(); if (DispDeviceOpen()) { try { ret = DispGetSensorRawValue(ref stSensorValue, iError); var ivals = String.Empty; if (stSensorValue.iValue != null) { for (var i = 0; i < 4; i++) { ivals += stSensorValue.iValue[i] + ", "; } } data[0] = Convert.ToUInt32((stSensorValue.iValue[0] & 0x00FF) >> 0); // データ有無・種別 (0:データなし, 1:AK9753, 2:AK9754) data[1] = Convert.ToUInt32((stSensorValue.iValue[0] & 0xFF00) >> 8); // 検出結果 (0:非検出, 1:検出) data[2] = Convert.ToUInt32((stSensorValue.iValue[1] & 0x00FF) >> 0); // IR data (L) data[3] = Convert.ToUInt32((stSensorValue.iValue[1] & 0xFF00) >> 8); // IR data (H) data[4] = Convert.ToUInt32((stSensorValue.iValue[2] & 0x00FF) >> 0); // TMP data (L) data[5] = Convert.ToUInt32((stSensorValue.iValue[2] & 0xFF00) >> 8); // TMP data (H) //rtb.AppendText(isopen + "\n" + ret + "\n" + ivals + "\n" + data[0] + "\n" + data[1] + "\n" + data[2] + "\n" + data[3] + "\n" + data[4] + "\n" + data[5] + "\n"); } catch { data[1] = 0; } DispDeviceClose(); } else { //rtb.AppendText("FALSE" + "\n"); data[1] = 0; } //rtb.ScrollToCaret(); return(data[1]); }
static extern bool DispGetSensorRawValue(ref DISP_SENSOR_VALUE x, int y);