diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-10-12 16:54:21 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-10-12 16:54:21 +0300 |
| commit | 28f7a6f566c4e951d3d40c449813fce0c7460ca7 (patch) | |
| tree | 7ea0e25c802b3086ddf28a374884f1a72c463e9e /Software/Visual_Studio/Tango.Emulations | |
| parent | af99d6cf60267ea8c92c7610b16565104a5b6aed (diff) | |
| download | Tango-28f7a6f566c4e951d3d40c449813fce0c7460ca7.tar.gz Tango-28f7a6f566c4e951d3d40c449813fce0c7460ca7.zip | |
IMplemented emulator ink filling status.
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations')
| -rw-r--r-- | Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs index a8818df2b..779e110e8 100644 --- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs +++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs @@ -34,6 +34,7 @@ using Tango.Core.ExtensionMethods; using Tango.PMR.MachineStatus; using Tango.PMR.Power; using Tango.PMR.ThreadLoading; +using Tango.PMR.IFS; namespace Tango.Emulations.Emulators { @@ -114,6 +115,8 @@ namespace Tango.Emulations.Emulators public MachineStatus MachineStatus { get; set; } + public InkFillingStatus InkFillingStatus { get; set; } + #endregion #region Constructors @@ -225,6 +228,33 @@ namespace Tango.Emulations.Emulators } ResetGraphFactors(); + + InkFillingStatus = new InkFillingStatus(); + + for (int i = 0; i < 8; i++) + { + InkFillingStatus.CartridgesStatuses.Add(new CartridgeStatus() + { + Cartridge = new Cartridge() + { + Index = i, + Slot = CartridgeSlot.Ink, + }, + State = CartridgeState.Exists + }); + } + + InkFillingStatus.CartridgesStatuses.Add(new CartridgeStatus() + { + Cartridge = new Cartridge() { Index = 0, Slot = CartridgeSlot.WasteLower }, + State = CartridgeState.Exists + }); + + InkFillingStatus.CartridgesStatuses.Add(new CartridgeStatus() + { + Cartridge = new Cartridge() { Index = 1, Slot = CartridgeSlot.WasteMiddle }, + State = CartridgeState.Exists + }); } private void ResetGraphFactors() @@ -433,6 +463,9 @@ namespace Tango.Emulations.Emulators case MessageType.StartPowerUpRequest: HandleStartPowerUpRequest(MessageFactory.ParseTangoMessageFromContainer<StartPowerUpRequest>(container)); break; + case MessageType.StartInkFillingStatusRequest: + HandleStartInkFillingStatusRequest(MessageFactory.ParseTangoMessageFromContainer<StartInkFillingStatusRequest>(container)); + break; } } @@ -1562,7 +1595,7 @@ namespace Tango.Emulations.Emulators //if (_rnd.Next(0, 100) > 50) //{ - await Transporter.SendResponse<StartThreadLoadingResponse>(new StartThreadLoadingResponse() { State = ThreadLoadingState.Completed }, _threadLoadingToken); + await Transporter.SendResponse<StartThreadLoadingResponse>(new StartThreadLoadingResponse() { State = ThreadLoadingState.Completed }, _threadLoadingToken); //} //else //{ @@ -1656,6 +1689,23 @@ namespace Tango.Emulations.Emulators }); } + private void HandleStartInkFillingStatusRequest(TangoMessage<StartInkFillingStatusRequest> request) + { + Task.Factory.StartNew(() => + { + while (IsStarted) + { + + Transporter.SendResponse(new StartInkFillingStatusResponse() + { + Status = InkFillingStatus + }, request.Container.Token); + + Thread.Sleep(2000); + } + }); + } + #endregion #region Public Methods |
