Vitat's homepage
27 Apr 2024, 22:40 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: 21.03.08 Произведено обновление сайта/Site was updated
 
  Home   Forum   Help Search Login Register  

Pages: [1]   Go Down
  Print  
Author Topic: Pioneer IP Protocoll documentation/specification  (Read 9840 times)
0 Members and 1 Guest are viewing this topic.
pioneer_freak
Newbie
*
Posts: 1


View Profile
« on: 20 Feb 2004, 17:29 »

Hi all,

does anybody have an more formal description of the IP protocoll, which is used between an pioneer HU and MCD. I got the sources from http://www.vitat.spb.ru/files/ip-bus/ipbus_v4.0.zip.
I'm interested in the codings of the commands comming from the HU and possible responses from the MCD.

To Vitaly: It is very hard to understand e.g. the reason, when to send the COM_10_20 command. Do you have a more detailed description of the command structure?

thx

Ralf
Logged
Brokly
Guest
« Reply #1 on: 23 Feb 2004, 12:21 »

pioneer_freak,

Quote
Всем привет Very Happy
Надеюсь меня не будут склонять за мой англицкий, ну нету его  Confused
Сразу оговорюсь, MMD я в руках не держал и логи его не видел.
Все что ниже наковырянно методом тыка. Надеюсь что кто нибудь
разберется в том что я накропал ниже. В принципе это что то типа
описания протокола с упором на MMD.
Склепал устройство, написал код для PIC и драйвер для Винампа.
Все работает, но осталось дописать обработку разрывов связи и механизм
вкл-выкл компа. Кстати используя инфу для глупых голов можно
синтезировать еще 250 устройств  Twisted  


 Format packets
 St 1 000 1 XXXXXXXX P 000 1 YYYYYYYY P R 1111 p R ZZZZZZZZ p R DDDDDDDD p R .... DDDDDDDD p R SSSSSSSS p R 1
 St - start packet bit 200 ms
 1 - 20/20 ms
 0 - 30/10 ms
 R - sens connect bit
 XXXXXXXX - ID sender (IDSD)
 YYYYYYYY - ID receiver (IDRC)
 DDDDDDDD - data byte (DATA)
 ZZZZZZZZ - long packet
 SSSSSSSS - parity summ = (((IDSD + IDRC) >> RLF(4)) + ((IDSD + IDRC) RRF(4)) + 0xA0 + 0xF + LONG + DATA +... + DATA
 P - parity in header P = B0 xor B1 xor B2 xor B3 xor B4 xor B5 xor B6 xor B7 xor 1
 p - parity in data p = B0 xor B1 xor B2 xor B3 xor B4 xor B5 xor B6 xor B7



Inbound data (from HU for MMD)

in all packets
   InData[03] - HU power status
if InData[01] = 0x01
if InData[01] = 0x10
if InData[01] = 0x30 key command InData[07] - master key code, InData[08] - slaver key code
if InData[01] = 0x40 find from end to start 0x02 , next code MAIN POWER STATUS (MMD)
if InData[01] = 0x50 HU retraive text info
   InData[07] = type 0x30 - disc title, 0x31 - track title
   InData[08] = disc number (BCD)
    InData[09] = track number (BCD)
   InData[10] = frame number (HEX)
if InData[01] = 0x70


Outbound packets (from MMD to HU)

SEND_OK      0xA1
COM_STATUS   STAT,0x10
         STAT: 01 - init retraive
               00 - ready          
INIT_50      0x50,0x10,SENDER ID,RECEIVER ID,0x20,0x00,0x04
COM_50      0x50,0x10,SENDER ID,RECEIVER ID,0x20,0x01,0x04
COM_10_37   0x10,0x10,SENDER ID,RECEIVER ID,0x34,0x00,InQueire_Packet_ID,MAIN_POWER_STATUS
COM_10_00   0x10,0x10,SENDER ID,RECEIVER ID,0x23,0x01,0x00,0x38,0x00
COM_10_52   0x10,0x52,0x00,SENDER ID,RECEIVER ID,0x00,0x00,InQueire_Packet_ID,MAIN_POWER_STATUS
COM_11      0x11,0x10,SENDER ID,RECEIVER ID,BEEP_TONE,MODE,InQueire_Packet_ID,Master_Key_Code
COM_61_00   0x61,0x10,SENDER ID,RECEIVER ID,0x20,MODE,0x00,MAX_DISC_Numb_BCD,DISC_Numb_BCD,MIN_Hight_BCD,MIN_Low_BCD,SECONDS_BCD,
      TRACK_Hight_BCD,TRACK_Low_BCD,0x00,Cn+0x00,Playing_Status,Text_0,...,Text_7
         01 - Packet Code
         02 - ???????
         03 - MAIN ID (12 for MMD)
         04 - HU ID ( 00 )
         05 - Packet Code Slave 1
         06 - mode
            NO_SHOW         0x00
            ERROR         0x01
            TOC_READING      0x02
            OK         0x04
            SEEC_TRACK      0x07
            SEEC_DISC      0x11
            TOC_READING_1      0x40
            NO_DISK         0xFA
            STOP         0xFB
            HEAT         0xFC
            ERROR_SHOW      0xFD
            TEST_MODE      0xFE
         07 - Packet Code Slave 2
         08 - Max Disk in device
         09 - Current disk number
         10 - Hundredths minutes ( 9 maximum, BCD)
         11 - minutes (BCD)
         12 - seconds (BCD)
         13 - Hundredths current track number ( 9 maximum, BCD)
         14 - current track number (BCD)
         15 - ?????????
         16 - Playing status slave
            b'XX000000'   - Random: 00-ON, 01-"1", 10-"2"
            b'00XX0000'   - Scan: 00-ON, 01-"1", 10-"2"
         17 - Playing status master
            b'0000000X' - ???
            b'000000X0' - SCAN: 1-ON, 0-OFF
            b'00000X00' - RDM: 1-ON, 0-OFF
            b'0000X000' - ???
            b'000X0000' - ???
            b'0XX00000' - RPT: 00-TRK, 01-DSK, 10-MMD, 11-ALL
            b'X0000000' - ???
         18 ~ 25 - Sucsk text, data for stupid HU
COM_61_TXT   0x61,0x10,SENDER ID,RECEIVER ID,0x20,MODE,Type_Info,Info_Disc_Number,Info_Track_Number,Info_Text_Frame_Number,Info_Data_Status,
      Info_Text_0,...,Info_Text_7   
         07 - Type info (30;31)
         08 - Disc number
         09 - Track number
         10 - Frame number
         11 - Status Info   
            00 - good data 1
            01 - good data 1
            02 - no data



Coalition Wink packets

HU    MMD
00 > SEND_OK
01 > SEND_OK, INIT_50
10 > SEND_OK, COM_STATUS
30 > SEND_OK, COM_11
40 > SEND_OK, COM_10_37
50 > SEND_OK, COM_61_TXT

MMD       HU
COM_61_00 > OK
[code:1][/code:1]
Quote
[code:1][/code:1][code:1][/code:1]
Logged
Brokly
Guest
« Reply #2 on: 23 Feb 2004, 12:25 »

Жаль, что табуляция не обрабатывается...
Boris@utrans.ru
Logged
iggzz
Newbie
*
Posts: 1


View Profile Email
« Reply #3 on: 22 Jul 2007, 13:25 »

Hello. Is the information above accurate in terms of timing? I found some more info on this page:

http://www.mictronics.de/?page=cdc_proto

The timing seems to be 1000x faster. Any comments?

I am thinking to build an MP3 player with USB and SD card support which would be able to interface to my Pioneer deck. I do not understand fully the protocol, so I will need a lot of help. Code will probably go in a dsPIC device. Anyone tried that?

Regards,

iggzz
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

TinyPortal v1.0.5 beta 1© Bloc

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!