官网
下载的安装包setup-x86_64.exe (1M多)是一个在线安装程序, 后面会让你选择是本地安装还是在线安装(Install from internet),不必害怕, 在线装就好了, 后面会有一步添加镜像, 可以添加:

http://mirrors.163.com/cygwin/

  1. cygwin会引入windows的LIB环境变量(或许还有其他的), 而这个环境变量往往设置为windows反斜杠目录形式/还有空格/还有括号, 这些在linux中都不允许的, 最好是在 ~/.bashrc中将LIB删除掉: export LIB=

MIPI扫盲, MIPI官网
主要是由MIPI组织发布的DSI, 走得下层协议有M-PHY/D-PHY/C-PHY.
其他的似乎还有RGB TTL协议和LVDS(Low Voltage Differential Signaling)协议.

ESP32C3支持的LCD协议包括:SPI LCD, I80 LCD (也叫ntel 8080 并行LCD), RGB LCD, I2C LCD, 等等.

ILI9341LCD驱动芯片可驱动320*240 16位色深屏幕

这个淘宝连接使用ILI9341的芯片号称支持了触摸,需要研究下

刚才想到, 菜鸟打印组件就是一个QZ Tray, 也能做到类似条码打印软件要做的事情, 那么,是不是能进行任意标签的打印?
菜鸟打印组件下载
云打印交互协议
菜鸟云打印常见问题
菜鸟模板编辑器
面单云打印(这个似乎和菜鸟打印没有关系)
在工业打印机Zebra 110xi4上发现一个问题:多行文本行间距设置无效,文字总是贴在一起。似乎可以通过菜鸟打印组件菜单->打印选项->对应打印机 中修改打印数据类型ZPL或者其他类型来调整。还需要尝试后才知道。

0无 → 1~10有 → 10~100 兴 → 100~1000 旺 → 1000~10000乱 → 10000~
阶段|无|有|兴|乱|败|合|衰
--|--
供应者数量|0|1~10|10~100|100~10000|10000~1000|1000~10|10~0
消费者数量|0|100~1K|1K~1M|1M~100M|100M~1000M|1000M|1000M~0
时间周期(年)|0|1Y|1Y|1Y|1Y|1Y|5Y

当然是先用demo\sample.html连接上打印机.
TSPL语法参考

var config = qz.configs.create("\\PDS\Deli DL-888T"); 
var data = ['SIZE 60 mm,50 mm\r\n',
'GAP 3 mm,0\r\n',
'DIRECTION 1\r\n',
'CLS\r\n',
'TEXT 10,10, "3",0,1,1,"0001"\r\n',
'PRINT 1,1\r\n',
]
r = qz.print(config, data).then(function() {
   console.log("Sent data to printer";
}).catch(e=>{console.log(e)})

data也可以用一整段发出,重要的是每一行后面要有转义字符\r\n:

data = [`SIZE 60 mm,50 mm\r\n
GAP 3 mm,0\r\n
DIRECTION 1\r\n
CLS\r\n
TEXT 10,10, "3",0,1,1,"0001"\r\n
PRINT 1,1\r\n
`]

原文: assert宏实现中的注意点
实现:

#ifdef _DEBUG_
    #define ASSERT(x) \  
        do { if (!(x)) { printf("ASSERT!file: %s, line: %s\r\n",  __FILE__, __LINE__); } } while(0)  
    #define PRINT(x, y) printf(x, y)
#else  
    #define ASSERT(x) \  
        do { (void)sizeof(x); } while(0)  
    #define PRINT(x, y) (void)sizeof(x)
#endif 

#ifdef POW2_ASSERTS_ENABLED  
    #define POW2_ASSERT(x) \  
        do { if (!(x)) { pow2::Assert::Fail(#x, __FILE__, __LINE__); } } while(0)  
#else  
    #define POW2_ASSERT(x) \  
        do { (void)sizeof(x); } while(0)  
#endif   

这篇文章很详细, 不过我觉得比较好的方式是其中提到的altium2kicad这个Github项目.
需要安装perl, 不过如果装了git的话, git下似乎默认会装一个perl,使用where perl命令看一下就知道了. 如果没有装, 建议装strawberry perl, 另一个版本ActivatePerl我在Win10上安装不上, 进度条到最后总是不能完成. 装完使用perl -v可以查看是否装好.
altium2kicad里面主要用convertpcb.pl转换当前目录下的所有.pcbdoc, 转换后后缀名为.kicad_pcb, 这是我有史以来看到的最长的后缀名和第一个带下划线的后缀名了... unpack.pl解压缩.pcbdoc.schdoc文件, convertschema.pl转换原理图. 在转pcb或sch以前必须要先unpack. 我就把这两步做成bat文件了. 如a2kpcb.bat:

perl  D:\rsoft\altium2kicadmaster\unpack.pl
perl  D:\rsoft\altium2kicadmaster\convertpcb.pl

有时候运行会提示缺少组件: you may need to install the Math::Geometry::Planar module. perl上安装模块组件的方式是通过cpan,不过在此之前最好先给cpan改一下镜像源, 找到CPAN/MyConfig.pm文件, 修改其中的urllist为163镜像:

  'urllist' => [q[http://mirrors.163.com/cpan/]],

然后进行安装:

perl cpan Math::Geometry::Planar