欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

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

cantools 完整文檔導(dǎo)讀:CAN 總線數(shù)據(jù)庫解析、消息編解碼、CLI 工具與代碼規(guī)范實戰(zhàn)指南 嵌入式開發(fā)工具【免費下載鏈接】cantoolsCAN bus tools.項目地址https://gitcode.com/gh_mirrors/ca/cantools點擊查看免費下載本文以 cantools 官方文檔docs/index.rst內(nèi)嵌完整README.rst為骨架結(jié)合倉庫源碼展開系統(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)的完整技術(shù)棧。閱讀本文后你將能夠直接用 cantools 加載車載網(wǎng)絡(luò)數(shù)據(jù)庫、在腳本或candump管道中實時解碼 CAN 報文、可視化信號曲線、生成可落地的 C 代碼并理解其 API 設(shè)計與編碼規(guī)范。項目概覽cantools 能做什么cantools 是使用 Python 3 編寫的 CAN 總線工具集CAN BUS tools in Python 3.官方文檔將其核心能力總結(jié)為多格式數(shù)據(jù)庫解析支持DBC、KCD、SYM、ARXML 34 與 CDD 文件的讀取與寫入。CAN 消息編碼與解碼根據(jù)信號定義位序、縮放因子、偏移量、符號性將物理量編碼為字節(jié)串、或?qū)⒃甲止?jié)解碼為物理量。簡單與擴展的信號多路復(fù)用signal multiplexing支持一個多路復(fù)用信號按取值切換不同的信號子集。診斷 DID 編碼與解碼面向 UDS 等診斷服務(wù)的數(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 可視化信號隨時間的變化曲線。上述能力的模塊組織可從源碼結(jié)構(gòu)印證src/cantools/database/下是 CAN 與診斷數(shù)據(jù)庫的加載/序列化邏輯can/formats/含dbc/、kcd.py、sym.py、arxml/diagnostics/formats/cdd.py負責(zé) 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分別對應(yīng) C 代碼生成與節(jié)點測試。安裝項目使用標(biāo)準(zhǔn)pip方式安裝python3 -m pip install cantools注意默認(rèn)安裝不包含 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 字段對應(yīng)其構(gòu)造參數(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()直接調(diào)用數(shù)據(jù)庫級的encode_message()源碼見 database.py它同時接受 frame_idint或消息名str內(nèi)部走_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默認(rèn)對信號應(yīng)用縮放物理量 raw × factor offset設(shè)為False則不縮放。paddingFalse默認(rèn)未使用的位編碼為 0設(shè)為True則按unused_bit_pattern默認(rèn)0x00填充為 1。strictTrue嚴(yán)格模式會先調(diào)用assert_signals_encodable()校驗信號值是否在允許范圍內(nèi)、信號是否齊全否則拋出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默認(rèn)開啟的效果。decode_message()database.py關(guān)鍵參數(shù)decode_choicesTrue將縮放后的值映射為choices中的字符串設(shè)為False則返回數(shù)值。scalingTrue默認(rèn)縮放False返回原始 raw 值。allow_truncatedFalse數(shù)據(jù)不足時是否允許截斷解碼。decode_containersFalse容器幀container frame的解碼需顯式開啟否則拋出DecodeError因為容器幀返回的是(Message, SignalsDict)元組列表會破壞普通調(diào)用方的預(yù)期。更多綜合示例見倉庫 examples 目錄如 hello_world.py、dbc_io/main.py、motor_tester。核心 API 參考Functions and classesdocs/index.rst通過 Sphinx 的autofunction/autoclass/autodata指令把以下對象直接納入文檔索引構(gòu)成完整的公開 API 面頂層加載/轉(zhuǎn)儲函數(shù)cantools.database.load_file()打開并解析文件返回can.Database或diagnostics.Database。cantools.database.dump_file()將數(shù)據(jù)庫寫回文件。cantools.database.load_string()解析字符串內(nèi)容。cantools.database.load()解析文件對象file-like object讀取其.read()內(nèi)容。load_file 的格式與編碼推斷l(xiāng)oad_file()database/init.py在database_format與encoding均為None時按擴展名自動推斷格式、按格式推斷默認(rèn)編碼擴展名大小寫不敏感擴展名數(shù)據(jù)庫格式默認(rèn)編碼.arxmlarxmlutf-8.dbcdbccp1252.kcdkcdutf-8.symsymcp1252.cddcddutf-8其他/未知Noneutf-8dbc與sym默認(rèn)使用cp1252編碼是因為這兩種格式在歷史工具鏈中常含 Latin-1 字符源碼_resolve_database_format_and_encoding()中明確映射了這一點。其他重要參數(shù)frame_id_mask對消息 frame id 做掩碼后建索引用于復(fù)用同一 id 空間的場景。prune_choices默認(rèn)開啟把枚舉取值名中共有的、以_結(jié)尾的前綴去掉以縮短名稱需要原名時傳False。strictTrue信號重疊或超出消息長度時拋異常。sort_signals默認(rèn)sort_signals_by_start_bit按起始位排序傳None不排序也可傳自定義函數(shù)如lambda signals: list(sorted(signals, keylambda sig: sig.name))。cache_dir啟用磁盤緩存依賴diskcache緩存鍵包含文件路徑 修改時間 全部影響結(jié)果的參數(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 風(fēng)格行尾\r\n其他格式跟隨操作系統(tǒng)這與源碼中newline\r\n的顯式聲明一致。DBC 默認(rèn)按信號起始位降序排序輸出KCD 默認(rèn)不排序可通過sort_signalsNone關(guān)閉排序。若要讓 foo.dbc 與 bar.dbc 差異最小加載時傳sort_signalsNone, prune_choicesFalse。load_file(..., sort_signalsNone)后再dump_file()會繼承“不排序”的設(shè)定as_dbc_string()中若加載時未排序則默認(rèn)也傳None。CAN 數(shù)據(jù)庫對象Database / Message / Signal / Node / Bus / SignalGroupcantools.database.can.Database整個 CAN 網(wǎng)絡(luò)的容器。公開屬性/方法包括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()修改消息后重建查找表。構(gòu)造參數(shù)中的strict與sort_signals語義與load_*一致frame_id_mask默認(rèn)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()。構(gòu)造時對 frame id 有位數(shù)校驗標(biāo)準(zhǔn)幀超過 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)絡(luò)節(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指令導(dǎo)出。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ù)值表示與轉(zhuǎn)換cantools.database.namedsignalvalue.NamedSignalValue信號命名值如帶名稱的枚舉物理量其__repr__/__eq__使{Enable: Enabled}這樣的字典可直接比較與打印。cantools.database.conversion.BaseConversion縮放轉(zhuǎn)換基類Signal.scale/offset即其實現(xiàn)。診斷數(shù)據(jù)庫UDS DIDcantools.database.diagnostics.Database診斷數(shù)據(jù)庫。cantools.database.diagnostics.Did診斷標(biāo)識符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內(nèi)部編解碼器類型別名Message._codecs即該類型用于描述一條消息全部信號的解碼格式與多路復(fù)用結(jié)構(gòu)。命令行工具CLICLI 入口為python3 -m cantoolsmain.py 調(diào)用init.py 中的_main()。頂層參數(shù)有-d/--debug開啟 DEBUG 日志與--version。所有子命令定義在src/cantools/subparsers/目錄每個模塊提供add_subparser()向 argparse 注冊因此新子命令是自動發(fā)現(xiàn)、按文件加載的加載失敗不影響其他命令。可用子命令包括decode、plot、dump、list、generate_c_source、monitor、convert等。decode解碼 candump 輸出從標(biāo)準(zhǔn)輸入讀取 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等線型/樣式標(biāo)記。例如左側(cè)輪速與右側(cè)輪速分兩個子圖顯示$ cat candump-2021-01-04_180521.log | python3 -m cantools plot tests/files/dbc/abs.dbc *33.*fl:- *33.*fr:- - *33.*rl:- *33.*rr:-取值范圍差異大的信號可以在同一子圖內(nèi)使用不同縱軸用逗號分隔信號組配合--auto-color自動著色并用--ylabel分別標(biāo)注$ 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 預(yù)裝多種繪圖風(fēng)格可直接套用$ cat candump-2021-01-04_180521.log | cantools plot tests/files/dbc/abs.dbc --style seaborn遍歷所有可用風(fēng)格逐個預(yù)覽$ 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為準(zhǔn)。相關(guān)單測見 test_plot.py 與 test_plot_unittests.py。dump人類可讀轉(zhuǎn)儲以美觀的排版打印數(shù)據(jù)庫全部內(nèi)容包括位布局圖、信號樹與枚舉值$ 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 中對應(yīng)#define MOTORA ...與結(jié)構(gòu)體定義區(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.生成的完整內(nèi)容可對照 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對應(yīng)測試樣例覆蓋了位域*_bit_fields.*、浮點floating_point.*、多路復(fù)用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在播放與暫停運行與凍結(jié)之間切換。Reset將監(jiān)控器重置到初始狀態(tài)。實現(xiàn)見 subparsers/monitor.py相關(guān)單測見 test_monitor.py。convert數(shù)據(jù)庫格式互轉(zhuǎn)convert子命令把數(shù)據(jù)庫從一種格式轉(zhuǎn)換為另一種實現(xiàn)見 subparsers/convert.py對應(yīng)測試見 test_convert.py 與 test_conversion.py。DBC 互轉(zhuǎn)的正確性由tests/files/dbc/下的“原文件 *_dumped文件”配對驗證如 multiplex_2.dbc 與 multiplex_2_dumped.dbc。Coding style編碼規(guī)范文檔以“基于作者個人偏好”的方式定義了本包源碼的編碼風(fēng)格對貢獻者而言是必須遵守的規(guī)則語句if、while、return等前后要有空行除非位于其他語句或文件的開頭/結(jié)尾。文件級定義之間留兩個空行。運算符前后留空格關(guān)鍵字參數(shù)keyword arguments兩側(cè)不允許空格。每行只導(dǎo)入一個模塊/對象。注釋與 docstring 以大寫字母開頭、以句號結(jié)尾像句子一樣。docstring 之后留一個空行。單行最大 90 字符目標(biāo)是不超過 80 字符。函數(shù)參數(shù)要么全部寫在一行要么每行一個。類名用CamelCase不允許下劃線。函數(shù)名與變量名用小寫 下劃線分隔snake_case。規(guī)范的示例代碼數(shù)字標(biāo)注對應(yīng)上述規(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 接口在無硬件的情況下調(diào)試 CAN 應(yīng)用可在 Ubuntu 上創(chuàng)建虛擬 CAN 接口。官方文檔給出的完整三步設(shè)置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內(nèi)核模塊第二條創(chuàng)建名為vcan0的虛擬 CAN 設(shè)備第三條可選把 MTU 設(shè)為 72以支持 CAN-FD經(jīng)典 CAN 的 MTU 為 16CAN-FD 需要 72第四條把接口置為up狀態(tài)。設(shè)置完成后即可配合python-can的socketcan后端can.interface.Bus(vcan0, bustypesocketcan)以及candump/can send等工具進行收發(fā)測試。倉庫中decode、plot、monitor各子命令的文檔示例均基于此環(huán)境。貢獻指南Contributing文檔同時給出了向本倉庫提交貢獻的標(biāo)準(zhǔn)流程Fork 倉庫。安裝開發(fā)依賴使用tox可跳過此步python3 -m pip install -e .[dev]。實現(xiàn)新功能或修復(fù) 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(jié)作為docs/index.rst的完整導(dǎo)讀本文覆蓋了 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)用法與內(nèi)部機制。贊分享嵌入式開發(fā)工具【免費下載鏈接】cantoolsCAN bus tools.項目地址https://gitcode.com/gh_mirrors/ca/cantools點擊查看免費下載相關(guān)推薦CAN總線數(shù)據(jù)處理實戰(zhàn)從環(huán)境搭建到消息編解碼全指南CAN總線數(shù)據(jù)處理實戰(zhàn)從環(huán)境搭建到消息編解碼全指南 如何高效解析汽車CAN總線數(shù)據(jù) 在汽車電子和工業(yè)控制領(lǐng)域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)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香久久网| 久久影视婷婷五月| 99精品福利视频| 日本久久极品| 色五月亚洲| 丁香五月亚洲天堂| 久久只有精品| 在线中文字幕av| 婷婷综合| 色吧五月婷婷| 日韩色色视频| 婷婷丁香激情综合色情| 色五月婷婷少妇人妻| 操大屄五月天视频| 丁香五月婷婷基地| 91人人操人人| 丁香久久| 日日舔夜夜操| 婷婷5月天av| 综合 蜜月 婷婷| 婷婷成人视频| 91热久久| 99在线视频播放| 五月婷婷综合激情| 婷婷第六色| 成片免费观看大全| 伊人久久丁香狠狠婷婷综合香蕉| 丁香五月天堂网| 夜夜做夜夜愛| 色婷婷裸体色性在线| 亚洲综人色综网| 日韩精品一区二区刘| 色99在线| 超碰人妻在线| 欧洲亚洲精品| 五月婷综合| 免费看成人747474九号视频在线观看| 夜夜谢天天干| 99热精品免费| 9l视频自拍9l视频自拍九色学生| 五月丁香免费看| 激情99。| 欧美婷婷五月激情| 亚洲五月天狠狠| 亚洲五月婷婷| 精a品a视a频| 中文精品在| 男人的天堂在线婷婷| 被男人添B超爽视频| 日日夜夜婷婷| 无码AV免费精品一区二区三区| 激情综合色网| 婷婷狠狠干| 97人人操| 久久九九色| 婷婷久久综| 免费AV在线| 五月婷婷啪| 婷婷五月情天| 色99在线观看| 天天干天天日天天操| 五月伊人网| 殴美97色| 99热插| 中文字幕成人日韩| 亚洲网站999| 99热热热国产超碰| 五月婷婷性爱| 久久婷婷六月综合资源| 欧美va欧美va差| 99热这里只有精品 搜| 亚洲色婷婷99一9|| 婷婷五月激情视频在线| 婷婷月综合| www.91色| 欧美十二区| 国产高清av黄色看片| 免费看欧美成人A片无码| 五月激情精品视频| 天天婷婷色六月| 996日日爱| 天天日天天干天天操| 丁香六月啪啪啪| 欧美婷婷五月丁香| av操B网站| 欧美激情久| 综合99视频| 99自拍视频在线| aaa丁香五月天| 5月丁香婷婷| 婷婷丁香五月天小说| 夜夜爽天天日| 激情六月综合| 婷婷国产五月天17c| 久Se视频在线观看| 天天拍夜夜爽| 天天色视频| 91妻人人爽人人看片| 最新国产AV| 人妻激情视频| 五月深爱婷婷| 99久视频| 超碰高清在线| 五月婷婷激情综合视频| 天天天干夜夜夜操| 色激情五月| 九九家庭影院| 久久久www| 久久桃花网色婷婷| 99久久久国产大片区| 99热这里只有精品无码| 午夜天堂一区人妻| 热九九在线| 99亚洲日韩| 亚洲中文字幕av| 婷婷五月丁香图片人人操| 免费人人操| 久久久久久久综合狠狠综合| 五月婷六月| 伊人综合网站| 一起草无码视频| 日日夜夜爽| 色色色999| 五月天激情啪啪| 熟女激情网| 色五月情| 亚洲激情无码久久| 婷婷五月花| 综合九色| 十月色综合| 日韩啪啪网| 大香线蕉伊人| www.9797国产| 色爱99| 思思re视频在线| 97碰超级人人看| 婷婷激情综合色五月久久91| 九九热免费| 欧美成人精品A片免费一区99| 五月天婷婷伊人| 激情宗合网激情五月天| 影音先锋男人女人| 天天擼久久擼在线| 九九Y精品热播| 五月丁香六月婷婷中文版| 欧美 日韩 成人在线| 亚洲不卡123| 激情综合4月| 91大神操美女| 91综合国免费久入| 五月丁香六月在线| 成人羞羞啪啪 全 视频| 婷婷五月影院| 狠狠干在线视频| 五月天激情图片| 五月天婷婷免费| 色五月 五月婷婷| 婷婷综合另类| 国产成人99久久亚洲综合精品| 亚洲第一av| 99热这里只要精品免费| 熟女啪啪视频| 思思热国产视频| 色婷婷a v| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 色婷婷五月天在线| 五月天久久激情| 五月婷六月丁香| 思思re最新视频| www.99热最新视频8| 狠狠综合网| ay2区| 涩五月婷婷| 天天爽天天弄| 久久99jiu9| 人人摸人人干| www.sd-xiangsu.cpm| 激情色播| 婷婷五月色網站| 超碰免费电影| 九九亚洲| 久久丁香五月天| 激情亚洲婷婷| 开心激情站| 激情婷婷五月色| 9久9久9久女女女九九九一九| 可以免费看AV网站| 另类激情五月天。| 97luluse| 色婷婷小说| 天天做天天爰天天爽天天无遮挡| 亚洲 欧洲 国产 伦综合| 五月天婷婷激情| 天天搡日日搡aaaaⅩ| 欧美天天草人人草| 日韩中出视频| 级情九色| 亚洲五月天婷婷在线| 九九九九九九毛片| 五月婷视频| 色婷婷婷婷五月天| 情五月亚洲婷婷| 在线视频九色97| 天天爱天天秀天天做| 婷婷伊人綜合中文字幕| 婷婷五月丁香性爱| 激情婷婷五月天| 天天色天天色天天色天天色天天色| 伊人久热91| 日韩综合天堂| 五月开心色| 久久久人妻不卡| 色综合77777| 狠狠色大香蕉| 久久五月激情| 激情五月天之六月婷婷| 亲子乱AV一区二区三区下载| 亚洲无码AV片| 九九色婷婷五月天| 99成人| 亚洲欧美丁香五月天亚洲欧美| 婷婷五月激情的图片| 丁香婷婷影院| 香蕉AV777XXX色综合一区| 国产婷婷久久| 色欲五月丁香| 欧美日本日韩| 综合激情婷婷| 婷色五月天| 舔色婷婷| 思思re99视频在线观看| 婷婷五月天激情亚洲小说| 五月丁香黄色| 99热热热国产超碰| 五月天婷婷色色首页| 97人妻碰碰中文无码久热丝袜| 天天日天天爽| 狠狠干综合| 五月婷婷欲色| 精品成人无码A片观看香草视频| 天天曰夜夜爽| 激情 五月 婷婷 丁香| 激情六月天婷婷| 日日夜夜九九| WWW.五月com| 黑人巨粗进入警花疼哭A片| 色99热| xxx.色婷婷| 激情综合网,婷婷五月天| 成人五月天婷婷| 国产97色在线| 在线中文字幕视频| 99 热国产在| 婷婷五月丁香花综合| 嫩草哈哈操| 2050人人操免费工开爱| 婷婷丁香综合在线| 久久久久久久久久婷婷| 碰97久久| 婷婷五月深情丁香深爱日韩| 甈吧vv| 五月婷婷久久爱| 99热99思午夜精品| 99热这里有精品24| 五月草影视| 99精品在线下载| 亚洲第精品| 激情五月综合ì香亚洲| 久久机热思思热| 婷婷免费无视频| 中文字幕 久久9999| 色五月色五天色情网| 亚洲综合色丁香婷婷六月| 久草五月天电影网| 色狠狠色综合| 久久精品4| 五月婷婷六月丁香综合| 五月婷在线| 99激情视频| 五月天成人综合| 能看的AV| 99干在线视频| 另类视频综合| 操操操操操电影网| 91在线日| 国产婷婷婷| 97婷婷五月丁香| 99视频在线看| 色情五月天小说| 婷婷色播六月无码| 久久久无码精品成人A片小说| 久久多色| 久久一级AV| 五月婷婷先锋| 99久热| 六月丁香基地| 停婷丁五月在线| www.五月婷婷久久.com| 日本强伦片中文字幕免费看| 国内久久亭亭| 东北婷婷五月天| 五月情色天| 91无码高清| 青草五月天| 成人做爰高潮A片免费视频| 五月色情精品| 五月色婷婷综合色| 亚洲一区二区无遮挡A片| 五月丁香网站| 久久久久99精品成人网站| 激情婷婷丁香五月天小说| 99热精地址| 91人妻人人做人碰人人爽九色| 丁香五月成人| 色综合久久44| 婷婷射丁香| 涩五月婷婷| 九九色情网五月天| 思思色综合网站| 免费在线观看欧美激情xx小视频| 99ER热精品视频| 欧美成人日韩| 亚洲婷婷激情888精品久| 九色无码| www.91AV.com| 91丨九色丨43老版熟女| 超碰91人人操| 久久婷婷在线| 狠狠操狠狠| www.com.色色| 色99网站| 天天射色五月天| 思思热思在线精品视频| 五月激情啪啪| av国产精品偷| 色综合九九色综合88| 中文成人在线| 蜜乳.comcom| 亚洲成人在线免费| 一区视频网站| 激情五月婷婷| 丁香婷婷婷五月综合色情| 五月丁香六月婷婷综合免| 色五月婷婷在线| 665566 无码| 亚洲VA欧美VA| 另类小说色婷婷| 色天堂A| 色五月婷婷色五月| 99色在线免费观看视频| 玖玖热视频| 色色色色丁香| 激情六月一二| 偷偷操九九| www夜夜操wwwcon| 日本天天色| 亭亭五月丁香综合欧美| 六月激情综合| 狠狠狠狠免费| 日本久久色| 青草视频在线蜜臀| 变态另类色图 | 99这里只有精品| 91熟妇大香蕉| 久久综合五月天| 丁香六月激情毛片| 九九精品99| 欧美 日韩 成人在线| 任你爽精品免费视频6| 亚卅毛片| 五月天狠狠| 五月天五月色婷婷综合| 99精品国产乱码久久久人妻| 99亚洲大片精品永久在线观看| 国产AV国片偷人妻麻豆| 人人视频色| a毛片二逼wwwwwwwwww| 丁香六月在线| 97人人干人人操| 久久综合人妻| 人妻操操色| 99热人人操人人操| 欧美日朝成人| 九九九九九九九热| 99热精品网| 亚洲人人操| 九月影院義母在线播放| 大地资源色婷婷视频在线| 五月婷婷免费视频| 丁香婷婷91在线观看视频| 91九色视频| 丁香五月婷婷五月天在线| 亚洲精品V天堂中文字幕| 丁香5月婷婷| 9久久AV| www夜夜操| 337p午夜影院| 丁香五月激情网| 人人操AV| 五月综合视频| 五月婷婷六月丁香激情综合网| 色婷婷很很丝袜| 色久丁香五| 丁香五月大香蕉| 91蝌蚪窝视频在线| 很很干天天干| 99视频在线精品| 99,色| 丁香五月花影院| 五月婷婷av| 婷婷五月天最新综合你懂的 | 99久久户外勾搭| 色小说五月天| 在线五月色播| 综合啪啪| 久久九⑨| 99国产99| 久久小说网| 五月久久婷婷天堂视频| 五月综合色播播丁香婷婷| 丁香婷婷黄网站| 狠狠爱五月婷婷综合六月| 日韩一级片| 五月激情网站| Va另类视频| 99啪啪视频| 婷婷五月欧美| 五月久久丁香| 欧美日韩精品人妻狠狠躁免费视频| 日日干日日| 久久99热精品a片在线观看| 美女黄频aⅴ视频| 操逼电影免费看| 九九热精品| 99啪啪视频| 亚洲最大视频| 国产婷婷五月在线视频| 色 五月婷婷基地| 丁香婷婷六月激情文学| 五月婷婷三级| 4399亚洲视频| 97色欧美| 日韩黄色电影| 日本精品九九九| www.久久99精品| 国外亚洲成AV人片在线观看| 九九热在线视频| 五月丁香激情综合| www.狠狠| 国产毛片精品一区二区色欲黄A片| 99激情| 天天日夜夜拍| 五月亭亭网成人在线视频| 色欲资源网| 亚洲AAAA网| 美女100%露全身无挡网站| 大香蕉婷婷| 婷婷九月丁香| 丁香 婷婷 激情 综合 五月| 色色色精品无码区| 婷婷六月丁香1| 五月天激情在线视频| 性爱动图国产麻豆一区二区三区| 色六月天天激情综合网| 99在线观看免费精品视频| 性爱先锋AV| 丁香五月婷婷深爱综合激情| 色五月婷婷天天干| 五月丁香婷婷六月天| 丁香伊人激情| 五月天久久丁香| 婷婷瑟瑟五月天| 日日爱激情| 综合网亚洲| 日亚二欧美| 五月婷婷丁香啪啪| 天天色天天日| 亚洲成人AV电影在线| 国产婷婷婷| a免费在线| 久久五月天免费网站| 激情五月综合久久| 五月丁香久人妻中文| 99久久99热| 五月婷婷免费| 六月丁香啪啪啪| 99热播放| 夫妇交换刺激做爰| 岛国资源站| 激情伊人| 五月天久久www| 欧洲第一久色| 大香蕉久| 亚洲九九99精品视频在线播放| 九 九九九AV| 激情綜合網址| 婷婷五月天,影院| 狠色色狠网| 9月色婷婷| 日本久久天堂| www.玖玖婷婷在线| 激情五月图| 激情网婷婷婷| 色人久久| 人人操人人添人人摸97| 丁香五月在线人妻| 五月丁香六月婷婷综合网站| 99免费热视频在线| 免费日本aⅴ中文字幕| 久久性刺激| 五月人人丁香婷婷五月人人丁香| 婷五月天| 超碰成人黄色网| 亚洲99在线| 国产Va视频| 久久人妻乱| 色区久久| 91久久综合亚洲噜噜成人在线| 日本的α片xxxwww| 国产婷婷综合| 亚洲丁香婷婷| 国产欧美婷婷五月| 久久五月综合| 一区二区aV电影免费看| 亚洲在线激情婷婷五月| 色五月婷婷综合| 91黄色五月天视频| 日本在线免费中文com.| 这里只有精品视频99| 超碰A V在线| 26uuu国产色| 久青操| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 丁香婷婷五月天网站| 五月丁香六月婷婷操操操| 色玖玖| 热99免费在线| 婷婷五月天综合久久| 北京熟妇搡BBBB搡BBBB| 久久久18| 色六月婷婷| 五月天久草| 色婷五月| 9久热精品在线视频| 91操操| 大香蕉婷婷久久| 久久综合香蕉国产国产蜜臀AV| 五月婷伊人| 99精品色| 久久久久久xxxxx| 五月丁香91| 99草视频在线观看| 狠狠摸狠狠摸| 九月婷婷综合网| 日本久久爱| 久操香蕉| 999影院成人在线影院| 亚洲蜜桃精久久久久久久久久久久| 中文字幕在线免费观看视频| 99久久婷婷国产综合| 色五月97| 日韩99视频| 狠狠色丁香久久婷婷综合五月| 激情综合激情五月一起草| 九色在线五月婷婷网址| 激情婷婷五月天日本系列| 操操操97| 色婷婷久久综合丁香五月| 五月天久久色| 五月好婷婷| 91大操| 天天干com| 九九热视频精品999| 欧美综合五月丁香六月婷| 成人草榴视频| 无码色色| 91精产一区三区免费观看| 色色国产| 国产免费一区二区在线A片视频| 丁香五月自拍| 9999热精品在线免费播放| 亚洲精品又粗又大又爽A片| www.五月天性.com| 日本久碰| 成人短视频在线免费观看| 国产av影片| 在线另类| 婷婷播播五月天| 成人国产网| 激情五月丁香亭亭| 婷婷色激情网| 天天日色情| va婷婷| www.射伊蕉婷婷| 久久丁香五月| 99热99re6国产在线播放| 97色视频网| 五月丁香六月婷综合成人综合| 日本色噜| 一区中文字幕电影| 婷婷色五月天在线| 伊人婷婷五月天av| 久久超级碰碰| 国产成人AV| 色五月天综合网| 九色婷婷| 色9999综合久久| 99热99极品观看| 五月婷婷激情四季| 婷婷五月激情五月丁香五月| 亚洲综合激情五月久久| 天堂AV在线看| 婷婷五月在线免费| 98热精品| 婷婷性爱| 99只有精品| 久热这里这里有精品| 狠狠爱婷婷五月天| 亚洲超碰在线| 超碰人人干| 色色综合日韩| 九九99九九99| 超碰熟女农村在线69| 99热这里都是精品| 999影院成人在线影院| 超碰在线国产| 人人叉久| 99精品丁香五月| 色婷婷久久综合| 九色色| 五月激情五月丁香| 亚洲无码yw| 九九色婷| 麻豆AV一区二区三区| 婷色五月天| 婷婷五月天人妻| 亚洲色五月| 欧美久人人| 9国产在线视频| 五月天激情国产综合婷婷| 久色婷婷200| 另类国产综合| 亚洲色色在线| 成人色五月天婷婷| 久久人操| 中文字幕AV网址| 五月婷婷亚洲色图| 久热伊人91| 少妇AB又爽又紧无码网站| 伊人干综合| 在线视频激情网站| 婷婷六月激情| 婷婷五月丁香五月综合网| 99精品无码网站| 欧日韩AV| 国产日批视频| 99热这里有精品6| 97在线精品| 天天射天天干天插色综合| 五月丁香婷婷激情四射迷人| 艹色18p| 国产jd1024基地手机看国产| av一级棒av| 夫妇交换刺激做爰| 97精品人人A片免费看| 五月婷婷综合视频| 久久婷婷热| 99久久6| 成人短视频在线观看| 欧洲亚洲免费视频9| 97九色视频| 婷婷射图| 九九热99热| 亚洲综合五月| 丁香六月婷| 亚洲第一成人无码A片| 大地资源色婷婷视频在线| 中文字幕日产A片在线看| 香蕉AV福利精品导航| 国产毛多水多女人A片| 亚洲熟妇AV乱码在线观看| 国产成人精品亚洲线观看| 国产欧美精品AAAAAA片| 欧美日韩成人综合9| 99情色五月天| 九九亚洲无码| 丁香婷婷六月激情文学| 多精窝99在线视频| 丁香六月激情蜜桃| 五月婷婷片| 狠狠99| 色色婷| 五月天激情小说网| 国产精女同一区二区三区久 | 婷婷色五月激情强奸四射| 五月丁香大相交| 99色区| 99福利视频| 日日天天干| 大香蕉九操| 国产成人精品亚洲线观看| 久操乱| 久久视频婷婷| 久久这里面只有精品视频| 婷婷日日天天| 96精品久久久久久久久| 日本色色色| 五月天激情亚洲| 99热在线中文字幕| 五月花婷婷最新| 久久a热| 五月丁香六月激情在线| 99网址在线观看| 欧美久久网| 思思视频这里是精品| 婷婷色欧美激情| 97干欧美| 天天色2017| 婷婷黄色| 丁香五月六月婷婷殴美综合| 99热日本| 色欲色香综合网站| www.激情五月天.com| 99久久6| 亚洲高清在线| 亚洲超级碰| 丁香婷婷五月天色播| www.色婷婷| 国产精品久久久爽爽爽麻豆色哟哟 | 超碰婷婷色| 久久久.COM| 色婷婷五月综合网| 天天操天天操天天操天天操天天操| 久久免费高| 久久人妻久久久久| 狠狠穞A片一區二區三區| 人人操av| 久9热| 涩综合婷婷| 欧美午夜乱妇午夜福利| 亚洲精品视频在线播放| 五月婷婷官网色| 国产黄大片在线观看画质优化 | 五月婷人妻| 久久婷婷五月综合| 五月婷婷九九热| 人人人操97| 五月丁香综合| 色丁香五月天射婷婷爱婷婷| 成人五月天丁香婷| 五月天婷婷丁香人人操91| 五月视频日本免费观看| 欧美黄色AA片哗啦啦啦| 天天日夜夜欢| 99只有精品| 东京热人妻一区二区三区在线| 色婷婷伦理| 激情五月综合| 五月丁香六月色婷| 久久九九网| 91热网址| 热99这就是精品视频| 狠狠爱成人综合网| 色婷婷六月开心中文字| 99精品偷自拍| 精品综合久久久久久五月天| 五月丁香综合啪啪| 欧美A级网站| 日本啪啪天堂| 7超碰自拍| aa久久| 国产成人AV在线| 五月丁香性爱| 色五月色五天色情网| 欧美日本国产欧美日本韩国99| 狠狠色综合网站久久久久| www.五月瑟| 色9999综合久久| 色综合色综合网| 日日操夜夜操中国无码| 天天狠狠干| 久久久久久久久久久久久久久久久精典| 爱婷婷久久视频| 五月婷护士| 亚美欧色影院| 色五月婷婷激情基地| 在线只有精品| 色婷婷av在线| 深爱激情综合网| 六月99天天婷婷激情综合| 婷婷五月天成人| 加勒比色色| 久爱综合| 国产va视频| 97碰碰视频在线观看免费| 91日本在线观看| site:hcxsz888.com| 五月丁香色婷婷| 色高清无码视频| 色色六月| 天天操加勒比| 五月天快乐开心激情网| 五月停性愛| 婷婷另类小说| 99 热国产在| 无码少妇高潮喷水A片免费| 天天爽天天草| 久久天堂网| 色播五月| 婷婷五月花| 天天日天天干天天操| 激情www.98com| 久草婷妨| 婷婷亚洲综合| 亚洲综合色网站| 99欧美精品99日本精品| 99视频精品在线| 这里只有精品免费在线视频| 国产做爰视频免费播放| 开心五月婷婷婷美女| 丁香五月婷婷黑人妻黄色电影院| 欧美激情综合色综合啪啪五月| 色综合久久99色| 六月丁香婷婷在线波多 | 另类少妇人与禽zOZZ0性伦| 国精产品一区二区三区| 六月激情丁香一道本7777| 久久九九色| 国产片色| 久久婷婷成人| 色情终和网| 激情綜合網址| 久久婷婷五月激情网站| 日本视频欧美观看免费| 最近中文字幕大全免费版在线| 五月停停丁香| 五月婷婷啪啪| 欧美日本国产| 人妻操逼视频| 综合伊人狠狠| 成人精品一区二区三区四区五区| 婷婷五月天渟渟| 五月婷丁香| 久久婷婷五月天综合| 另类专区在线观看| 五月婷婷亚洲综合在线 | 99免费热在线精品| 六月丁香婷婷大香蕉| 色五月丁香五月| 六月婷婷中文字幕| 超碰精品手机在线| 五月丁香亭亭操逼| 99ri国产精品| 人妻丰满精品一区二区A片| 六月婷婷啪啪| 色欲资源网| site:wpjngj.com| 久久婷婷草| 五月天色裸体视频| 少妇激情五月婷婷| 色吧婷婷| 日韩无码91| 国产午夜伦鲁鲁| WWW.婷婷| 啪啪色区| 天天插天天插天天插天天插| 国产 亚洲 在线| 99热在线看片| 亚洲成人av在线观看| 婷婷五月天基地| 五月婷av| 日本色婷婷| 天天激情| 久久机只有这里精品| 色9色| 成人丁香五月| A片一曲| 日本久久性| 中文字幕婷婷在线| WWW、日本色丁香、co m| 免费无码毛片一区二区A片| 亚洲精品视频在线播放| 中文字幕在线不卡| 色色丁香婷婷综合| 欧美日韩成人免费在线| 五月丁香六月婷婷姐| 五月伊人婷婷| 天天爱天天做天天爽| 色色色色色色色综合| 97香蕉碰碰人妻国产欧美| 色婷婷激情| 97人妻碰碰碰久久香蕉| 99日在线观看视频| 草榴视频网| 欧美啪啪五月天| 色99婷婷五月天| www.一起草av| 五月丁香婷婷成人版| 丁香婷婷超碰 | 丁香婷婷视频一区二区| 天天日夜夜操五月| 中文字幕色色| 很很干天天干| 天天日 天天草| 久re热视频| 五月激情综合网| 久久久性爱视频| 99A级片| 99热手机在线精品| 99热这里只有精品99| 国产av天堂| 淫五月停停| 丰滿爆乳一区二区三区| 色婷婷亚洲综合av| 大香蕉七区| 爱久综合| 激情5月婷婷狠狠干| 色五月 激情婷婷 综合五月天| 狠狠干在线视频| 亚洲激情区| 国产色色网站网址| 亚洲射激情| 婷婷开心六月| 久久久久久久97| 天天插综合| 国产性av| 五月开心久久| 久碰视频| 成人电影丁香六月天| 色婷婷亚洲五月天| 婷婷免费视频| 欧美日韩精品人妻狠狠躁免费视频 | 思思re视频在线| 激情六月综合| 1024操逼视频| 超碰99在线| 国产欧美日韩综合精品一区二区| 99五丁香月| 久久婷婷五月综合精品蜜芽| 天天操天天日天天爱| 狠狠色无码| 久久婷婷五月天激情四射| 色五月婷婷丁香五月| 中文字幕乱码亚洲精品一区| 婷婷干六月综合旧址| 九九热99视频| 操丝袜视频影院导航| www五月| 饮料下药迷倒漂亮女同事强干| 激情婷婷五月天| 51精品国自产在线| 2015超碰| 开心五月婷婷激情网| 色99在线视频| 99色在线| 影音先锋91在线资源站| 五月婷九月| 五月天综合久久| 激情综合网,婷婷五月天| 天天肏高清在线| www久视频com| 成人婷99最新| www,26uuu,c0m,色情| 丁香桃色网| 色色综合网站| 琪琪色五月天| 五月激情丁香| 五月丁香综合激情| 操逼六区| 蜜臀嫩草| 97色在线| 婷婷六月丁综合| 干亚洲天堂| 亚洲中文字幕AV| 色色色丁香| 日韩av干| 久久婷婷五月天| 免费成片在线观看| 色情激情五月| 99热这里精品| 亚洲成人av在线播放| 久99热| 亚洲综合五月天| 欧美精品狠狠色丁香婷婷| 99视频色在线观看| 日本3级片一区2区| 婷婷国产五月天17c| 678五月丁香亚洲综合| 五月丁香婷婷色色| www.久久久久久久久久久| 五月天色在线| 国产人妻人伦精品一区二区| 五月天啪啪视频| 人人摸人人澡人人| 丁香五月婷婷婷桃花影院| 六月色五月天天婷婷| 婷婷五月影院| 婷婷五月丁香综合| 免费亚洲婷婷中文字幕| 97超碰在线观看免费| 五月色俺婷婷| 国产人妻777人伦精品HD| 丁香五月婷婷亚洲色图| 婷婷天堂综合| 超碰97干| 精品皮股午夜AV| 少妇真实被内射视频三四区| 欧亚色色| 五月丁香六月婷婷网| 在线成人网站| 欧洲不卡视频| 激情人妻综合| 日本久久人| 97日在线视频| 五月天激情综合| 欧美激情久| www.9797国产| 玖玖色资源| 超碰在线免费9| 黄色高清无码| 欧美婷婷精品激情| 欧美69色| www.99情趣网| 九热视频在线精品15| 2020日日干| 亚洲色激情| 99热6精品| 91AV视频| 久草大| 丁香激情综合| 久久在线人妻| 狠狠色丁香久久综合婷婷亚洲成人福利| 色久综合天天做视频| 九月停停| 超碰高清在线| 丁香五月婷婷亚洲综合精品| 激情文学久久| 亚洲激情淫网| 99热 精品在线| 久色国产| 97五月久久丁香婷婷| 色久激情在线| 丁香六月狠狠干| 欧美色五月| 日韩六十路91性交电影| 亚洲性爱AV| 久久伊人婷婷| 色七色九九| 啪啪操网| 成片免费观看视频大全| 97亚洲色 torrent magnet| 欧美成人AAA片一区国产精品| 日日日日操| 大香蕉狠狠爱主页| 五月丁香综合啪啪| 特级片神马电影| 久热超碰91| 国产AV一区二区三区日韩| 五月婷六月| 91久久1118| 婷婷在线中文字幕| 五月丁香啪啪综合| 五月婷婷丁香伦理网| 色综合久久88| 婷婷五月成人| 天天操天天曰| 色狠狠五月天| 婷婷综合干| xx久久| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 中文字幕日韩成人| 五月婷婷天| 99综合免费视频| 日良久久| 久久婷婷综合五月天| 久久精品亚洲热| 嫩模aV在线| 日韩成人不卡| 五月丁香成人网| 五月天停停基地| 99热精品观看| 天天干天天av天天射| 久操人妻| 国语精品探花| 亚洲亚洲激情| 欧美亚洲成人在线| 嫩草AV久久伊人妇女超级A| 久久丝袜婷婷| AV国产有码| 啪啪色区| 成人AV片播放| 天天综合网站| 五月天色视频| 激情丁香淫荡婷婷| 91熟妇大香蕉| 99热99极品观看| 欧美激情综合色丁香婷婷五月天| 六月久久婷婷| 五月天婷a在线| 婷婷综合久久| 中文字幕丰满人妻无码专区| 五月四色婷婷| 婷婷色婷婷亚洲成人| 激情五月天的婷婷| www.com久久久久久久久久久久久久久久久| 久久久久亚洲AV无码网影音先锋| 人人噜天天上| 丁香花五月天| 色婷婷XXXXX| 激情丁香社区| 综合另类激情| 97碰碰碰免费公开在线视频| 日本五月婷| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 国产色色网址网站| 嫩草视频在线观看| 色婷婷免费视频| 九九人人看| 亚州美女| 精品久久99| 日本va欧美va国产激情| 欧美在线视频免费播放| 曰日爽日日操| 婷婷瑟瑟五月天| 国产在线另类五月婷婷| 性 色 婷婷| 久热2025无码| 影音先锋按摩| 99色综合网| 久色网| 无码九九| 婷婷五月天堂网| 婷婷激情综合| 99久久综合| 91日本在线| AV在线大香蕉| 婷婷香蕉| 91九九| 亚洲av日韩无码| 99操无码视频观看| 麻豆忘忧草午夜| 最新久久99视频网站| www.亚洲激情.com| 五月丁香趴趴| 国产精品色婷婷久久久精品| 婷婷狠狠综合网入口| WWW.五月com| 久久99精品久| 色色丁香五月| 色情婷| 激情五月综合网最新| 91丨九色丨大屁股| 婷婷亚洲日本| 天天艹夜夜爽| 五月婷婷无码专区| 激情综合五月婷婷六月丁香| 久久婷婷六月综合| 26uuu成人网| 9999久久久久| 99色婷婷视频| 国色天香成人网| www久久久久久久久久久| 欧美久久久中文字幕| 婷婷五月天首页激情| 99热丁香五月| 色之综合网| 深夜婷婷五月丁香| 丁香六月婷月91婷月| 天天 青草 丝袜制服 在线| WWW.婷婷| 五月色色色| 国产美女无遮挡裸体毛片A片| 亚洲黄网在线| 欧美久久网| 激情四射五月天偷偷看婷婷| 丁香五月综合福利视频导航| 丁香五月成人社区| 啪啪综合网| 人妻丰满精品一区二区A片| 日韩成人影片在线观看| 久久多色| 色情丁香五月天| 1024亚洲无码| www,色婷婷| 丁香六月婷婷高清| 激情丁香图片| 天天爽天天爽| WWW色色色COM| 婷婷五月丁香av网站| 五月色天五月色| 99在线免费视频| 九九综合九| 色婷婷亚洲| 婷婷综合成人五月天| 夜夜爱伊人| 婷婷视频在线| 中字幕视频在线永久在线观看免费| 久久这里只有精品视频15 | 桃色激情婷婷伊人网| 亚州操人在线视频| 日本九九九九| www.综合久久| 色婷婷久久综合| 色五月婷婷啪啪五月| 91久久久久久| 99在线爽| 丁香九月综合| 可以直接看的av| 欧美性生交A片免费看| 91九色 婷婷| 我爱va亚洲va52| 亚洲综合五月天婷婷丁香| 久久免费高| 久久9热| 欧洲激情五月天婷婷| 色欲午夜无码久久久久久张津瑜| 五月天婷婷激情春色小说| 丰满少妇猛烈A片免费看观看 | 国产VA亚洲VA96| www色婷婷| 美女91一起草| 午夜精品777| 91久久久久久久久| 日韩无码性爱| 丁香五月天激情AV| 五月婷婷六月色| 色综合偷拍| 五月天激情AV| 夜夜穞天天穞狠狠穞AV美女按摩| 人人操插| 色色色色色综合| 五月婷婷综合天天操| 天天色综和网| 成人在线综合| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 五月丁香六月激情| 久久久五月天婷婷| 五月天伊人av| 五月停亭六月,六月停亭的英语| 超碰色天堂| 婷婷五月天综合小说网| 五月天婷婷基地| 91视频人人做97| 99热6这里只有精品| 久久久久久婷| 噜噜噜色噜噜| 91精品综合久久久久久五月丁香| 91超碰在线观看| 日本三级中文字幕| 七月婷婷色香综合网| 伊人大香五月天| 九九在线精点品| 婷婷开心深爱五月天| 狠狠干夜夜干| 综合久久综合久久| 青青草tp| 婷婷五月综合在线| 久久婷婷六月综合| 丁香五月婷婷影院| 成人色五婷婷| 日韩AV中文字幕在线| 深爱激情丁香| 吾爱AV导航| 婷婷无码五月天| 九九亚洲无码| 婷婷操逼|