private string ProcessWriteDataRequest(Request.WriteDataRequest writeData) { if (!_devices.ContainsKey(writeData.Id)) { Logger.Logger.Log("WriteDataRequest on unknown device {0}", writeData.Id); return(""); } OneWireAdapter.beginExclusive(true); DoWriteDeviceData(writeData); OneWireAdapter.endExclusive(); return(JsonConvert.SerializeObject(new WriteAckAnswer { Ack = true })); }
private string ProcessReadChanelsNbRequest(Request.ReadNbChanelsRequest readData) { if (!_devices.ContainsKey(readData.Id)) { Logger.Logger.Log("ReadChanelsNbRequest on unknown device {0}", readData.Id); return(JsonConvert.SerializeObject(new InvalidRequestAnswer { InvalidRequestReason = "UnknownDevice" })); } OneWireAdapter.beginExclusive(true); var answer = DoReadDeviceChanelsNb(readData); OneWireAdapter.endExclusive(); return(JsonConvert.SerializeObject(answer)); }
private string ProcessGetDevicesRequest() { // Search for all 1-wire devices OneWireAdapter.beginExclusive(true); var devices = OneWireAdapter.getAllDeviceContainers(); OneWireAdapter.endExclusive(); // Rebuild internal devices list _devices = new Dictionary <string, Device>(); while (devices.hasMoreElements()) { var dev = ConvertDevice((OneWireContainer)devices.nextElement()); _devices[dev.Id] = dev; } // Build answer var answer = new GetDevicesAnswer { Devices = new List <Device>(_devices.Values) }; return(JsonConvert.SerializeObject(answer)); }