一份vsc中doxygen插件的自动生成相关配置

    // Doxygen documentation generator set
    // 文件注释:版权信息模板
    "doxdocgen.file.copyrightTag": [
        "@copyright Copyright 2009 - 2021, xxx Technology Ltd.",
        "-----------------------------------------------------------------",
        "Statement:",
        "----------",
        "xxx",
        "-----------------------------------------------------------------",
    ],
    "doxdocgen.file.customTag": [
        "-----------------------------------------------------------------",
        "*/\n\n/*",
        "//***********************",
        "//Head Block of The File",
        "//***********************",
        "#ifndef _XXX_H_",
        "#define _XXX_H_\n\n",
        "#ifdef __cplusplus",
        "extern \"C\" {",
        "#endif\n\n",
        "//Sec 0: Comment block of the file\n\n",
        "//Sec 1: Include File\n\n",
        "//Sec 2: Constant Definitions, Imported Symbols, miscellaneous\n\n",
        "//******************************",
        "//Declaration of data structure",
        "//******************************",
        "//Sec 3: structure, uniou, enum, linked list\n\n",
        "//********************************************",
        "//Declaration of Global Variables & Functions",
        "//********************************************",
        "//Sec 4: declaration of global variable\n\n",
        "//Sec 5: declaration of global function prototype\n\n",
        "//***************************************************",
        "//Declaration of static Global Variables & Functions",
        "//***************************************************",
        "//Sec 6: declaration of static global variable\n\n",
        "//Sec 7: declaration of static function prototype\n\n",
        "//***********",
        "//C Functions",
        "//***********",
        "//Sec 8: C Functions\n\n\n\n",
        "#ifdef __cplusplus",
        "}",
        "#endif\n",
        "#endif\n",
    ],
    // 文件注释的组成及其排序
    "doxdocgen.file.fileOrder": [
        "copyright", // 版权
        "file", // @file
        "brief", // @brief 简介
        "author", // 作者
        //"version", // 版本
        "date", // 日期
        //"empty", // 空行
        "custom", // 自定义
    ],
    // 下面时设置上面标签tag的具体信息
    "doxdocgen.file.fileTemplate": "Filename:\n-------------\n@file {name}\n",
    "doxdocgen.generic.briefTemplate": "@brief xxx这里描述文件或者函数的功能\n",
    "doxdocgen.file.versionTag": "@version 1.0",
    "doxdocgen.generic.authorEmail": "xxx@xxx.com",
    "doxdocgen.generic.authorName": "xxx",
    "doxdocgen.generic.authorTag": "Author:\n---------\n@author {author}({email})\n",
    // 日期格式与模板
    "doxdocgen.generic.dateFormat": "YYYY-MM-DD",
    "doxdocgen.generic.dateTemplate": "Create time:\n---------\n@date {date}",
    // 根据自动生成的注释模板(目前主要体现在函数注释上)
    "doxdocgen.generic.order": [
        "brief",
        "tparam",
        "param",
        "return"
    ],
    "doxdocgen.generic.paramTemplate": "@param{indent:8}{param}{indent:2} ",
    "doxdocgen.generic.returnTemplate": "@return {type} ",
    "doxdocgen.generic.splitCasingSmartText": true,
    "doxdocgen.c.commentPrefix": "",
    "[cpp]": {
        "editor.defaultFormatter": "xaver.clang-format"
    },

vsc:无法使用 xxx解析配置

vsc的输出框中显示:
无法使用 xxx解析配置
很糟心,查了半天也没有结果。

最后才明白:
原来是意思是这个xxx无法识别,而不是值不对(这个xxx是从以前的环境中同步过来的,可能已经不兼容字段了)。
解决方法:
就是把这个字段所在的.vscode\xxxxxx.json给删了,其实只删除这个不识别的字段应该也是可以的。

如何在push前修改或者删除commit注释

方法1:

git reset --soft HEAD^

这样就成功撤销了commit,如果想要连着add也撤销的话,–soft改为–hard(删除工作空间的改动代码)。

命令详解:

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2

–soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file

–hard
删除工作空间的改动代码,撤销commit且撤销add

方法2:

git commit --amend

进入vim后,正常编辑后wq退出

嵌入式中实现无侵入二次开发的几种方式

以下介绍几种常见的嵌入式中使用的无侵入二次开发方式:

js

代表就是阿里的haas:https://help.aliyun.com/document_detail/266803.html

下载的是脚本或者编译后的生成文件。

lua

代表就是合宙的openlua:
file
https://doc.openluat.com/article/713/0#%E7%83%A7%E5%BD%95Lua%E8%84%9A%E6%9C%AC
下载的是lua脚本。

python

代表就是移远的QuecPython:
file
https://python.quectel.com/doc/doc/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.html
下载的是Python脚本。

ble中slave,master,server,client有什么关系?

大家在做ble相关开发时,经常看到芯片的规格或者app的描述时,出现slave,master,server,client这些名词,那么这些名词到底是什么意思,有什么关系?

  • Master (or "central") devices scan for other devices, and initiate connection. Usually, the master is the smartphone/tablet/PC.
  • Slave (or "peripheral") devices advertise and wait for connections. Usually, the slave is the BGMxxx module of EFR32 device.
  • Client devices access remote resources over a BLE link using the GATT protocol. Usually, the master is the client.
  • Server devices have a local database and access control methods, and provide resources to the remote client. Usually, the slave is the server.

另外:从协议栈能力本身来说,master和slave是可以并存的,一个设备既可以广播,也可以接收他人的广播。

ref:https://docs.silabs.com/bluetooth/2.13/general/connections/master-and-slave-roles

智能时代-书摘

  • 大数据的特点:3V。大量vast,及时性velocity,多样性variety
  • 自动问答领域7WH问题:what,when,where,which,who,why,how
  • 计算机产生智能的三个要素是数据、数学模型和硬件基础
  • 世界上很多看似人工智能的问题都可以变为分类问题
  • 摩尔定律:戈登摩尔-集成电路的能力每18个月翻一番
  • 计算机获得智能的方式,它并非模仿人的思维方式产生,而是建立在大数据、摩尔定律和数学模型基础之上,通过将问题转化成计算问题,效果上达到人的水平。
  • 经典方法论的核心是:大胆假设,小心求证
  • 经典机械思维的核心:确定性和因果关系
  • 当一个系统完全达到恒温时,就无法做功了,这时熵最大。
  • 熵:在一个封闭的系统中,熵永远是朝着不断增加的方向发展的。也就是说,从微观上将,这个系统越来越无序;从宏观上看,他趋于恒温。
  • 用不确定性的眼光看世界,再用信息消除不确定性
  • 互信息:信息相关性的度量
  • 香农第一定律:任何信息都存在一种编码方法,使得平均编码长度可以非常接近它的信息熵,但是你不能找到一个编码方法,让平均编码的长度小于信息熵
  • 将最好的资源用在出现频率最高的地方,同时兼顾一定的资源防止黑天鹅。
  • 香农第二定律:信息的传播速率不可能超过信道的容量
  • 人脉就是人与人交往的带宽
  • 很多智能问题从根本上来讲就是消除不确定性的问题
  • 搜索质量的竞争其实是浏览器或者其他客户端软件市场占有量的竞争
  • 当一项技术普及之后,人类很难回到没有它的状态
  • 原有产业+新技术=新产业
  • What Andy gives,Bill takes away
  • 技术革命导致商业模式变化
  • 生产会越来越过剩,人们对服务的需求会越来越强烈
  • 提供服务虽然不像销售产品一次能挣很多的钱,但是细水长流的技术服务最终会给这些服务的提供者带来更长久的生意,更多的利润
  • 新技术不断出现,这些具体的技术知识术的进步,只是“术”的进步,而思维方式和做事方式才是“道”的提升
  • 专利数量和创造力、竞争力并没有强关联性
  • 当一家企业能够有机会为每一个家庭提供服务时,他的生意就不会中断
  • 今天,厂商之间的核心竞争力不再是商品本身,而是看谁能整体把握住这个机会。
  • 思维方式的好与坏、先进与落后,决定了一个人能否利用得好技术革命的成就,使自己成为时代的主人
  • 并行计算中,使用的处理器越多,并行计算的效率越低
  • 只有权力才能制约权力
  • 任何能够采集数据的设备都是传感器
  • 人工智能是大脑,iot是神经系统。iot中数量巨大的传感器和设备扮演着众多感官细胞的角色,而5G相当于周围神经。区块链承载着生物信号
  • IOT的两大方向:操作系统,通信标准
  • 企业的基因决定论:老的公司必须由新的公司完成更新换代的革命,这是由企业的基因决定的
  • 物联网市场巨大,远比今天的互联网市场大的多
  • 数据资产的两个问题:所有权问题,容易被复制的问题
  • 未来,由政府主导的区块链大数据平台是方向
  • 智能社会愿景:人类能够更好地了解自己;解决商业纠纷;提高社会运行效率;能够把人从重复性的工作解放出来
  • 未来热点领域:人工智能,iot,5g,区块链
  • 守规矩并非人生来具有的本性,甚至有点违背人性
  • 期权制度最大的威力在于将过去企业在利益分配上的零和游戏,变成了一种非零和游戏。期权制度最大的好处在于它不是零和游戏,如果企业办得好,大家是从资本市场上获利,都有利可图;如果办得不好,大家只能团结起来扭亏为盈,重新得到市场的认可。
  • 大数据隐私问题:1984-big brother
  • 智能时代,产能过剩将是全球所有工业化国家都要面临的一个问题
  • 社会公平只能反映在机会的平等上,而不是结果的公平
  • 挣当2%的人,与时俱进