public dataLoader(YSensor sensor) { _sensor = sensor; _hwdName = _sensor.get_hardwareId(); _progressCallback = null; _mustStopNow = false; }
public static YSensorProxy FindSensor(string name) { // cases to handle: // name ="" no matching unknwn // name ="" unknown exists // name != "" no matching unknown // name !="" unknown exists YSensor func = null; YSensorProxy res = (YSensorProxy)YFunctionProxy.FindSimilarUnknownFunction("YSensorProxy"); if (name == "") { if (res != null) { return(res); } res = (YSensorProxy)YFunctionProxy.FindSimilarKnownFunction("YSensorProxy"); if (res != null) { return(res); } func = YSensor.FirstSensor(); if (func != null) { name = func.get_hardwareId(); if (func.get_userData() != null) { return((YSensorProxy)func.get_userData()); } } } else { func = YSensor.FindSensor(name); if (func.get_userData() != null) { return((YSensorProxy)func.get_userData()); } } if (res == null) { res = new YSensorProxy(func, name); } if (func != null) { res.linkToHardware(name); if (func.isOnline()) { res.arrival(); } } return(res); }
/** * <summary> * Enumerates all functions of type Sensor available on the devices * currently reachable by the library, and returns their unique hardware ID. * <para> * Each of these IDs can be provided as argument to the method * <c>YSensor.FindSensor</c> to obtain an object that can control the * corresponding device. * </para> * </summary> * <returns> * an array of strings, each string containing the unique hardwareId * of a device function currently connected. * </returns> */ public static new string[] GetSimilarFunctions() { List <string> res = new List <string>(); YSensor it = YSensor.FirstSensor(); while (it != null) { res.Add(it.get_hardwareId()); it = it.nextSensor(); } return(res.ToArray()); }
async Task deviceArrival(YModule m) { string serial = await m.get_serialNumber(); Output.Text += "Device arrival : " + serial + "\n"; await m.registerLogCallback(deviceLog); await m.registerConfigChangeCallback(configChange); await m.registerBeaconCallback(beaconChange); // First solution: look for a specific type of function (eg. anButton) int fctcount = await m.functionCount(); for (int i = 0; i < fctcount; i++) { string hardwareId = serial + "." + await m.functionId(i); if (hardwareId.IndexOf(".anButton") >= 0) { Output.Text += "- " + hardwareId + "\n"; YAnButton anButton = YAnButton.FindAnButton(hardwareId); await anButton.registerValueCallback(anButtonValueChangeCallBack); } } // Alternate solution: register any kind of sensor on the device YSensor sensor = YSensor.FirstSensor(); while (sensor != null) { YModule module = await sensor.get_module(); if (await module.get_serialNumber() == serial) { string hardwareId = await sensor.get_hardwareId(); Output.Text += "- " + hardwareId + "\n"; string unit = await sensor.get_unit(); await sensor.set_userData(unit); await sensor.registerValueCallback(sensorValueChangeCallBack); await sensor.registerTimedReportCallback(sensorTimedReportCallBack); } sensor = sensor.nextSensor(); } }
static void deviceArrival(YModule m) { string serial = m.get_serialNumber(); Console.WriteLine("Device arrival : " + serial); m.registerLogCallback(deviceLog); m.registerConfigChangeCallback(configChange); m.registerBeaconCallback(beaconChange); // First solution: look for a specific type of function (eg. anButton) int fctcount = m.functionCount(); for (int i = 0; i < fctcount; i++) { string hardwareId = serial + "." + m.functionId(i); if (hardwareId.IndexOf(".anButton") >= 0) { Console.WriteLine("- " + hardwareId); YAnButton anButton = YAnButton.FindAnButton(hardwareId); anButton.registerValueCallback(anButtonValueChangeCallBack); } } // Alternate solution: register any kind of sensor on the device YSensor sensor = YSensor.FirstSensor(); while (sensor != null) { if (sensor.get_module().get_serialNumber() == serial) { string hardwareId = sensor.get_hardwareId(); Console.WriteLine("- " + hardwareId); string unit = sensor.get_unit(); sensor.set_userData(unit); sensor.registerValueCallback(sensorValueChangeCallBack); sensor.registerTimedReportCallback(sensorTimedReportCallBack); } sensor = sensor.nextSensor(); } }
async Task sensorTimedReportCallBack(YSensor fct, YMeasure measure) { Output.Text += await fct.get_hardwareId() + ": " + measure.get_averageValue() + " " + await fct.get_userData() + " (timed report)\n"; }
async Task sensorValueChangeCallBack(YSensor fct, string value) { Output.Text += await fct.get_hardwareId() + ": " + value + " " + await fct.get_userData() + " (new value)\n"; }
static void sensorTimedReportCallBack(YSensor fct, YMeasure measure) { Console.WriteLine(fct.get_hardwareId() + ": " + measure.get_averageValue() + " " + fct.get_userData() + " (timed report)"); }
static void sensorValueChangeCallBack(YSensor fct, string value) { Console.WriteLine(fct.get_hardwareId() + ": " + value + " " + fct.get_userData() + " (new value)"); }