问题标签 [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.

0 投票
1 回答
214 浏览

python-2.7 - PlatformIO 与 Atom 上的 Python 2 冲突

如果我想在 ATOM 中运行 Python,我必须始终禁用 PlatformIO 并再次重新启动 ATOM,这样它才能正常工作。我设法通过将我安装的 Python 包指向运行 Python 3 而不是标准 Python (Python 2) 来避免这种痛苦,但我真的希望我能理解正在发生的事情,以便我可以根据需要自由使用任何版本。有什么亮点吗?

我的系统是 Linux(mint 19)谢谢!!!

0 投票
1 回答
309 浏览

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 上传程序并附有板时我想要这些信息。

我查看构建选项高级脚本,但我没有找到适合我的任何东西。

提前致谢。

0 投票
1 回答
102 浏览

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 文件中的错误:

0 投票
0 回答
156 浏览

travis-ci - Travis Platformio,未运行 test_main.cpp

我设法让 Travis 和 PlatformIO 一起工作。源代码由 Travis 构建和检查,但我在 test_main.cpp 中找不到我的测试结果。当我更改测试必须失败的源代码时,Travis 也会返回成功。如何解决我的 Travis 检查 test_main.cpp 中的测试的问题,而不仅仅是它是否构建(我猜它现在正在这样做)

测试主程序.cpp

.Travis.yml

Platformio.ini

travis 结果的最后一部分

0 投票
1 回答
721 浏览

arduino - 在 Arch Linux 上插入 Arduino 后无法立即打开端口错误

我正在使用 PlatformIO 进行编程,使用 Arduino Mega 和 Arduino Uno。我让它们通过串行连接,所以每次我想对它们进行编程时,我都必须将它们相互断开。我还将它们从计算机上拔下,以免在移动电线时不小心炸毁它们。

每次我重新插入一个或另一个并尝试立即对其进行编程时,我都会收到以下错误消息:

如果我等待大约一分钟再试一次,那么代码将毫无问题地上传。这可能是什么原因造成的?

0 投票
1 回答
181 浏览

platformio - 使用 platformio cli 安装 mjs 库(嵌入式 javascript)时出现问题

在将 mjs导入到 platformio 后尝试在mjs中使用函数时出现构建错误:

我可以试试#include <../lib/mjs/mjs.h>,但它只会包含头文件而不包含 .c 文件。没有任何联系。

如何将 mjs(或任何带有 .c 的外部库)设置为 platformio 库?


细节:


  1. 我可以尝试#include <mjs.h>#include <mjs/mjs.h>在 main.c 中,都不起作用。
  2. 我希望在编译库时将它们复制到 .pioenvs。
    但情况似乎并非如此。
  3. 我从我最喜欢的搜索引擎中尝试了几件事。但没有运气。Platformio 文档似乎也没有太大帮助。如果您认为这需要提交 github 问题,请在评论中告诉我。

ESP32 espressif DFU 库版本 1.5 目前在 Windows 10 上(未来还将使用 WSL Debian、Gentoo Linux 和 Mac)

平台io.ini


ps 我知道在完成原型制作阶段后有 gpl 限制(在制作原型时,没有限制)。所以我确实计划购买商业许可证。我认为这个库不适合 platformio 商店。我想要一个仅限本地的图书馆。

但是那里的许多库可以遵循找到的步骤,扩展 platformio 的可用性......

0 投票
2 回答
1212 浏览

python - 空白终端屏幕无法在 Atom 的 Platformio-ide-terminal 中键入任何内容

我已经在 Atom 中安装了 platformio-ide-terminal 来处理 python 项目。但是当我打开终端时,它显示空白屏幕,没有写任何东西的选项。

空白终端屏幕

谁能帮我解决这个问题。我也尝试过终端加号,但仍然是同样的问题。

0 投票
1 回答
34 浏览

travis-ci - 如何配置 Travis CI 以测试在 PlatformIO 下正确加载库 repo?

我有一个被许多 Arduino 项目使用的库。我使用 PlatformIO 作为我的构建系统,因此我在library.json库的根目录中创建了一个文件,以识别在项目中包含此库时应加载的依赖库。都好。

有时依赖库会发生变化——PlatformIO 对在 Arduinolibrary.properties文件中重命名它们特别敏感。当我发现我的库只有在我尝试构建一个使用它的项目时才被破坏时,这是一种痛苦。

我想将 Travis 配置为定期运行(感谢 Travis cron 作业!)并确认我可以加载所有依赖库。

pio ci并不真正适用于图书馆。pio test需要 PlatformIO 订阅(强烈推荐,但并不总是一种选择)。

0 投票
0 回答
122 浏览

arduino - 无法通过 platformio.ini 覆盖 board_vendor(USB 制造商)

我想覆盖我的 Sparkfun Pro Micro 上的USB_PRODUCTand字符串。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_productandvendor字段(默认为SparkFun Pro Microand 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设置应该有效?

我错过了什么?

0 投票
1 回答
395 浏览

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

谢谢你,吉卢