Guest User

Untitled

a guest
Jan 11th, 2013
122
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. static void ProcessCDCMessage(Message m)
  9. {
  10.     if (m.Data.Compare(MessageAnnounce.Data))
  11.     {
  12.         if (announceThread.ThreadState == ThreadState.Suspended)
  13.         {
  14.             announceThread.Resume();
  15.         }
  16.         Debug.Print("iBus activated");
  17.     }
  18.     else if (m.Data.Compare(DataPollRequest))
  19.     {
  20.         /*if (announceThread.ThreadState != ThreadState.Suspended)
  21.         {
  22.             announceThread.Suspend();
  23.         }*/
  24.  
  25.         Manager.EnqueueMessage(MessagePollResponse);
  26.  
  27.         Manager.EnqueueMessage(MessagePlayingDisk1Track1);
  28.  
  29.         Debug.Print("Radio polled");
  30.     }
  31.     else if (m.Data.Compare(DataCurrentDiskTrackRequest))
  32.     {
  33.         Manager.EnqueueMessage(MessagePlayingDisk1Track1);
  34.         Debug.Print("Radio requested disk&track");
  35.     }
  36. }
  37.  
  38. static void announce()
  39. {
  40.     while (true)
  41.     {
  42.         Manager.EnqueueMessage(MessageAnnounce);
  43.  
  44.         Manager.EnqueueMessage(MessagePollResponse);
  45.  
  46.         Thread.Sleep(30000);
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment