@cella-lang/arduino

中文文档
0.1.202611090959发布于 2026/11/09Apache-2.0零依赖近 30 天下载 1.1万

Arduino and ESP32/ESP8266 for Cella Lang, on @cella-lang/cpp:董事会的核心和库,来自他们的C++来源(纸币、定时器和中断、串行、液晶、服务器、DHT、EEPROM、WiFi),一个模拟时钟,以及由主机提供的传感器值——编译

中文使用文档
文档目录6 节
  1. 程序
  2. 核心和图书馆
  3. 环境投入
  4. 判决
  5. 条目
  6. 正在装入

@cella-lang/马尔杜诺

阿尔杜伊诺、ESP32和ESP8266 单元格a 作为编译模块的校验器 包: C++17 在一板上. 棋盘是程序的环境:它决定数据模型(相同) int 16 位数 在一款Uno和一款ESP32上的32位元上,其核心和库都是从他们的C++来源来模拟的.

取决于 @cella-lang/cpp, (中文(简体) ), @cella-lang/cfamily 财务报告和审定财务报表 @cella-lang/machine。 。 。 .

程序

JSON (美国) @cella-lang/cfamily语法与 "lang": {"k": "langCpp"} 和一块板子: {"k": "prog", …, "board": "uno"}。 。 。 .

董事会intdouble
uno (另见: arduino, (中文(简体) ), nano16 个比特32个比特
esp32, (中文(简体) ), esp32c3, (中文(简体) ), esp32s3, (中文(简体) ), esp32s3Cam, (中文(简体) ), nodemcuEsp8266, (中文(简体) ), wemosD1Mini32个比特64个比特

一个未知的董事会做出判决 invalid。程序与 setup 财务报告和审定财务报表 loop 没有 main 运行像一个草图: setup 曾经,那么 loop 直到5个模拟秒。 定义自身条目的程序( :main 在AVR的板, app_main 在ESP32上运行 而不是核心.

核心和图书馆

核心: 针,时间, map, (中文(简体) ), tone 财务报告和审定财务报表 noTone, (中文(简体) ), pulseIn,董事会的常数({"k": "eConst", "name": "LED_BUILTIN"}, (中文(简体) ), Serial, (中文(简体) ), Serial1...,还有 String。如同一个真实的草图一样,一个图书馆的名字会带有它的标题 (单位:千美元){"k": "iInclude", "header": "Servo.h"}: EEPROM.h, (中文(简体) ), Servo.h, (中文(简体) ), DHT.h, (中文(简体) ), LiquidCrystal.h, (中文(简体) ), LiquidCrystal_I2C.h, (中文(简体) ), 和在ESP董事会 WiFi.h (单位:千美元)WiFi.localIP() 是一个 IPAddress,打印为 a.b.c.d) (中文(简体) ). 库对象为 普通对象: 以 tClass 并使用 eMCall模型遵循AVR核心, arduino-esp32 3.0.7和esp8266/Arduino 3.1.2. arduino.boardInfo "uno" 列出棋盘上的草图可以命名: 常数、序列端口、全球对象和图书馆类.

环境投入

节目的JSON 可能会随时间推移 环境的输入 "board"数字 :

"inputs": [{"t": 1500, "key": "analog:A0", "value": 100}]

t 以毫秒为单位;一旦模拟时钟到达,输入即适用,而给设备取名的输入则等待到 设备被宣布。 键 :

密钥投入
analog:A0模拟指针读取
digital:2数字指针的水平
echo:10脉冲宽度 pulseIn 在针上读取,以微秒计(无给定:无脉冲)
touch:4什麽 touchRead (ESP32 有触觉;无:75个)
dht:<name>.temperature, (中文(简体) ), dht:<name>.humiditydHT 传感器的读取( 两者均给出传感器答案; 缺失时不插)
wifi状态 WiFi.begin 结尾为: wl_status_t (无: WL_CONNECTED(中文(简体) )
eeprom:<address>一个EEPROM 电池在动力上的内容

设备以宣布它们的变量命名(s, (中文(简体) ), lcd,一个数组的元素 arm[0], (中文(简体) ), arm[1]),则在 键和在 env 相同; 无变量对象( 成员, 临时) 为 dev<n>输入是运行的 环境, 而不是程序的语法: 只有这个软件包的条目读取它们, 以及一个 C 或 C++ 程序, 没有棋盘 载着他们 invalid。 。 。 .

判决

JSON案的判决 @cella-lang/cfamily,用硬件所做的:

  • pins: 针值的每个变化, {t, pin, value} (PWM职责确定后,其他级别);最多1 000人 pinsTruncated 说当更多被扔下;
  • env:末端的硬件:时钟,回路运行,每个接针的模式,级别,PWM和基调,服务器 LCD的行和写作的EEPROM单元格.

条目

  • arduino.verdict src input fuel判决; input 这是什么 Serial 读取。 内核证明的判决: kernel_verdict_in("arduino", "arduino.verdict", …) 内 cella-lang。 。 。 .
  • arduino.types src candidates: 类型查询(格式为 @cella-lang/cfamily) (中文(简体) ).
  • arduino.boardInfo name:棋盘上的草图可以指名道姓.
  • arduino.withInputs src inputs节目的JSON与 inputs 联合国 "inputs",用于以 Cella 书写的主机(a) JavaScript 主机设置了字段.
  • 调试器,用于 cella-lang/dap数字 : load (应用程序) "inputs", (中文(简体) ), run, (中文(简体) ), stopConf, (中文(简体) ), stopKind, (中文(简体) ), stopNode, (中文(简体) ), stopOut, (中文(简体) ), stopErr, (中文(简体) ), stopDetail, (中文(简体) ), divergences, (中文(简体) ), feed, (中文(简体) ), globals, (中文(简体) ), frames, (中文(简体) ), setVarErr, (中文(简体) ), setVarConf, (中文(简体) ), env (暂停运行的硬件,如线面板所示), setInput key value (投入) 暂停时更改, clockMs (模拟时钟) report input fuel session整个运行与所有的 输入一次. cella-lang/dap 记录在调试时更改输入,以及 inputScript() 还给他们 作为 "inputs" 判决重播.

正在装入

将包装入 cella-lang 名为 index.json (单位:千美元)checkerHash, (中文(简体) ), cbfVersion; 数据 peerDependencies 标定它 : index.requires["cella-lang"].modules软件包 index.requires.packages (每种方式都相同),然后按顺序排列此软件包的模块 index.modules.arduino.deps。 。 。 . cella-lang读取 (单位:千美元)正式软件包)有密码.

版本与发布记录

@cella-lang/arduino 共发布 61 个版本,首次发布于 2026/10/30;过去 12 个月发布了 61 个版本。

版本发布日期距今
0.1.202611090959latest2026/11/09今天
0.1.2026110909552026/11/09今天
0.1.2026110822142026/11/09今天
0.1.2026110809592026/11/081 天前
0.1.2026110805242026/11/081 天前
0.1.2026110804152026/11/081 天前

关于 @cella-lang/arduino 的常见问题

@cella-lang/arduino 是什么?

Arduino and ESP32/ESP8266 for Cella Lang, on @cella-lang/cpp:董事会的核心和库,来自他们的C++来源(纸币、定时器和中断、串行、液晶、服务器、DHT、EEPROM、WiFi),一个模拟时钟,以及由主机提供的传感器值——编译

如何安装 @cella-lang/arduino?

在项目目录运行 npm install @cella-lang/arduino,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:cella-lang(0.1.202611090954)、@cella-lang/cpp(0.1.202611090959)、@cella-lang/cfamily(0.1.202611090959)、@cella-lang/machine(0.1.202611090959)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cella-lang/arduino 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cella-lang__arduino 是否存在。

@cella-lang/arduino 可以商用吗?

@cella-lang/arduino 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cella-lang/arduino 的下载量有多少?

根据 npm 官方下载统计,@cella-lang/arduino 在 2026/10/10 – 2026/11/08 这 30 天内被下载 11,062 次,日均约 369 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cella-lang/arduino 还在维护吗?

最新版本 0.1.202611090959 发布于 2026/11/09(今天);至今共发布 61 个版本,其中过去 12 个月发布了 61 个;首次发布于 2026/10/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。