亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

cantools 完整文檔導讀:CAN 總線數(shù)據(jù)庫解析、消息編解碼、CLI 工具與代碼規(guī)范實戰(zhàn)指南

cantools 完整文檔導讀:CAN 總線數(shù)據(jù)庫解析、消息編解碼、CLI 工具與代碼規(guī)范實戰(zhàn)指南 嵌入式開發(fā)工具【免費下載鏈接】cantoolsCAN bus tools.項目地址https://gitcode.com/gh_mirrors/ca/cantools點擊查看免費下載本文以 cantools 官方文檔docs/index.rst內嵌完整README.rst為骨架結合倉庫源碼展開系統(tǒng)講解這個 Python 3 CAN 總線工具集從數(shù)據(jù)庫解析DBC/KCD/SYM/ARXML/CDD、消息編碼解碼、診斷 DID、CLI 命令行工具decode/plot/dump/list/generate_c_source/monitor/convert到 C 源碼生成與 Ubuntu 虛擬 CAN 接口vcan實戰(zhàn)的完整技術棧。閱讀本文后你將能夠直接用 cantools 加載車載網(wǎng)絡數(shù)據(jù)庫、在腳本或candump管道中實時解碼 CAN 報文、可視化信號曲線、生成可落地的 C 代碼并理解其 API 設計與編碼規(guī)范。項目概覽cantools 能做什么cantools 是使用 Python 3 編寫的 CAN 總線工具集CAN BUS tools in Python 3.官方文檔將其核心能力總結為多格式數(shù)據(jù)庫解析支持DBC、KCD、SYM、ARXML 34 與 CDD 文件的讀取與寫入。CAN 消息編碼與解碼根據(jù)信號定義位序、縮放因子、偏移量、符號性將物理量編碼為字節(jié)串、或將原始字節(jié)解碼為物理量。簡單與擴展的信號多路復用signal multiplexing支持一個多路復用信號按取值切換不同的信號子集。診斷 DID 編碼與解碼面向 UDS 等診斷服務的數(shù)據(jù)DID/Data編解碼。candump輸出解碼直接消費 Linuxcandump程序抓取的日志流。節(jié)點 Tester 工具cantools.tester.Tester提供基于 CAN 數(shù)據(jù)庫的測試輔助。C 源代碼生成器從數(shù)據(jù)庫生成 C 語言的struct、pack/unpack與信號encode/decode函數(shù)。CAN 總線監(jiān)控器文本界面實時監(jiān)控總線流量。信號圖形化繪圖基于 matplotlib 可視化信號隨時間的變化曲線。上述能力的模塊組織可從源碼結構印證src/cantools/database/下是 CAN 與診斷數(shù)據(jù)庫的加載/序列化邏輯can/formats/含dbc/、kcd.py、sym.py、arxml/diagnostics/formats/cdd.py負責 CDDsrc/cantools/subparsers/下是各 CLI 子命令decode.py、plot.py、monitor.py、generate_c_source.py、convert.py、list.py、dump/src/cantools/c_source.py與tester.py分別對應 C 代碼生成與節(jié)點測試。安裝項目使用標準pip方式安裝python3 -m pip install cantools注意默認安裝不包含 matplotlib因此plot繪圖子命令需要額外安裝可選依賴python3 -m pip install cantools[plot]同理數(shù)據(jù)庫加載緩存見下文cache_dir參數(shù)依賴可選的diskcache包可通過pip install cantools[cache]啟用。腳本化使用加載數(shù)據(jù)庫、編碼與解碼官方文檔以tests/files/dbc/motohawk.dbc這個小型 DBC 文件為貫穿示例。第一步是解析數(shù)據(jù)庫并打印消息與信號 import cantools from pprint import pprint db cantools.database.load_file(tests/files/dbc/motohawk.dbc) db.messages [message(ExampleMessage, 0x1f0, False, 8, Example message used as template in MotoHawk models.)] example_message db.get_message_by_name(ExampleMessage) pprint(example_message.signals) [signal(Enable, 7, 1, big_endian, False, 1.0, 0, 0.0, 0.0, -, False, None, {0: Disabled, 1: Enabled}, None), signal(AverageRadius, 6, 6, big_endian, False, 0.1, 0, 0.0, 5.0, m, False, None, None, ), signal(Temperature, 0, 12, big_endian, True, 0.01, 250, 229.53, 270.47, degK, False, None, None, None)]從輸出可見Message與Signal的 repr 字段對應其構造參數(shù)Enable起始位 7長度 1 位大端縮放 1.0偏移 0枚舉值{0: Disabled, 1: Enabled}、AverageRadius縮放 0.1單位 m、Temperature有符號縮放 0.01偏移 250范圍 229.53~270.47單位 degK。編碼并發(fā)送到總線配合python-can包可把信號字典編碼為字節(jié)串并發(fā)送到虛擬 CAN 總線 import can can_bus can.interface.Bus(vcan0, bustypesocketcan) data example_message.encode({Temperature: 250.1, AverageRadius: 3.2, Enable: 1}) message can.Message(arbitration_idexample_message.frame_id, is_extended_idexample_message.is_extended_frame, datadata) can_bus.send(message)也可以繞過Message.encode()直接調用數(shù)據(jù)庫級的encode_message()源碼見 database.py它同時接受 frame_idint或消息名str內部走_frame_id_to_message/_name_to_message查表 db.encode_message(158, {Bar: 1, Fum: 5.0}) b\x01\x45\x23\x00\x11 db.encode_message(Foo, {Bar: 1, Fum: 5.0}) b\x01\x45\x23\x00\x11encode()方法message.py的三個可選參數(shù)含義scalingTrue默認對信號應用縮放物理量 raw × factor offset設為False則不縮放。paddingFalse默認未使用的位編碼為 0設為True則按unused_bit_pattern默認0x00填充為 1。strictTrue嚴格模式會先調用assert_signals_encodable()校驗信號值是否在允許范圍內、信號是否齊全否則拋出EncodeError。接收并解碼接收一幀并解碼得到信號名到物理值的字典 message can_bus.recv() db.decode_message(message.arbitration_id, message.data) {AverageRadius: 3.2, Enable: Enabled, Temperature: 250.09}注意Enable被解碼為枚舉字符串Enabled而非整數(shù)1——這是decode_choices默認開啟的效果。decode_message()database.py關鍵參數(shù)decode_choicesTrue將縮放后的值映射為choices中的字符串設為False則返回數(shù)值。scalingTrue默認縮放False返回原始 raw 值。allow_truncatedFalse數(shù)據(jù)不足時是否允許截斷解碼。decode_containersFalse容器幀container frame的解碼需顯式開啟否則拋出DecodeError因為容器幀返回的是(Message, SignalsDict)元組列表會破壞普通調用方的預期。更多綜合示例見倉庫 examples 目錄如 hello_world.py、dbc_io/main.py、motor_tester。核心 API 參考Functions and classesdocs/index.rst通過 Sphinx 的autofunction/autoclass/autodata指令把以下對象直接納入文檔索引構成完整的公開 API 面頂層加載/轉儲函數(shù)cantools.database.load_file()打開并解析文件返回can.Database或diagnostics.Database。cantools.database.dump_file()將數(shù)據(jù)庫寫回文件。cantools.database.load_string()解析字符串內容。cantools.database.load()解析文件對象file-like object讀取其.read()內容。load_file 的格式與編碼推斷l(xiāng)oad_file()database/init.py在database_format與encoding均為None時按擴展名自動推斷格式、按格式推斷默認編碼擴展名大小寫不敏感擴展名數(shù)據(jù)庫格式默認編碼.arxmlarxmlutf-8.dbcdbccp1252.kcdkcdutf-8.symsymcp1252.cddcddutf-8其他/未知Noneutf-8dbc與sym默認使用cp1252編碼是因為這兩種格式在歷史工具鏈中常含 Latin-1 字符源碼_resolve_database_format_and_encoding()中明確映射了這一點。其他重要參數(shù)frame_id_mask對消息 frame id 做掩碼后建索引用于復用同一 id 空間的場景。prune_choices默認開啟把枚舉取值名中共有的、以_結尾的前綴去掉以縮短名稱需要原名時傳False。strictTrue信號重疊或超出消息長度時拋異常。sort_signals默認sort_signals_by_start_bit按起始位排序傳None不排序也可傳自定義函數(shù)如lambda signals: list(sorted(signals, keylambda sig: sig.name))。cache_dir啟用磁盤緩存依賴diskcache緩存鍵包含文件路徑 修改時間 全部影響結果的參數(shù)可通過環(huán)境變量CANTOOLS_CACHE_DIR開啟刪除cache_dir目錄即可清緩存。未安裝diskcache時會發(fā)出警告并自動禁用緩存。解析失敗會拋出UnsupportedDatabaseFormatErrorload_string()在database_formatNone時按arxml → dbc → kcd → sym → cdd順序逐一嘗試解析源碼見 database/init.py。dump_file 的寫回規(guī)則dump_file()database/init.py只支持寫出dbc、kcd、sym三種格式其余拋Unsupported output database format。規(guī)則dbc文件總是使用 Windows 風格行尾\r\n其他格式跟隨操作系統(tǒng)這與源碼中newline\r\n的顯式聲明一致。DBC 默認按信號起始位降序排序輸出KCD 默認不排序可通過sort_signalsNone關閉排序。若要讓 foo.dbc 與 bar.dbc 差異最小加載時傳sort_signalsNone, prune_choicesFalse。load_file(..., sort_signalsNone)后再dump_file()會繼承“不排序”的設定as_dbc_string()中若加載時未排序則默認也傳None。CAN 數(shù)據(jù)庫對象Database / Message / Signal / Node / Bus / SignalGroupcantools.database.can.Database整個 CAN 網(wǎng)絡的容器。公開屬性/方法包括messages、nodes、buses、version、dbcDBC 特有屬性對象、autosarAUTOSAR 特有屬性對象、get_message_by_name()、get_message_by_frame_id()frame id 大于0x7FF自動按擴展幀處理、get_node_by_name()、get_bus_by_name()、encode_message()、decode_message()、add_dbc_string()/add_dbc_file()/add_arxml_string()/add_arxml_file()/add_kcd_string()/add_kcd_file()/add_sym_string()/add_sym_file()、as_dbc_string()/as_kcd_string()/as_sym_string()、is_similar()容差比較忽略舍入等微小差異、refresh()修改消息后重建查找表。構造參數(shù)中的strict與sort_signals語義與load_*一致frame_id_mask默認0xffffffff。cantools.database.can.Message單條 CAN 消息。屬性包括frame_id、name、length、signals、is_extended_frame、is_fd、senders、receivers、comment/comments、send_type、cycle_time、dbc、autosar、signal_groups、signal_tree、is_container、contained_messages、header_id、unused_bit_pattern等。方法包括encode()、decode()、decode_simple()、decode_container()、unpack_container()、get_signal_by_name()、is_multiplexed()、refresh()。構造時對 frame id 有位數(shù)校驗標準幀超過 11 位、擴展幀超過 29 位都會拋Error見 message.py。cantools.database.can.Signal單個信號。屬性包括name、start、length、byte_orderlittle_endian/big_endian、is_signed、raw_initial、raw_invalid、conversion、minimum、maximum、unit、comment/comments、receivers、is_multiplexer、multiplexer_ids、multiplexer_signal、spn、choices等方法包括raw_to_scaled()、scaled_to_raw()、choice_to_number()、is_float()。cantools.database.can.Node網(wǎng)絡節(jié)點屬性name、comment/comments、dbc、autosar。cantools.database.can.Bus總線屬性name、comment/comments、baudrate、fd_baudrate、autosar。cantools.database.can.signal_group.SignalGroup信號組屬性name、repetitions、signal_names。DBC 特有對象DbcAttributeDefinitionDBC 屬性定義屬性name、default_value、kind、type_name、minimum、maximum、choices。DbcAttributeValueTypeVar屬性值類型聯(lián)合autodata指令導出。DbcAttribute一次具體屬性賦值屬性name、value、definition方法formatted_value()。DbcEnvironmentVariableDBC 環(huán)境變量屬性name、env_type、minimum、maximum、unit、initial_value、env_id、access_type、access_nodes、data_size、comment、dbc。DbcSpecifics掛在 Database/Message/Node/Signal 上的 DBC 專屬信息屬性attributes、attribute_definitions、value_tables、environment_variables、relation_attributes、relation_attribute_definitions。這些類型定義位于 formats/dbc 下如dbc_attribute_definition.py、dbc_attribute.py、dbc_environment_variable.py、dbc_specifics.py。AUTOSAR 特有對象AutosarDatabaseSpecifics數(shù)據(jù)庫級 AUTOSAR 信息如arxml_version。AutosarMessageSpecifics消息級信息屬性pdu_paths、is_nm、is_general_purpose、is_secured、secocSecOC 安全屬性、e2eE2E 端到端保護屬性。AutosarNodeSpecifics節(jié)點級 AUTOSAR 信息。AutosarSecOCPropertiesSecOC 屬性含auth_algorithm_name、freshness_algorithm_name、payload_length、data_id、auth_tx_bit_length、freshness_bit_length、freshness_tx_bit_length。AutosarEnd2EndPropertiesE2E 屬性含category、data_ids、payload_length。AutosarBusSpecifics總線級 AUTOSAR 信息。這些類型位于 formats/arxmldatabase_specifics.py、message_specifics.py、node_specifics.py、secoc_properties.py、end_to_end_properties.py、bus_specifics.py由SystemLoadersystem_loader.py與EcuExtractLoaderecu_extract_loader.py兩類加載器解析 AUTOSAR System Extract 與 ECU Extract 文件ecu-extract-4.2.arxml、system-4.2.arxml 等測試樣例。數(shù)值表示與轉換cantools.database.namedsignalvalue.NamedSignalValue信號命名值如帶名稱的枚舉物理量其__repr__/__eq__使{Enable: Enabled}這樣的字典可直接比較與打印。cantools.database.conversion.BaseConversion縮放轉換基類Signal.scale/offset即其實現(xiàn)。診斷數(shù)據(jù)庫UDS DIDcantools.database.diagnostics.Database診斷數(shù)據(jù)庫。cantools.database.diagnostics.Did診斷標識符DID。cantools.database.diagnostics.DataDID 承載的數(shù)據(jù)對象。CDD 格式由 diagnostics/formats/cdd.py 實現(xiàn)測試樣例見 tests/files/cdd如 example.cdd、example-diddatarefs.cdd示例腳本見 examples/diagnostics/did.py。異常與測試輔助cantools.database.UnsupportedDatabaseFormatError無法識別數(shù)據(jù)庫格式時拋出errors.py 中與DecodeError、EncodeError并列定義。cantools.tester.Tester基于 CAN 數(shù)據(jù)庫的節(jié)點測試類。cantools.tester.DecodedMessage解碼后的消息容器含name消息名與signals消息信號兩個數(shù)據(jù)字段。cantools.typechecking.Codec內部編解碼器類型別名Message._codecs即該類型用于描述一條消息全部信號的解碼格式與多路復用結構。命令行工具CLICLI 入口為python3 -m cantoolsmain.py 調用init.py 中的_main()。頂層參數(shù)有-d/--debug開啟 DEBUG 日志與--version。所有子命令定義在src/cantools/subparsers/目錄每個模塊提供add_subparser()向 argparse 注冊因此新子命令是自動發(fā)現(xiàn)、按文件加載的加載失敗不影響其他命令??捎米用畎╠ecode、plot、dump、list、generate_c_source、monitor、convert等。decode解碼 candump 輸出從標準輸入讀取 Linuxcandump抓取的幀按數(shù)據(jù)庫解碼為可讀文本$ candump vcan0 | python3 -m cantools decode tests/files/dbc/motohawk.dbc vcan0 1F0 [8] 80 4A 0F 00 00 00 00 00 :: ExampleMessage( Enable: Enabled -, AverageRadius: 0.0 m, Temperature: 255.92 degK )使用--single-line把每條消息壓縮到一行便于腳本或日志聚合$ candump vcan0 | python3 -m cantools decode --single-line tests/files/dbc/motohawk.dbc vcan0 1F0 [8] 80 4A 0F 00 00 00 00 00 :: ExampleMessage(Enable: Enabled -, AverageRadius: 0.0 m, Temperature: 255.92 degK)plot信號可視化plot與decode類似但輸出 matplotlib 圖形而非文本。先抓取日志再繪圖$ candump -l vcan0 $ cat candump-2021-01-04_180521.log (1609779922.655421) vcan0 00000343#B204B9049C049C04 (1609779922.655735) vcan0 0000024A#120527052E051905 ... $ cat candump-2021-01-04_180521.log | python3 -m cantools plot tests/files/dbc/abs.dbc信號選擇語法支持通配符與布局控制*匹配任意數(shù)量任意字符?匹配恰好一個任意字符用-分隔的信號顯示在不同子圖信號后可用冒號指定可選格式如:-、:、:3、:4等線型/樣式標記。例如左側輪速與右側輪速分兩個子圖顯示$ cat candump-2021-01-04_180521.log | python3 -m cantools plot tests/files/dbc/abs.dbc *33.*fl:- *33.*fr:- - *33.*rl:- *33.*rr:-取值范圍差異大的信號可以在同一子圖內使用不同縱軸用逗號分隔信號組配合--auto-color自動著色并用--ylabel分別標注$ cat candump-2021-01-04_180521.log | cantools plot --auto-color tests/files/dbc/abs.dbc -- \ --ylabel Bremse 33 *_33.*fl*:- *_33.*fr*: *_33.*rl*:3 *_33.*rr*:4 , \ --ylabel Bremse 2 *_2.*fl*:- *_2.*fr*: *_2.*rl*:3 *_2.*rr*:4matplotlib 預裝多種繪圖風格可直接套用$ cat candump-2021-01-04_180521.log | cantools plot tests/files/dbc/abs.dbc --style seaborn遍歷所有可用風格逐個預覽$ cantools plot --list-styles . | sed -n /^- /s/^- //p | while IFS read -r style; do cat candump-2021-01-04_180521.log | cantools plot tests/files/dbc/abs.dbc --style $style --title --style $style done全部參數(shù)以python3 -m cantools plot --help為準。相關單測見 test_plot.py 與 test_plot_unittests.py。dump人類可讀轉儲以美觀的排版打印數(shù)據(jù)庫全部內容包括位布局圖、信號樹與枚舉值$ python3 -m cantools dump tests/files/dbc/motohawk.dbc Messages ------------------------------------------------------------------------ Name: ExampleMessage Id: 0x1f0 Length: 8 bytes Cycle time: - ms Senders: PCM1 Layout: Bit 7 6 5 4 3 2 1 0 ------------------------ 0 |-x|---------------------x|--| ------------------------ | -- AverageRadius -- Enable ------------------------ 1 |-------------------------------| ------------------------ 2 |----------x| | | | | | B ------------------------ y -- Temperature t ------------------------ e 3 | | | | | | | | | ------------------------ 4 | | | | | | | | | ------------------------ 5 | | | | | | | | | ------------------------ 6 | | | | | | | | | ------------------------ 7 | | | | | | | | | ------------------------ Signal tree: -- {root} -- Enable -- AverageRadius -- Temperature Signal choices: Enable 0 Disabled 1 Enabled該子命令實現(xiàn)于 subparsers/dump格式化邏輯在 formatting.py。list腳本友好輸出與dump類似但輸出“沒那么漂亮、更全面、更適合 shell 腳本解析”$ python3 -m cantools list -a tests/files/dbc/motohawk.dbc ExampleMessage: Comment[None]: Example message used as template in MotoHawk models. Frame ID: 0x1f0 (496) Size: 8 bytes Is extended frame: False Signals: Enable: Type: Integer Start bit: 7 Length: 1 bits Unit: - Is signed: False Named values: 0: Disabled-a/--all等選項說明可用python3 -m cantools list --help查詢實現(xiàn)見 subparsers/list.py。generate_c_source生成 C 代碼從數(shù)據(jù)庫生成 C 源碼生成物包含消息structmotohawk.h 中對應#define MOTORA ...與結構體定義區(qū)域消息pack/unpack函數(shù)信號encode/decode函數(shù)frame id、長度、類型、周期時間與信號枚舉的#define宏如MOTORA_EXAMPLE_MESSAGE_FRAME_ID、MOTORA_EXAMPLE_MESSAGE_LENGTH等。已知限制信號最大 64 位實踐中幾乎不會超過。$ python3 -m cantools generate_c_source tests/files/dbc/motohawk.dbc Successfully generated motohawk.h and motohawk.c.生成的完整內容可對照 motohawk.h 與 motohawk.c 查看。--use-float浮點信號使用單精度float而非double$ python3 -m cantools generate_c_source --use-float tests/files/dbc/motohawk.dbc Successfully generated motohawk.h and motohawk.c.--database-name自定義生成類型、宏與函數(shù)的命名空間前綴同時改變輸出文件名$ python3 -m cantools generate_c_source --database-name my_database_name tests/files/dbc/motohawk.dbc Successfully generated my_database_name.h and my_database_name.c.見 my_database_name.h 與 my_database_name.c。--no-floating-point-numbers生成不含float/double的定點代碼$ python3 -m cantools generate_c_source --no-floating-point-numbers tests/files/dbc/motohawk.dbc Successfully generated motohawk.h and motohawk.c.見 motohawk_no_floating_point_numbers.h 與 motohawk_no_floating_point_numbers.c。--node只生成指定節(jié)點發(fā)送消息的pack函數(shù)、以及信號接收者屬于該節(jié)點的unpack函數(shù)$ cantools generate_c_source tests/files/dbc/motohawk.dbc --node PCM1 Successfully generated motohawk.h and motohawk.c.見 motohawk_sender_node.h 與 motohawk_sender_node.c。C 生成器核心實現(xiàn)位于 src/cantools/database/can/c_source.py對應測試樣例覆蓋了位域*_bit_fields.*、浮點floating_point.*、多路復用multiplex.*、輪詢舍入motohawk_use_round.*等多種形態(tài)見 tests/files/c_source。monitor文本界面總線監(jiān)控以 TUI文本用戶界面實時監(jiān)控總線流量$ python3 -m cantools monitor tests/files/dbc/motohawk.dbc底部菜單提供以下操作Quit退出監(jiān)控器也可用Ctrl-C。Filter只顯示匹配給定正則表達式的消息或信號輸入行按Enter返回菜單。Play/Pause在播放與暫停運行與凍結之間切換。Reset將監(jiān)控器重置到初始狀態(tài)。實現(xiàn)見 subparsers/monitor.py相關單測見 test_monitor.py。convert數(shù)據(jù)庫格式互轉convert子命令把數(shù)據(jù)庫從一種格式轉換為另一種實現(xiàn)見 subparsers/convert.py對應測試見 test_convert.py 與 test_conversion.py。DBC 互轉的正確性由tests/files/dbc/下的“原文件 *_dumped文件”配對驗證如 multiplex_2.dbc 與 multiplex_2_dumped.dbc。Coding style編碼規(guī)范文檔以“基于作者個人偏好”的方式定義了本包源碼的編碼風格對貢獻者而言是必須遵守的規(guī)則語句if、while、return等前后要有空行除非位于其他語句或文件的開頭/結尾。文件級定義之間留兩個空行。運算符前后留空格關鍵字參數(shù)keyword arguments兩側不允許空格。每行只導入一個模塊/對象。注釋與 docstring 以大寫字母開頭、以句號結尾像句子一樣。docstring 之后留一個空行。單行最大 90 字符目標是不超過 80 字符。函數(shù)參數(shù)要么全部寫在一行要么每行一個。類名用CamelCase不允許下劃線。函數(shù)名與變量名用小寫 下劃線分隔snake_case。規(guī)范的示例代碼數(shù)字標注對應上述規(guī)則import sys from os import path # (5) from os import getcwd # (5) # (2) # (2) def foo(bars, fumNone): # (4) This is a doc string. # (6) # (7) fies [] # (3) kam path.join(getcwd(), ..) # (1) for bar in bars: if len(bar) 1): # (8) fies.append(ham 2 * bar) # (3) # (1) # This is a comment. # (6) if fum in None: fum 5 # (3) else: fum 1 # (3) # (1) fies * fum # (3) # (1) return fies # (2) # (2) def goo(): return True示例中if len(bar) 1):與if fum in None是文檔原樣保留的演示代碼并非真實語法。Tips and tricksUbuntu 虛擬 CAN 接口在無硬件的情況下調試 CAN 應用可在 Ubuntu 上創(chuàng)建虛擬 CAN 接口。官方文檔給出的完整三步設置sudo modprobe vcan sudo ip link add dev vcan0 type vcan sudo ip link set vcan0 mtu 72 # For CAN-FD sudo ip link set up vcan0第一條加載vcan內核模塊第二條創(chuàng)建名為vcan0的虛擬 CAN 設備第三條可選把 MTU 設為 72以支持 CAN-FD經(jīng)典 CAN 的 MTU 為 16CAN-FD 需要 72第四條把接口置為up狀態(tài)。設置完成后即可配合python-can的socketcan后端can.interface.Bus(vcan0, bustypesocketcan)以及candump/can send等工具進行收發(fā)測試。倉庫中decode、plot、monitor各子命令的文檔示例均基于此環(huán)境。貢獻指南Contributing文檔同時給出了向本倉庫提交貢獻的標準流程Fork 倉庫。安裝開發(fā)依賴使用tox可跳過此步python3 -m pip install -e .[dev]。實現(xiàn)新功能或修復 bug。編寫測試用例防止未來改動破壞既有行為。運行 linterruff check src、mypy src或tox -e ruff、tox -e mypy。運行測試tox -e py。檢查測試覆蓋率tox -e cov然后用firefox htmlcov/index.html查看報告。創(chuàng)建 Pull Request。配置集中在 pyproject.toml 與 tox.ini完整的測試套件位于 tests 目錄test_database.py、test_command_line.py、test_autosar.py 等C 生成代碼的交叉驗證由 tests/test_c_code 下的 C 測試工程完成??偨Y作為docs/index.rst的完整導讀本文覆蓋了 cantools 文檔的全部四大板塊README 中的功能矩陣、安裝與腳本/CLI 全流程示例Sphinx 自動生成的 Functions and classes API 索引含 CAN 數(shù)據(jù)庫、DBC/AUTOSAR 特有對象、診斷數(shù)據(jù)庫與 Tester作者定義的 Coding style 規(guī)范以及 Ubuntu vcan 虛擬接口搭建技巧。配合倉庫中 examples、tests/files 與 src/cantools 源碼讀者可以完整掌握這一 CAN 工具鏈的實戰(zhàn)用法與內部機制。贊分享嵌入式開發(fā)工具【免費下載鏈接】cantoolsCAN bus tools.項目地址https://gitcode.com/gh_mirrors/ca/cantools點擊查看免費下載相關推薦CAN總線數(shù)據(jù)處理實戰(zhàn)從環(huán)境搭建到消息編解碼全指南CAN總線數(shù)據(jù)處理實戰(zhàn)從環(huán)境搭建到消息編解碼全指南 如何高效解析汽車CAN總線數(shù)據(jù) 在汽車電子和工業(yè)控制領域CAN總線作為一種高可靠性的串行通信協(xié)議被廣嵌入式開發(fā)工具探索CAN總線工具Cantools探索CAN總線工具Cantools 項目介紹 Cantools是一個基于Python 3的CAN總線工具集提供了豐富的功能來處理CAN消息和信號。它支持多種嵌入式開發(fā)工具Cantools工具庫40.1.0版本發(fā)布增強CAN總線數(shù)據(jù)分析能力Cantools工具庫40.1.0版本發(fā)布增強CAN總線數(shù)據(jù)分析能力 Cantools是一個功能強大的Python庫專門用于處理CANController嵌入式開發(fā)工具上一篇gh_mirrors/er/errors深度解析Go語言錯誤處理新范式下一篇如何快速搭建現(xiàn)代化管理后臺Ant Design Vue Pro完整配置指南創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产诱惑| 伊人久久综合精品欧美| 伊人超碰97| 国产99热| 日韩精品人妻一| 中国小夫妻勾搭露脸淫荡对白| 丁香婷婷五月| 91中出在线| 97人人超| 欧美,日韩综合久久| 日本一久是| 日韩78m视频| 婷婷AV一区二区三区| 亚洲成人ab| 伊人大香蕉在线| 久久高清欧美国产| a片在线播放| 一区二区不卡免费| 台湾大香蕉99热| 熟女六十路| 亚洲爽图| 999久久久国产精品| 亚洲日本韩国在线| 欧美一区二区三区互相| 国产一二三福利视频网| 欧美色图亚洲色,麻豆| 欧美日韩国产中文精品字幕自在自线,| 欧美真人抽搐一进一出gif| 亚洲精品黑丝| 黄总AV色图| 国产精品国产自产高清AV| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 久久爱超碰网| 日韩少妇丰满亚洲| 蜜臀久久99精品久久综合| 日韩在线性爱免费视频| 成人国产视频在线观看| 蜜臀Av一区二区三区| 日本不卡二三区| 成功精品影院| 欧美性爱五月天| 国产大陆天天艹| 久久东京热久久| 精国久久一区二区三区98| 久久影视二区三区行押| 久久久精品视频欧州站| 91在线免费观看处女| 涩五月婷婷| 26uuu偷拍亚洲欧洲综合| 91亚洲高清| 蜜臀网址在线| 少妇精品| 边做饭边操逼逼| 日韩人妻无码不卡网站| 青青草日逼视频| 蜜乳AV一区| 97爱b| 97在线观看免费| 丝袜美腿制服人妻二区中文字幕 | 欧美亚洲20p| 黑人精品欧美一区二区蜜桃| 丝袜美腿欧美| 欧美v亚洲v日韩v最新在线二区 | 久久超碰com| 嗯,啊。舔我逼| av橘色网站| 欧美激情性爱视频网站| 2023天天操夜夜操| 久久久96精品| 久久成人午夜精品影院| 精品人妻一区二区三区视频| 国产亚洲日本精品在线| 亚洲午夜福利在线影院| 夜夜黄| 91天美免费| 蜜乳中文字幕a在线| 中文字幕精品免费一区二区| 亚洲欧美色图| 国产丝袜美女在线一区| 亚洲av综合色区无码一| 婷婷99狠狠躁天天躁| 亚洲男人久久综合天堂| 国产特级毛片AAAAAA高潮流水| 日本性爱欧美性爱| 国产精品久久久久中文字幕| 中文字幕一区二区三区视频播放| 韩国三级理论在线| 1区2区3区在线视频| 丝袜熟女2P| 欧美精品 - 91爱爱| 亚洲色香| 欧美综合第一页| 无码在线亚洲| 日本淫色网| 伊人久久大香线综合无码| 亚洲人精品久久久| 成人一级性爱| 精品久久久久久亚洲| 67914在线精品观看| 伊人久久大香线综合无码| 国产免费一区| 久久精品国产AV一区二区三区| 亚洲日韩精品久久久久一区壹牛 | 国产视频大全| 亚洲高清欧美总合| 欧美成人AⅤ大片在线观看| 欧美日韩性爱操大逼| 六月婷婷综合| 亚洲 欧美 另类 日韩 人妻一区| 色麻豆AV| 奇米狠999| 99re9在线| 国产高清在线自在拍69| 国产视频一区二区三区在线免费观看| 91蜜桃婷婷狠狠久久综合9色| 成人精品视频一区二区| K8久久久久| 日产欧美电影一区二区三区| 五月婷婷六月天| 操操操操网黑人| 久久宗合97| 嫩草美女久久| 国模限制级电影| 欧美亚洲韩国视频十五区| 亚洲人天堂| 8050无码八戒| 99热国产精品| 色综合久久久久| 亚洲欧美一区二区不卡视频播放| 99老司机精品视频在线观看| 天堂资源欧美| 88xx成人精品视频| 亚洲AV乱码专区国产噜噜亚洲| 欧美精品亚洲精品日韩传电影| 老司机深夜18禁污污网站| 人妻啊啊人妻啊啊| 色爱天堂| 五月丁香六月激情| 麻豆三极片| 天天操夜夜操| 日韩欧无码一区二区三区免费不卡| 翔田千里av一区二区三区| 啊啊啊啊操死我了| 亚洲色 国产 欧美 日韩| 香蕉一区二区三区在线视频| 国产日韩在线播放av| 亚洲国产剧情少妇激情| 久久riav中文精品| 亚洲色图 图片| 吖在线不卡一区二区国产剧情| 一区二区三区在线资源| 亚洲国产综合图区中文字幕| 青青草白白色| 人妻81p| 足交视频老司机| 中文字幕久热视频在线| 久久久久9| 风流老熟女一区二区三区l| 蜜桃色色网站视频三区| 牛牛AV人人夜夜澡人人爽| 熟女啪啪视频| 奇米四色网| 亚洲免费97免费| www.yeyecao| 熟女网站最新| 日本人妻A片成人免费看片| 91爱网| 中文字幕黑人大片| 八戒午夜福利理论片| 午夜啊啊啊| 激情网色| 欧美99999| 久草婷婷| www.av在线观看| 久久区| 亚洲人妻熟妇三十三区| 久久精品中文字幕无码l| 日本ZZ高免费A级视频| 天天色播| 91人妻中文| 凹凸 69堂 在线播放| 久妇网| 偷拍偷窥与盗摄视频专区| 精品二999| 色欲久久综合| 欧美性爱免费短视频| 久久久天美| 国产AV无码AV| 免费?级毛片无码?∨蜜芽试看| 久久九九精品一区二区 | 97超碰69| 欧美性生活综合| 伊人午夜福利视频| 日韩精品怡红院| 看一级黄色视频| 亚洲欧美另类激情小说| 夜夜黄| 久久精品视频久久久| 岛国大片国产| 欧美日韩97| 校园春色宗合网| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 嗯啊啊啊轻点视频| 97天天摸天天碰| 91色人妻| 日韩极品无码B| 97超碰色色| 日韩不卡网操逼中文字幕日韩| 久久乐| 1禁看欧美黄片免费看| 亚洲精品自拍| 国产9区| 99热精品在线观看| 国产精品不卡少妇白| 亚洲资源网| 四虎国产成人精品免费一女五男| 亚码激情| 欧美制服另类丝袜| 第一高清av中文字幕| 99久久婷婷丁香| 乱伦一二三| 少妇综合| 伊人影院日本| 韩三级a视频在线观看| 日韩91网站| 九久9精品| 亚洲综合色图欧美| 另类图片五月天| 久久久少妇诱惑精品视频| 欧美后入视频| 亚洲 欧美 综合 91| 不卡人妻少妇精品毛片一区23区视频 | 日本午夜福利影院| www.婷婷五月天| 人妻久久久久久| 亚洲男人的天堂亚洲| 激情视频网址| 日本精品一区三区| 荡小穴在线观看| 白丝AV网站| 4141514逼喷水三级片| 久久久9品一区二区三区| 中文字幕av色| 五十路熟女工口| 91精品婷婷国产综合久久竹菊| 超碰97网址| 97伪v| 五毛骚逼极品美女怕怕| 精品无人区麻豆乱码1区2区图片| 韩日欧亚a级| 91熟女丨91老女人| 在线不欧美| 国产无码精品成人| 夜夜草网站| 五月婷婷丁香| 久久超碰98| 久草成人影片| 午夜亚洲WWW湿好大| 午夜超爽| 亚州色交| 97视频在线视频| 99超碰网| 夜夜操美女| 7777奇米影视久久| 超碰av在线| 亚洲综合另类欧美久久久| 欧美日韩青操| 日日夜夜摸| 国产操逼视频在线观看| 91日韩在线| 偷拍亚洲高清图片| 男人天堂2019| 国模少妇一区二区三区| 伊人97超碰| 国产第11页| 诱惑网综合| 思思热在线cao| 天天色播| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 999综合网| av强奸乱轮| 久热超碰| 9ⅰ久久久天天| 人人操人人色网| 在线观看亚洲专区| 香港成人一级视频在线青青草| 91操熟妇| 成人免费看吃奶视频网站| 亚洲暴力强奸AV| 亚洲不卡不卡中文字幕不卡| 精品少妇一区二区| 人妻少妇被猛烈进入中| 欧美熟女妇同| 超碰欧美| 国产精品久久发布| 白丝一区| 女同在线视频一区| 亚洲成人AB| 久久精品 六十路 熟女 欧美| 国产AV高清AV无码| 久久99深爱久久99精品| 国产精品亚洲天堂网址| 日韩免费人妻色情网站| 人妻久久| 99久久网站| 少妇熟女视频一二三区| 成人性爱视频在线看| 日本一区99| 亚洲国产综合图区中文字幕| 蜜桃成人1区2区3区| 国产乱码久久久| av天堂手机版追回| 日本天堂在线播放| av天堂手机版追回| julia ann久久| 免费亚洲黄色视频在线观看| 亚洲欧美在线综合| 性爱精品一区| 亚洲美腿丝袜香蕉影视欧美成人| 国产偷拍自拍在线视频| 我想要啊 啊 啊| 午夜福利在线合集| 亚洲AV成人无码一二三久久| 美女久久久久久久| 午夜视频好爽啊| 亚洲丝袜99| 日韩人成网站在线播放| 色亚洲欧美| 丁香五月色情| 中文字幕视频二区| 午夜成人福利影视| 日本精品成人无码| 亚洲天堂2020| 久久中出在线| 欧美精品xxxwww| 亚洲清纯唯美| 人人考人人摸人人干| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 美女AV一区二区| 人人人摸人人| a人片中文字幕一区二区| 欧美性爱三区二区| 欧美性性性| 美女黄页| 1769一区二区| 久一区久久蜜桃| yazhousetuoumei| 污污汅18禁网站在线永久免费观看| 啊啊啊啊啊舒服| 国产乱码精品一区二区三区四川| 91热| 日日做夜狠狠爱欧美黑人| 玖玖玖玖精品国产剧情| 久久伊人最新网址视频| 欧美91色| 中国的操老妇女| www.色婷婷| 国产精品黑人一区二区三区| 蜜桃丰满熟妇av无码区不卡| 2010男人的天堂| 日本高清视频xxxx| 精品国产乱码久久久久久蜜臀| 神马久久中文字幕| 五月丁香在线| 国产精品女久久久久av爽| 大香蕉淫人| av72网| 清柠毛片| 亚洲中文字幕三级在线| 国产又猛又粗又爽又黄| 国产精品久久泡妞网站| 欧洲自拍第一页| 欧美老妇综合网| 激情色播| 婷婷AV一区二区三区| 老司机福利社视频在线观看| 丰满人妻一区二区三区在线| 粉嫩av在线一区二区| 亚洲麻豆av一区二区| 激情四射五月天| 久久99国产综合精品女同| 久久性爱免费送| 超碰在线观看av不卡| 秋霞一集毛片观看| 日本黄色精品专区网站| 黄色片A级一区二区三区| 丝袜亚洲综合| 黄色人人| 中文字幕日韩人妻视频一区二区三区| 国产精品久久久久久久电影渣男| 老司机天天操| 天天综合网日韩7799| 尤物黄色在线观看网站| 久久精品中文字幕观看| 91人妻素女| 美国aaaaa一级黄片| 免费的很黄很污的全部视频| 日本操嫩b网| 美國A片| 一区二区三区四区免费视频| 69精品久久久久中文字幕| 婷婷丁香五月天亚洲天堂网| 人人干人人搞人人摸| 国产视频一区二区免费| 伊人99热| 国产午夜精品理论片a大结局| 女人爽到高潮潮喷18禁网站| 综合色99| 国产suv精品一区二区四区999| 精品一区96| 韩国三级三级BD在线| 密臀视频一区二区三区| 中文字幕无码不卡啪啪| 国产精品美女| jizzjizz欧美| 激情婷婷五月天| 亚洲情色1区| 东北女人操比视频| 亚洲综合网91| 欧美人人曰人人操人人射射| 91精品黄在线观看| 午夜福利久久久噜久噜久久综合| 亚洲在高跟鞋自慰久久在色线| 亚洲性综合| 麻豆天美在线| av日韩国产一区二区| 欧美成人性爱视频大全| 日本不卡码黄色| 九九人妻| 亚洲欧美日韩制服另类| 国产无码一二三区| 国产又大又粗又长视频在线| 亚洲性刺激| A一区片| 日韩中文字幕二区| 亚洲高清内射| 人人操人人摸人人骑| 自拍大香蕉乱插| 1024亚洲中文字幕久在线看片你懂的| 肉丝中文无码高清| 26uuu性| 91女在线观看| 91中出在线| 国产一进一出视频网站| 色色色色色色色色色色色色色色综合| 十八禁一区二区无码观看| 男人精品区| 青娱乐国产精品| 国产精品久久发布| 干少妇视频| 激情久久av一区av二区av| 欧美se亚洲| 亚州综合色| 欧美日韩性爱精品| julia ann久久| 欧美综合娱乐久久| 91殴美大片| 日韩三级伊人| 天美AV片| 91操操操操| 黄污污污污| 女人18精品一区二区三区| 国产操伦| 少妇色综合| av在线观看不卡网站| 欧洲Au麻豆| 可免费观看的av毛片中日美韩| www激情| 懂色AV网| 九九RE视频在线精品| 人人爽夜夜玩视频| 破苞ⅩXXX性无码动漫无码| 亚洲黄a三级三级三级看三级| 97资源视频| 日本黄色裸日本黄色裸体| 国产成人91一区二区三区| 96精品在线| 啊啊啊啊啊啊啊啊视频| 无码99| 少妇一级无码精品| 日韩天天本| 美女午夜福利免费视频| 97超碰色中文字幕| 91精品大奶人妻| 天美av在线| 日韩欧美女优电影| 日韩偷拍一区二区三区| 亚州高清色综合| 色婷婷九月天天综合| 日本性一区| 日本一级黄色电影| 韩国免费播放一级毛片| 成人在线午夜视频一区| 国产精品午夜高潮呻吟久久av| 99福利社| 日韩在线视频1234| 精品人妻av在线播放| 国产和美国毛片| 午夜男女爽爽爽在线视频 | 丁香九月婷婷| 久久久不卡区一区二区三区久久久| 人人艹亚洲| 天天性射网| 午夜天天碰综合视频| 日本孕妇一区二区视频操逼免费看| 欧美久久久15P| 亚洲AV操| 97爱亚洲| 欧美性视频二区三区| 天天操夜夜操| 亚洲图片婷婷五月天| 久久久九| 欧亚不卡| 九九在线视频| 国产精品一区二区校花| 久草免费在线视频| 品亲网欧美品亲网| 东北夫妻性偷拍| 久久亚洲AV无码专区国产精品 | 丁香五月激情五月| 97在线精品观看视频| 亚洲精品国产拍免费91在线| 97免费视频网| 欧美日韩高潮喷水91| 人妻 丝袜美腿 中文字幕| 九九九九九九九九九国产精品| 国产精品。| 天天日天天插| 精品国产久热在线观看| 在线播放免费av福利片| 久久青青草在线视频| 久久偷偷色综合蜜桃| 有码免费观看| av天天在线观看| 欧美国产伊人久久久久| 伊人网免费视频| 黄页| K8久久久久| 久欲AV| 97精品97| 精品一久久久| 久久久久久久久久久久久久久乱码| 人人考人人摸人人干| 狠狠操夜夜| 国产日韩手机视频在线| 神马久久午夜| 91网站18禁| 91欧美情色| 久久一二三四五六七八九区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美日产国产在线成人第一区| 国产精品农村妇女| 99人妻| 熟女熟妇一区二区三区视频| 久久久精品视频欧州站| 中文字幕久久精视频久久大全| 日韩欧美女优电影| 99色色网| 国产激情综合五月久久| 妺妺跟我一起洗澡没忍住| 一区二区三区黄色片a| 日韩免费簧片| 极品综合| 欧洲亚洲国产综合在线| 成人97人人超碰人人| 香蕉人欧美综合| 97干在线| 九九综合九九综合| 久久久新亚洲AV| 大二网站亚洲| 欧美日韩大黄片| 亚洲字幕一区二区| ..日韩av毛片精品久久久| 日本性交操一区二区不卡系列| JIZZJIZZ亚洲女人被躁| 日韩无码人妻| 超碰午夜| 日本欧美一区二区三区免费| 美国人人操人人操| 国产精品午夜高潮呻吟久久av| 啪啪啪精品视频| 日韩免费一级性爱视频| 亚洲一曲日韩精品| 一区二区三区免费岛国片| 玖玖爱免费观看视频| 肉嘟嘟www视频在线观看高清| 亚洲国产成人精品久久久国产成人一区二区三. | 屁屁影院一区二区三区国产| 九九综合久久| 超碰人人乐97| 亚洲网污污污污| 97超色| 国产视频第二页| 97色操| 久久久久久精| 26UUU欧美激情一区二区| 天天激情综合站| 噜噜噜无码AV一级一级久久影院| 五月综合色| 老熟女熟妇| 欧美亚洲国产日本在线,久久精品国产| 久九9精品| 啊v在线观看视频| AV麻豆免费一区| 国产精品免费美女视频| 9久综合网| 青娱乐大香蕉| 精品69网| 亚洲天堂一区二区久久| 久热这里| 九九九九精品一区| 国产精品久久久久久久久久久久久久吹| 日本人妻丰满熟妇久久久久久| 亚洲精品xxx| 中文字暮97| 日日噜噜夜夜久久亚洲一区二区| 久久久91福利姬| 国产辣妈在线视频福利| 国产精品久久久三级无码| yirendaxiangjiashipin| 91视频综合在线| 无遮挡男女激烈动态图| 欧美人人AAA| 色鬼在线综合| 日日骚AV| 岛国片在线观看视频亚洲| 国产午夜视频| 久久亚州大香蕉| 成人五月香网在线| 久久成人午夜狠狠| 天天插夜夜操| 人人操天天爽| 蜜臀中文字幕| 欧美一级A片在线看视频性色| 欧美亚洲丝袜人妻制服99| AV男人天堂网| 精品人妻一区二区视频| 97久久超碰国产网站| 亚洲狠狠入| 伦理片秋霞免费影院| 婷婷精品国产一区二区三区日韩| 亚洲开心网| 一级黄色影片| 综合欧美色图| 亚洲色啪| 大香蕉2017| 久久久久久AⅤ无码免费肉站 | 中国特猛少妇色xxx| 欧美综合区| 九九九九免费视频| 极品美女福利在线观看| 欧美少妇性乱| 亚洲中文一区二区三区| 亚洲欧美国产中文字幕| 日本孕妇一区二区视频操逼免费看 | 神马久久久久| 久久极品一区二区| 偷拍精品一区二区三区| 色999人与兽| 国产高清自拍| 超碰公开久久网| 欧美手机在线综合| 超碰在线人妻| 人妻第一页| 麻豆蜜桃视频在线观看 | 91大胆欧美| 亚洲丝袜诱惑| 一区中文字幕二区日韩| 日本乱人伦片中文三区| 熟女中出视频| 久久人人爽爽人人爽人人片αV| 91啪9色| se吧提供国产乱老熟视频胖女人| 黑人中出21连凳花野真衣| 正在播放国产精品一区| 欧美日韩国产人人| 亚洲成人免费电影| 欧美在线播放| 蜜桃久久精品一区二区三区| 亚洲中文日韩欧美大香蕉视频| 大香蕉之青青草原| 亚洲九区| 亚洲日韩天堂| 亚洲性少妇| 一区三区啪啪| 人人操人人93| 福利在线视频一区二区| 国产激情视频在线观看| 欧美色欧美| 男人天堂2019亚洲| 欧 美 自 拍 偷 拍| 97欧美色综合| 一二三啪啪专区| 二男一女成人A片| 久久午夜神马| 啊啊啊啊啊操我视频| 十八禁的黄污污免费网站| 啊啊啊慢点| 泰国AV在线观看| 日日操丁香五月天| 久操免费观看| 60秒免费视频| 国产农村妇女一区二区| 午夜福利视频在线一区| 国产99999| 亚洲天堂日本| 日韩AV电影网站| 强奸乱伦中文字幕AV| 97欧美日韩综合| 青青草伊人久久| 翔田千里av一区二区三区| 日语五十路和六十路亚洲国产精品 | 久区视频| 久草精品国产蜜臀| 婷婷五月天成人网| 三级色综合| 放黄片放3级黄片没穿衣服| 91精品免费| 男人的天堂激情| 欧美一级A片在线看视频性色| 翔田千里Av在线| 激情一区二区| 精品超碰色| 亚热日本熟女| 天天综合欧美综合| 激情第四色| 91超级碰| 91精品人妻电影| 91黑丝在线| 欧美在线天堂| 91精品操美女| 久久精品91| 亚洲少妇在线影音| 亚洲 图片 欧美 色图| 色99在线| 五月丁香六月激情综合| 国产精品岛国片在线观看| 在线欧美69V免费观看视频| 碰碰97| 91性色| 久久系列| 91中文字幕| 2017天天插| 欧美激情专区| 日本在线伊人啪啪| 欧美人妻制服| 青青草大香蕉视频| 天天久久久久久| 中出20p| 青青久操| 男人的天堂在线| 精品久久久久久久久久久久| 久久一二三四不卡| 中文字幕97色| 亚洲drav色图| 91N综合网在线| 日本高清一本二本免费不卡| 操91| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚州综合色| 亚洲天天操| 日本孕妇一区二区视频操逼免费看| 国产97在线视频| 黄色免费网| 黄片qw| 乱欲一区二区| 女人被添高潮免费视频| 国产玖玖| 嗯嗯啊啊啊好舒服| 熟女高潮合集-永久久久-成人AV| 超碰天天操| 欧美BT 亚洲色图| 国产精品一区二区三区在线| 91视频在线观看18| 亚洲熟伦熟妇AV无码春色| 日本成人A片免费看| 精品成人动漫一区二区| 人妻人人做人人澡人人爽欧美一区| 91人妻素女| 亚洲色图尤物视频| 国模不卡| 国产日比| 97激情97激情| 97爱爱爱综合| 东京热大香焦| 天天搞欧美| 色姑娘综合网| 97精品一区二区三区免费| 大香蕉黄色一级片免费看| 亚洲午夜福利在线影院| 日韩精品.久久精品.AV女优.天美传媒| 欧美中文字幕男人天堂久久精品 | 97视频免费在线| 色婷婷一区二区三区久久午夜| 2017天天插| dy888午夜老子影视达达兔| 国产亚洲精品美女久久久久久2021| 大色综合网| 欧美大香蕉97| 尤物视频偷拍免费| 成人一道本免费视频| 久久男女激情视频网站| 色爱综合网欧美| 国产97/欧美| 亚洲av无码成电影在线播放| 深田咏美亚洲精品福利社| 在线综合 亚洲 欧美中文字幕| 国产人妻精品一区二区三区秋霞 | 蜜臀久久99精品久久久久久-DVD| 多毛小伙内射老太婆| 99热精品在线| 亚洲自拍青操视频| 欧美性爱精品七区| 夜色五月天| 中文字幕一区二区三区字幕| 色欲天天综合网| 91九九九逼| 男女无套 免费网站| 婷婷中文网| 超碰1997| 草草草视频在线免费看| 久久人妻丝袜一区二区三| 是还免费视频1727我| 亚洲国产成人精品999| 97色在线| 国产2.3.4区| 超碰在线观看av不卡| 久久九七| 日本操逼视频免费| 色嘟嘟人妻天堂网| 九九热在线精品视频| 国产二区三区免费视频| 伦理片秋霞免费影院| 亚洲熟女一区| 久久精品国产亚洲AV先锋| 精品性爱无码在线播放| 狠狠爱AV| 影音先锋视频在线| 啊啊啊不要嗯嗯在线观看| 成人五月天丁香激情综合| 99青草| 国产精品96| 欧美乱色| aV中亚| 少妇被玩视频二三区| 不卡在线观看视频| 美女超碰978| 9久久久久| 欧美熟爽综合| 2024年最新色情网站在线观看| 一区二区三区网站日日骚| 久久粉色| 蜜臀在线免费观看在线免费观看| 2017天天拍大香蕉| 成 人 影视 一区 二区 三区 四区| 欧美se综合| ss久久| 男女日B国产| 一区二区视频你懂的| 色伊人91| 欧洲亚洲人人爽爽视频| 蜜桃无码AV一区二区| 情色五月天就去干| 亚洲精品丝袜-不卡成人免费……| 色天天野狼综合社区| 亚洲老熟妇xxx| 97精品免费| 伊人丝袜美腿高跟在线观看高清| 老熟妇乱轮| 欧美猛交黑寡妇中文字幕| 黑人狂躁日本妞一区二区三区| 曰韩香蕉97| 最近的最新的中文字幕视频| 91国模| 欧美亚洲影视| 日韩AV一起草| 夜夜国自区| 嗯啊不要啊在线| 无码精品久久| 老鸭窝日丰县女人| 日夜啪电影| 亚洲欧洲无码bt精品合集| 超碰97久久观看| 狠狠色综合网| 97亚洲在线| 久久大陆| 久久超碰久| 樱花蜜乳av| 亚洲综合伊人无码久久| 成人女人国产| 99热这里只有精品地址| 99久久99久久免费精品蜜臀| 欧美色色人| 99热自拍| 永久免费发布性爱网| 中日韩久久久免费看| 久久久艹艹艹| 精品国产一级久久| 国产精品女aA片爽爽视频| 欧美日日人人天天| 熟女啪啪视频| 肉嘟嘟www视频在线观看高清| 天天草天天日| 亚洲黄色电影| 欧洲亚洲人妻无码中字久久三区四区| 综合色图区| 久久久久久69国产一区二区| 91丝袜美女视频| 大香蕉综合| 亚欧成人综合影院| 精品无人区麻豆乱码1区2区图片| 丁香六月婷婷久久综合| 丰满美女一级毛片在线播放| 亚洲精品久久久久久| 亚洲揄拍网| 东京热激情视频一二三区| 人人做人人妻人人夜视频| 69av一区二区三区| 亚洲国产97| 老鸭窝在线视频播放| 国产久久男人天堂| 91丝袜激情在线 | 日韩精品-原创伙伴| 天天操人人操骚逼网站| 黑丝91视频| 日本三级大片| 欧洲精品久久| 亚洲国产剧情少妇激情| 99青草| 殴美,日韩国产伦精品| 秋霞曰韩R级| 在线人人人人人人精品超| 91性高朝久久久久久久久| 国产精品视频内谢女人| 99热在线播放| 大香蕉淫人网| 亚洲欧美伦综合| 亚洲双插| 南澳成人一级片在线播放| 插入粉嫩少妇视频| 国产精品一二三| 亚洲 综合 第一页| 欧亚揄拍偷拍精品视频| 青青青青草av在线观看| 人妻精品4K4K4K4K4| 蜜臀av中字字幕网站| 欧美美女自慰一区二区三区| 成人影 天天操 亚洲| www.激情| 蜜臀AV一区二区三区激情综合| av优播| 人妻天天爽夜夜爽爽| 欧美亚洲丝袜美女电影| 一区二区久久天天干狠狠| 欧美亚洲丝袜美女电影| 欧美精品在线观看| 九九久久99| 91色图片| 久久 亚洲 日韩 人妻| 2026国产精品视频| 久久人人爽av亚洲精品天堂桃色| 啊啊啊啊啊舒服| 极品一区二区三区免费| 国产精选视频| 国产成人亚洲精品无码最新在线| 我要去看2个日本美女.com曹逼| 99久久精品无码一区二区毛片免费| 精品一区二区国产日韩| 丰满人妻一区二区三区性色| 亚一综合久久久久久久久久| 国产av美女被艹的乱叫| 99热精品在线观看| 蜜桃传媒一区二区亚洲| 久久久久国产| 五月天AV资源| 青娱乐福利99| 操逼视频免费日韩无码| 凹凸视频特色日本特黄| 中文字幕在线观看第二页| 国产性刺激| 亚洲不卡一| 小说区 图片区色 综合区| 黄色人人| 九九99精品视频在线观看| 天天综合日韩网| 久久↗↗| 国产主播福利| 久久久精品无码亚免费| 色香阁在线| 99只有精品| 好色综合| 一个人免费HD91视频| 欧美综合站| 人人妻天天做天天爽| 亚欧美综合网| 久操网线| 欧美少妇一区二区三区| 婷婷久草| 豆花视频操逼网址| 欧美性爱免费短视频| 丁香五月天社区| 91影视亚洲| 午夜久久久| 激情综合网激情综合| 九九九九九九九九九国产精品 | 日本欧美不卡| 欧美性夜| 色久桃花影院在线观看| 久久久噜噜噜久久久| 日本欧美m v精品网站加| 久久大黄片| 亚洲免费成人精品电影| 色妹子A V| 97久久超碰日韩精品| 国产AAAAAABBBBB| 人妻激情偷乱视频一区二区三区| 国产和美国毛片| 搡老熟女免费视频 | 国产真实野战在线视频| 国产精品91ai| 91久久青青草原精品| 3p国产色噜噜一区| 蜜臀久久久国产| 久久超碰com| 国产黄色av大片网站| 粉嫩小泬久久久一区二区| 久久超碰网| 亚洲国产第一页综合视频| www.acm成人黄色毛片| 日韩欧美操逼xxx| 中文字幕91综合| 亚洲日本天堂| 中文字幕精品日韩中文字幕| 一牛一区二区三区久久| 高潮精品| 好湿好紧好爽 视频| 四虎精品一区二区| 性爱av在线免费观看| 欧美综合传媒| www.99色| 午夜欧美J进J出白浆流出久久久| 国产高清成人免费视频| 国产少妇肉丝在线观看| 青草一区二区| 国产成人亚洲精品自产在线| 夜夜精品视频一区二区| 最新日韩黄片| 熟妇国产免费一区| 亚洲天堂中文字| 91欧美综合在线| 中文字幕精品一区欧美| 国产白丝在线| 激情综合网五月婷婷五月天| 久久大精品乱码视频人妻熟女| 欧美精品99久久久**| 欧美成人国产精品| 男女激情黄色网址| aV中文麻| 亚洲中文字幕噜噜噜久久久| 97超碰大| 蜜臀精品1区2区| 91在线精品一区二区三区| 欧美成人综合| 中国亚洲呦女专区| 四虎影视国产精品| 亚洲成人av色网| 亚洲无码精品AV久久久| 蜜奶av| av天堂天堂av日韩| 久久久无码精品人妻二区| av资源在线播放天堂| 后入式免费视频| 久草资源欧美在线视频| 亚洲AV成人无码一二三久久| 91视频综合在线| 人妻天堂综合网| 亚洲一区二区在线观看91| 91老熟女老女人国产老太| 日韩欧美福利视频看看| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | A V少妇特黄三级| 三级日本一区二区三区| 欧美在线色| 久热9| 人妻一区二区三区视频 | 在线看免费无码AV天堂的| 亚州综合色| 中文字幕精品一区二区精品| 97资源视频| 国产精品丝袜在线| 岛国小电影| 操逼逼无码| 天天做天天爱夜夜爽毛片试看| 亚熟hd视频在线| 亚洲精品日日夜夜52| 天天综合~91| 欧美韩国你懂得在线 | 日本有码久久| 精品人妻中文字幕4399| 92大香蕉| 青青久操| 国模一区二区三区| 91影库| 91色拍| 五十路熟女在线不卡观看一区二区| 丁香五月大香蕉| 91操人| 免费黄色片。| 1024精品在线| 欧美在线|亚洲| 国产高清不卡视频| 九九碰九九爱97超碰| 国产成人手机视频激情| 日韩一级欧美一级国产一级台湾 | 久久精视频美日韩在线视频| 人人摸人人叼| 国产1024在线播放| 亚洲欧美91√| 日韩内射视频| 日本精品一区三区| 五月天婷精品激情| 综合影院永久入口国产| 色妇综合网| 九九久精品| 欧美亚洲一区二区久久久婷精品大包诱| 91九色网| 天天干天天狼在线视频| 91av熟女人妻| av黄图片在线观看| 搡老女人老熟女91老熟女综合网| 成人精品欧洲亚洲| 欧美中字二区| 97久久精品国产| 日韩乱码av| 九九九九久久久| 五月激情小说| 第一高清av中文字幕| 艹比视频国产精品| 乱伦日本色图AⅤ| 911av网站免费观看| 大象AV在线| 国产无码精品无码| 操逼操逼操| 97久久国产| 妇女一区二区三区| 精品69网| 久操国产在线| 粉嫩av一区二区三区天美传媒 | 大香网站| 91成人久久| 久草免费在线一区二区| 琪琪精品免费一区二区三区 | 欧美狠狠操| 美国久久一二三四| 高清肉丝中文无码| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 情侣开房子拍 日韩无码 女的很漂亮| 五月婷婷色| 69人妻人人揉人人躁人人精品| 狠狠干综合|