public void OnTick(PacketSink sink) { ProcessValueCallback(sink); if (DecoratedDevice != null) { DecoratedDevice.OnTick(sink); } }
public override void OnTick(PacketSink sink) { if (Random.Next(2) == 0) { Illuminance.CurrentValue++; } else { Illuminance.CurrentValue--; } AnalogValue.CurrentValue = Illuminance.CurrentValue; //TODO: more realistic implementation Decorators.OnTick(sink); }
private void ProcessValueCallback(PacketSink sink) { if (ValueCallbackPeriod == 0) { return; } long elapsedTime = Environment.TickCount - LastCallbackTime; if (elapsedTime > ValueCallbackPeriod && !CurrentValue.Equals(LastCallbackValue)) { var packet = new Packet(UID, 0, FunctionValueCallback, 0, false); packet.Payload = LEConverter.GetConverter <T>().GetBytes(CurrentValue); sink.SendPacket(packet); ResetValueCallback(); } }
public override void OnTick(PacketSink sink) { RandomizeTemperature(); Temperature.OnTick(sink); }
public override void OnTick(PacketSink sink) { RandomizeValues(); Decorators.OnTick(sink); }
public abstract void OnTick(PacketSink sink);