From 399efa2a62025cc92b5423a2fc542213793f8f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rivern=20Yuan=28=E8=A2=81=E5=B8=85=29?= Date: Wed, 12 Feb 2025 13:48:47 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E5=88=86=E7=89=88=E6=9C=ACAPI=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after_build.py | 61 ++++++++++++++++++ publish.py | 172 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+) create mode 100644 after_build.py create mode 100644 publish.py diff --git a/after_build.py b/after_build.py new file mode 100644 index 00000000..d3945639 --- /dev/null +++ b/after_build.py @@ -0,0 +1,61 @@ +import os +from bs4 import BeautifulSoup + + +path = "out\\doc\\" +api_path_list = [] + +for i in os.listdir(path): + if i.startswith("API_reference"): + api_path_list.append(path + i) + + +def find_html_files(path): + html_files = [] + for root, dirs, files in os.walk(path): + for file in files: + if file.endswith('.html'): + html_files.append(os.path.join(root, file)) + return html_files + + +def replace_version(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # 解析 HTML + soup = BeautifulSoup(content, "html.parser") + + # 查找 active 标签中的文本 + active_tag_list = soup.find_all("li", class_="active") + + # 筛选多余选项 + for i in active_tag_list: + active_content = i.text.strip() + if active_content.find("中文") == -1 and active_content.find("English") == -1: + break + # 获取version对应的标签 + version_tag = soup.find("a", string="Version") + + # 替换标签内容 + if version_tag: + version_tag.string = active_content + + # 将修改后的 HTML 写回文件 + with open(file_path, 'w', encoding='utf-8') as file: + file.write(soup.prettify()) + + + +def main(): + html_files = [] + for path in api_path_list: + html_files += find_html_files(path) + + for file in html_files: + print(file) + replace_version(file) + + +if __name__ == "__main__": + main() diff --git a/publish.py b/publish.py new file mode 100644 index 00000000..c8c52f9a --- /dev/null +++ b/publish.py @@ -0,0 +1,172 @@ +''' +@Time : 2025/1/19 10:07 +@File : publish.py +@Software: +@Desc : 根据releaes tag创建待编译的文件夹,同步更新文件夹下的配置文件, +@Desc : 1. 通过gitee api获取tag列表, 2. 通过tag列表对应的commit获取版本文件, 3. 创建待编译的文件夹, 4. 同步更新文件夹下的配置文件 5. 更新全局配置文件 + + +''' +import time +import json +import requests +import zipfile +import os, shutil + + +repo_url = "https://gitee.com/qpy-doc-center/api_reference.git" +access_token = "affe431c03995bd7d5bd4683e6e23096" + + +def get_tag_list(): + tag_api_url = "https://gitee.com/api/v5/repos/{owner}/{repo}/tags?sort=updated&direction=asc&page=1".format(owner="qpy-doc-center", repo="api_reference") + headers = { + "Authorization": "token " + access_token, + "Content-Type": "application/json" + } + response = requests.get(tag_api_url, headers=headers) + if response.status_code == 200: + tag_list = [] + for i in response.json(): + tag_list.append({"name": i["name"], "commit_sha": i["commit"]["sha"]}) + return tag_list + + else: + print("请求失败, 状态码: ", response.status_code) + return [] + + +def get_commit_file(name, commit_sha): + commit_api_url = "https://gitee.com/api/v5/repos/{owner}/{repo}/zipball".format(owner="qpy-doc-center", repo="api_reference") + file_path = name + ".zip" + commit_api_url = commit_api_url + "?access_token=" + access_token + "&ref=" + commit_sha + headers = { + "Content-Type": "application/json" + } + response = requests.get(commit_api_url, headers=headers) + if response.status_code == 200: + with open(file_path, "wb") as f: + for chunk in response.iter_content(chunk_size=16384): + f.write(chunk) + return file_path + else: + print("请求失败, 状态码: ", response.status_code) + return None + + +def set_site(page): + with open("../site_config.json", "r", encoding="utf-8") as f: + site_data = json.load(f) + + # 新增中文页面路由和英文页面路由 + site_data["route"]["docs"][page] = "docs" + page + site_data["translate"]["docs"][page] = [{ + "url": page.replace("zh", "en"), + "src": "docs" + page.replace("zh", "en"), + }] + with open("../site_config.json", "w", encoding="utf-8") as f: + json.dump(site_data, f, ensure_ascii=False, indent=4) + + +def set_config(tag, src): + try: + # 修改中文页面的Version下拉框 + with open("../docs/" + src + "/zh/config.json", "r", encoding="utf-8") as f: + config_data = json.load(f) + + items = [] + for index, i in enumerate(tag): + folder_url = "latest" if index == len(tag) - 1 else i["name"] + items.insert(0, { + "url": "/API_reference_" + folder_url + "/zh/", + "label": i["name"] + "(latest)" if index == len(tag) - 1 else i["name"] + }) + + config_data["navbar"] = { + "items":[{ + "label": "Version", + "position": "right", + "type": "list", + "items": items + }] + } + with open("../docs/" + src + "/zh/config.json", "w", encoding="utf-8") as f: + json.dump(config_data, f, ensure_ascii=False, indent=4) + + + + # 修改英文页面的Version下拉框 + with open("../docs/" + src + "/en/config.json", "r", encoding="utf-8") as f: + config_data = json.load(f) + + items = [] + for index, i in enumerate(tag): + folder_url = "latest" if index == len(tag) - 1 else i["name"] + items.insert(0, { + "url": "/API_reference_" + folder_url + "/en/", + "label": i["name"] + "(latest)" if index == len(tag) - 1 else i["name"] + }) + + config_data["navbar"] = { + "items":[{ + "label": "Version", + "position": "right", + "type": "list", + "items": items + }] + } + with open("../docs/" + src + "/en/config.json", "w", encoding="utf-8") as f: + json.dump(config_data, f, ensure_ascii=False, indent=4) + + except: + pass + + +def publish(): + # 删除历史发布临时文件夹 + if os.path.exists("./publish"): + shutil.rmtree("./publish") + os.mkdir("./publish") # 创建发布文件夹 + os.chdir("./publish") + + # 获取API_reference tag列表 + tag_list = get_tag_list() + + for tag in tag_list: + zip_file = get_commit_file("API_reference_" + tag["name"], tag["commit_sha"]) + # uzip file to temp publish folder + if zip_file: + with zipfile.ZipFile(zip_file, "r") as zf: + zf.extractall(zip_file.split(".zip")[0]) + os.remove(zip_file) + + # 移动文件到docs文件夹 + release_file_list = os.listdir() + for index, item in enumerate(release_file_list): + # 最后一级文件夹更名为latest + if index == len(release_file_list) - 1: + for file in os.listdir(item): + print(item + "/" + file + "/en/", " =======>> ", "../docs/API_reference_latest/en") + shutil.move(item + "/" + file + "/en/", "../docs/API_reference_latest/en") + print(item + "/" + file + "/zh/", " =======>> ", "../docs/API_reference_latest/zh") + shutil.move(item + "/" + file + "/zh/", "../docs/API_reference_latest/zh") + + # 设置 site_config.json 站点页面路由 + set_site("/API_reference_latest/zh") + # 设置页面版本切换菜单 + set_config(tag_list, "API_reference_latest") + else: + for file in os.listdir(item): + print(item + "/" + file + "/en/", " =======>> ", "../docs/" + item + "/en") + shutil.move(item + "/" + file + "/en/", "../docs/" + item + "/en") + print(item + "/" + file + "/zh/", " =======>> ", "../docs/" + item + "/zh") + shutil.move(item + "/" + file + "/zh/", "../docs/" + item + "/zh") + + # 设置 site_config.json 站点页面路由 + set_site("/" + item + "/zh") + # 设置页面版本切换菜单 + set_config(tag_list, item) + + +if __name__ == "__main__": + publish() \ No newline at end of file -- Gitee From 0f23294fc1b5828dc0235ff6575702f73064e7a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rivern=20Yuan=28=E8=A2=81=E5=B8=85=29?= Date: Fri, 7 Mar 2025 16:46:42 +0800 Subject: [PATCH 02/22] BSP init --- readme_bsp.md | 99 +++++++++++++++++++ readme_publish.md | 46 +++++++++ static/css/theme_default/light.css | 31 ++++++ static/js/custom.js | 153 +++++++++++++++++++++++++++++ 4 files changed, 329 insertions(+) create mode 100644 readme_bsp.md create mode 100644 readme_publish.md diff --git a/readme_bsp.md b/readme_bsp.md new file mode 100644 index 00000000..3c9c207d --- /dev/null +++ b/readme_bsp.md @@ -0,0 +1,99 @@ +# 文档中心API接口BSP分型号选择文档编写指南 + +## 概述 + +该文档描述如何编写BSP相关的md文档以达到文档页面可以选择型号来查看只包含对应型号BSP的文档 + +## 文档编写指南 + +针对文档中对于BSP部分的描述,需要使用表格、列表或者其他方式来展示不同平台的差异化参数的部分内容需要重新编写 + +编写后的内容会以html的形式呈现,但是文档本身还是markdown文件 + +需要注意的是对于不同形式的内容,需要使用不同的方法去编写 + +比如表格、无序列表、正文、 + +### 表格 + +原BSP的表格使用md格式编写,在一个表格中通过多行来区分平台之间的差异 + +新版文档中心中表格改为使用html编写,使用不同表格来区分不同平台 + +针对一个API文档中不同的表格,使用不同的html属性来区分 + +举例 + +'''html +
+ +表格内容 +
+ +表格内容 +
+
+''' + +- 其中table-QuecPython为html属性,EC600U和EC200U为表格的class属性 + +- 原文档中构造函数中的引脚对应关系表格使用 table-QuecPython + +- 原文档中常量表格使用 table-cons-QuecPython + +- 表格class属性按照实际型号列表编写(每一个型号都要写) + +- 两个位置的表格中型号要保持一致 + + +### 正文 + + +正文使用双重div标签将想要区分的型号包含起来 + +第一重标签为content-QuecPython + +第二重标签为具体的型号(如有重复的内容可以叠在一起写,使用|间隔) + + +'''html +
+
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式

    +
  • + +
+
+
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式
    ENHANCED_FAST_MODE2 - 快速模式增强

    +
  • +
+
+
+
class machine.I2C(I2Cn, MODE, [group])
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式

    +
  • +
  • [group] - 选择在不同管脚使用IIC,缺省值为0

    +
  • +
+
+
+''' + diff --git a/readme_publish.md b/readme_publish.md new file mode 100644 index 00000000..19cac5bb --- /dev/null +++ b/readme_publish.md @@ -0,0 +1,46 @@ +# 文档中心API接口分版本方案发布脚本使用指南 + +## 概述 + +本脚本用于发布文档中心分版本方案,包括: + +- 发布前生成源文件(md)脚本 + +- 编译后修改编译生成文件脚本 + + +## 编译前 + +### 存放api文档仓库 + +https://gitee.com/qpy-doc-center/api_reference.git + + +### 编译前步骤 + +- 拉取仓库的release列表和对应版本的文档源文件 + +- 将拉取文档源文件拷贝到文档中心的docs下对应的版本目录下 + +- 生成版本文件对应配置项和版本选择对应的配置文件 + +## 编译 + +使用 teedoc build命令编译即可 + + +## 编译后 + +- 修改编译生成的html文件 + +- 注意: 最新的版本会被编译成latest以确保最新的api文档链接不会随着版本发布发生变化 + + +## 预览 + +进入out目录 + +使用 python -m http.server 80 启动一个http服务 + +访问 http://127.0.0.1/doc即可访问预览页面(注意:跟正式发布页面有细微差异) + diff --git a/static/css/theme_default/light.css b/static/css/theme_default/light.css index 2a6cb39f..f6d99622 100644 --- a/static/css/theme_default/light.css +++ b/static/css/theme_default/light.css @@ -1616,4 +1616,35 @@ table { line-height: 200%; } +/* 版本选择器 */ +#toc span { + font-size: 24px; /* 你可以根据需要调整字体大小 */ + font-weight: bold; /* 加粗 */ + margin-bottom: 5px; /* 可选:增加底部间距 */ +} + +.pagination { + display: flex; + align-items: center; +} + +#pageSelect { + padding: 8px 16px; + margin-left: 10px; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 16px; + background-color: #fff; + appearance: auto; /* 去掉默认的下拉箭头 */ + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position: right 8px center; + background-size: 10px 6px; +} + +#pageSelect:focus { + border-color: #007bff; + outline: none; + box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); +} diff --git a/static/js/custom.js b/static/js/custom.js index e69de29b..50d8ebfe 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -0,0 +1,153 @@ +// API BSP接口分型号方案 + + + +var tableData = []; +var BSPData = []; +var headerData = []; + + +function main() { + // 判断是否有BSP相关的表格 + var tables = document.querySelector(".table-QuecPython") + + if (tables) { + console.log("有BSP相关的表格"); + } else { + console.log("没有BSP相关的表格"); + return; + } + getTableData(tables) + +} + + +// 获取表格数据 +function getTableData(tables) { + + var elements = tables.querySelectorAll('table'); + elements.forEach(function(element) { + var BSPName = element.className + BSPData.push(BSPName) + + // 表头数据 + if (headerData.length == 0) { + headerData.push("平台") + var thead = element.querySelector('thead'); + if (thead) { + var rows = thead.querySelectorAll('tr'); + if (rows) { + var headers = rows[0].querySelectorAll('th'); + headers.forEach(function(header) { + headerData.push(header.textContent.trim()); + }); + } + } + } + + // 表格数据 + var tbody = element.querySelector('tbody'); + if (tbody) { + var rows = tbody.querySelectorAll('tr'); + if (rows) { + rows.forEach(function(row) { + var cells = row.querySelectorAll('td'); + var rowData = {}; + rowData[headerData[0]] = BSPName + cells.forEach(function(cell, index) { + rowData[headerData[index + 1]] = cell.textContent.trim(); + }); + tableData.push(rowData); + }); + } + } + }); + console.log('表格数据:', tableData); + + if (tableData.length > 0) { + // 渲染分页栏 + renderPagination(BSPData); + } + +} + + +// 渲染表格 +function renderTable(page) { + const table_div = document.querySelector(".table-QuecPython") + table_div.innerHTML = ""; // 清空表格内容 + var pageData = [] + tableData.forEach(function(item) { + if (item[headerData[0]] == page) { + pageData.push(item) + } + }); + console.log(pageData) + table_div.innerHTML = ` + + + + + + + +
+ `; + + const thead = table_div.querySelector("thead tr"); + headerData.forEach(function(header) { + const th = document.createElement("th"); + th.textContent = header; + thead.appendChild(th); + }); + + const tbody = table_div.querySelector("tbody"); + + pageData.forEach(item => { + const tr = document.createElement("tr"); + for (const key in item) { + if (item.hasOwnProperty(key)) { + const td = document.createElement("td"); + td.textContent = item[key]; + tr.appendChild(td); + } + } + console.log(tr) + tbody.innerHTML += tr.outerHTML; + + }); +} + + +// 渲染型号选择下拉框 +function renderPagination(data) { + const pageSelect = document.querySelector("#pageSelect"); + pageSelect.innerHTML = ""; // 清空下拉框内容 + + data.forEach(function(item) { + const option = document.createElement("option"); + option.value = item; + option.textContent = item; + pageSelect.appendChild(option); + }); + + + // 监听下拉框变化 + pageSelect.addEventListener("change", (event) => { + currentPage = event.target.value; + renderTable(currentPage); + }); +} + + + +// 页面刷新进入的响应函数 +$(document).ready(function(){ + main(); + // 默认显示html中排序为最靠前的型号 + renderTable(BSPData[0]) +}); + + +// TODO CSS样式调整 + -- Gitee From e9378f0cf24fe000ce493a6c2d66cbce45c8fc1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rivern=20Yuan=28=E8=A2=81=E5=B8=85=29?= Date: Fri, 7 Mar 2025 16:59:07 +0800 Subject: [PATCH 03/22] BSP update --- static/js/custom.js | 250 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 200 insertions(+), 50 deletions(-) diff --git a/static/js/custom.js b/static/js/custom.js index 50d8ebfe..b4e9905a 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -1,88 +1,181 @@ -// API BSP接口分型号方案 +// API BSP接口表格分型号方案 +// BSP型号数据 ( 数据以API表格数量为准) +var BSPData = []; // 下拉框型号列表 +// API 表格数据 +var tableData_api = []; // 表格数据 +var headerData_api = []; // 表头数据 +// 常量 表格数据 +var tableData_cons = []; // 表格数据 +var headerData_cons = []; // 表头数据 +// 正文内容 +var content +var content_global -var tableData = []; -var BSPData = []; -var headerData = []; function main() { - // 判断是否有BSP相关的表格 - var tables = document.querySelector(".table-QuecPython") - if (tables) { - console.log("有BSP相关的表格"); + // 判断是否有BSP相关的API表格 + var table_api = document.querySelector(".table-QuecPython") + + if (table_api) { + console.log("有api相关的表格"); + getTableData("api", table_api) } else { - console.log("没有BSP相关的表格"); - return; + console.log("没有api相关的表格"); + } + + + // 判断是否有BSP相关的API常量表格 + var table_cons = document.querySelector(".table—cons-QuecPython") + + if (table_cons) { + console.log("有cons相关的表格"); + getTableData("cons", table_cons) + } else { + console.log("没有cons相关的表格"); + } + + content = document.querySelector(".content-QuecPython") + content_global = content.cloneNode(true) + + console.log('BSP数据:', BSPData); + + // 渲染分页栏 + if (BSPData.length > 0) { + renderPagination(BSPData); } - getTableData(tables) } // 获取表格数据 -function getTableData(tables) { - +function getTableData(type, tables) { var elements = tables.querySelectorAll('table'); elements.forEach(function(element) { var BSPName = element.className - BSPData.push(BSPName) + // 生成BSP型号数据 + if (type == "api") { + BSPData.push(BSPName) + } - // 表头数据 - if (headerData.length == 0) { - headerData.push("平台") - var thead = element.querySelector('thead'); - if (thead) { - var rows = thead.querySelectorAll('tr'); + if (type == "api") { + // 表头数据 + if (headerData_api.length == 0) { + headerData_api.push("适用平台") + var thead = element.querySelector('thead'); + if (thead) { + var rows = thead.querySelectorAll('tr'); + if (rows) { + var headers = rows[0].querySelectorAll('th'); + headers.forEach(function(header) { + headerData_api.push(header.textContent.trim()); + }); + } + } + } + + // 表格数据 + var tbody = element.querySelector('tbody'); + if (tbody) { + var rows = tbody.querySelectorAll('tr'); if (rows) { - var headers = rows[0].querySelectorAll('th'); - headers.forEach(function(header) { - headerData.push(header.textContent.trim()); + rows.forEach(function(row) { + var cells = row.querySelectorAll('td'); + var rowData = {}; + rowData[headerData_api[0]] = BSPName + cells.forEach(function(cell, index) { + rowData[headerData_api[index + 1]] = cell.textContent.trim(); + }); + tableData_api.push(rowData); }); } } } + + if (type == "cons") { + // 表头数据 + if (headerData_cons.length == 0) { + headerData_cons.push("适用平台") + var thead = element.querySelector('thead'); + if (thead) { + var rows = thead.querySelectorAll('tr'); + if (rows) { + var headers = rows[0].querySelectorAll('th'); + headers.forEach(function(header) { + headerData_cons.push(header.textContent.trim()); + }); + } + } + } - // 表格数据 - var tbody = element.querySelector('tbody'); - if (tbody) { - var rows = tbody.querySelectorAll('tr'); - if (rows) { - rows.forEach(function(row) { - var cells = row.querySelectorAll('td'); - var rowData = {}; - rowData[headerData[0]] = BSPName - cells.forEach(function(cell, index) { - rowData[headerData[index + 1]] = cell.textContent.trim(); + // 表格数据 + var tbody = element.querySelector('tbody'); + if (tbody) { + var rows = tbody.querySelectorAll('tr'); + if (rows) { + rows.forEach(function(row) { + var cells = row.querySelectorAll('td'); + var rowData = {}; + rowData[headerData_cons[0]] = BSPName + cells.forEach(function(cell, index) { + rowData[headerData_cons[index + 1]] = cell.textContent.trim(); + }); + tableData_cons.push(rowData); }); - tableData.push(rowData); - }); + } } } + }); - console.log('表格数据:', tableData); - if (tableData.length > 0) { - // 渲染分页栏 - renderPagination(BSPData); - } + // console.log('表格数据:', tableData_api, tableData_cons); } +// 渲染正文 +function renderContent(page) { + + // 判断是否有BSP相关的正文属性内容 + + console.log(content_global) + if (content_global) { + var divs = content_global.querySelectorAll("div"); + console.log(divs) + + divs.forEach(function(div) { + if (div.className.includes(page)) { + console.log("有BSP相关的正文属性内容"); + content.innerHTML = div.innerHTML + }else{ + // div.style.display = "none" + } + }) + } + + +} + // 渲染表格 function renderTable(page) { - const table_div = document.querySelector(".table-QuecPython") + // 渲染API表格 + const table_div = document.querySelector(".table-QuecPython") + if ( table_div == null) { + // 如果没有api表格 默认视为也没有常量表格 + return; + } table_div.innerHTML = ""; // 清空表格内容 var pageData = [] - tableData.forEach(function(item) { - if (item[headerData[0]] == page) { + // 筛选表格中需要渲染的数据 + tableData_api.forEach(function(item) { + if (item[headerData_api[0]] == page) { pageData.push(item) } }); - console.log(pageData) + // console.log(pageData) table_div.innerHTML = ` @@ -95,14 +188,12 @@ function renderTable(page) { `; const thead = table_div.querySelector("thead tr"); - headerData.forEach(function(header) { + headerData_api.forEach(function(header) { const th = document.createElement("th"); th.textContent = header; thead.appendChild(th); }); - const tbody = table_div.querySelector("tbody"); - pageData.forEach(item => { const tr = document.createElement("tr"); for (const key in item) { @@ -112,18 +203,70 @@ function renderTable(page) { tr.appendChild(td); } } - console.log(tr) + // console.log(tr) tbody.innerHTML += tr.outerHTML; }); + + // 渲染 常量表格 + const table_cons = document.querySelector(".table—cons-QuecPython") + table_cons.innerHTML = ""; // 清空表格内容 + var pageData = [] + // 筛选表格中需要渲染的数据 + tableData_cons.forEach(function(item) { + if (item[headerData_cons[0]] == page) { + pageData.push(item) + } + }); + // console.log(pageData) + table_cons.innerHTML = ` +
+ + + + + + +
+ `; + + const thead_cons = table_cons.querySelector("thead tr"); + headerData_cons.forEach(function(header) { + const th = document.createElement("th"); + th.textContent = header; + thead_cons.appendChild(th); + }); + + const tbody_cons = table_cons.querySelector("tbody"); + pageData.forEach(item => { + const tr = document.createElement("tr"); + for (const key in item) { + if (item.hasOwnProperty(key)) { + const td = document.createElement("td"); + td.textContent = item[key]; + tr.appendChild(td); + } + } + // console.log(tr) + tbody_cons.innerHTML += tr.outerHTML; + }); + + + // 渲染正文 + + } + // 渲染型号选择下拉框 function renderPagination(data) { + + const pageSelect = document.querySelector("#pageSelect"); pageSelect.innerHTML = ""; // 清空下拉框内容 + data.forEach(function(item) { const option = document.createElement("option"); option.value = item; @@ -136,18 +279,25 @@ function renderPagination(data) { pageSelect.addEventListener("change", (event) => { currentPage = event.target.value; renderTable(currentPage); + renderContent(currentPage); }); } -// 页面刷新进入的响应函数 +// 页面刷新进入的响应函数 (初始化时主动刷新) $(document).ready(function(){ main(); + // 默认显示html中排序为最靠前的型号 renderTable(BSPData[0]) + renderContent(BSPData[0]) + }); + + // TODO CSS样式调整 +// 修改light.css -- Gitee From c9d4e13b78bf4702142d27b4c349a5510a222154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rivern=20Yuan=28=E8=A2=81=E5=B8=85=29?= Date: Fri, 7 Mar 2025 17:16:31 +0800 Subject: [PATCH 04/22] BSP fix page error --- static/js/custom.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/static/js/custom.js b/static/js/custom.js index b4e9905a..db183fcd 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -39,7 +39,11 @@ function main() { } content = document.querySelector(".content-QuecPython") - content_global = content.cloneNode(true) + console.log(content) + if (content) { + content_global = content.cloneNode(true) + } + console.log('BSP数据:', BSPData); @@ -140,7 +144,6 @@ function getTableData(type, tables) { function renderContent(page) { // 判断是否有BSP相关的正文属性内容 - console.log(content_global) if (content_global) { var divs = content_global.querySelectorAll("div"); @@ -252,9 +255,6 @@ function renderTable(page) { }); - // 渲染正文 - - } @@ -262,7 +262,6 @@ function renderTable(page) { // 渲染型号选择下拉框 function renderPagination(data) { - const pageSelect = document.querySelector("#pageSelect"); pageSelect.innerHTML = ""; // 清空下拉框内容 @@ -289,9 +288,13 @@ function renderPagination(data) { $(document).ready(function(){ main(); - // 默认显示html中排序为最靠前的型号 - renderTable(BSPData[0]) - renderContent(BSPData[0]) + + if (BSPData.length > 0) { + // 默认显示html中排序为最靠前的型号 + renderTable(BSPData[0]) + renderContent(BSPData[0]) + } + }); -- Gitee From 41eb016da66d5bf677992b9c8f48905283836a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rivern=20Yuan=28=E8=A2=81=E5=B8=85=29?= Date: Mon, 10 Mar 2025 14:57:04 +0800 Subject: [PATCH 05/22] add site config --- after_build.py | 5 +++- site_config.json | 72 ++++++++++++++++++++++++++++++++++-------------- 2 files changed, 55 insertions(+), 22 deletions(-) diff --git a/after_build.py b/after_build.py index d3945639..78b9756d 100644 --- a/after_build.py +++ b/after_build.py @@ -1,7 +1,6 @@ import os from bs4 import BeautifulSoup - path = "out\\doc\\" api_path_list = [] @@ -46,6 +45,10 @@ def replace_version(file_path): file.write(soup.prettify()) +# 增加BSP相关版本选择器 +def add_bsp_selecter(file_path): + pass + def main(): html_files = [] diff --git a/site_config.json b/site_config.json index ce5ce0a5..f6b622ad 100644 --- a/site_config.json +++ b/site_config.json @@ -8,10 +8,12 @@ "source": "https://toscode.gitee.com/qpy-doc-center/teedoc_with_qpydoc/blob/main/", "route": { "docs": { - "/API_reference/zh/": "docs/API_reference/zh", "/Getting_started/zh/": "docs/Getting_started/zh", "/Application_guide/zh/": "docs/Application_guide/zh", - "/FAQ/zh/": "docs/FAQ/zh" + "/FAQ/zh/": "docs/FAQ/zh", + "/API_reference_V1.0.0/zh": "docs/API_reference_V1.0.0/zh", + "/API_reference_V1.0.1/zh": "docs/API_reference_V1.0.1/zh", + "/API_reference_latest/zh": "docs/API_reference_latest/zh" }, "pages": { "/": "pages/index/zh" @@ -22,29 +24,46 @@ }, "translate": { "docs": { - "/API_reference/zh/": [ { - "url": "/API_reference/en/", - "src": "docs/API_reference/en" - } - ], - "/Getting_started/zh/": [ { + "/Getting_started/zh/": [ + { "url": "/Getting_started/en/", "src": "docs/Getting_started/en" } ], - "/Application_guide/zh/": [ { + "/Application_guide/zh/": [ + { "url": "/Application_guide/en/", "src": "docs/Application_guide/en" } ], - "/FAQ/zh/": [ { + "/FAQ/zh/": [ + { "url": "/FAQ/en/", "src": "docs/FAQ/en" } + ], + "/API_reference_V1.0.0/zh": [ + { + "url": "/API_reference_V1.0.0/en", + "src": "docs/API_reference_V1.0.0/en" + } + ], + "/API_reference_V1.0.1/zh": [ + { + "url": "/API_reference_V1.0.1/en", + "src": "docs/API_reference_V1.0.1/en" + } + ], + "/API_reference_latest/zh": [ + { + "url": "/API_reference_latest/en", + "src": "docs/API_reference_latest/en" + } ] }, "pages": { - "/": [ { + "/": [ + { "url": "/en/", "src": "pages/index/en" } @@ -56,7 +75,7 @@ "pip": "pip3" }, "plugins": { - "teedoc-plugin-markdown-parser":{ + "teedoc-plugin-markdown-parser": { "from": "pypi", "config": { "mathjax": { @@ -64,24 +83,23 @@ } } }, - "teedoc-plugin-jupyter-notebook-parser":{ + "teedoc-plugin-jupyter-notebook-parser": { "from": "pypi", - "config": { - } + "config": {} }, - "teedoc-plugin-theme-default":{ + "teedoc-plugin-theme-default": { "from": "pypi", "config": { "dark": true, - "default_dark": false, + "default_dark": false, "mobile_navbar_collapsed": true, "toc_depth": 4, - "env":{ + "env": { "main_color": "#ED1922" } } }, - "teedoc-plugin-search":{ + "teedoc-plugin-search": { "from": "pypi", "config": { "search_hint": "Search" @@ -92,11 +110,23 @@ "config": { "code": "4d52982572d5512e9762879ebf063c86" } + }, + "teedoc-plugin-assets": { + "from": "pypi", + "config": { + "footer_items": [ + "/static/js/custom.js" + + ], + "env": { + "main_color": "#000000" + } + } } }, "rebuild_changes_delay": 1, - "robots":{ + "robots": { "User-agent": "*" }, "layout_root_dir": "layout" -} +} \ No newline at end of file -- Gitee From 985d529b839a5af5d7fe46b5c45ffe93d5abfaef Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Thu, 13 Mar 2025 20:15:32 +0800 Subject: [PATCH 06/22] =?UTF-8?q?SPI/KeyPad=E8=A1=A8=E6=A0=BC=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.KeyPad.md | 364 ++++++++++++++++-- 1 file changed, 342 insertions(+), 22 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.KeyPad.md b/docs/API_reference/zh/peripherals/machine.KeyPad.md index c95e7245..a4cc52ef 100644 --- a/docs/API_reference/zh/peripherals/machine.KeyPad.md +++ b/docs/API_reference/zh/peripherals/machine.KeyPad.md @@ -19,33 +19,353 @@ class machine.KeyPad(row,col) > 如果row和col均不设置,默认为4X4。 -| 平台 | 最大行 | 最大列 | -| ------------- | ---------------------------------------- | ---------------------- | -| EC800N/EC600N | 4 | 4 | -| EC600S | 5 | 5 | -| EC200U | 6(EC200UXXAA系列只支持4行,见管脚说明) | 4 | -| EC600U | 6 | 6 | -| EC600M | 5 | 5 | -| EC800M/EG810M | 5(EG810MEU只支持3行) | 5(EG810MEU只支持3行) | -| EG912N | 3 | 3 | -| EG915N | 4 | 4 | -| EC600K | 3 | 3 | -| EC800K/EG800K | 5(EG800K只支持4行) | 5(EG800K只支持4列) | +
+ + + + + + + + + + + + + + + +
平台最大行最大列
EC800N/EC600N44
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC600S55
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC200U6(EC200UXXAA系列只支持4行,见管脚说明)4
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC600U66
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC600M55
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC800M/EG810M5(EG810MEU只支持3行)5(EG810MEU只支持3行)
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EEG912N33
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EG915N44
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC600K33
+ + + + + + + + + + + + + + + + +
平台最大行最大列
EC800K/EG800K5(EG800K只支持4行)5(EG800K只支持4行)
+ +
**KeyPad引脚对应关系:** > 当不使用全部引脚时,接线按行列号从小到大顺序接线,比如EC600M使用2x2矩阵键盘时,硬件使用49、51和48、50引脚。 -| 平台 | 引脚 | -| ------------- | ------------------------------------------------------------ | -| EC600M | 行号(输出)对应引脚如下:
行号0 – 引脚号49
行号1 – 引脚号51
行号2 – 引脚号53
行号3 – 引脚号55
行号4 – 引脚号56
列号(输入)对应引脚如下:
列号0 – 引脚号48
列号1 – 引脚号50
列号2 – 引脚号52
列号3 – 引脚号54
列号4 – 引脚号57 | -| EC800M/EG810M | 行号(输出)对应引脚如下:
行号0 – 引脚号86(EG810MEU不支持)
行号1 – 引脚号76
行号2 – 引脚号85(EG810MEU不支持)
行号3 – 引脚号82
行号4 – 引脚号74
列号(输入)对应引脚如下:
列号0 – 引脚号87(EG810MEU不支持)
列号1 – 引脚号77
列号2 – 引脚号84(EG810MEU不支持)
列号3 – 引脚号83
列号4 – 引脚号75 | -| EG912N | 行号(输出)对应引脚如下:
行号1 – 引脚号20
行号2 – 引脚号16
行号3 – 引脚号116
列号(输入)对应引脚如下:
列号2 – 引脚号105
列号3 – 引脚号21
列号4 – 引脚号1 | -| EC200U | 行号(输出)对应引脚如下:
行号0 – 引脚号83
行号1 – 引脚号84
行号2 – 引脚号113
行号3 – 引脚号114
行号4 – 引脚号81(EC200UXXAA系列不支持)
行号5 – 引脚号82(EC200UXXAA系列不支持)
列号(输入)对应引脚如下:
列号0 – 引脚号115
列号1 – 引脚号78
列号2 – 引脚号79
列号3 – 引脚号80 | -| EC600U | 行号(输出)对应引脚如下:
行号0 – 引脚号105
行号1 – 引脚号106
行号2 – 引脚号107
行号3 – 引脚号108
行号4 – 引脚号104
行号5 – 引脚号103
列号(输入)对应引脚如下:
列号0 – 引脚号55
列号1 – 引脚号129
列号2 – 引脚号128
列号3 – 引脚号127
列号4 – 引脚号126
列号5 – 引脚号125 | -| EG915N | 行号(输出)对应引脚如下:
行号0 – 引脚号39
行号1 – 引脚号20
行号2 – 引脚号27
行号3 – 引脚号26
列号(输入)对应引脚如下:
列号0 – 引脚号83
列号2 – 引脚号28
列号3 – 引脚号25
列号4 – 引脚号1 | -| EC600K | 行号(输出)对应引脚如下:
行号0 – 引脚号53
行号1 – 引脚号49
行号2 – 引脚号55
列号(输入)对应引脚如下:
列号0 – 引脚号52
列号1 – 引脚号54
列号2 – 引脚号50 | -| EC800K/EG800K | 行号(输出)对应引脚如下:
行号0 – 引脚号74
行号1 – 引脚号76
行号2 – 引脚号86
行号3 – 引脚号82
行号4 – 引脚号29(EG800K不支持)
列号(输入)对应引脚如下:
列号0 – 引脚号75
列号1 – 引脚号77
列号2 – 引脚号87
列号3 – 引脚号81
列号4 – 引脚号28(EG800K不支持) | +
+ + + + + + + + + + + + + +
平台引脚
EC600M
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号57

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EC800M|EG810M
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号86(EG810MEU不支持)
    行号1– 引脚号76
    行号2– 引脚号85(EG810MEU不支持)
    行号3– 引脚号82
    行号4– 引脚号74

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号87(EG810MEU不支持)
    行号1– 引脚号77
    行号2– 引脚号84(EG810MEU不支持)
    行号3– 引脚号83
    行号4– 引脚号75

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EG912N
    +
  • 行号(输出)对应引脚如下:
    行号1– 引脚号20
    行号2– 引脚号16
    行号3– 引脚号116

    +
  • +
  • 列号(输出)对应引脚如下:
    行号1– 引脚号105
    行号2– 引脚号21
    行号3– 引脚号1

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EC200U
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EC600U
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EG915N
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EC600K
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • +
+
+ + + + + + + + + + + + + + +
平台引脚
EC800K/EG800K
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • +
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • +
+
+ +
**示例:** -- Gitee From 6f5dbe64bcab660c67e24a4a339d2a90b493e578 Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Thu, 13 Mar 2025 20:16:20 +0800 Subject: [PATCH 07/22] =?UTF-8?q?SPI/KeyPad=E8=A1=A8=E6=A0=BC=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.SPI.md | 865 +++++++++++++++++- 1 file changed, 827 insertions(+), 38 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.SPI.md b/docs/API_reference/zh/peripherals/machine.SPI.md index 7d97c61d..571c4460 100644 --- a/docs/API_reference/zh/peripherals/machine.SPI.md +++ b/docs/API_reference/zh/peripherals/machine.SPI.md @@ -6,17 +6,105 @@ ### `machine.SPI` -```python -class machine.SPI(port, mode, clk, [group]) -``` - -**参数描述:** - -- `port` - 通道选择[0,1],int类型。 -- `mode` - SPI 的工作模式,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
`0` : CPOL=0, CPHA=0
`1` : CPOL=0, CPHA=1
`2`: CPOL=1, CPHA=0
`3`: CPOL=1, CPHA=1 -- `clk` - 时钟频率,说明如下:
EC600N/EC600S/EC800N/BG95M3/EC600M/EC800M/EG810M/EG912N/EC200A/EC600E/EC800E/EC800Z:
`0` : 812.5kHz
`1` : 1.625MHz
`2` : 3.25MHz
`3` : 6.5MHz
`4` : 13MHz
`5` : 26MHz(EC600E/EC800E/EC800Z不支持)
`6`:52MHz(EC600E/EC800E/EC800Z不支持)
EC600U/EC200U/EG915U:
`0` : 781.25KHz
`1` : 1.5625MHz
`2` : 3.125MHz
`3` : 5MHz
`4` : 6.25MHz
`5` : 10MHz
`6` : 12.5MHz
`7` : 20MHz
`8` : 25MHz
`9` : 33.33MHz
BC25PA:
`0` :5MHz
`X` : XMHz (X in [1,39])
EC600G/EC800G:
0:97.656kHz
1:100kHz
2:812.5kHz
3:1.3MHz
4:1.625MHz
5:2MHz
6:3.25MHz
7:4.333MHz
8:6.6MHz
9:11.93MHz
10:13MHz
11:13.92MHz
12:16.7MHz
13:20.875MHz
14:27.83MHz
FCM360W/FCM362K:
0:500kHz
1:1MHz
2:5MHz
3:10MHz
4:20MHz
-- `[group]` - 选择在不同管脚使用spi,缺省值为0
- +
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    0812.5kHz
    11.625MHz
    23.25MHz
    36.5MHz
    413MHz
    526MHz
    652MHz

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    0812.5kHz
    11.625MHz
    23.25MHz
    36.5MHz
    413MHz

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    0781.25KHz
    11.5625MHz
    23.125MHz
    35MHz
    46.25MHz
    510MHz
    612.5MHz
    720MHz
    825MHz
    933.33MHz

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    0781.25KHz
    XXMHz (X in [1,39])

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    097.656kHz
    1100kHz
    2812.5kHz
    31.3MHz
    41.625MHz
    52MHz
    63.25MHz
    74.333MHz
    86.6MHz
    911.93MHz
    1013MHz
    1113.92MHz
    1216.7MHz
    1320.875MHz
    1427.83MHz

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • port - 通道选择[0,1],int类型。

    +
  • +
  • mode - I2C 的工作模式,int类型,说明如下:
    时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
    0CPOL=0, CPHA=0
    1CPOL=0, CPHA=1
    2CPOL=1, CPHA=0
    3CPOL=1, CPHA=1

    +
  • +
  • clk - 时钟频率,说明如下:
    0500kHz
    11MHz
    25MHz
    310MHz
    420MHz

    +
  • +
  • [group] - 选择在不同管脚使用spi,缺省值为0。

    +
  • +
+
+ +
> BC25PA平台不支持1、2模式。 > @@ -32,35 +120,736 @@ class machine.SPI(port, mode, clk, [group]) >>> spi_obj = SPI(1, 0, 1) ``` + + + + **SPI引脚对应关系:** -| 平台 | 引脚 | -| ------------- | ------------------------------------------------------------ | -| EC600U | port0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60 | -| EC200U | port0:
CS:引脚号134
CLK:引脚号133
MOSI:引脚号132
MISO:引脚号131
port1:
CS:引脚号26
CLK:引脚号27
MOSI:引脚号24
MISO:引脚号25 | -| EC600S/EC600N | port0:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60
port1:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2 | -| EC100Y | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号105
CLK:引脚号104
MOSI:引脚号107
MISO:引脚号106 | -| EC800N | port0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51 | -| BC25PA | port0:
CS:引脚号6
CLK:引脚号5
MOSI:引脚号4
MISO:引脚号3 | -| BG95 | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号41
CLK:引脚号40
MOSI:引脚号64
MISO:引脚号65
port2:
CS:引脚号19
CLK:引脚号18
MOSI:引脚号23
MISO:引脚号22 | -| EC600M | port0:
group=0:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60
group=1
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
group=0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
group=1:
CS:引脚号65
CLK:引脚号67
MOSI:引脚号66
MISO:引脚号63
port2:
CS:引脚号49
CLK:引脚号54
MOSI:引脚号53
MISO:引脚号52 | -| EG915U | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号64
MISO:引脚号88
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 | -| EC800M/EG810M | port0:
group=0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
group=1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
port1:
group=0:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
group=1:(EG810M_EU不支持)
CS:引脚号69
CLK:引脚号68
MOSI:引脚号85
MISO:引脚号84
port2:
CS:引脚号76
CLK:引脚号77
MOSI:引脚号78
MISO:引脚号16 | -| EG912N | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 | -| EC200A/UC200A | port0:
CS:引脚号37
CLK:引脚号40
MOSI:引脚号38
MISO:引脚号39
port1:
CS:引脚号26
CLK:引脚号27
MOSI:引脚号25
MISO:引脚号24 | -| EC600E | port0:(EC600ECN_LE&LQ不可用)
CS:引脚号65
CLK:引脚号67
MOSI:引脚号66
MISO:引脚号64
port1:(EC600ECN_LE&LQ不可用)
CS:引脚号69
CLK:引脚号71
MOSI:引脚号70
MISO:引脚号72 | -| EC800E | port0:
CS:引脚号28
CLK:引脚号39
MOSI:引脚号29
MISO:引脚号38
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
注:EC800ECN_LE&LQ&CG port1 不可用 | -| EC600G | port0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
CS:引脚号53
CLK:引脚号52
MOSI:引脚号54
MISO:引脚号51 | -| EC800G | port1:
CS:引脚号79
CLK:引脚号101
MOSI:引脚号100
MISO:引脚号108 | -| EG912U | port0:(EG912UGLAA不可用)
CS:引脚号25
CLK:引脚号26
MOSI:引脚号64
MISO:引脚号88
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 | -| EC600K | port1:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port2:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60 | -| EC800K/EG800K | port0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
port2:
CS:引脚号74
CLK:引脚号75
MOSI:引脚号76
MISO:引脚号77 | -| FCM360W | port0:
CS:引脚号21
CLK:引脚号22
MOSI:引脚号29
MISO:引脚号23 | -| FCM362K | port0:
CS:引脚号29
CLK:引脚号30
MOSI:引脚号37
MISO:引脚号31 | -| BC32 | port0
CS:引脚号41
CLK:引脚号42
MOSI:引脚号43
MISO:引脚号44 | -| BC92 | port0
CS:引脚号41
CLK:引脚号42
MOSI:引脚号43
MISO:引脚号44 | -| EG915N | port0
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 | -| EC800Z | port0:
CS:引脚号49
CLK:引脚号29
MOSI:引脚号101
MISO:引脚号28
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51 | +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚4引脚1引脚3引脚2
SPI1引脚58引脚61引脚59引脚60
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚134引脚133引脚132引脚131
SPI1引脚26引脚27引脚24引脚25
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚58引脚61引脚59引脚60
SPI1引脚4引脚1引脚3引脚2
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚25引脚26引脚27引脚28
SPI1引脚105引脚104引脚107引脚106
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚31引脚30引脚32引脚33
SPI1引脚52引脚53引脚50引脚51
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚6引脚5引脚4引脚3
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚25引脚26引脚27引脚28
SPI1引脚41引脚40引脚64引脚65
SPI2引脚19引脚18引脚23引脚22
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号GroupCS引脚CLK引脚MOSI引脚MISO引脚
SPI0Group0引脚25引脚26引脚27引脚28
SPI0Group1引脚4引脚1引脚3引脚2
SPI1Group0引脚4引脚1引脚3引脚2
SPI1Group1引脚65引脚67引脚66引脚63
SPI2NULL引脚49引脚54引脚53引脚52
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚25引脚26引脚64引脚88
SPI1引脚5引脚4引脚6引脚7
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号GroupCS引脚CLK引脚MOSI引脚MISO引脚
SPI0Group0引脚31引脚30引脚32引脚33
SPI0Group1引脚52引脚53引脚50引脚51
SPI1Group0引脚52引脚53引脚50引脚51
SPI1Group1(EG810M_EU不支持)引脚69引脚68引脚85引脚84
SPI2NULL引脚76引脚77引脚78引脚16
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚25引脚26引脚27引脚28
SPI1引脚5引脚4引脚6引脚7
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚37引脚40引脚38引脚39
SPI1引脚26引脚27引脚25引脚24
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0(EC600ECN_LE&LQ不可用)引脚65引脚67引脚66引脚64
SPI1引脚69引脚71引脚70引脚72
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚28引脚39引脚29引脚38
SPI1(EC800ECN_LE&LQ&CG不可用)引脚52引脚53引脚50引脚51
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚4引脚1引脚3引脚2
SPI1(EC800ECN_LE&LQ&CG不可用)引脚53引脚52引脚54引脚51
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI1引脚79引脚101引脚100引脚108
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0(EG912UGLAA不可用)引脚25引脚26引脚64引脚88
SPI1引脚5引脚4引脚6引脚7
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI1引脚4引脚1引脚3引脚2
SPI2引脚58引脚61引脚59引脚60
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚31引脚30引脚32引脚33
SPI1引脚52引脚53引脚50引脚51
SPI2引脚74引脚75引脚76引脚77
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚21引脚22引脚29引脚23
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚29引脚30引脚37引脚31
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚41引脚42引脚43引脚44
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚41引脚42引脚43引脚44
+ + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚5引脚4引脚6引脚7
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚49引脚29引脚101引脚28
SPI1引脚52引脚53引脚50引脚51
+ + + + +
## 方法 -- Gitee From c812cbe37c2ba08563a7771e0e5f3d50dcc5e842 Mon Sep 17 00:00:00 2001 From: "joey.zhou" <2775152163@qq.com> Date: Thu, 13 Mar 2025 22:16:39 +0800 Subject: [PATCH 08/22] version_v2 --- .../zh/peripherals/machine.UART.md | 939 ++++++++++++++++- docs/API_reference/zh/peripherals/misc.ADC.md | 976 +++++++++++++++++- 2 files changed, 1857 insertions(+), 58 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.UART.md b/docs/API_reference/zh/peripherals/machine.UART.md index 2aa92fcf..22ee3fde 100644 --- a/docs/API_reference/zh/peripherals/machine.UART.md +++ b/docs/API_reference/zh/peripherals/machine.UART.md @@ -28,34 +28,917 @@ class machine.UART(UART.UARTn, baudrate, databits, parity, stopbits, flowctl) **UART引脚对应关系 :** -| 平台 | 引脚 | -| ------------- | ------------------------------------------------------------ | -| EC600U | uart1:
TX: 引脚号124
RX: 引脚号123
uart2:
TX:引脚号32
RX:引脚号31
RTS:引脚号34
CTS:引脚号33
uart4:
TX:引脚号103
RX:引脚号104 | -| EC200U | uart1:
TX: 引脚号138
RX: 引脚号137
uart2:
TX:引脚号67
RX:引脚号68
RTS:引脚号65
CTS:引脚号64
uart4:
TX:引脚号82(EC200UXXAA不支持)
RX:引脚号81 | -| EC200A/UC200A | uart0:(建议使用其他uart)
TX: 引脚号12
RX: 引脚号11
uart1:
TX: 引脚号63(EC200ACN_LA: 引脚号26)
RX: 引脚号66(EC200ACN_LA: 引脚号27)
uart2:
TX:引脚号67
RX:引脚号68
注意:EC200ACN_LA模组uart1引脚号与其他型号不同 | -| EC600S/EC600N | uart0:
TX: 引脚号71
RX: 引脚号72
uart1:
TX: 引脚号3
RX: 引脚号2
uart2:
TX:引脚号32
RX:引脚号31 | -| EC100Y | uart0:
TX: 引脚号21
RX: 引脚号20
uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX:引脚号50
RX:引脚号49 | -| EC800N | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX: 引脚号50
RX: 引脚号51
uart2:
TX:引脚号18
RX:引脚号17 | -| BC25PA | uart1:
TX: 引脚号29
RX: 引脚号28 | -| BG95M | uart0:
TX: 引脚号23
RX: 引脚号22
uart1:
TX:引脚号27
RX:引脚号28
uart2:
TX: 引脚号64
RX: 引脚号65
uart4:
TX:引脚号35
RX:引脚号34 | -| EC600M | uart0:
TX: 引脚号71
RX: 引脚号72
uart1(flowctl = 0):
TX: 引脚号3
RX: 引脚号2
uart1(flowctl = 1):
TX: 引脚号33
RX: 引脚号34
uart2:
TX:引脚号32
RX:引脚号31 | -| EG915U | uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX:引脚号35
RX:引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:
TX:引脚号19
RX:引脚号18 | -| EC800M/EG810M | uart0:
TX: 引脚号39
RX: 引脚号38
uart1(flowctl = 0):
TX: 引脚号50
RX: 引脚号51
uart1(flowctl = 1):
TX: 引脚号22
RX: 引脚号23
注意:EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用
uart2:
TX:引脚号18
RX:引脚号17
uart4:
TX:引脚号29
RX:引脚号28 | -| EG912N | uart0:
TX: 引脚号23
RX: 引脚号22
uart1(flowctl = 0):
TX: 引脚号27
RX: 引脚号28
uart1(flowctl = 1):
TX: 引脚号36
RX: 引脚号37
uart2:
TX:引脚号35
RX:引脚号34 | -| EC600E | uart0:
TX: 引脚号71
RX: 引脚号72
uart1:(EC600ECN_LE&LQ不可用)
TX:引脚号70
RX:引脚号69
uart2:
TX:引脚号32
RX:引脚号31 | -| EC800E | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX:引脚号29
RX:引脚号28
uart2:
TX:引脚号18
RX:引脚号17 | -| EC600G | uart1:
TX: 引脚号124
RX: 引脚号123
uart2:
TX:引脚号32
RX:引脚号31
RTS:引脚34
CTS:引脚33
uart4:
TX:引脚号116
RX:引脚号9
uart5:
TX:引脚号125
RX:引脚号126
uart6:
TX:引脚号106
RX:引脚号105 | -| EC800G | uart1:
TX: 引脚号29
RX: 引脚号28
uart2:
TX:引脚号18
RX:引脚号17
uart5:
TX:引脚号23
RX:引脚号22
uart6:
TX:引脚号86
RX:引脚号83 | -| EG912U | uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX: 引脚号35
RX: 引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:(EG912UGL_AA不可用)
TX:引脚号19
RX:引脚号18 | -| EC600K | uart0:
TX: 引脚号71
RX: 引脚号72
uart1(flowctl = 0):
TX: 引脚号3
RX: 引脚号2
uart1(flowctl = 1):
TX: 引脚号33
RX: 引脚号34
uart2:
TX:引脚号32
RX:引脚号31 | -| EC800K/EG800K | uart0:
TX: 引脚号39
RX: 引脚号38
uart1(flowctl = 0):(EG800KCN不可用)
TX: 引脚号50
RX: 引脚号51
uart1(flowctl = 1):(EG800KCN不可用)
TX: 引脚号22
RX: 引脚号23
uart2:
TX:引脚号18
RX:引脚号17 | -| EG800P | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX: 引脚号22
RX: 引脚号23
uart2:
TX:引脚号18
RX:引脚号17
RTS:引脚23
CTS:引脚22
uart3:
TX:引脚号29
RX:引脚号28 | -| FCM360W | uart0:
TX: 引脚号27
RX: 引脚号26
uart2:
TX:引脚号20
RX:引脚号19
| -| FCM362K |uart1:
TX: 引脚号35
RX: 引脚号34
uart2:
TX:引脚号28
RX:引脚号27
| -| BC32 | uart0:
TX: 引脚号21
RX: 引脚号22 | -| BC92 | uart0:
TX: 引脚号22
RX: 引脚号21 | -| EG915N | uart0:
TX: 引脚号23
RX: 引脚号22
uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX: 引脚号35
RX: 引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:(EG915NEU_AG不支持)
TX:引脚号36
RX:引脚号37 | -| EC800Z | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX:引脚号29
RX:引脚号28
uart2:
TX:引脚号18
RX:引脚号17 | +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart1引脚号124引脚号123
uart2引脚号32引脚号31引脚号34引脚号33
uart4引脚号103引脚号104
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart1引脚号138引脚号137
uart2引脚号67引脚号68引脚号65引脚号64
uart4引脚号82(EC200UXXAA不支持)引脚号81
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0(建议使用其他uart)引脚号12引脚号11
uart1引脚号63(EC200ACN_LA: 引脚号26)引脚号66(EC200ACN_LA: 引脚号27)
uart2引脚号67引脚号68EC200ACN_LA模组uart1引脚号与其他型号不同
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0(建议使用其他uart)引脚号12引脚号11
uart1引脚号63(EC200ACN_LA: 引脚号26)引脚号66(EC200ACN_LA: 引脚号27)EC200ACN_LA模组uart1引脚号与其他型号不同
uart2引脚号67引脚号68
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号71引脚号72
uart1引脚号3引脚号2
uart2引脚号32引脚号31
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号71引脚号72
uart1引脚号3引脚号2
uart2引脚号32引脚号31
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号21引脚号20
uart1引脚号27引脚号28
uart2引脚号50引脚号49
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号39引脚号38
uart1引脚号50引脚号51
uart2引脚号18引脚号17
+ + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart1引脚号29引脚号28
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号23引脚号22
uart1引脚号27引脚号28
uart2引脚号64引脚号65
uart4引脚号35引脚号34
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号71引脚号72
uart1(flowctl = 0)引脚号3引脚号2
uart1(flowctl = 1)引脚号33引脚号34
uart2引脚号32引脚号31
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart1引脚号27引脚号28
uart2引脚号35引脚号34引脚号37引脚号36
uart4引脚号19引脚号18
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0引脚号39引脚号38
uart1(flowctl = 0)引脚号50引脚号51EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用
uart1(flowctl = 1)引脚号22引脚号23
uart2引脚号18引脚号17
uart4引脚号29引脚号28
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0引脚号39引脚号38
uart1(flowctl = 0)引脚号50引脚号51EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用
uart1(flowctl = 1)引脚号22引脚号23
uart2引脚号18引脚号17
uart4引脚号29引脚号28
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号23引脚号22
uart1(flowctl = 0)引脚号27引脚号28
uart1(flowctl = 1)引脚号36引脚号37
uart2引脚号35引脚号34
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号71引脚号72
uart1(EC600ECN_LE&LQ不可用)引脚号70引脚号69
uart2引脚号32引脚号31
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号39引脚号38
uart1引脚号29引脚号28
uart2引脚号18引脚号17
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart0引脚号124引脚号123
uart2引脚号32引脚号31引脚34引脚33
uart4引脚号116引脚号9
uart5引脚号125引脚号126
uart6引脚号106引脚号105
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart1引脚号29引脚号28
uart2引脚号18引脚号17
uart5引脚号23引脚号22
uart6引脚号86引脚号83
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart1引脚号27引脚号28
uart2引脚号35引脚号34引脚号37引脚号36
uart4(EG912UGL_AA不可用)引脚号19引脚号18
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号71引脚号72
uart1(flowctl = 0)引脚号3引脚号2
uart1(flowctl = 1)引脚号33引脚号34
uart2引脚号32引脚号31
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0引脚号39引脚号38
uart1(flowctl = 0)引脚号50引脚号51EG800KCN不可用
uart1(flowctl = 1)引脚号22引脚号23EG800KCN不可用
uart2引脚号18引脚号17
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚注意
uart0引脚号39引脚号38
uart1(flowctl = 0)引脚号50引脚号51EG800KCN不可用
uart1(flowctl = 1)引脚号22引脚号23EG800KCN不可用
uart2引脚号18引脚号17
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart0引脚号39引脚号38
uart1引脚号22引脚号23
uart2引脚号18引脚号17引脚23引脚22
uart3引脚号29引脚号28
+ + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart1引脚号27引脚号26
uart2引脚号20引脚号19
+ + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart1引脚号35引脚号34
uart2引脚号28引脚号27
+ + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号21引脚号22
+ + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号22引脚号21
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚RTS引脚CTS引脚
uart0引脚号23引脚号22
uart1引脚号27引脚号28
uart2引脚号35引脚号34引脚号36引脚号37
uart4(EG915NEU_AG不支持)引脚号36引脚号37
+ + + + + + + + + + + + + + + + + + + + + + + + + +
uart编号TX引脚RX引脚
uart0引脚号39引脚号38
uart1引脚号29引脚号28
uart2引脚号18引脚号17
+ +
> 1、EC600M/EC800M/EG810M/EG912N/EC600K/EC800K 的uart1在flowctl = 1时,仅将uart1映射到不同的引脚,未开启流控功能。 > diff --git a/docs/API_reference/zh/peripherals/misc.ADC.md b/docs/API_reference/zh/peripherals/misc.ADC.md index a2b4b44c..12d96328 100644 --- a/docs/API_reference/zh/peripherals/misc.ADC.md +++ b/docs/API_reference/zh/peripherals/misc.ADC.md @@ -68,36 +68,952 @@ ADC.close() **ADC通道与物理引脚的映射关系:** -| 系列 | 引脚对应 | -| ------ | ------------------------------------------------------------ | -| EC600N | ADC0 – 引脚号19 | -| EC600M | ADC0 – 引脚号19
ADC1 – 引脚号20 | -| EC800N | ADC0 – 引脚号9 | -| EC600U | ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114 | -| EC200U | ADC0 – 引脚号45
ADC1 – 引脚号44
ADC2 – 引脚号43 | -| EC200A/UC200A | ADC0 – 引脚号45
ADC1 – 引脚号44 | -| BG95 | ADC0 – 引脚号24 | -| EG915U | ADC0 – 引脚号24
ADC1 – 引脚号2 | -| EC800M/EG810M | ADC0 – 引脚号9
ADC1 – 引脚号96 | -| EG912N | ADC0 – 引脚号24
ADC1 – 引脚号2 | -| EC600E | ADC0 – 引脚号19
ADC1 – 引脚号20 | -| EC800E | ADC0 – 引脚号9
ADC1 – 引脚号96 | -| EC600G | ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114 | -| EC800G | ADC0 – 引脚号9
ADC1 – 引脚号96 | -| EG912U | ADC0 – 引脚号24
ADC1 – 引脚号2 | -| EC600K | ADC0 – 引脚号19
ADC1 – 引脚号20 | -| EC800K/EG800K | ADC0 – 引脚号9
ADC1 – 引脚号96 | -| FCM360W | ADC0 – 引脚号8
ADC1 – 引脚号7
ADC2 – 引脚号6 | -| BC32 | ADC0 – 引脚号2 | -| BC92 | ADC0 – 引脚号2 | -| EG915N | ADC0 – 引脚号24
ADC1 – 引脚号2 | -| EC800Z | ADC0 – 引脚号9
ADC1 – 引脚号96 | +
+ + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
ADC1引脚号20
+ + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
ADC1引脚号20
ADC2引脚号113
ADC3引脚号114
+ + + + + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号45
ADC1引脚号44
ADC2引脚号43
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号45
ADC1引脚号44
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号45
ADC1引脚号44
+ + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号24
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号24
ADC1引脚号2
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号24
ADC1引脚号2
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
ADC1引脚号20
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
ADC1引脚号20
ADC2引脚号113
ADC3引脚号114
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号24
ADC1引脚号2
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号19
ADC1引脚号20
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ + + + + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号8
ADC1引脚号7
ADC2引脚号6
+ + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号2
+ + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号2
+ + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号24
ADC1引脚号2
+ + + + + + + + + + + + + + + + + + + +
ADC编号引脚对应
ADC0引脚号9
ADC1引脚号96
+ +
## 常量 -| 常量 | 说明 | 适用平台 | -| -------- | -------- | ------------------------------------------------------------ | -| ADC.ADC0 | ADC通道0 | EC600S/EC600N/EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC200A/EC600M
/EG915U/EC800M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K
/FCM360W/BC32/BC92/EG915N/EC800Z | -| ADC.ADC1 | ADC通道1 | EC600U/EC200U/EC200A/EC600M/EG915U/EC800M/EG912N/EC600E/EC800E/EC600G/
EC800G/EG912U/EC600K/EC800K/FCM360W/EG915N/EC800Z | -| ADC.ADC2 | ADC通道2 | EC600U/EC200U/FCM360W | -| ADC.ADC3 | ADC通道3 | EC600U | +
+ + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
ADC.ADC2ADC通道2
ADC.ADC3ADC通道3
+ + + + + + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
ADC.ADC2ADC通道2
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
ADC.ADC2ADC通道2
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ + + + + + + + + + + + + + + + + + +
常量说明
ADC.ADC0ADC通道0
ADC.ADC1ADC通道1
+ | +
\ No newline at end of file -- Gitee From 1bc2589d736859c661883739b58a434388761e51 Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Thu, 13 Mar 2025 22:30:08 +0800 Subject: [PATCH 09/22] =?UTF-8?q?IIC=E8=A1=A8=E6=A0=BC=E5=BC=8F=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.I2C.md | 724 ++++++++++++++++-- 1 file changed, 678 insertions(+), 46 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.I2C.md b/docs/API_reference/zh/peripherals/machine.I2C.md index 2bb6f3c1..bcfc2d4f 100644 --- a/docs/API_reference/zh/peripherals/machine.I2C.md +++ b/docs/API_reference/zh/peripherals/machine.I2C.md @@ -2,20 +2,51 @@ 该类用于设备之间通信的双线协议。 + ## 构造函数 ### `machine.I2C` -```python -class machine.I2C(I2Cn, MODE, [group]) -``` - -**参数描述:** - -- `I2Cn` - I2C 通路索引号,int类型,说明如下:
`I2C0` : `0` - 通道0
`I2C1` : `1` - 通道1
`I2C2` : `2` - 通道2
- -- `MODE` - I2C 的工作模式,int类型,说明如下:
`STANDARD_MODE` : `0` - 标准模式
`FAST_MODE` :`1` - 快速模式
`ENHANCED_FAST_MODE` :`2` - 快速模式增强 (仅支持FCM360W) -- `[group]` - 选择在不同管脚使用IIC,目前仅FCM362K支持,缺省值为0
+
+
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式

    +
  • + +
+
+ +
+
class machine.I2C(I2Cn, MODE)
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式
    ENHANCED_FAST_MODE2 - 快速模式增强

    +
  • +
+
+ +
+
class machine.I2C(I2Cn, MODE, [group])
+
+

参数描述:

+
    +
  • I2Cn - I2C 通路索引号,int类型,说明如下:
    I2C0 : 0 - 通道0
    I2C1 : 1 - 通道1
    I2C2 : 2 - 通道2

    +
  • +
  • MODE - I2C 的工作模式,int类型,说明如下:
    STANDARD_MODE : 0 - 标准模式
    FAST_MODE1 - 快速模式

    +
  • +
  • [group] - 选择在不同管脚使用IIC,缺省值为0

    +
  • +
+
+
**示例:** @@ -37,33 +68,527 @@ class machine.I2C(I2Cn, MODE, [group]) **I2C引脚对应关系:** -| 平台 | 引脚 | -| ------------- | ------------------------------------------------------------ | -| EC600U | I2C0:
SCL: 引脚号11
SDA: 引脚号12
I2C1:
SCL:引脚号57
SDA:引脚号56 | -| EC200U | I2C0:
SCL: 引脚号41
SDA: 引脚号42
I2C1:
SCL:引脚号141
SDA:引脚号142 | -| EC200A/UC200A | I2C0:
SCL: 引脚号41
SDA: 引脚号42 | -| EC600S/EC600N | I2C1:
SCL:引脚号57
SDA:引脚号56 | -| EC100Y | I2C0:
SCL:引脚号57
SDA:引脚号56 | -| BC25PA | I2C0:
SCL: 引脚号23
SDA: 引脚号22
I2C1:
SCL:引脚号20
SDA:引脚号21 | -| EC800N | I2C0:
SCL:引脚号67
SDA:引脚号66 | -| BG95 | I2C0:
SCL: 引脚号18
SDA: 引脚号19
I2C1:
SCL:引脚号40
SDA:引脚号41
I2C2:
SCL:引脚号26
SDA:引脚号25 | -| EC600M | I2C0:
SCL: 引脚号9
SDA: 引脚号64
I2C1:
SCL:引脚号57
SDA:引脚号56
I2C2:
SCL:引脚号67
SDA:引脚号65 | -| EG915U | I2C0:
SCL: 引脚号103
SDA: 引脚号114
I2C1:
SCL:引脚号40
SDA:引脚号41 | -| EC800M/EG810M | I2C0:
SCL: 引脚号67
SDA: 引脚号66
I2C2:
SCL:引脚号68
SDA:引脚号69 | -| EG912N | I2C1:
SCL: 引脚号40
SDA: 引脚号41 | -| EC600E | I2C1:
SCL: 引脚号57(11)
SDA: 引脚号56(12)
注:模块的Pin57与PIN11、Pin56 与Pin12 内部是同一个管脚。 | -| EC800E | I2C0:
SCL: 引脚号67(57)
SDA: 引脚号66(58)
注:
1.模块的Pin67与Pin57、Pin66 与Pin58 内部是同一个管脚。
2.EC800ECN_LE&LQ&CG 的57/58引脚不可用。 | -| EC600G | I2C0:
SCL:引脚号57
SDA:引脚号56
I2C1:
SCL: 引脚号11
SDA: 引脚号12 | -| EC800G | I2C0:
SCL:引脚号67
SDA:引脚号66
I2C1:
SCL: 引脚号57
SDA: 引脚号58
I2C2:
SCL:引脚号68
SDA:引脚号69 | -| EG912U | I2C1:
SCL: 引脚号40
SDA: 引脚号41 | -| EC600K | I2C1:
SCL:引脚号57
SDA:引脚号56
I2C3:
SCL:引脚号11
SDA:引脚号12 | -| EC800K/EG800K | I2C0:
SCL: 引脚号67
SDA: 引脚号66
I2C2:
SCL:引脚号68
SDA:引脚号69 | -| FCM360W | I2C0:
SCL:引脚号29
SDA:引脚号23
| -| FCM362K | I2C0:
SCL:引脚号30
SDA:引脚号29
| -| BC32 | I2C0:
SCL: 引脚号12
SDA: 引脚号26
I2C1:
SCL:引脚号43
SDA:引脚号44 | -| BC92 | I2C0:
SCL: 引脚号12
SDA: 引脚号26
I2C1:
SCL:引脚号43
SDA:引脚号44 | -| EG915N | I2C1:
SCL:引脚号40
SDA:引脚号41 | -| EC800Z | I2C0:
SCL: 引脚号67
SDA: 引脚号66
I2C1:
SCL:引脚号57
SDA:引脚号58 | +
+ + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚11引脚12
I2C1引脚57引56
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚41引脚42
I2C1引脚141引142
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚41引脚42
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚57引脚56
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚57引脚56
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚23引脚22
I2C1引脚20引脚21
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚18引脚19
I2C1引脚40引脚41
I2C2引脚26引脚25
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚9引脚64
I2C1引脚57引脚56
I2C2引脚67引脚65
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚103引脚114
I2C1引脚40引脚41
+ + + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C1引脚68引脚69
+ + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚40引脚41
+ + + + + + + + + + + + + + + 注:模块的Pin57与PIN11、Pin56 与Pin12 内部是同一个管脚。 + + +
I2C编号SCL引脚SDA引脚
I2C1引脚号57(11)引脚号56(12)
+ + + + + + + + + + + + + + + 注:
+ 1.模块的Pin67与Pin57、Pin66 与Pin58 内部是同一个管脚。
+ 2.EC800ECN_LE&LQ&CG 的57/58引脚不可用。 + + +
I2C编号SCL引脚SDA引脚
I2C0引脚号67(57)引脚号66(58)
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚57引脚56
I2C1引脚11引脚12
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C1引脚57引脚58
I2C2引脚68引脚69
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚40引脚41
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚57引脚56
I2C3引脚11引脚12
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C2引脚68引脚69
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚29引脚23
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚30引脚29
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚12引脚26
I2C1引脚43引脚44
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚12引脚26
I2C2引脚43引脚44
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚40引脚41
+ + + + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C1引脚57引脚58
+ +
+ + + ## 方法 @@ -143,12 +668,119 @@ if __name__ == '__main__': ## 常量 -| 常量 | 说明 | 适用平台 | -| ----------------- | ---------------- | ------------------------------------------------------------ | -| I2C.I2C0 | I2C通路索引号: 0 | EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EC800E/EC800K/FCM360W/FCM362K/BC32/BC92/EC800Z | -| I2C.I2C1 | I2C通路索引号: 1 | EC600S/EC600N/EC600U/EC200U/BC25PA/BG95M3/EC600M/EG915U/EC800M/EG810M/
EG912N/EC600E/EC600K/BC32/BC92/EG915N/EC800Z | -| I2C.I2C2 | I2C通路索引号: 2 | BG95M3/EC600M/EC800K | -| I2C.I2C3 | I2C通路索引号: 3 | EC600K | -| I2C.STANDARD_MODE | 标准模式 | -- | -| I2C.FAST_MODE | 快速模式 | -- | -| I2C.ENHANCED_FAST_MODE |快速模式增强 |FCM360W +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.I2C2I2C通路索引号: 2
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
I2C.ENHANCED_FAST_MODE快速模式增强
+ + + +
\ No newline at end of file -- Gitee From 12ed45eff4cd4946939f482355ab6bbb5e6c5335 Mon Sep 17 00:00:00 2001 From: Rivern Date: Fri, 14 Mar 2025 10:05:07 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/API_reference/zh/peripherals/machine.I2C.md | 7 +------ docs/API_reference/zh/peripherals/machine.KeyPad.md | 2 +- docs/API_reference/zh/peripherals/misc.ADC.md | 2 +- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.I2C.md b/docs/API_reference/zh/peripherals/machine.I2C.md index bcfc2d4f..d98ab5ee 100644 --- a/docs/API_reference/zh/peripherals/machine.I2C.md +++ b/docs/API_reference/zh/peripherals/machine.I2C.md @@ -668,7 +668,7 @@ if __name__ == '__main__': ## 常量 -
+
@@ -696,7 +696,6 @@ if __name__ == '__main__':
-
@@ -729,7 +728,6 @@ if __name__ == '__main__':
-
@@ -753,7 +751,6 @@ if __name__ == '__main__':
-
@@ -781,6 +778,4 @@ if __name__ == '__main__':
- -
\ No newline at end of file diff --git a/docs/API_reference/zh/peripherals/machine.KeyPad.md b/docs/API_reference/zh/peripherals/machine.KeyPad.md index a4cc52ef..32cedbfd 100644 --- a/docs/API_reference/zh/peripherals/machine.KeyPad.md +++ b/docs/API_reference/zh/peripherals/machine.KeyPad.md @@ -19,7 +19,7 @@ class machine.KeyPad(row,col) > 如果row和col均不设置,默认为4X4。 -
+
diff --git a/docs/API_reference/zh/peripherals/misc.ADC.md b/docs/API_reference/zh/peripherals/misc.ADC.md index 12d96328..88779cc6 100644 --- a/docs/API_reference/zh/peripherals/misc.ADC.md +++ b/docs/API_reference/zh/peripherals/misc.ADC.md @@ -1015,5 +1015,5 @@ ADC.close()
- | +
\ No newline at end of file -- Gitee From 091582d4091b188233e1b61a808cbb270cee665d Mon Sep 17 00:00:00 2001 From: Rivern Date: Fri, 14 Mar 2025 10:59:07 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site_config.json | 25 ++++++-------------- static/css/custom.css | 35 ++++++++++++++++++++++++++++ static/css/theme_default/light.css | 37 +++--------------------------- static/js/custom.js | 4 ++-- 4 files changed, 47 insertions(+), 54 deletions(-) diff --git a/site_config.json b/site_config.json index f6b622ad..de227c58 100644 --- a/site_config.json +++ b/site_config.json @@ -11,9 +11,7 @@ "/Getting_started/zh/": "docs/Getting_started/zh", "/Application_guide/zh/": "docs/Application_guide/zh", "/FAQ/zh/": "docs/FAQ/zh", - "/API_reference_V1.0.0/zh": "docs/API_reference_V1.0.0/zh", - "/API_reference_V1.0.1/zh": "docs/API_reference_V1.0.1/zh", - "/API_reference_latest/zh": "docs/API_reference_latest/zh" + "/API_reference/zh": "docs/API_reference/zh" }, "pages": { "/": "pages/index/zh" @@ -42,22 +40,10 @@ "src": "docs/FAQ/en" } ], - "/API_reference_V1.0.0/zh": [ + "/API_reference/zh": [ { - "url": "/API_reference_V1.0.0/en", - "src": "docs/API_reference_V1.0.0/en" - } - ], - "/API_reference_V1.0.1/zh": [ - { - "url": "/API_reference_V1.0.1/en", - "src": "docs/API_reference_V1.0.1/en" - } - ], - "/API_reference_latest/zh": [ - { - "url": "/API_reference_latest/en", - "src": "docs/API_reference_latest/en" + "url": "/API_reference/en", + "src": "docs/API_reference/en" } ] }, @@ -114,6 +100,9 @@ "teedoc-plugin-assets": { "from": "pypi", "config": { + "header_items": [ + "/static/css/custom.css" + ], "footer_items": [ "/static/js/custom.js" diff --git a/static/css/custom.css b/static/css/custom.css index 708773e1..eb63f4e3 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -121,3 +121,38 @@ font-size: 1em; } } + + +/* 版本选择器 */ +#toc span { + font-size: 20px; /* 你可以根据需要调整字体大小 */ + font-weight: bold; /* 加粗 */ + margin-bottom: 3px; /* 可选:增加底部间距 */ +} + +.pagination { + display: flex; + align-items: center; +} + +#pageSelect { + padding: 4px 8px; + margin-left: 10px; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 10px; + background-color: #fff; + appearance: auto; /* 去掉默认的下拉箭头 */ + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position: right 8px center; + background-size: 10px 6px; +} + +#pageSelect:focus { + border-color: #007bff; + outline: none; + box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); +} + +/* 版本选择器 */ \ No newline at end of file diff --git a/static/css/theme_default/light.css b/static/css/theme_default/light.css index f6d99622..92198ddf 100644 --- a/static/css/theme_default/light.css +++ b/static/css/theme_default/light.css @@ -21,6 +21,8 @@ html { } + + /* global template */ body { color: var(--mid-10); @@ -1614,37 +1616,4 @@ table { font-size: 18px; font-weight: bold; line-height: 200%; -} - -/* 版本选择器 */ -#toc span { - font-size: 24px; /* 你可以根据需要调整字体大小 */ - font-weight: bold; /* 加粗 */ - margin-bottom: 5px; /* 可选:增加底部间距 */ -} - -.pagination { - display: flex; - align-items: center; -} - -#pageSelect { - padding: 8px 16px; - margin-left: 10px; - border: 1px solid #ccc; - border-radius: 4px; - font-size: 16px; - background-color: #fff; - appearance: auto; /* 去掉默认的下拉箭头 */ - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: right 8px center; - background-size: 10px 6px; -} - -#pageSelect:focus { - border-color: #007bff; - outline: none; - box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); -} - +} \ No newline at end of file diff --git a/static/js/custom.js b/static/js/custom.js index db183fcd..aafd4aa5 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -29,7 +29,7 @@ function main() { // 判断是否有BSP相关的API常量表格 - var table_cons = document.querySelector(".table—cons-QuecPython") + var table_cons = document.querySelector(".table-cons-QuecPython") if (table_cons) { console.log("有cons相关的表格"); @@ -212,7 +212,7 @@ function renderTable(page) { }); // 渲染 常量表格 - const table_cons = document.querySelector(".table—cons-QuecPython") + const table_cons = document.querySelector(".table-cons-QuecPython") table_cons.innerHTML = ""; // 清空表格内容 var pageData = [] // 筛选表格中需要渲染的数据 -- Gitee From cb8d5e0b9af95bb808afcfb31615a5e63aad139b Mon Sep 17 00:00:00 2001 From: Rivern Date: Fri, 14 Mar 2025 11:46:06 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=9A=84URL=E7=94=9F=E6=88=90=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after_build.py | 9 +++++++++ publish.py | 24 ++++++++++++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/after_build.py b/after_build.py index 78b9756d..893660d3 100644 --- a/after_build.py +++ b/after_build.py @@ -60,5 +60,14 @@ def main(): replace_version(file) + bsp_filter = ["machine.I2C", "machine.SPI", "machine.Pin", "machine.UART", "machine.KeyPad", "misc.ADC"] + for path in api_path_list: + for i in bsp_filter: + if path.find(i) != -1: + print(path) + add_bsp_selecter(path) + + + if __name__ == "__main__": main() diff --git a/publish.py b/publish.py index c8c52f9a..eaebb51b 100644 --- a/publish.py +++ b/publish.py @@ -77,8 +77,12 @@ def set_config(tag, src): items = [] for index, i in enumerate(tag): folder_url = "latest" if index == len(tag) - 1 else i["name"] + if folder_url == "latest": + folder_url = "" # 不使用latest url,因为避免修改存量的链接 + else: + folder_url = "_" + folder_url # 带版本的链接 items.insert(0, { - "url": "/API_reference_" + folder_url + "/zh/", + "url": "/API_reference" + folder_url + "/zh/", "label": i["name"] + "(latest)" if index == len(tag) - 1 else i["name"] }) @@ -102,6 +106,10 @@ def set_config(tag, src): items = [] for index, i in enumerate(tag): folder_url = "latest" if index == len(tag) - 1 else i["name"] + if folder_url == "latest": + folder_url = "" # 不使用latest url,因为避免修改存量的链接 + else: + folder_url = "_" + folder_url # 带版本的链接 items.insert(0, { "url": "/API_reference_" + folder_url + "/en/", "label": i["name"] + "(latest)" if index == len(tag) - 1 else i["name"] @@ -143,18 +151,18 @@ def publish(): # 移动文件到docs文件夹 release_file_list = os.listdir() for index, item in enumerate(release_file_list): - # 最后一级文件夹更名为latest + # 最后一级文件夹更名为latest---20250314 删除该逻辑 调整为API_reference if index == len(release_file_list) - 1: for file in os.listdir(item): - print(item + "/" + file + "/en/", " =======>> ", "../docs/API_reference_latest/en") - shutil.move(item + "/" + file + "/en/", "../docs/API_reference_latest/en") - print(item + "/" + file + "/zh/", " =======>> ", "../docs/API_reference_latest/zh") - shutil.move(item + "/" + file + "/zh/", "../docs/API_reference_latest/zh") + print(item + "/" + file + "/en/", " =======>> ", "../docs/API_reference/en") + shutil.move(item + "/" + file + "/en/", "../docs/API_reference/en") + print(item + "/" + file + "/zh/", " =======>> ", "../docs/API_reference/zh") + shutil.move(item + "/" + file + "/zh/", "../docs/API_reference/zh") # 设置 site_config.json 站点页面路由 - set_site("/API_reference_latest/zh") + set_site("/API_reference/zh") # 设置页面版本切换菜单 - set_config(tag_list, "API_reference_latest") + set_config(tag_list, "API_reference") else: for file in os.listdir(item): print(item + "/" + file + "/en/", " =======>> ", "../docs/" + item + "/en") -- Gitee From ea9cf18027e644641617aa5df33368e82e3caa2d Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Fri, 14 Mar 2025 15:04:51 +0800 Subject: [PATCH 13/22] =?UTF-8?q?keypad/SPI=E5=86=85=E5=AE=B9=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.KeyPad.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.KeyPad.md b/docs/API_reference/zh/peripherals/machine.KeyPad.md index a4cc52ef..3040ee09 100644 --- a/docs/API_reference/zh/peripherals/machine.KeyPad.md +++ b/docs/API_reference/zh/peripherals/machine.KeyPad.md @@ -105,7 +105,7 @@ class machine.KeyPad(row,col) - +
@@ -173,7 +173,7 @@ class machine.KeyPad(row,col)
平台
- +
@@ -210,7 +210,7 @@ class machine.KeyPad(row,col) @@ -227,11 +227,11 @@ class machine.KeyPad(row,col) - + @@ -252,14 +252,14 @@ class machine.KeyPad(row,col)
平台
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号57

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号48
    列号1– 引脚号50
    列号2– 引脚号52
    列号3– 引脚号54
    列号4– 引脚号57

EC800M|EG810MEC800M/EG810M
  • 行号(输出)对应引脚如下:
    行号0– 引脚号86(EG810MEU不支持)
    行号1– 引脚号76
    行号2– 引脚号85(EG810MEU不支持)
    行号3– 引脚号82
    行号4– 引脚号74

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号87(EG810MEU不支持)
    行号1– 引脚号77
    行号2– 引脚号84(EG810MEU不支持)
    行号3– 引脚号83
    行号4– 引脚号75

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号87(EG810MEU不支持)
    列号1– 引脚号77
    列号2– 引脚号84(EG810MEU不支持)
    列号3– 引脚号83
    列号4– 引脚号75

  • 行号(输出)对应引脚如下:
    行号1– 引脚号20
    行号2– 引脚号16
    行号3– 引脚号116

  • -
  • 列号(输出)对应引脚如下:
    行号1– 引脚号105
    行号2– 引脚号21
    行号3– 引脚号1

    +
  • 列号(输出)对应引脚如下:
    列号2– 引脚号105
    列号3– 引脚号21
    列号4– 引脚号1

- + @@ -271,9 +271,9 @@ class machine.KeyPad(row,col) @@ -292,9 +292,9 @@ class machine.KeyPad(row,col) @@ -313,9 +313,9 @@ class machine.KeyPad(row,col) @@ -334,9 +334,9 @@ class machine.KeyPad(row,col) @@ -355,9 +355,9 @@ class machine.KeyPad(row,col) -- Gitee From a03b1e263d8410cf0622bdc1a6ec76bd16464780 Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Fri, 14 Mar 2025 15:22:17 +0800 Subject: [PATCH 14/22] =?UTF-8?q?keypad/SPI=E5=86=85=E5=AE=B9=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.KeyPad.md | 115 +++++++++++-- .../zh/peripherals/machine.SPI.md | 156 +++++++++++++++++- 2 files changed, 255 insertions(+), 16 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.KeyPad.md b/docs/API_reference/zh/peripherals/machine.KeyPad.md index 3040ee09..f507bcb4 100644 --- a/docs/API_reference/zh/peripherals/machine.KeyPad.md +++ b/docs/API_reference/zh/peripherals/machine.KeyPad.md @@ -20,7 +20,24 @@ class machine.KeyPad(row,col) > 如果row和col均不设置,默认为4X4。
-
EC200U
    -
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号83
    行号1– 引脚号84
    行号2– 引脚号113
    行号3– 引脚号114
    行号4– 引脚号81(EC200UXXAA系列不支持)
    行号5– 引脚号82(EC200UXXAA系列不支持)

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号105
    列号1– 引脚号78
    列号2– 引脚号79
    列号3– 引脚号80

EC600U
    -
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号105
    行号1– 引脚号106
    行号2– 引脚号107
    行号3– 引脚号108
    行号4– 引脚号104
    行号5– 引脚号103

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号55
    列号1– 引脚号129
    列号2– 引脚号128
    列号3– 引脚号127
    列号4– 引脚号126
    列号5– 引脚号125

EG915N
    -
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号39
    行号1– 引脚号20
    行号2– 引脚号27
    行号3– 引脚号26

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号83
    列号2– 引脚号28
    列号3– 引脚号25
    列号4– 引脚号1

EC600K
    -
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号53
    行号1– 引脚号49
    行号2– 引脚号55

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号52
    列号1– 引脚号54
    列号2– 引脚号50

EC800K/EG800K
    -
  • 行号(输出)对应引脚如下:
    行号0– 引脚号49
    行号1– 引脚号51
    行号2– 引脚号53
    行号3– 引脚号55
    行号4– 引脚号56

    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号74
    行号1– 引脚号76
    行号2– 引脚号86
    行号3– 引脚号82
    行号4– 引脚号29(EG800K不支持)

  • -
  • 列号(输出)对应引脚如下:
    行号0– 引脚号48
    行号1– 引脚号50
    行号2– 引脚号52
    行号3– 引脚号54
    行号4– 引脚号56

    +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号75
    列号1– 引脚号77
    列号2– 引脚号87
    列号3– 引脚号81
    列号4– 引脚号28(EG800K不支持)

+
+ + + + + + + + + + + + + + +
平台最大行最大列
EC800N/EC600N44
+ + @@ -105,7 +122,7 @@ class machine.KeyPad(row,col)
平台
- +
@@ -115,7 +132,24 @@ class machine.KeyPad(row,col) - + + + + + +
平台
EC800M/EG810MEC800M55
+ + + + + + + + + + + + @@ -173,7 +207,24 @@ class machine.KeyPad(row,col)
平台最大行最大列
EG810M 5(EG810MEU只支持3行) 5(EG810MEU只支持3行)
- +
+ + + + + + + + + + + + + + +
平台最大行最大列
EC800K55
+ + @@ -183,9 +234,9 @@ class machine.KeyPad(row,col) - - - + + +
平台
EC800K/EG800K5(EG800K只支持4行)5(EG800K只支持4行)EG800K44
@@ -218,7 +269,7 @@ class machine.KeyPad(row,col) - +
@@ -227,7 +278,28 @@ class machine.KeyPad(row,col) - + + + + +
平台
EC800M/EG810MEC800M
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号86
    行号1– 引脚号76
    行号2– 引脚号85
    行号3– 引脚号82
    行号4– 引脚号74

    +
  • +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号87
    列号1– 引脚号77
    列号2– 引脚号84
    列号3– 引脚号83
    列号4– 引脚号75

    +
  • +
+
+ + + + + + + + + + +
平台引脚
EG810M
  • 行号(输出)对应引脚如下:
    行号0– 引脚号86(EG810MEU不支持)
    行号1– 引脚号76
    行号2– 引脚号85(EG810MEU不支持)
    行号3– 引脚号82
    行号4– 引脚号74

  • @@ -344,7 +416,28 @@ class machine.KeyPad(row,col)
- +
+ + + + + + + + + + + + +
平台引脚
EC800K
    +
  • 行号(输出)对应引脚如下:
    行号0– 引脚号74
    行号1– 引脚号76
    行号2– 引脚号86
    行号3– 引脚号82
    行号4– 引脚号29

    +
  • +
  • 列号(输出)对应引脚如下:
    列号0– 引脚号75
    列号1– 引脚号77
    列号2– 引脚号87
    列号3– 引脚号81
    列号4– 引脚号28

    +
  • +
+
+ + @@ -353,7 +446,7 @@ class machine.KeyPad(row,col) - +
平台
EC800K/EG800KEG800K
  • 行号(输出)对应引脚如下:
    行号0– 引脚号74
    行号1– 引脚号76
    行号2– 引脚号86
    行号3– 引脚号82
    行号4– 引脚号29(EG800K不支持)

  • diff --git a/docs/API_reference/zh/peripherals/machine.SPI.md b/docs/API_reference/zh/peripherals/machine.SPI.md index 571c4460..17bf2b45 100644 --- a/docs/API_reference/zh/peripherals/machine.SPI.md +++ b/docs/API_reference/zh/peripherals/machine.SPI.md @@ -88,7 +88,7 @@
-
+
class machine.I2C(I2Cn, MODE)
 

参数描述:

@@ -183,7 +183,35 @@
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚58引脚61引脚59引脚60
SPI1引脚4引脚1引脚3引脚2
+ + @@ -406,7 +434,62 @@
SPI编号
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号GroupCS引脚CLK引脚MOSI引脚MISO引脚
SPI0Group0引脚31引脚30引脚32引脚33
SPI0Group1引脚52引脚53引脚50引脚51
SPI1Group0引脚52引脚53引脚50引脚51
SPI1Group1引脚69引脚68引脚85引脚84
SPI2NULL引脚76引脚77引脚78引脚16
+ + @@ -489,7 +572,35 @@
SPI编号
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚37引脚40引脚38引脚39
SPI1引脚26引脚27引脚25引脚24
+ + @@ -678,7 +789,42 @@
SPI编号
- +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPI编号CS引脚CLK引脚MOSI引脚MISO引脚
SPI0引脚31引脚30引脚32引脚33
SPI1引脚52引脚53引脚50引脚51
SPI2引脚74引脚75引脚76引脚77
+ + -- Gitee From 8005706dcbb4741fcc59a81048c8cf565c5a49f2 Mon Sep 17 00:00:00 2001 From: Rivern Date: Fri, 14 Mar 2025 15:33:39 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9BSP=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9A=84=E5=9E=8B=E5=8F=B7=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- after_build.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/after_build.py b/after_build.py index 893660d3..8753c72e 100644 --- a/after_build.py +++ b/after_build.py @@ -47,7 +47,36 @@ def replace_version(file_path): # 增加BSP相关版本选择器 def add_bsp_selecter(file_path): - pass + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # 解析 HTML + soup = BeautifulSoup(content, "html.parser") + + toc_content_div = soup.find("div", id="toc-content") + + + # 创建一个新的 div 标签 + pagination_div = soup.new_tag('div', class_='pagination') + + # 创建 span 标签 + span_tag = soup.new_tag('span') + span_tag.string = '型号选择:' + + # 创建 select 标签 + select_tag = soup.new_tag('select', id='pageSelect') + + # 将 span 和 select 标签添加到 pagination_div 中 + pagination_div.append(span_tag) + pagination_div.append(select_tag) + + # 在 toc_content_div 之前插入新的 div 标签 + toc_content_div.insert_before(pagination_div) + + # 将修改后的 HTML 写回文件 + with open(file_path, 'w', encoding='utf-8') as file: + file.write(soup.prettify()) + def main(): -- Gitee From c639bea89d023f8c542b5baeb18a2045ad8fccf2 Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Fri, 14 Mar 2025 16:02:22 +0800 Subject: [PATCH 16/22] =?UTF-8?q?keypad/SPI=E5=86=85=E5=AE=B9=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E6=94=B9=5Fv0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/API_reference/zh/peripherals/machine.KeyPad.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.KeyPad.md b/docs/API_reference/zh/peripherals/machine.KeyPad.md index f507bcb4..4ae3a21b 100644 --- a/docs/API_reference/zh/peripherals/machine.KeyPad.md +++ b/docs/API_reference/zh/peripherals/machine.KeyPad.md @@ -30,7 +30,7 @@ class machine.KeyPad(row,col) - + @@ -47,7 +47,7 @@ class machine.KeyPad(row,col) - + -- Gitee From db84c867815f49f1d9b3bf7b63601c549843a247 Mon Sep 17 00:00:00 2001 From: "rex.zhou" Date: Fri, 14 Mar 2025 16:30:22 +0800 Subject: [PATCH 17/22] =?UTF-8?q?IIC=E5=86=85=E5=AE=B9=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=5Fv0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/peripherals/machine.I2C.md | 478 +++++++++++++++++- 1 file changed, 467 insertions(+), 11 deletions(-) diff --git a/docs/API_reference/zh/peripherals/machine.I2C.md b/docs/API_reference/zh/peripherals/machine.I2C.md index bcfc2d4f..f3f9bfa6 100644 --- a/docs/API_reference/zh/peripherals/machine.I2C.md +++ b/docs/API_reference/zh/peripherals/machine.I2C.md @@ -113,7 +113,7 @@
SPI编号
EC800N/EC600NEC600N 4 4
EC800N/EC600NEC800N 4 4
- +
@@ -130,7 +130,41 @@
I2C编号
- +
+ + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚41引脚42
+ + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C1引脚57引脚56
+ + @@ -280,7 +314,29 @@
I2C编号
- +
+ + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C1引脚68引脚69
+ + @@ -333,7 +389,8 @@ - 注:模块的Pin57与PIN11、Pin56 与Pin12 内部是同一个管脚。 + +注:模块的Pin57与PIN11、Pin56 与Pin12 内部是同一个管脚。
I2C编号I2C1 引脚号57(11) 引脚号56(12)
@@ -351,9 +408,10 @@ I2C0 引脚号67(57) 引脚号66(58) - 注:
- 1.模块的Pin67与Pin57、Pin66 与Pin58 内部是同一个管脚。
- 2.EC800ECN_LE&LQ&CG 的57/58引脚不可用。 + +注: +
1.模块的Pin67与Pin57、Pin66 与Pin58 内部是同一个管脚。 +
2.EC800ECN_LE&LQ&CG 的57/58引脚不可用。 @@ -446,7 +504,29 @@ - +
+ + + + + + + + + + + + + + + + + + + +
I2C编号SCL引脚SDA引脚
I2C0引脚67引脚66
I2C2引脚68引脚69
+ + @@ -669,7 +749,251 @@ if __name__ == '__main__': ## 常量
-
I2C编号
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ @@ -685,6 +1009,10 @@ if __name__ == '__main__': + + + + @@ -697,7 +1025,7 @@ if __name__ == '__main__':
常量I2C.I2C1 I2C通路索引号: 1
I2C.I2C2I2C通路索引号: 2
I2C.STANDARD_MODE 标准模式
- +
@@ -728,9 +1056,137 @@ if __name__ == '__main__':
常量
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.I2C1I2C通路索引号: 1
I2C.I2C2I2C通路索引号: 2
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
+ +
+ + + + + + + + + + + + + + + + + + + + + +
常量说明
I2C.I2C0I2C通路索引号: 0
I2C.STANDARD_MODE标准模式
I2C.FAST_MODE快速模式
- +
-- Gitee From e2ea7854ad42f17edadf8ab79b26e607d9160f15 Mon Sep 17 00:00:00 2001 From: Rivern Date: Sat, 15 Mar 2025 14:55:32 +0800 Subject: [PATCH 18/22] version-V2 --- .gitignore | 1 + publish.py | 137 +++++++++++++++++++++++++++++++++++++++++- static/css/custom.css | 123 ------------------------------------- 3 files changed, 137 insertions(+), 124 deletions(-) diff --git a/.gitignore b/.gitignore index 38063513..8748abd6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ out build +publish temp __pycache__ *.egg-info diff --git a/publish.py b/publish.py index eaebb51b..2b85425b 100644 --- a/publish.py +++ b/publish.py @@ -12,6 +12,8 @@ import json import requests import zipfile import os, shutil +import subprocess +from bs4 import BeautifulSoup, NavigableString repo_url = "https://gitee.com/qpy-doc-center/api_reference.git" @@ -137,6 +139,12 @@ def publish(): os.mkdir("./publish") # 创建发布文件夹 os.chdir("./publish") + # 删除当前目录下旧的api文件 + for i in os.listdir("../docs"): + if i.startswith("API_reference"): + shutil.rmtree("../docs/" + i) + + # 获取API_reference tag列表 tag_list = get_tag_list() @@ -175,6 +183,133 @@ def publish(): # 设置页面版本切换菜单 set_config(tag_list, item) + os.chdir("..") + +def run_teedoc_build(): + try: + # 执行 teedoc build 命令 + result = subprocess.Popen(['teedoc', 'build'], shell=True, cwd=os.getcwd(), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + # 打印命令的输出 + for line in result.stdout: + print(line.decode(encoding='utf-8', errors='ignore')) + + # 打印命令的错误信息(如果有) + if result.stderr: + print("命令错误:") + print(result.stderr) + + except subprocess.CalledProcessError as e: + # 如果命令执行失败,打印错误信息 + print(f"命令执行失败,错误代码: {e.returncode}") + print(f"错误信息: {e.stderr}") + + + + +def find_html_files(path): + html_files = [] + for root, dirs, files in os.walk(path): + for file in files: + if file.endswith('.html'): + html_files.append(os.path.join(root, file)) + return html_files + + +def replace_version(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # 解析 HTML + soup = BeautifulSoup(content, "html.parser") + + # 查找 active 标签中的文本 + active_tag_list = soup.find_all("li", class_="active") + + # 筛选多余选项 + for i in active_tag_list: + active_content = i.text.strip() + if active_content.find("中文") == -1 and active_content.find("English") == -1: + break + # 获取version对应的标签 + version_tag = soup.find("a", string="Version") + + # 替换标签内容 + if version_tag: + version_tag.string = active_content + + # 将修改后的 HTML 写回文件 + with open(file_path, 'w', encoding='utf-8') as file: + file.write(soup.prettify()) + + +# 增加BSP相关版本选择器 +def add_bsp_selecter(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # 解析 HTML + soup = BeautifulSoup(content, "html.parser") + + toc_content_div = soup.find("div", id="toc_content") + + + # 创建一个新的 div 标签 + pagination_div = soup.new_tag('div', class_='pagination') + + # 创建 span 标签 + span_tag = soup.new_tag('span') + span_tag.string = '型号选择:' + + # 创建 select 标签 + select_tag = soup.new_tag('select', id='pageSelect') + + # 将 span 和 select 标签添加到 pagination_div 中 + pagination_div.append(span_tag) + pagination_div.append(select_tag) + + # 在 toc_content_div 之前插入新的 div 标签 + toc_content_div.insert_before(pagination_div) + toc_content_div.insert_before(NavigableString('\n')) + + + # 将修改后的 HTML 写回文件 + with open(file_path, 'w', encoding='utf-8') as file: + file.write(soup.prettify()) + + + +def main(): + path = "out\\doc\\" + api_path_list = [] + try: + for i in os.listdir(path): + if i.startswith("API_reference"): + api_path_list.append(path + i) + except Exception as e: + print("teedoc编译失败,未发现编译生成文件目录") + + # 获取所有api html列表 + html_files = [] + for path in api_path_list: + html_files += find_html_files(path) + + # 修改版本下拉选项 + for file in html_files: + print("replace_version: " + file) + replace_version(file) + + # 增加BSP相关版本选择器 + bsp_filter = ["machine.I2C", "machine.SPI", "machine.Pin", "machine.UART", "machine.KeyPad", "misc.ADC"] + for file in html_files: + for i in bsp_filter: + if file.find(i) != -1: + print("add_bsp_selecter: " + file) + add_bsp_selecter(file) + + if __name__ == "__main__": - publish() \ No newline at end of file + publish() + run_teedoc_build() + main() diff --git a/static/css/custom.css b/static/css/custom.css index eb63f4e3..6852c4e6 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -1,127 +1,4 @@ -#navbar h2 { - color: ${main_color}; -} -#navbar .site_logo { - margin-right: 0.5em; -} -#page_footer { - margin-top: 0; -} -#home_page #page_content h1 { - width: 100%; - font-size: 6em; - text-align: center; - font-family: sans-serif; - color: ${main_color}; -} -#home_page h3 { - width: 100%; - text-align: center; -} -#navbar { - background: white; - z-index: 98; - box-shadow: 0px 0px 5px 0px #e4e4e4; -} -.dark #navbar { - background: #161616; - z-index: 98; - box-shadow: 0px 0px 5px 0px #0000002e; -} -#home_page .logo { - height: 2em; - vertical-align: middle; - filter: invert(56%) sepia(31%) saturate(171%) hue-rotate(196deg) brightness(87%) contrast(86%); -} -.big_btn_wrapper { - display: flex; - justify-content: space-evenly; - margin: 8em 1em; -} -#home_page .big_btn a { - padding: 2em; - background-color: ${main_color}; - font-size: 1.3em; - border-radius: 10px; - transition: 0.4s; - display: flex; - color: white; -} -#home_page .big_btn a:hover { - box-shadow: 6px 4px 20px #0000002e; -} -.md_page #page_content > div { - width: 100%; - max-width: 100%; - margin: auto; - line-height: 2em; -} -.dark #home_page .big_btn a { - background-color: #1b5638; - color: #d2f9e5; -} -.dark #home_page .big_btn a:hover { - box-shadow: 6px 4px 20px #000000; - background-color: #2a7d53; -} -#home_page .dark #navbar { - background: #1f1f1f; - box-shadow: 0px 0px 5px 0px #000000; -} - -.section { - overflow: hidden; -} -.dsc_wrapper_left > div > div { - display: flex; - flex-direction: row; - align-items: center; -} -.dsc_wrapper_left .dsc_left { - width: 50%; - text-align: center; - color: #818395; -} -.dsc_wrapper_left .dsc_right { - flex-grow: 1; - text-align: center; - color: #818395; -} - -.dsc_wrapper_right > div > div { - display: flex; - flex-direction: row; - align-items: center; -} -.dsc_wrapper_right .dsc_right { - width: 50%; - text-align: center; - color: #818395; -} -.dsc_wrapper_right .dsc_left { - flex-grow: 1; - text-align: center; - color: #818395; -} - - -@media screen and (max-width: 900px) { - #navbar #navbar_items { - display: none; - } - .dsc_wrapper_left > div > div { - flex-direction: column; - } - .dsc_wrapper_right > div > div { - flex-direction: column-reverse; - } - #home_page .big_btn a { - padding: 1em; - font-size: 1em; - } -} - /* 版本选择器 */ #toc span { -- Gitee From 9ce616f78ee210c81dbd0167d2bee9fe6d56e648 Mon Sep 17 00:00:00 2001 From: Rivern Date: Sat, 15 Mar 2025 15:16:47 +0800 Subject: [PATCH 19/22] edit publish error --- publish.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publish.py b/publish.py index 2b85425b..a5e71719 100644 --- a/publish.py +++ b/publish.py @@ -113,7 +113,7 @@ def set_config(tag, src): else: folder_url = "_" + folder_url # 带版本的链接 items.insert(0, { - "url": "/API_reference_" + folder_url + "/en/", + "url": "/API_reference" + folder_url + "/en/", "label": i["name"] + "(latest)" if index == len(tag) - 1 else i["name"] }) -- Gitee From ca4184d297faa8f5b5f2f2acec3b21d3e37aa5f0 Mon Sep 17 00:00:00 2001 From: Rivern Date: Sat, 15 Mar 2025 15:29:57 +0800 Subject: [PATCH 20/22] edit js --- static/js/custom.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/static/js/custom.js b/static/js/custom.js index aafd4aa5..d7362f73 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -213,6 +213,10 @@ function renderTable(page) { // 渲染 常量表格 const table_cons = document.querySelector(".table-cons-QuecPython") + if ( table_cons == null) { + // 如果没有常量表格 + return; + } table_cons.innerHTML = ""; // 清空表格内容 var pageData = [] // 筛选表格中需要渲染的数据 -- Gitee From cb788e781e0f3539732143214cef0847706e6a18 Mon Sep 17 00:00:00 2001 From: Rivern Date: Sat, 15 Mar 2025 21:18:15 +0800 Subject: [PATCH 21/22] edit js --- publish.py | 2 +- static/js/custom.js | 56 +++++++++++++++++++++++++++++---------------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/publish.py b/publish.py index a5e71719..8ee29f3c 100644 --- a/publish.py +++ b/publish.py @@ -229,7 +229,7 @@ def replace_version(file_path): # 筛选多余选项 for i in active_tag_list: active_content = i.text.strip() - if active_content.find("中文") == -1 and active_content.find("English") == -1: + if active_content.startswith("V"): break # 获取version对应的标签 version_tag = soup.find("a", string="Version") diff --git a/static/js/custom.js b/static/js/custom.js index d7362f73..ce137544 100644 --- a/static/js/custom.js +++ b/static/js/custom.js @@ -10,8 +10,8 @@ var headerData_api = []; // 表头数据 var tableData_cons = []; // 表格数据 var headerData_cons = []; // 表头数据 // 正文内容 -var content -var content_global +var content_list = []; +var content_global_list = []; @@ -38,12 +38,15 @@ function main() { console.log("没有cons相关的表格"); } - content = document.querySelector(".content-QuecPython") - console.log(content) - if (content) { - content_global = content.cloneNode(true) + content_list = document.querySelectorAll(".content-QuecPython") + console.log(content_list) + if (content_list) { + content_list.forEach(function(content) { + content_global = content.cloneNode(true) + content_global_list.push(content_global) + }) } - + console.log(content_global_list) console.log('BSP数据:', BSPData); @@ -144,20 +147,33 @@ function getTableData(type, tables) { function renderContent(page) { // 判断是否有BSP相关的正文属性内容 - console.log(content_global) - if (content_global) { - var divs = content_global.querySelectorAll("div"); - console.log(divs) - - divs.forEach(function(div) { - if (div.className.includes(page)) { - console.log("有BSP相关的正文属性内容"); - content.innerHTML = div.innerHTML - }else{ - // div.style.display = "none" + + console.log(content_global_list) + content_global_list.forEach(function(content_global, index) { + if (content_global) { + var divs = content_global.querySelectorAll("div"); + console.log(divs) + + for (const div of divs) { + match_flag = false + if (div.className.includes(page)) { + console.log("有BSP相关的正文属性内容"); + content_list[index].innerHTML = div.innerHTML + match_flag = true + break; + + }else{ + // div.style.display = "none" + } } - }) - } + if (match_flag == false) { + content_list[index].innerHTML = "" + console.log("ces正文属性内容") + } + } + + }) + } -- Gitee From 438c24c40763a6e885dbac4dcf4c2169a3859a82 Mon Sep 17 00:00:00 2001 From: Rivern Date: Wed, 19 Mar 2025 11:25:10 +0800 Subject: [PATCH 22/22] edit css --- site_config.json | 1 - static/css/custom.css | 16 ++++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/site_config.json b/site_config.json index de227c58..838e2dc1 100644 --- a/site_config.json +++ b/site_config.json @@ -105,7 +105,6 @@ ], "footer_items": [ "/static/js/custom.js" - ], "env": { "main_color": "#000000" diff --git a/static/css/custom.css b/static/css/custom.css index 6852c4e6..f6bed234 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -2,9 +2,12 @@ /* 版本选择器 */ #toc span { - font-size: 20px; /* 你可以根据需要调整字体大小 */ - font-weight: bold; /* 加粗 */ - margin-bottom: 3px; /* 可选:增加底部间距 */ + font-size: 18px; /* 你可以根据需要调整字体大小 */ + font-weight: bolder; /* 加粗 */ +} + +#toc { + margin-top: 20px; } .pagination { @@ -13,11 +16,12 @@ } #pageSelect { - padding: 4px 8px; - margin-left: 10px; + margin-bottom: 18px; /* 可选:增加底部间距 */ + padding: 4px 10px; + margin-left: 4px; border: 1px solid #ccc; border-radius: 4px; - font-size: 10px; + font-size: 16px; background-color: #fff; appearance: auto; /* 去掉默认的下拉箭头 */ background-image: url('data:image/svg+xml;utf8,'); -- Gitee
常量