Разработка Microbit Platformio — у объекта ‘PlatformIOLibBuilder’ нет атрибута ‘get_inc_dirs’

В настоящее время я пытаюсь поэкспериментировать с разработкой микробита BBC на c ++ с помощью IDE Platformio на Atom.

У меня есть программное обеспечение, работающее с другими платами (различными платами NUCLEO, которые у меня есть), и сам код для mircobit — это простой скроллер «Hello World», который прекрасно компилируется на онлайн-компиляторе mbed.

При компиляции на platformio я получаю:

Attribute Error: 'PlatformIOLibBuilder' object has no attribute 'get_inc_dirs'

Я попытался установить микробитовые библиотеки Университета Ланкастера, и platformio говорит, что они установлены, но не отображаются в папке lib проекта, который я использую.

Когда дело доходит до разработки, я очень новичок в настройке сред и IDE, и я продолжаю искать ответы на все вопросы, но сложно отфильтровать, что мне нужно сделать, чтобы решить эту проблему. Несмотря на то, что микробит является поддерживаемой платой, руководства по его использованию не существует, и кажется, что любая другая плата отлично работает со всеми установками по умолчанию.

ОБНОВЛЕНИЕ: решение ниже работает также для Ubuntu и окон, хотя светодиодные дисплеи выглядят немного искаженными при попытке прокрутки текста. Тем не менее, последовательная связь показывает, что настоящий микробит делает то, что должен.

Ошибки в отображении могут быть связаны с тем, что библиотеки микробитов v2.0.0-rc4, тогда как самая последняя версия Университета Ланкастерских библиотек, кажется, v2.0.0-rc10.

1

Решение

Редактировать:
Я использую Linux Mint и плагин platformio в Atom. Я сообщил об ошибке. Прежде всего, я использовал инструмент командной строки для обновления Platoformio:

~/.platformio/penv/bin/pio update

Чтобы удалить ошибку get_dirs и включить мой код для компиляции:

В

~/.platformio/lib/nrf51-sdk/platformio_extra.py

изменить строку:

pio_lib_builder.env.Prepend(CPPPATH=pio_lib_builder.get_inc_dirs())

чтобы:

pio_lib_builder.env.Prepend(CPPPATH=pio_lib_builder.get_include_dirs())

Я получил эту идею от:

https://github.com/palfrey/nrf51-sdk/pull/1/files

Чтобы получить скомпилированный код для загрузки, я запускаю atom как sudo:

sudo atom
1

Другие решения

Других решений пока нет …