直接用VI写markdown,然后用Hexo去preview有点太麻烦了,找到几个比较棒的在线编辑markdown的网站 ,非常方便,效率提升十倍。
或者干脆直接用印象笔记自带的markdown编辑器。
technical record
Periodic Advertising Sync Transfer 是BT 5.1的一个新feature,SIG官网上有一篇文章介绍的还不错What You Need to Know About Periodic Advertising Sync Transfer。这里就做一个简单的总结。
这个新概念的引入,本质上是为了省电。对于Legacy的advertising,Advertiser在interval附近会加一个Delay(0~10ms),那么Scanner就需要多开窗来抓到adverting 数据包,增加耗电,而PAST概念就是为了在某个场景下可以解决这个问题。
先看下几种Advertising的概念
Legacy Advertising只在37/38/39三个Channel上打,为了避免adv event刚好跟Scannner的scan window完美错过,在Adv的Interval上会加一个随机值advDalay,让Anchor点随机shift一点点,增加与Scanner的scan window碰撞的几率,示意图如下:
下图为Legacy Adv的PDU的格式:
Legacy Advertising能发送的Adv data有限,所以后来又衍生出了 extended adv:在Data channel里也可以打Adv data,如下图。
而Extended Advertising引入的概念就比较多了,比如:
当收到的Adv的type是 ADV_EXT_IND 时,Adv的Payload的数据格式如下:
在Extended Advertising的基础上,在发送大量数据的时候又引入了Periodic Advertising。
Periodic Advertising 流程的建立有两种方式:
如下图中AoD Transmitter 与 Smartphone的Sync。
如下图右图中Smartphone 与Wearable Device之间的关系,Wearable device在前期不需要开Scan去抓ADV_EXT_IND就知道后续要到哪里去收AUX_SYNC_IND包,从而节约了电能。
下图是Spec中关于Periodic Advertising的一个Sequence flow。
message 流程图如下:
下面三图中A是Scanner,B是Advertiser,A和B中有一个与C有BLE连线,那么会有三种情况:
在学习的过程中经常要做些笔记,记在笔记本上的话非常不方便的查阅。如果只是记日记,记录下每天都做了啥,那用纸质的笔记本还好; 但对于学习笔记要经常整理以及归纳,就得需要经常改动及查阅。
最近有发现一款非常不错的做笔记的软件Marginnote,目前只有iOS/Mac的版本,没有Android的版本。
这款软件可以很方便的在pdf文件上做标记,并且将pdf中的关键字,句子摘录出来,制作成思维导图。让我想起了大师李敖的读书方法,李敖每读一本书,会将书拆的很碎,把经典的句子都从书上剪下来,把剪下来的句子分类整理到自己的册子里,这样自己日后在写作的时候从相关的册子里之间找自己要的东西就好了。
下图为一个处于学习模式的marginnot的snapshot:
第一次看到这个比较新鲜精确的概念:纯时间与毛时间
比如你说你一天上班工作的时间是8小时,但实际上只有2小时是真正在工作的,其他时间可能在做无意义的发呆或是刷微信。那这8小时就是工作的毛时间,2小时就是工作的纯时间。
这个概念是在《奇特的一生》这本书里提到的,在豆瓣上评分还挺高。作者描述了俄罗斯科学家柳比歇夫的时间统计法,用日期+事件+花费时间的方式来记录自己一天所做的事情,并坚持了56年,没有一天断过。柳比歇夫在每周,每月,每年都对自己记录的时间做总结,看哪项事件用了多久,可以精确到分钟。这样有个好处是自己对时间的估算是非常精确的。除了做总结,柳比歇夫还对自己一生的时间做五年规划,每过五年,他就把度过的时间和干过的事分析一通,可以说是做个总的鉴定,总结能客观公正的反映过去一年的历史,抓住变化无常的老想溜掉的日常生活,抓住我们没有擦觉到的损失掉的不知去向的时间。
他能准确的感知时间,精确到1分钟,对他来说,时间的急流事看得见,摸得着的,他仿佛置身于这急流之中,觉得出来光阴冷冰冰的流逝。
然而对于没有远大目标的人来说,这个方法很难坚持下去,坚持也不见得有意义。
我自己每天会做日记记录做了那几件事情,但是还没有做过总结,只是对比下去年同一天在干啥,看起来还挺有意思的。看了这本书有一种豁然开朗的感觉,原来还有记录这么细致的日记,而且对自己的时间剖析的这么认真。
规范 Vol2 的Part E,讲HCI command的第7章有几个command,看起来很有用,这里list下
这个计数器(Failed_Contact_Counter,两个字节)是用来记录由于flush timeout到期(一般是因为空气中信号干扰比较多,数据包重传比较多)而flush掉的数据包的个数,在做bt music的时候经常看到smartphone送过来的数据包的序列号不连续,如果smartphone有用这个command来monitor数据包的状况的话,就比较容易看到这个现象。
When the 802.11 PAL receives an HCI_Read_Failed_Contact_Counter command it shall return the number of consecutive incidents in which the remote device didn’t respond after the flus>h timeout had expired, and the L2CAP packet that was currently being transmitted was automatically flushed. The Failed Contact Counter is specific to each logical link.
可以用来探测目标设备在不在可连接范围内?
The HCI_Truncated_Page command is used to page the BR/EDR Controller with the specified BD_ADDR and then abort the paging sequence after an ID response has been received. See [Vol >2] Part B, Section 8.3.3 for additional information.
复习下page的几个步骤,请看下面的两张图:
BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 2, Part E page 1112
本文来自 https://blog.csdn.net/crazy_scott/article/details/79293576 感谢原作者。
安装插件
npm install hexo-math —save
2 更换Hexo的markdown渲染引擎,hexo-renderer-kramed引擎是在默认的渲染引擎hexo-renderer-marked的基础上修改了一些bug,两者比较接近,也比较轻量级。
npm uninstall hexo-renderer-marked —save
npm install hexo-renderer-kramed —save
解决语义冲突
由于LaTeX与markdown语法有语义冲突,在markdown中,斜体和加粗可以用或者_表示,在这里我们修改变量,将_用于LaTeX,而使用表示markdown中的斜体和加粗。
在博客根目录下,进入node_modules\kramed\lib\rules\inline.js,把第11行的escape变量的值做相应的修改:
//escape: /^\([\`{}[]()#$+-.!_>])/,
escape: /^\([`[]()#$+-.!_>])/,
这一步是在原基础上取消了对,{,}的转义(escape)。
同时把第20行的em变量也要做相应的修改:
// em: /^\b_((?:__|[\s\S])+?)_\b|^*((?:**|[\s\S])+?)*(?!*)/,
em: /^*((?:**|[\s\S])+?)*(?!*)/,
更改配置文件
这里是最重要的一步,我找了好久才在这个网站中找到适用的解决办法。
进入到主题目录,找到_config.yml配置问题,把mathjax默认的false修改为true,并更换cdn的url,具体如下:
# MathJax Support
mathjax:
enable: true
per_page: true
#cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML
cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML
如果配置文件里已经有这一行而且版本比这行还新的话,就可以不用更新。
写博客
在每次需要用LaTeX渲染的博文中,在文章的Front-matter里启动mathjax,具体如下:
-—
title: Hexo Usage
date: 2018-2-8 21:01:30
tags: Hexo
mathjax: true
-—