avc-lan:avc-lan
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
avc-lan:avc-lan [2023/07/07 09:24] – [Protokoll] geier99 | avc-lan:avc-lan [2024/04/05 10:38] (aktuell) – [AVC-LAN] geier99 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== AVC-LAN ====== | ====== AVC-LAN ====== | ||
- | AVC ist die Abkürzung für: **A**udio **V**ideo **C**ommunication - **L**ocal **A**rea **N**etwork. | + | {{ : |
Hier mal ein paar nützliche Links zur Einführung: | Hier mal ein paar nützliche Links zur Einführung: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * {{ : | ||
Und Github Projekte: | Und Github Projekte: | ||
Zeile 11: | Zeile 12: | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Signal Analyzer ===== | ||
+ | * [[https:// | ||
===== Protokoll ===== | ===== Protokoll ===== | ||
+ | ==== Broadcast ==== | ||
+ | * 0xFFF - Genereller Broadcast | ||
+ | * 0xYFF - Group Broadcast wenn Slave-Adresse != 0xFFF ist.\\ y = Gruppe für die Die Broadcast gilt (hier meistens 0x1 => 0x1FF | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | siehe auch: [[https:// | ||
< | < | ||
{ | { | ||
Zeile 37: | Zeile 52: | ||
}; | }; | ||
</ | </ | ||
- | < | + | < |
- | /* | + | |
avclan-registers.h - AVCLan Head Unit library for for Atmega328 | avclan-registers.h - AVCLan Head Unit library for for Atmega328 | ||
Created by Greg Nutt, 010.30.2020 | Created by Greg Nutt, 010.30.2020 | ||
Zeile 50: | Zeile 64: | ||
#define avclan_registers_h | #define avclan_registers_h | ||
- | #define FRAME_MAXLEN 32; | + | #define FRAME_MAXLEN |
// Address Register Values | // Address Register Values | ||
- | const uint16_t ADDR_AUDIO_ECU = 0x0180; | + | const uint16_t ADDR_AUDIO_ECU |
- | const uint16_t ADDR_AUDIO_HU = 0x0190; | + | const uint16_t ADDR_AUDIO_HU |
- | const uint16_t ADDR_DVD_P = 0x01A0; | + | const uint16_t ADDR_DVD_P |
- | const uint16_t ADDR_REAR_TV = 0x01B0; | + | const uint16_t ADDR_REAR_TV |
- | const uint16_t ADDR_SINGLE_DIN_NAV = 0x01B4; | + | const uint16_t ADDR_SINGLE_DIN_NAV |
- | const uint16_t ADDR_DISPLAY_SW = 0x01B8; | + | const uint16_t ADDR_DISPLAY_SW |
- | const uint16_t ADDR_REAR_CTRL_SW = 0x01C0; | + | const uint16_t ADDR_REAR_CTRL_SW |
- | const uint16_t ADDR_EURO_GW_ECU = 0x01C2; | + | const uint16_t ADDR_EURO_GW_ECU |
- | const uint16_t ADDR_RUSSIA_GW_ECU = 0X01C4; | + | const uint16_t ADDR_RUSSIA_GW_ECU |
- | const uint16_t ADDR_GW_ECU = 0x01C6; | + | const uint16_t ADDR_GW_ECU |
- | const uint16_t ADDR_FM_MULTI_DISPLAY = 0x01C8; | + | const uint16_t ADDR_FM_MULTI_DISPLAY |
- | const uint16_t ADDR_STEERING_SW = 0x01CC; | + | const uint16_t ADDR_STEERING_SW |
- | const uint16_t ADDR_MULTI_CD_DECODER = 0x01D0; | + | const uint16_t ADDR_MULTI_CD_DECODER |
- | const uint16_t ADDR_DISPLAY_MASTER = | + | const uint16_t ADDR_DISPLAY_MASTER |
- | const uint16_t ADDR_DISPLAY = 0x01D4; | + | const uint16_t ADDR_DISPLAY |
- | const uint16_t ADDR_CLOCK = 0x01D6; | + | const uint16_t ADDR_CLOCK |
- | const uint16_t ADDR_FR_CONTROLLED_SW = 0x01D8; | + | const uint16_t ADDR_FR_CONTROLLED_SW |
- | const uint16_t ADDR_NAV_REM_CTRL = 0x01DC; | + | const uint16_t ADDR_NAV_REM_CTRL |
- | const uint16_t ADDR_CD_CH_COMMANDER = 0x01E0; | + | const uint16_t ADDR_CD_CH_COMMANDER |
- | const uint16_t ADDR_CONSOLIDATED_SW = 0x01E4; | + | const uint16_t ADDR_CONSOLIDATED_SW |
- | const uint16_t ADDR_MD_CH_COMMANDER = 0x01E8; | + | const uint16_t ADDR_MD_CH_COMMANDER |
- | const uint16_t ADDR_BODY_COMPUTER = 0x01EC; | + | const uint16_t ADDR_BODY_COMPUTER |
- | const uint16_t ADDR_AMP_RADIO_TUNER = 0x01F0; | + | const uint16_t ADDR_AMP_RADIO_TUNER |
- | const uint16_t ADDR_XM_RADIO_TUNER = 0x01F2; | + | const uint16_t ADDR_XM_RADIO_TUNER |
- | const uint16_t ADDR_RSA = 0x01F4; | + | const uint16_t ADDR_RSA |
- | const uint16_t ADDR_RSE_M = 0x01F6; | + | const uint16_t ADDR_RSE_M |
- | const uint16_t ADDR_BROADCAST_1FF = 0x01FF; | + | const uint16_t ADDR_BROADCAST_1FF |
- | const uint16_t ADDR_NAV_ECU = 0x0200; | + | const uint16_t ADDR_NAV_ECU |
- | const uint16_t ADDR_ATIS = 0x0210; | + | const uint16_t ADDR_ATIS |
- | const uint16_t ADDR_VICS = 0x0220; | + | const uint16_t ADDR_VICS |
- | const uint16_t ADDR_TV_TUNER = 0x0230; | + | const uint16_t ADDR_TV_TUNER |
- | const uint16_t ADDR_HW_CD_CH = 0x0240; | + | const uint16_t ADDR_HW_CD_CH |
- | const uint16_t ADDR_HW_DVD_CH = 0x0250; | + | const uint16_t ADDR_HW_DVD_CH |
- | const uint16_t ADDR_TEL_INFO_ECU = 0x0260; | + | const uint16_t ADDR_TEL_INFO_ECU |
- | const uint16_t ADDR_CAMERA_CTRLR = 0x0280; | + | const uint16_t ADDR_CAMERA_CTRLR |
- | const uint16_t ADDR_RADIO = 0x0300; | + | const uint16_t ADDR_RADIO |
- | const uint16_t ADDR_CASSETTE = 0x0320; | + | const uint16_t ADDR_CASSETTE |
- | const uint16_t ADDR_CASSETTE_NO_CH = 0x0330; | + | const uint16_t ADDR_CASSETTE_NO_CH |
- | const uint16_t ADDR_CD_P = 0x0340; | + | const uint16_t ADDR_CD_P |
- | const uint16_t ADDR_1DIN_CD_CH = 0x0360; | + | const uint16_t ADDR_1DIN_CD_CH |
- | const uint16_t ADDR_MD_P = 0x0380; | + | const uint16_t ADDR_MD_P |
- | const uint16_t ADDR_MD_CH = 0x03A0; | + | const uint16_t ADDR_MD_CH |
- | const uint16_t ADDR_DAT = 0x03C0; | + | const uint16_t ADDR_DAT |
- | const uint16_t ADDR_DCC = 0x03E0; | + | const uint16_t ADDR_DCC |
- | const uint16_t ADDR_TEL_ECU = 0x03F8; | + | const uint16_t ADDR_TEL_ECU |
- | const uint16_t ADDR_EQUALIZER = 0x0400; | + | const uint16_t ADDR_EQUALIZER |
- | const uint16_t ADDR_DSP = 0x0440; | + | const uint16_t ADDR_DSP |
- | const uint16_t ADDR_HW_AMP = 0x0480; | + | const uint16_t ADDR_HW_AMP |
- | const uint16_t ADDR_GPS_RECEIVER = 0x0500; | + | const uint16_t ADDR_GPS_RECEIVER |
- | const uint16_t ADDR_ATIS_DECODER = 0x0510; | + | const uint16_t ADDR_ATIS_DECODER |
- | const uint16_t ADDR_FM_MULTI_DECODER = 0x0520; | + | const uint16_t ADDR_FM_MULTI_DECODER |
- | const uint16_t ADDR_RADIO_WAVE_BEACON = 0x0528; | + | const uint16_t ADDR_RADIO_WAVE_BEACON |
- | const uint16_t ADDR_OPTICAL_BEACON = 0x052C; | + | const uint16_t ADDR_OPTICAL_BEACON |
- | const uint16_t ADDR_CD_CH = 0x0540; | + | const uint16_t ADDR_CD_CH |
- | const uint16_t ADDR_MD_CH_2 = 0x0560; | + | const uint16_t ADDR_MD_CH_2 |
- | const uint16_t ADDR_CDROM_CH = 0x0580; | + | const uint16_t ADDR_CDROM_CH |
- | const uint16_t ADDR_MDROM_CH = 0x05A0; | + | const uint16_t ADDR_MDROM_CH |
- | const uint16_t ADDR_TEL_INFO = 0x05C0; | + | const uint16_t ADDR_TEL_INFO |
- | const uint16_t ADDR_MAYDAY = 0x05C8; | + | const uint16_t ADDR_MAYDAY |
- | const uint16_t ADDR_AC_ECU = 0x0600; | + | const uint16_t ADDR_AC_ECU |
- | const uint16_t ADDR_BODY_ECU = 0x0680; | + | const uint16_t ADDR_BODY_ECU |
- | const uint16_t ADDR_BROADCAST_FFF = 0x0FFF; | + | const uint16_t ADDR_BROADCAST_FFF |
// Device Register Values | // Device Register Values | ||
- | const uint16_t DEV_COM_CTRL0 = 0x00; | + | const uint16_t DEV_COM_CTRL0 |
- | const uint16_t DEV_COM_CTRL = 0x01; | + | const uint16_t DEV_COM_CTRL |
- | const uint16_t DEV_COM_EXT = 0x02; | + | const uint16_t DEV_COM_EXT |
- | const uint16_t DEV_COM_MASTER = 0x11; | + | const uint16_t DEV_COM_MASTER |
- | const uint16_t DEV_SW_AUDIO = 0x21; | + | const uint16_t DEV_SW_AUDIO |
- | const uint16_t DEV_SW_SHIFT = 0x23; | + | const uint16_t DEV_SW_SHIFT |
- | const uint16_t DEV_SW = 0x25; | + | const uint16_t DEV_SW |
- | const uint16_t DEV_HU_BEEP = 0x28; | + | const uint16_t DEV_HU_BEEP |
- | const uint16_t DEV_BEEP_SPEAK = 0x29; | + | const uint16_t DEV_BEEP_SPEAK |
- | const uint16_t DEV_INFO_DISPLAY1 = 0x31; | + | const uint16_t DEV_INFO_DISPLAY1 |
- | const uint16_t DEV_INFO_DISPLAY2 = 0x32; | + | const uint16_t DEV_INFO_DISPLAY2 |
- | const uint16_t DEV_INFO_DISPLAY3 = 0x34; | + | const uint16_t DEV_INFO_DISPLAY3 |
- | const uint16_t DEV_3F = 0x3F; | + | const uint16_t DEV_3F |
- | const uint16_t DEV_TV_TUNER = 0x40; | + | const uint16_t DEV_TV_TUNER |
- | const uint16_t DEV_CD = 0x43; | + | const uint16_t DEV_CD |
- | const uint16_t DEV_BLUETOOTH = 0x55; | + | const uint16_t DEV_BLUETOOTH |
- | const uint16_t DEV_INFO_DRAW = 0x56; | + | const uint16_t DEV_INFO_DRAW |
- | const uint16_t DEV_NAV_GPS = 0x58; | + | const uint16_t DEV_NAV_GPS |
- | const uint16_t DEV_FM_MULTIPLEX_VICS = 0x5A; | + | const uint16_t DEV_FM_MULTIPLEX_VICS |
- | const uint16_t DEV_BEACON = 0x5B; | + | const uint16_t DEV_BEACON |
- | const uint16_t DEV_CAMERA = 0x5C; | + | const uint16_t DEV_CAMERA |
- | const uint16_t DEV_CLIMATE_CTRL_DRAW = 0x5D; | + | const uint16_t DEV_CLIMATE_CTRL_DRAW |
- | const uint16_t DEV_AUDIO_DRAW = 0x5E; | + | const uint16_t DEV_AUDIO_DRAW |
- | const uint16_t DEV_TRIP_INFO_DRAW = 0x5F; | + | const uint16_t DEV_TRIP_INFO_DRAW |
- | const uint16_t DEV_RADIO = 0x60; | + | const uint16_t DEV_RADIO |
- | const uint16_t DEV_CASSETTE = 0x61; | + | const uint16_t DEV_CASSETTE |
- | const uint16_t DEV_CD_P = 0x62; | + | const uint16_t DEV_CD_P |
- | const uint16_t DEV_CD_CH = 0x63; | + | const uint16_t DEV_CD_CH |
- | const uint16_t DEV_MD = 0x64; | + | const uint16_t DEV_MD |
- | const uint16_t DEV_MD_CH = 0x65; | + | const uint16_t DEV_MD_CH |
- | const uint16_t DEV_6D = 0x6D; | + | const uint16_t DEV_6D |
- | const uint16_t DEV_6F = 0x6F; | + | const uint16_t DEV_6F |
- | const uint16_t DEV_AUDIO_AMP = 0x74; | + | const uint16_t DEV_AUDIO_AMP |
- | const uint16_t DEV_NAV_GPS_2 = 0x80; | + | const uint16_t DEV_NAV_GPS_2 |
- | const uint16_t DEV_81 = 0x81; | + | const uint16_t DEV_81 |
- | const uint16_t DEV_FM_MULTIPLEX_DATA = 0x82; | + | const uint16_t DEV_FM_MULTIPLEX_DATA |
- | const uint16_t DEV_OPTICAL_BEACON = 0x83; | + | const uint16_t DEV_OPTICAL_BEACON |
- | const uint16_t DEV_RADIO_WAVE_BEACON = 0x84; | + | const uint16_t DEV_RADIO_WAVE_BEACON |
- | const uint16_t DEV_VOICE_CONTROL = 0x85; | + | const uint16_t DEV_VOICE_CONTROL |
- | const uint16_t DEV_FM_MULTIPLEX_TUNER = 0x9A; | + | const uint16_t DEV_FM_MULTIPLEX_TUNER |
- | const uint16_t DEV_A4 = 0xA4; | + | const uint16_t DEV_A4 |
- | const uint16_t DEV_XM_TUNER = 0xC0; | + | const uint16_t DEV_XM_TUNER |
- | const uint16_t DEV_CLIMATE_CTRL_DEV = 0xE0; | + | const uint16_t DEV_CLIMATE_CTRL_DEV |
- | const uint16_t DEV_E4 = 0xE4; | + | const uint16_t DEV_E4 |
- | const uint16_t DEV_TRIP_INFO = 0xE5; | + | const uint16_t DEV_TRIP_INFO |
- | const uint16_t DEV_EF = 0xEF; | + | const uint16_t DEV_EF |
// Function Register Values | // Function Register Values | ||
- | const uint16_t FUNC_DIRECT_COMMAND = 0x00; | + | const uint16_t FUNC_DIRECT_COMMAND |
- | const uint16_t FUNC_LAN_INIT = 0x01; | + | const uint16_t FUNC_LAN_INIT |
- | const uint16_t MSG_DEVICES_RESPONSE = 0x02; | + | const uint16_t MSG_DEVICES_RESPONSE |
- | const uint16_t MSG_DEVICES_REGISTER = 0x10; | + | const uint16_t MSG_DEVICES_REGISTER |
- | const uint16_t FUNC_REGISTER = 0x11; // TODO: Confirm | + | const uint16_t FUNC_REGISTER |
- | const uint16_t MSG_DEVICES_REQUEST = 0x12; | + | const uint16_t MSG_DEVICES_REQUEST |
- | const uint16_t MSG_DEVICES_BROADCAST = 0x13; | + | const uint16_t MSG_DEVICES_BROADCAST |
- | const uint16_t PING = 0x20; | + | const uint16_t PING |
- | const uint16_t PONG = 0x30; | + | const uint16_t PONG |
- | const uint16_t FUNC_REGISTER_58 = 0x58; | + | const uint16_t FUNC_REGISTER_58 |
- | const uint16_t FUNC_REGISTER_5B = 0x5B; | + | const uint16_t FUNC_REGISTER_5B |
- | const uint16_t FUNC_REGISTER_5F = 0x5F; | + | const uint16_t FUNC_REGISTER_5F |
- | const uint16_t FUNC_STATUS_B7 = 0xB7; | + | const uint16_t FUNC_STATUS_B7 |
- | const uint16_t FUNC_UNKNOWN_INFO_D9 = 0xD9; // TODO: Related to Info Display, try to identify | + | const uint16_t FUNC_UNKNOWN_INFO_D9 |
- | const uint16_t FUNC_AVG_KMH_INFO = 0xDB; | + | const uint16_t FUNC_AVG_KMH_INFO |
- | const uint16_t FUNC_UNKNOWN_INFO_DC = 0xDC; | + | const uint16_t FUNC_UNKNOWN_INFO_DC |
- | const uint16_t FUNC_FUEL_RANGE_INFO = 0xDD; | + | const uint16_t FUNC_FUEL_RANGE_INFO |
- | const uint16_t FUNC_TRIP_TIME_INFO = 0xDE; | + | const uint16_t FUNC_TRIP_TIME_INFO |
- | const uint16_t FUNC_STATUS_REQUEST_E0 = 0xE0; | + | const uint16_t FUNC_STATUS_REQUEST_E0 |
- | const uint16_t FUNC_STATUS_REQUEST_E2 = 0xE2; | + | const uint16_t FUNC_STATUS_REQUEST_E2 |
- | const uint16_t FUNC_STATUS_REQUEST_E4 = 0xE4; | + | const uint16_t FUNC_STATUS_REQUEST_E4 |
- | const uint16_t FUNC_STATUS_RESPOND_F0 = 0xF0; | + | const uint16_t FUNC_STATUS_RESPOND_F0 |
- | const uint16_t FUNC_STATUS_RESPOND_F1 = 0xF1; | + | const uint16_t FUNC_STATUS_RESPOND_F1 |
- | const uint16_t FUNC_STATUS_RESPOND_F2 = 0xF2; | + | const uint16_t FUNC_STATUS_RESPOND_F2 |
- | const uint16_t FUNC_STATUS_RESPOND_F3 = 0xF3; | + | const uint16_t FUNC_STATUS_RESPOND_F3 |
- | const uint16_t FUNC_STATUS_RESPOND_F9 = 0xF9; | + | const uint16_t FUNC_STATUS_RESPOND_F9 |
#endif | #endif | ||
</ | </ | ||
+ | ===== Links ===== | ||
+ | * [[https:// | ||
+ | * Github-Projekte: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
avc-lan/avc-lan.1688721866.txt.gz · Zuletzt geändert: 2023/07/07 09:24 von geier99