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:  von geier99
                
                