View difference between Paste ID: J8ybyDuM and ybEFWeEc
SHOW: | | - or go back to the newest paste.
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-
// тут всякая неважная хрень
8+
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
}