Дело в том что это как в твоем листе, IPBUS.c
[code:1]
//commands massive
static u08 INIT_10_37_MASS[]={18,0x10,0x10,0x06,0x00,0x37,0x01,0x00,0x83,0x41,0x00,0,0x40,0xF6,0x4A,0x03,0x03,0x01};
static u08 INIT_50_MASS[]={8, 0x50,0x10,0x06,0x00,0x00,0x01,0x04};
static u08 COM_10_23_MASS[]={12,0x10,0x10,0x06,0x00,0x23,0x01,0x00,0x83,0x41,0x00};
static u08 COM_10_34_MASS[]={9,0x10,0x10,0x06,0x00,0x34,0,0x40};
static u08 COM_61_19_MASS[]={0x19,0,0x01,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01};
//end
[/code:1]
там тоже есть строки такиеже строки, какие нужны и мне на выходе,
[code:1]/*******************************************************************************/
/* IBUS MESSAGES DEFINITION */
/*******************************************************************************/
/*******************************************************************************/
/* CD PLAYER Messages. DEVICE ID = 18H */
/*******************************************************************************/
// CD Broadcast Messages (FFH)--------------------------------------------------
// Poll Response
u08 cd_pollresp_msg[] PROGMEM =
{ 0x18, 0x04, 0xff, 0x02, 0x00, 0xE1 };
// CD announce
u08 cd_announce_msg[] PROGMEM =
{ 0x18, 0x04, 0xff, 0x02, 0x01, 0xE0 };
// CD Messages to Radio (68H)---------------------------------------------------
// - 7th byte is the disk index (usually between 01,06).
// - 8th byte is the track index.
// Messages always send CD 01, Track 01. Don't care about CD and track # with a MP3 player.
// So the message can be static.
// CD and Track Status Not Playing Response
u08 cd_statusnotplaying_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x00, 0x02, 0x00, 0x3F, 0x00, 0x01, 0x01, 0x7E };
// CD and Track Status Playing Response
u08 cd_statusplaying_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x00, 0x09, 0x00, 0x3F, 0x00, 0x01, 0x01, 0x75 };
// Track Start Playing CD 01 00
u08 cd_startplaying01_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x76 };
// Track Start Playing CD 02 00
u08 cd_startplaying02_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x02, 0x00, 0x75 };
// Track Start Playing CD 03 00
u08 cd_startplaying03_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x03, 0x00, 0x74 };
// Track Start Playing CD 04 00
u08 cd_startplaying04_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x04, 0x00, 0x73 };
// Track Start Playing CD 05 00
u08 cd_startplaying05_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x05, 0x00, 0x72 };
// Track Start Playing CD 06 00
u08 cd_startplaying06_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x02, 0x09, 0x00, 0x3F, 0x00, 0x06, 0x00, 0x71 };
// Track End Playing 01 01
u08 cd_endplaying_msg[] PROGMEM =
{ 0x18, 0x0A, 0x68, 0x39, 0x07, 0x09, 0x00, 0x3F, 0x00, 0x01, 0x01, 0x72 };
// CD Seek 01
//u08 cd_seek1_msg[] PROGMEM =
//{ 0x18, 0x0A, 0x68, 0x39, 0x08, 0x09, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x7C };
// Scan Forward
//u08 cd_scanfwd_msg[] PROGMEM =
//{ 0x18, 0x0A, 0x68, 0x39, 0x03, 0x09, 0x00, 0x3F, 0x00, 0x02, 0x03, 0x77};
// Scan Backward
//u08 cd_scanback_msg[] PROGMEM =
//{ 0x18, 0x0A, 0x68, 0x39, 0x04, 0x09, 0x00, 0x3F, 0x00, 0x02, 0x03, 0x70};
/*******************************************************************************/
/* RADIO Messages. DEVICE ID = 68H */
/*******************************************************************************/
// Poll CD Player
u08 rad_cdpoll_msg[] PROGMEM =
{ 0x68, 0x03, 0x18, 0x01, 0x72 };
// Request Current CD and Track Status
u08 rad_cdgetcurrenttk_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x00, 0x00, 0x4D };
// Stop Playing
u08 rad_cdstopplaying_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x01, 0x00, 0x4C };
// Request to play
u08 rad_cdreqtoplay_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x03, 0x00, 0x4E };
// Request to startup ??
// sent when entering CDC mode and on
// system startup
u08 rad_cdreqtoplay2_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x02, 0x00, 0x4f };
// Fast Scan Forward
u08 rad_cdfastscanf_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x04, 0x01, 0x48 };
// Fast Scan Backward
u08 rad_cdfastscanb_msg[] PROGMEM =
{ 0x68, 0x05, 0x18, 0x38, 0x04, 0x00, 0x49 };
// CD Change 01-06. To stay static, Declaration of 6 messages.
//u08 rad_cdchange01_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x01, 0x4A };
//u08 rad_cdchange02_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x02, 0x49 };
//u08 rad_cdchange03_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x03, 0x48 };
//u08 rad_cdchange04_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x04, 0x4F };
//u08 rad_cdchange05_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x05, 0x4E };
//u08 rad_cdchange06_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x06, 0x06, 0x4D };
// Scan Intro Mode On
//u08 rad_cdscanintroon_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x07, 0x01, 0x4B };
// Scan Intro Mode Off
//u08 rad_cdscanintrooff_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x07, 0x00, 0x4A };
// Random Mode On
//u08 rad_cdrandomon_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x08, 0x01, 0x44 };
// Random Mode Off
//u08 rad_cdrandomoff_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x08, 0x00, 0x45 };
// Previous Track
//u08 rad_cdprevtk_msg[] PROGMEM =
//{ 0x68, 0x05, 0x18, 0x38, 0x0A, 0x01, 0x46 };
/*******************************************************************************/
/* BMB Messages. DEVICE ID = F0H */
/*******************************************************************************/
// Hold tape eject
//u08 bmb_radholdeject_msg[] PROGMEM =
//{ 0xF0, 0x04, 0x68, 0x48, 0x64, 0xB0 };
// Hold tape auto reverse
//u08 bmb_radholdautorev_msg[] PROGMEM =
//{ 0xF0, 0x04, 0x68, 0x48, 0x54, 0x80 };
// Push 1
u08 bmb_radpush1_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x11, 0xC5 };
// Push 2
u08 bmb_radpush2_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x01, 0xD5 };
// Push 3
u08 bmb_radpush3_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x12, 0xC6 };
// Push 4
u08 bmb_radpush4_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x02, 0xD6 };
// Push 5
u08 bmb_radpush5_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x13, 0xC7 };
// Push 6
u08 bmb_radpush6_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x03, 0xD7 };
// Push Next
u08 bmb_radpushnext_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x00, 0xD4 };
// Push Prev
u08 bmb_radpushprev_msg[] PROGMEM =
{ 0xF0, 0x04, 0x68, 0x48, 0x10, 0xC4 };
// Push Nav turn knob
//u08 bmb_navpushtknob_msg[] PROGMEM =
//{ 0xF0, 0x04, 0x3B, 0x48, 0x05, 0x82 };
// Push NAV MENU
//u08 bmb_navpushmenu_msg[] PROGMEM =
//{ 0xF0, 0x04, 0xFF, 0x48, 0x34, 0x77 };
/*******************************************************************************/
/* STEERING WHEEL Messages. DEVICE ID = 50H */
/*******************************************************************************/
// Push Next - Steering Wheel
u08 stw_radpushnext_msg[] PROGMEM =
{ 0x50, 0x04, 0x68, 0x3B, 0x01, 0x06 };
// Push Prev - Steering Wheel
u08 stw_radpushprev_msg[] PROGMEM =
{ 0x50, 0x04, 0x68, 0x3B, 0x08, 0x0F };
/*******************************************************************************/
/* VARIOUS MESSAGE */
/*******************************************************************************/
// CD Activation Detection.
// DO NOT SEND THIS string. It is not a valid message.
// Simply detect the string containing subfields + "CD"
u08 rad_navstringcdno[] PROGMEM =
{ 0x43,0x44,0x43,0x20 };
u08 rad_navstring2[] PROGMEM =
{ 0x43,0x44,0x20,0x36 };
// Index area refresh
u08 nav_refresh_msg[] PROGMEM =
{ 0x68, 0x06, 0x3B, 0xA5, 0x60, 0x01, 0x00, 0x91 };
// Other
u08 rad_navmenuset_msg[] PROGMEM =
{ 0x68, 0x04, 0x3B, 0x46, 0x01,0x10 };
u08 rad_navmenutimed_msg[] PROGMEM =
{ 0x68, 0x04, 0x3B, 0x46, 0x02,0x13 };[/code:1]
принцип должен быть наверное один и тотже,
Yampp с новым софтом должен слать код присутствия CD, и
формировать на ЖКИ магнитофона соответствующую информацию, и также воспринемать передоваемые команды от панели управления
вот прикладываю схему всех шин данных в моделях BMW
http://www.bmwclub.ru/gallery/showphoto.php?photo=22109&papass=&sort=1&thecat=500