问题标签 [platformio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - PlatformIO 与 Atom 上的 Python 2 冲突
如果我想在 ATOM 中运行 Python,我必须始终禁用 PlatformIO 并再次重新启动 ATOM,这样它才能正常工作。我设法通过将我安装的 Python 包指向运行 Python 3 而不是标准 Python (Python 2) 来避免这种痛苦,但我真的希望我能理解正在发生的事情,以便我可以根据需要自由使用任何版本。有什么亮点吗?
我的系统是 Linux(mint 19)谢谢!!!
arduino - 根据目标定义环境变量(构建或上传)
在带有 PlatformIO 的 Visual Studio Code 上,当我单击[v]按钮 ( PlatformIO:Build ) 时,IDE 运行以下任务:
当我单击[=>]按钮(PlatformIO:Upload)时,IDE 运行以下任务:
解释:
https://docs.platformio.org/en/latest/userguide/cmd_run.html
我需要区分何时运行目标(编译)或目标上传(--target 上传)以设置不同的环境变量。就像是
因为当我编译项目时,我不想要调试信息(例如 Serial.println()),当我通过 USB 上传程序并附有板时我想要这些信息。
提前致谢。
c++ - _pin 是一个全局变量,但我仍然得到错误:'_pin' 没有在这个范围内声明
编程语言:c++
当我编译我的程序时,我得到这个错误:
/Button.cpp:50:18: error: '_pin' was not declared in this scope
它告诉我该变量_pin
没有在函数范围内声明
bool longPush(unsigned log interval)
,但它已声明,我什_pin
至在其他函数中使用也没问题。
Button
这是给我带来麻烦的库文件:
按钮.h:
按钮.cpp:
.cpp 文件中的错误:
travis-ci - Travis Platformio,未运行 test_main.cpp
我设法让 Travis 和 PlatformIO 一起工作。源代码由 Travis 构建和检查,但我在 test_main.cpp 中找不到我的测试结果。当我更改测试必须失败的源代码时,Travis 也会返回成功。如何解决我的 Travis 检查 test_main.cpp 中的测试的问题,而不仅仅是它是否构建(我猜它现在正在这样做)
测试主程序.cpp
.Travis.yml
Platformio.ini
travis 结果的最后一部分
arduino - 在 Arch Linux 上插入 Arduino 后无法立即打开端口错误
我正在使用 PlatformIO 进行编程,使用 Arduino Mega 和 Arduino Uno。我让它们通过串行连接,所以每次我想对它们进行编程时,我都必须将它们相互断开。我还将它们从计算机上拔下,以免在移动电线时不小心炸毁它们。
每次我重新插入一个或另一个并尝试立即对其进行编程时,我都会收到以下错误消息:
如果我等待大约一分钟再试一次,那么代码将毫无问题地上传。这可能是什么原因造成的?
platformio - 使用 platformio cli 安装 mjs 库(嵌入式 javascript)时出现问题
在将 mjs导入到 platformio 后尝试在mjs中使用函数时出现构建错误:
我可以试试#include <../lib/mjs/mjs.h>
,但它只会包含头文件而不包含 .c 文件。没有任何联系。
如何将 mjs(或任何带有 .c 的外部库)设置为 platformio 库?
细节:
- 我可以尝试
#include <mjs.h>
或#include <mjs/mjs.h>
在 main.c 中,都不起作用。 - 我希望在编译库时将它们复制到 .pioenvs。
但情况似乎并非如此。 - 我从我最喜欢的搜索引擎中尝试了几件事。但没有运气。Platformio 文档似乎也没有太大帮助。如果您认为这需要提交 github 问题,请在评论中告诉我。
ESP32 espressif DFU 库版本 1.5 目前在 Windows 10 上(未来还将使用 WSL Debian、Gentoo Linux 和 Mac)
平台io.ini
ps 我知道在完成原型制作阶段后有 gpl 限制(在制作原型时,没有限制)。所以我确实计划购买商业许可证。我认为这个库不适合 platformio 商店。我想要一个仅限本地的图书馆。
但是那里的许多库可以遵循找到的步骤,扩展 platformio 的可用性......
python - 空白终端屏幕无法在 Atom 的 Platformio-ide-terminal 中键入任何内容
我已经在 Atom 中安装了 platformio-ide-terminal 来处理 python 项目。但是当我打开终端时,它显示空白屏幕,没有写任何东西的选项。
谁能帮我解决这个问题。我也尝试过终端加号,但仍然是同样的问题。
travis-ci - 如何配置 Travis CI 以测试在 PlatformIO 下正确加载库 repo?
我有一个被许多 Arduino 项目使用的库。我使用 PlatformIO 作为我的构建系统,因此我在library.json
库的根目录中创建了一个文件,以识别在项目中包含此库时应加载的依赖库。都好。
有时依赖库会发生变化——PlatformIO 对在 Arduinolibrary.properties
文件中重命名它们特别敏感。当我发现我的库只有在我尝试构建一个使用它的项目时才被破坏时,这是一种痛苦。
我想将 Travis 配置为定期运行(感谢 Travis cron 作业!)并确认我可以加载所有依赖库。
pio ci
并不真正适用于图书馆。pio test
需要 PlatformIO 订阅(强烈推荐,但并不总是一种选择)。
arduino - 无法通过 platformio.ini 覆盖 board_vendor(USB 制造商)
我想覆盖我的 Sparkfun Pro Micro 上的USB_PRODUCT
and字符串。USB_MANUFACTURER
根据文档(http://docs.platformio.org/en/latest/boards/atmelavr/sparkfun_promicro16.html#configuration),我可以
board_***
使用选项覆盖每个构建环境的默认 SparkFun Pro Micro 5V/16MHz 设置
Pro Micro 的板设置 json具有build.usb_product
andvendor
字段(默认为SparkFun Pro Micro
and SparkFun
)。
USB_PRODUCT
我可以用这个覆盖platformio.ini
:
正确的定义将显示在.vscode/c_cpp_properties.json
:
但如图dmesg
所示, onlyUSB_PRODUCT
被应用,而不是USB_MANUFACTURER
:
相关代码位于https://github.com/platformio/platform-atmelavr/blob/master/builder/frameworks/arduino.py#L40。
看起来build_vendor
设置应该有效?
我错过了什么?
c++ - cpp/PlatformIO 类依赖
我通过添加一个外部模数转换器来增加一个 arduino 项目。
为此,我正在使用 Mcp3208 库。我的代码是按传感器组织的一类,我需要从不同的类访问 Mcp3208 实例(adc)。
所以我在不同的类中创建了一个公共库,但这不起作用。我在网上搜索了几个小时,但我还没有找到可以帮助我的文章。
你能解释一下正确的方法吗?我正在使用 Atom 和 platformIO 插件进行编码。
我有一个实例化传感器 (.h) 的 FSM 类:
通用类将 Mcp3208 实例化为 adc (.h):
通用类(.cpp):
这是环境类 (.cpp) 的示例,PowerSensor 是相等的:
这是环境类 (.h) 的示例,PowerSensor 是相等的:
编辑 :
问题是:在 EnvironmentalSensor.cpp 中,mcp3208 adc 给我一个错误。
错误窗口为我提供了一些帮助:
error:lib/EnvironmentalSensor/src/EnvironmentalSensor.cpp:49:10: error: nomatching function for call to 'MCP3208::MCP3208()' MCP3208 adc;
^
lib/Power/src/Power.cpp:38:9:注意:候选人是:在 lib/commons/commons.h:4:0 包含的文件中,来自 lib/Power/src/Power.h:33,
从 lib/Power/src/Power.cpp:34: .piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:74:3: 注意:MCP3208::MCP3208(uint16_t, uint8_t) MCP3208(uint16_t vref, uint8_t csPin);
^
.piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:74:3:注意:候选人需要 2 个参数,提供 0 .piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:65:3:注意:MCP3208::MCP3208(uint16_t, uint8_t, SPIClass*) MCP3208(uint16_t vref, uint8_t csPin, SPIClass *spi);
^
.piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:65:3:注意:候选人需要 3 个参数,提供 0 .piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:16:7:注意:constexpr MCP3208::MCP3208(const MCP3208&)类 MCP3208 {
^
.piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:16:7:注意:候选人需要 1 个参数,提供 0 .piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:16:7:注意:constexpr MCP3208::MCP3208(MCP3208&&)。 piolibdeps/Mcp3208_ID1533/src/Mcp3208.h:16:7:注意:候选人需要 1 个参数,提供 0
但对我来说,我已经在 commons.cpp 中声明了 adc
谢谢你,吉卢