Benutzer-Werkzeuge

Webseiten-Werkzeuge


avc-lan:avc-lan

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
avc-lan:avc-lan [2023/07/07 09:24] – [Protokoll] geier99avc-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.+{{ :avc-lan:avclan_ids_corolla_mp3_projekt.png?direct&400|IDs vom MP3 Toyato Corolla Projekt}}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://www.softservice.com.pl/corolla/avc/avclan.php| AVC-Lan Projekt - Toyota Corolla MP3-Player]] \\ ({{ :avc-lan:toyota_corolla_mp3_project.pdf |Toyota Corolla MP3 Projekt.pdf}})   * [[http://www.softservice.com.pl/corolla/avc/avclan.php| AVC-Lan Projekt - Toyota Corolla MP3-Player]] \\ ({{ :avc-lan:toyota_corolla_mp3_project.pdf |Toyota Corolla MP3 Projekt.pdf}})
   * [[https://elinux.org/images/e/ed/Avc-lan.pdf|AVC-LAN.pdf]] - AVC-Lan Beschreibung von elinux.org   * [[https://elinux.org/images/e/ed/Avc-lan.pdf|AVC-LAN.pdf]] - AVC-Lan Beschreibung von elinux.org
 +  * {{ :avc-lan:upd6708.pdf |}}
  
 Und Github Projekte: Und Github Projekte:
Zeile 11: Zeile 12:
   * [[https://github.com/GadgetNutt/AVC-LAN-Module-Builder|AVC-LAN-Module-Builder]] - neues aktuelles Projekt, ist wohl interessant\\    * [[https://github.com/GadgetNutt/AVC-LAN-Module-Builder|AVC-LAN-Module-Builder]] - neues aktuelles Projekt, ist wohl interessant\\ 
   * [[http://flux242.blogspot.com/2007/09/avclan-iebus-sniffer-and-device.html]] - kein Github, pass aber hier gut her\\    * [[http://flux242.blogspot.com/2007/09/avclan-iebus-sniffer-and-device.html]] - kein Github, pass aber hier gut her\\ 
 +  * [[https://github.com/Tirta01/Arduino-AVCLan|Arduino-AVCLan]]
 +  * [[https://github.com/halleysfifthinc/toyota-avc-lan-bluetooth|toyota-avc-lan-bluetooth]]
 +
 +{{ :avc-lan:avc_command.png?direct&400|AVCLAN Co}}
 +
 +===== Signal Analyzer =====
 +  * [[https://sigrok.org/wiki/Protocol_decoder:Avclan|Sigrok Protocol Decoder - AVC-Lan]]
  
 ===== 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
 +
 +{{ :avc-lan:nec_iebus_upd72042_datasheet.pdf |Nec µPD72042 Datasheet}} - s. Gruppen
 +
 +siehe auch: [[https://en.wikipedia.org/wiki/IEBus]] (basiert wohl dann auf mode=2)
 <code>typedef enum avclan_message_types <code>typedef enum avclan_message_types
 { {
Zeile 37: Zeile 52:
 }; };
 </code> </code>
-<code> +<code>/*
-/*+
   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            32;
  
 // Address Register Values // Address Register Values
-const uint16_t ADDR_AUDIO_ECU = 0x0180; +const uint16_t ADDR_AUDIO_ECU                  0x0180; 
-const uint16_t ADDR_AUDIO_HU = 0x0190; +const uint16_t ADDR_AUDIO_HU                   0x0190; 
-const uint16_t ADDR_DVD_P = 0x01A0; +const uint16_t ADDR_DVD_P                      0x01A0; 
-const uint16_t ADDR_REAR_TV = 0x01B0; +const uint16_t ADDR_REAR_TV                    0x01B0; 
-const uint16_t ADDR_SINGLE_DIN_NAV = 0x01B4; +const uint16_t ADDR_SINGLE_DIN_NAV             0x01B4; 
-const uint16_t ADDR_DISPLAY_SW = 0x01B8; +const uint16_t ADDR_DISPLAY_SW                 0x01B8; 
-const uint16_t ADDR_REAR_CTRL_SW = 0x01C0; +const uint16_t ADDR_REAR_CTRL_SW               0x01C0; 
-const uint16_t ADDR_EURO_GW_ECU = 0x01C2; +const uint16_t ADDR_EURO_GW_ECU                0x01C2; 
-const uint16_t ADDR_RUSSIA_GW_ECU = 0X01C4; +const uint16_t ADDR_RUSSIA_GW_ECU              0X01C4; 
-const uint16_t ADDR_GW_ECU = 0x01C6; +const uint16_t ADDR_GW_ECU                     0x01C6; 
-const uint16_t ADDR_FM_MULTI_DISPLAY = 0x01C8; +const uint16_t ADDR_FM_MULTI_DISPLAY           0x01C8; 
-const uint16_t ADDR_STEERING_SW = 0x01CC; +const uint16_t ADDR_STEERING_SW                0x01CC; 
-const uint16_t ADDR_MULTI_CD_DECODER = 0x01D0; +const uint16_t ADDR_MULTI_CD_DECODER           0x01D0; 
-const uint16_t ADDR_DISPLAY_MASTER   0x01D2; // Entry for custom device +const uint16_t ADDR_DISPLAY_MASTER             0x01D2;            // Entry for custom device 
-const uint16_t ADDR_DISPLAY = 0x01D4; +const uint16_t ADDR_DISPLAY                    0x01D4; 
-const uint16_t ADDR_CLOCK = 0x01D6; +const uint16_t ADDR_CLOCK                      0x01D6; 
-const uint16_t ADDR_FR_CONTROLLED_SW = 0x01D8; +const uint16_t ADDR_FR_CONTROLLED_SW           0x01D8; 
-const uint16_t ADDR_NAV_REM_CTRL = 0x01DC; +const uint16_t ADDR_NAV_REM_CTRL               0x01DC; 
-const uint16_t ADDR_CD_CH_COMMANDER = 0x01E0; +const uint16_t ADDR_CD_CH_COMMANDER            0x01E0; 
-const uint16_t ADDR_CONSOLIDATED_SW = 0x01E4; +const uint16_t ADDR_CONSOLIDATED_SW            0x01E4; 
-const uint16_t ADDR_MD_CH_COMMANDER = 0x01E8; +const uint16_t ADDR_MD_CH_COMMANDER            0x01E8; 
-const uint16_t ADDR_BODY_COMPUTER = 0x01EC; +const uint16_t ADDR_BODY_COMPUTER              0x01EC; 
-const uint16_t ADDR_AMP_RADIO_TUNER = 0x01F0; +const uint16_t ADDR_AMP_RADIO_TUNER            0x01F0; 
-const uint16_t ADDR_XM_RADIO_TUNER = 0x01F2; +const uint16_t ADDR_XM_RADIO_TUNER             0x01F2; 
-const uint16_t ADDR_RSA = 0x01F4; +const uint16_t ADDR_RSA                        0x01F4; 
-const uint16_t ADDR_RSE_M = 0x01F6; +const uint16_t ADDR_RSE_M                      0x01F6; 
-const uint16_t ADDR_BROADCAST_1FF = 0x01FF; +const uint16_t ADDR_BROADCAST_1FF              0x01FF; 
-const uint16_t ADDR_NAV_ECU = 0x0200; +const uint16_t ADDR_NAV_ECU                    0x0200; 
-const uint16_t ADDR_ATIS = 0x0210; +const uint16_t ADDR_ATIS                       0x0210; 
-const uint16_t ADDR_VICS = 0x0220; +const uint16_t ADDR_VICS                       0x0220; 
-const uint16_t ADDR_TV_TUNER = 0x0230; +const uint16_t ADDR_TV_TUNER                   0x0230; 
-const uint16_t ADDR_HW_CD_CH = 0x0240; +const uint16_t ADDR_HW_CD_CH                   0x0240; 
-const uint16_t ADDR_HW_DVD_CH = 0x0250; +const uint16_t ADDR_HW_DVD_CH                  0x0250; 
-const uint16_t ADDR_TEL_INFO_ECU = 0x0260; +const uint16_t ADDR_TEL_INFO_ECU               0x0260; 
-const uint16_t ADDR_CAMERA_CTRLR = 0x0280; +const uint16_t ADDR_CAMERA_CTRLR               0x0280; 
-const uint16_t ADDR_RADIO = 0x0300; +const uint16_t ADDR_RADIO                      0x0300; 
-const uint16_t ADDR_CASSETTE = 0x0320; +const uint16_t ADDR_CASSETTE                   0x0320; 
-const uint16_t ADDR_CASSETTE_NO_CH = 0x0330; +const uint16_t ADDR_CASSETTE_NO_CH             0x0330; 
-const uint16_t ADDR_CD_P = 0x0340; +const uint16_t ADDR_CD_P                       0x0340; 
-const uint16_t ADDR_1DIN_CD_CH = 0x0360; +const uint16_t ADDR_1DIN_CD_CH                 0x0360; 
-const uint16_t ADDR_MD_P = 0x0380; +const uint16_t ADDR_MD_P                       0x0380; 
-const uint16_t ADDR_MD_CH = 0x03A0; +const uint16_t ADDR_MD_CH                      0x03A0; 
-const uint16_t ADDR_DAT = 0x03C0; +const uint16_t ADDR_DAT                        0x03C0; 
-const uint16_t ADDR_DCC = 0x03E0; +const uint16_t ADDR_DCC                        0x03E0; 
-const uint16_t ADDR_TEL_ECU = 0x03F8; +const uint16_t ADDR_TEL_ECU                    0x03F8; 
-const uint16_t ADDR_EQUALIZER = 0x0400; +const uint16_t ADDR_EQUALIZER                  0x0400; 
-const uint16_t ADDR_DSP = 0x0440; +const uint16_t ADDR_DSP                        0x0440; 
-const uint16_t ADDR_HW_AMP = 0x0480; +const uint16_t ADDR_HW_AMP                     0x0480; 
-const uint16_t ADDR_GPS_RECEIVER = 0x0500; +const uint16_t ADDR_GPS_RECEIVER               0x0500; 
-const uint16_t ADDR_ATIS_DECODER = 0x0510; +const uint16_t ADDR_ATIS_DECODER               0x0510; 
-const uint16_t ADDR_FM_MULTI_DECODER = 0x0520; +const uint16_t ADDR_FM_MULTI_DECODER           0x0520; 
-const uint16_t ADDR_RADIO_WAVE_BEACON = 0x0528; +const uint16_t ADDR_RADIO_WAVE_BEACON          0x0528; 
-const uint16_t ADDR_OPTICAL_BEACON = 0x052C; +const uint16_t ADDR_OPTICAL_BEACON             0x052C; 
-const uint16_t ADDR_CD_CH = 0x0540; +const uint16_t ADDR_CD_CH                      0x0540; 
-const uint16_t ADDR_MD_CH_2 = 0x0560; +const uint16_t ADDR_MD_CH_2                    0x0560; 
-const uint16_t ADDR_CDROM_CH = 0x0580; +const uint16_t ADDR_CDROM_CH                   0x0580; 
-const uint16_t ADDR_MDROM_CH = 0x05A0; +const uint16_t ADDR_MDROM_CH                   0x05A0; 
-const uint16_t ADDR_TEL_INFO = 0x05C0; +const uint16_t ADDR_TEL_INFO                   0x05C0; 
-const uint16_t ADDR_MAYDAY = 0x05C8; +const uint16_t ADDR_MAYDAY                     0x05C8; 
-const uint16_t ADDR_AC_ECU = 0x0600; +const uint16_t ADDR_AC_ECU                     0x0600; 
-const uint16_t ADDR_BODY_ECU = 0x0680; +const uint16_t ADDR_BODY_ECU                   0x0680; 
-const uint16_t ADDR_BROADCAST_FFF = 0x0FFF;+const uint16_t ADDR_BROADCAST_FFF              0x0FFF;
  
 // Device Register Values // Device Register Values
-const uint16_t DEV_COM_CTRL0 = 0x00; +const uint16_t DEV_COM_CTRL0                   0x00; 
-const uint16_t DEV_COM_CTRL = 0x01; +const uint16_t DEV_COM_CTRL                    0x01; 
-const uint16_t DEV_COM_EXT = 0x02; +const uint16_t DEV_COM_EXT                     0x02; 
-const uint16_t DEV_COM_MASTER = 0x11; +const uint16_t DEV_COM_MASTER                  0x11; 
-const uint16_t DEV_SW_AUDIO = 0x21; +const uint16_t DEV_SW_AUDIO                    0x21; 
-const uint16_t DEV_SW_SHIFT = 0x23; +const uint16_t DEV_SW_SHIFT                    0x23; 
-const uint16_t DEV_SW = 0x25; +const uint16_t DEV_SW                          0x25; 
-const uint16_t DEV_HU_BEEP = 0x28; +const uint16_t DEV_HU_BEEP                     0x28; 
-const uint16_t DEV_BEEP_SPEAK = 0x29; +const uint16_t DEV_BEEP_SPEAK                  0x29; 
-const uint16_t DEV_INFO_DISPLAY1 = 0x31; +const uint16_t DEV_INFO_DISPLAY1               0x31; 
-const uint16_t DEV_INFO_DISPLAY2 = 0x32; +const uint16_t DEV_INFO_DISPLAY2               0x32; 
-const uint16_t DEV_INFO_DISPLAY3 = 0x34; +const uint16_t DEV_INFO_DISPLAY3               0x34; 
-const uint16_t DEV_3F = 0x3F; +const uint16_t DEV_3F                          0x3F; 
-const uint16_t DEV_TV_TUNER = 0x40; +const uint16_t DEV_TV_TUNER                    0x40; 
-const uint16_t DEV_CD = 0x43; +const uint16_t DEV_CD                          0x43; 
-const uint16_t DEV_BLUETOOTH = 0x55; +const uint16_t DEV_BLUETOOTH                   0x55; 
-const uint16_t DEV_INFO_DRAW = 0x56; +const uint16_t DEV_INFO_DRAW                   0x56; 
-const uint16_t DEV_NAV_GPS = 0x58; +const uint16_t DEV_NAV_GPS                     0x58; 
-const uint16_t DEV_FM_MULTIPLEX_VICS = 0x5A; +const uint16_t DEV_FM_MULTIPLEX_VICS           0x5A; 
-const uint16_t DEV_BEACON = 0x5B; +const uint16_t DEV_BEACON                      0x5B; 
-const uint16_t DEV_CAMERA = 0x5C; +const uint16_t DEV_CAMERA                      0x5C; 
-const uint16_t DEV_CLIMATE_CTRL_DRAW = 0x5D; +const uint16_t DEV_CLIMATE_CTRL_DRAW           0x5D; 
-const uint16_t DEV_AUDIO_DRAW = 0x5E; +const uint16_t DEV_AUDIO_DRAW                  0x5E; 
-const uint16_t DEV_TRIP_INFO_DRAW = 0x5F; +const uint16_t DEV_TRIP_INFO_DRAW              0x5F; 
-const uint16_t DEV_RADIO = 0x60; +const uint16_t DEV_RADIO                       0x60; 
-const uint16_t DEV_CASSETTE = 0x61; +const uint16_t DEV_CASSETTE                    0x61; 
-const uint16_t DEV_CD_P = 0x62; +const uint16_t DEV_CD_P                        0x62; 
-const uint16_t DEV_CD_CH = 0x63; +const uint16_t DEV_CD_CH                       0x63; 
-const uint16_t DEV_MD = 0x64; +const uint16_t DEV_MD                          0x64; 
-const uint16_t DEV_MD_CH = 0x65; +const uint16_t DEV_MD_CH                       0x65; 
-const uint16_t DEV_6D = 0x6D; +const uint16_t DEV_6D                          0x6D; 
-const uint16_t DEV_6F = 0x6F; +const uint16_t DEV_6F                          0x6F; 
-const uint16_t DEV_AUDIO_AMP = 0x74; +const uint16_t DEV_AUDIO_AMP                   0x74; 
-const uint16_t DEV_NAV_GPS_2 = 0x80; +const uint16_t DEV_NAV_GPS_2                   0x80; 
-const uint16_t DEV_81 = 0x81; +const uint16_t DEV_81                          0x81; 
-const uint16_t DEV_FM_MULTIPLEX_DATA = 0x82; +const uint16_t DEV_FM_MULTIPLEX_DATA           0x82; 
-const uint16_t DEV_OPTICAL_BEACON = 0x83; +const uint16_t DEV_OPTICAL_BEACON              0x83; 
-const uint16_t DEV_RADIO_WAVE_BEACON = 0x84; +const uint16_t DEV_RADIO_WAVE_BEACON           0x84; 
-const uint16_t DEV_VOICE_CONTROL = 0x85; +const uint16_t DEV_VOICE_CONTROL               0x85; 
-const uint16_t DEV_FM_MULTIPLEX_TUNER = 0x9A; +const uint16_t DEV_FM_MULTIPLEX_TUNER          0x9A; 
-const uint16_t DEV_A4 = 0xA4; +const uint16_t DEV_A4                          0xA4; 
-const uint16_t DEV_XM_TUNER = 0xC0; +const uint16_t DEV_XM_TUNER                    0xC0; 
-const uint16_t DEV_CLIMATE_CTRL_DEV = 0xE0; +const uint16_t DEV_CLIMATE_CTRL_DEV            0xE0; 
-const uint16_t DEV_E4 = 0xE4; +const uint16_t DEV_E4                          0xE4; 
-const uint16_t DEV_TRIP_INFO = 0xE5; +const uint16_t DEV_TRIP_INFO                   0xE5; 
-const uint16_t DEV_EF = 0xEF;+const uint16_t DEV_EF                          0xEF;
  
 // Function Register Values // Function Register Values
-const uint16_t FUNC_DIRECT_COMMAND = 0x00; +const uint16_t FUNC_DIRECT_COMMAND             0x00; 
-const uint16_t FUNC_LAN_INIT = 0x01; +const uint16_t FUNC_LAN_INIT                   0x01; 
-const uint16_t MSG_DEVICES_RESPONSE = 0x02; +const uint16_t MSG_DEVICES_RESPONSE            0x02; 
-const uint16_t MSG_DEVICES_REGISTER = 0x10; +const uint16_t MSG_DEVICES_REGISTER            0x10; 
-const uint16_t FUNC_REGISTER = 0x11; //  TODO:  Confirm +const uint16_t FUNC_REGISTER                   0x11;        //  TODO:  Confirm 
-const uint16_t MSG_DEVICES_REQUEST = 0x12; +const uint16_t MSG_DEVICES_REQUEST             0x12; 
-const uint16_t MSG_DEVICES_BROADCAST = 0x13; +const uint16_t MSG_DEVICES_BROADCAST           0x13; 
-const uint16_t PING = 0x20; +const uint16_t PING                            0x20; 
-const uint16_t PONG = 0x30; +const uint16_t PONG                            0x30; 
-const uint16_t FUNC_REGISTER_58 = 0x58; +const uint16_t FUNC_REGISTER_58                0x58; 
-const uint16_t FUNC_REGISTER_5B = 0x5B; +const uint16_t FUNC_REGISTER_5B                0x5B; 
-const uint16_t FUNC_REGISTER_5F = 0x5F; +const uint16_t FUNC_REGISTER_5F                0x5F; 
-const uint16_t FUNC_STATUS_B7 = 0xB7; +const uint16_t FUNC_STATUS_B7                  0xB7; 
-const uint16_t FUNC_UNKNOWN_INFO_D9 = 0xD9; // TODO: Related to Info Display, try to identify +const uint16_t FUNC_UNKNOWN_INFO_D9            0xD9;        // TODO: Related to Info Display, try to identify 
-const uint16_t FUNC_AVG_KMH_INFO = 0xDB; +const uint16_t FUNC_AVG_KMH_INFO               0xDB; 
-const uint16_t FUNC_UNKNOWN_INFO_DC = 0xDC; +const uint16_t FUNC_UNKNOWN_INFO_DC            0xDC; 
-const uint16_t FUNC_FUEL_RANGE_INFO = 0xDD; +const uint16_t FUNC_FUEL_RANGE_INFO            0xDD; 
-const uint16_t FUNC_TRIP_TIME_INFO = 0xDE; +const uint16_t FUNC_TRIP_TIME_INFO             0xDE; 
-const uint16_t FUNC_STATUS_REQUEST_E0 = 0xE0; +const uint16_t FUNC_STATUS_REQUEST_E0          0xE0; 
-const uint16_t FUNC_STATUS_REQUEST_E2 = 0xE2; +const uint16_t FUNC_STATUS_REQUEST_E2          0xE2; 
-const uint16_t FUNC_STATUS_REQUEST_E4 = 0xE4; +const uint16_t FUNC_STATUS_REQUEST_E4          0xE4; 
-const uint16_t FUNC_STATUS_RESPOND_F0 = 0xF0; +const uint16_t FUNC_STATUS_RESPOND_F0          0xF0; 
-const uint16_t FUNC_STATUS_RESPOND_F1 = 0xF1; +const uint16_t FUNC_STATUS_RESPOND_F1          0xF1; 
-const uint16_t FUNC_STATUS_RESPOND_F2 = 0xF2; +const uint16_t FUNC_STATUS_RESPOND_F2          0xF2; 
-const uint16_t FUNC_STATUS_RESPOND_F3 = 0xF3; +const uint16_t FUNC_STATUS_RESPOND_F3          0xF3; 
-const uint16_t FUNC_STATUS_RESPOND_F9 = 0xF9;+const uint16_t FUNC_STATUS_RESPOND_F9          0xF9;
  
 #endif #endif
 </code> </code>
 +===== Links =====
 +  * [[https://web.archive.org/web/20140627135927/http://www.sigmaobjects.com/toyota/|Toyota Aux Enabler]] - Toyota Projekt nur noch über Web-Archive abrufbar
 +  * Github-Projekte:
 +    * [[https://github.com/GadgetNutt/AVC-LAN-Module-Builder|AVC-LAN-Module-Builder]]
 +  * [[https://github.com/james-tate/IEBusAnalyzer|IEBusAnalyzer]] - IEBus analyzer using the Saleae Analyzer SDK
  
avc-lan/avc-lan.1688721866.txt.gz · Zuletzt geändert: 2023/07/07 09:24 von geier99