@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"}。 。 。 .
| 董事会 | int | double |
|---|---|---|
uno (另见: arduino, (中文(简体) ), nano | 16 个比特 | 32个比特 |
esp32, (中文(简体) ), esp32c3, (中文(简体) ), esp32s3, (中文(简体) ), esp32s3Cam, (中文(简体) ), nodemcuEsp8266, (中文(简体) ), wemosD1Mini | 32个比特 | 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>.humidity | dHT 传感器的读取( 两者均给出传感器答案; 缺失时不插) |
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读取
(单位:千美元)正式软件包)有密码.