Exemplo n.º 1
0
        public void ProcessCommands()
        {
            Debug.WriteLine("SyncDeviceHandlerStriiv: ProcessCommands");

            if (this.ProcessQeueue.Count > 0)
            {
                Command = this.ProcessQeueue.Dequeue();
            }
            else
            {
                Debug.WriteLine("No more commands to be processed!");
                return;
            }

            ICharacteristic chr = null;

            switch (Command)
            {
            case Constants.StriivSyncHandlerSequence.EnableFE23:
                Debug.WriteLine("SyncDeviceHandlerSTRIIV: Enabling FE23 characteristic");
                CharFE23 = GetServicesCharacteristic(Constants.CharacteristicsUUID._FE23);
                if (CharFE23 == null)
                {
                    Debug.WriteLine("FE23 is NULL. Disconnecting device.");
                    this.Adapter.DisconnectDevice(Device);
                }
                else
                {
                    CharFE23.StartUpdates();
                }
                break;

            case Constants.StriivSyncHandlerSequence.RegisterRead:
                Debug.WriteLine("Register Read Command");
                CommandRequest = new byte[] { 0x06 };
                this.Adapter.SendCommand(Char9A0A, CommandRequest);
                break;

            case Constants.StriivSyncHandlerSequence.RegisterWrite:
                Debug.WriteLine("Register Write Time");
                //CommandRequest = new byte[] { 0x81, 0x00, 0x00, 0x00, 0x30, 0x1E, 0x02, 0x16, 0x07, 0x07, 0xE0 };
                CommandRequest = new byte[] { 0x00 };
                this.Adapter.SendCommand(Char9A0A, CommandRequest);
                break;

            default:
                Debug.WriteLine("Invalid command request...");
                break;
            }
        }
		public void ProcessCommands()
		{
			Debug.WriteLine("SyncDeviceHandlerStriiv: ProcessCommands");

			if (this.ProcessQeueue.Count > 0)
			{
				Command = this.ProcessQeueue.Dequeue();

			}
			else {
				Debug.WriteLine("No more commands to be processed!");
				return;
			}

			ICharacteristic chr = null;

			switch (Command)
			{
				case Constants.StriivSyncHandlerSequence.EnableFE23:
					Debug.WriteLine("SyncDeviceHandlerSTRIIV: Enabling FE23 characteristic");
					CharFE23 = GetServicesCharacteristic(Constants.CharacteristicsUUID._FE23);
					if (CharFE23 == null)
					{
						Debug.WriteLine("FE23 is NULL. Disconnecting device.");
						this.Adapter.DisconnectDevice(Device);
					}
					else {
						CharFE23.StartUpdates();
					}
					break;
				case Constants.StriivSyncHandlerSequence.Ack:
					Debug.WriteLine("Ack response");
					CommandRequest = new byte[] { 0x08 };
					this.Adapter.SendCommand(Char9A0A, CommandRequest);
					break;
				case Constants.StriivSyncHandlerSequence.DeviceInfo:
					Debug.WriteLine("Read Device Info");
					CommandRequest = new byte[] { 0x06 };
					this.Adapter.SendCommand(Char9A0A, CommandRequest);
					break;
				case Constants.StriivSyncHandlerSequence.RegisterRead:
					Debug.WriteLine("Register Read Command");
					CommandRequest = new byte[] { 0x00 };
					this.Adapter.SendCommand(Char9A0A, CommandRequest);
					break;
				case Constants.StriivSyncHandlerSequence.RegisterWrite:
					Debug.WriteLine("Register Write Time");
					//CommandRequest = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x30, 0x1E, 0x02, 0x16, 0x07, 0x07, 0xE0 };
					CommandRequest = new byte[19];
					CommandRequest[0] = 0x01;
					CommandRequest[1] = 0x00;
					CommandRequest[2] = 0x00;
					CommandRequest[3] = 0x01;//00
					CommandRequest[4] = 0x1E;//01
					CommandRequest[5] = 0x0F;//02
					CommandRequest[6] = 0x0B;//03
					CommandRequest[7] = 0x18;//04
					CommandRequest[8] = 0x08;//05
					CommandRequest[9] = 0x7E;//06
					CommandRequest[10] = 0x00;//07
					CommandRequest[11] = 0x00;//08
					CommandRequest[12] = 0x00;//09
					CommandRequest[13] = 0x00;//10
					CommandRequest[14] = 0x00;//11
					CommandRequest[15] = 0x00;//12
					CommandRequest[16] = 0x00;//13
					CommandRequest[17] = 0x00;//14
					CommandRequest[18] = 0x00;//15

					this.Adapter.SendCommand(Char9A0A, CommandRequest);
					break;
				case Constants.StriivSyncHandlerSequence.FileLoadList:
					Debug.WriteLine("Reading File Load List");
					CommandRequest = new byte[] { 0x02, 0x01 };
					this.Adapter.SendCommand(Char9A0A, CommandRequest);
					break;
				default:
					Debug.WriteLine("Invalid command request...");
					break;
			}
		}