Guest User

Untitled

a guest
Jan 11th, 2013
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. static Message MessagePollResponse = new Message(DeviceAddress.CDChanger, DeviceAddress.Broadcast, 0x02, 0x00);
  2. static Message MessageAnnounce = new Message(DeviceAddress.CDChanger, DeviceAddress.Broadcast, 0x02, 0x01);
  3. static Message MessagePlayingDisk1Track1 = new Message(DeviceAddress.CDChanger, DeviceAddress.Radio, 0x39, 0x00, 0x09, 0x00, 0x3F, 0x00, 0x01, 0x01);
  4.  
  5. static byte[] DataPollRequest = new byte[] { 0x01 };
  6. static byte[] DataCurrentDiskTrackRequest = new byte[] { 0x38, 0x00, 0x00 };
  7.  
  8. // тут всякая неважная хрень
  9.  
  10. static void ProcessCDCMessage(Message m)
  11. {
  12.     if (m.Data.Compare(MessageAnnounce.Data))
  13.     {
  14.         if (announceThread.ThreadState == ThreadState.Suspended)
  15.         {
  16.             announceThread.Resume();
  17.         }
  18.         Debug.Print("iBus activated");
  19.     }
  20.     else if (m.Data.Compare(DataPollRequest))
  21.     {
  22.         /*if (announceThread.ThreadState != ThreadState.Suspended)
  23.         {
  24.             announceThread.Suspend();
  25.         }*/
  26.  
  27.         Manager.EnqueueMessage(MessagePollResponse);
  28.  
  29.         Manager.EnqueueMessage(MessagePlayingDisk1Track1);
  30.  
  31.         Debug.Print("Radio polled");
  32.     }
  33.     else if (m.Data.Compare(DataCurrentDiskTrackRequest))
  34.     {
  35.         Manager.EnqueueMessage(MessagePlayingDisk1Track1);
  36.         Debug.Print("Radio requested disk&track");
  37.     }
  38. }
  39.  
  40. static void announce()
  41. {
  42.     while (true)
  43.     {
  44.         Manager.EnqueueMessage(MessageAnnounce);
  45.  
  46.         Manager.EnqueueMessage(MessagePollResponse);
  47.  
  48.         Thread.Sleep(30000);
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment