Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M
mfang2.0
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 92
    • Issues 92
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • 魔方Web开发组
  • mfang2.0
  • Issues
  • #555

Closed
Open
Opened Sep 08, 2023 by 宋永裕@songyongyu💬
  • Report abuse
  • New issue
Report abuse New issue

[Feat] 初始化代码中 注释的生成

在生成的代码中应该可以添加注释,增加程序可读性

函数的注释实现方式

在函数声明配置文件里使用Comment字段

  • 固定的注释:
"Comment": "使能时钟总线"
  • 填充模式项名称的注释:
"Comment": "#MODEITEM 初始化", 
  • 填充AdvanceVel的注释:
"Comment": "#FROMDB 初始化", 

代码示例:

{
    "DEFAULT": {
        "IsDock": true,
        "Instance": "WKUP",
        "Comment": "使能时钟总线",
        "InitFunction": "FL_CMU_EnableGroup1BusClock",
        "FunctionParam": [ "busClock" ],
        "ParamMember": {
            "busClock": "FL_CMU_GROUP1_BUSCLK_PAD"
        }
    },
    "WKUPx": {
        "Dock": "WakeUpIntEntry",
        "DockType": "DEFAULT",
        "Instance": "WKUP",
        "Comment": "#MODEITEM 初始化",        
        "InitFunction": "FL_WKUP_Init",
        "FunctionNameExtra": "Wakeup",
        "FunctionParam": {
            "param1": "Struct Addr",
            "param2": "FromDB"
        },
        "InitStruct": {
            "Type": "FL_WKUP_InitTypeDef",
            "member": {
                "polarity": "FL_GPIO_WAKEUP_TRIGGER_FALLING"
            },
            "comment": {
                
            }
        }
    },
    "IE_WKUP": {
        "Instance": "WKUP",
        "InitFunction": "格式填充",
        "FunctionNameExtra": "Wakeup",
        "FunctionParam": []
    }
}

结构体成员的注释实现方式

  1. 在函数声明里配置好每一个成员的注释
  • 这里配置的注释,通常是固定的
{
    "InitStruct": {
        "Type": "FL_UART_InitTypeDef",
        "member": {
            "clockSrc": "FL_RCC_UART2_CLK_SOURCE_APB1CLK",
            "baudRate": "19200",
            "dataWidth": "FL_UART_DATA_WIDTH_8B",
            "stopBits": "FL_UART_STOP_BIT_WIDTH_1B",
            "parity": "FL_UART_PARITY_EVEN",
            "transferDirection": "FL_UART_DIRECTION_TX_RX"
        },
        "comment": {
            "clockSrc": "时钟源",
            "baudRate": "波特率",
            "dataWidth": "数据位宽",
            "stopBits": "停止位",
            "parity": "校验位",
            "transferDirection": "传输方向"            
        }
    }
}
  1. 在外设视图的参数配置文件里的每个选项配置注释,使成员的注释跟随选项
{
    "Parameters": {
        "DEFAULT": {
            "Advance": "Reserve",
            "data_type": "DEFAULT",
            "title": "UART Init Params",
            "params": [
                {
                    "name": "parity",
                    "type": "enumerate",
                    "vels": [
                        {
                            "name": "None",
                            "memberVel": "FL_UART_PARITY_NONE",
                            "comment": "无校验"
                        },
                        {
                            "name": "Even",
                            "memberVel": "FL_UART_PARITY_EVEN",
                            "comment": "偶校验"
                        },
                        {
                            "name": "Odd",
                            "memberVel": "FL_UART_PARITY_ODD",
                            "comment": "奇校验"
                        }
                    ]
                }
            ]
        }
    }
}
Edited Sep 24, 2023 by 宋永裕
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
3
Labels
已跟进 延后实现 测试中
Assign labels
  • View project labels
Reference: fmsh-web-develop/mfang2.0#555