-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: add manual on setting up env & flashing demo firmware
- Loading branch information
Showing
38 changed files
with
185 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,133 @@ | ||
Налаштування середовища розробки | ||
================================ | ||
Запуск першої прошивки | ||
====================== | ||
|
||
TODO | ||
Для розробки програмного забезпечення для Lilka використовується середовище PlatformIO. | ||
|
||
PlatformIO - це набір інструментів для розробки вбудованого програмного забезпечення, який автоматизує процес збірки, завантаження та налагодження програмного забезпечення для мікроконтролерів. | ||
|
||
PlatformIO автоматично встановлює необхідні залежності, такі як компілятори, бібліотеки та інші інструменти, що необхідні для написання програм. | ||
|
||
В цьому документі описано процес налаштування середовища розробки для Lilka з використанням PlatformIO та Visual Studio Code для ОС Windows на прикладі демонстраційної прошивки для Лілки. | ||
|
||
Якщо ви використовуєте MacOS, процес буде схожим, але можуть бути деякі відмінності в налаштуваннях. А якщо ви використовуєте Linux, то ви, скоріш за все, вже знаєте, що робити, і цей документ вам не потрібен. ;) | ||
|
||
Встановлення Visual Studio Code, PlatformIO та Git | ||
-------------------------------------------------- | ||
|
||
1. Встановіть **Visual Studio Code** з офіційного сайту: https://code.visualstudio.com/ | ||
|
||
.. image:: ./images/01_download_vscode_cropped.png | ||
:width: 50% | ||
|
||
2. Запустіть **Visual Studio Code** та встановіть плагін **PlatformIO IDE**. | ||
|
||
Для цього відкрийте вкладку **Extensions** (``Ctrl`` + ``Shift`` + ``X``), введіть "**PlatformIO**" в поле пошуку та встановіть плагін. | ||
|
||
.. image:: ./images/04_install_platformio_cropped.png | ||
:width: 50% | ||
|
||
.. .. image:: ./images/05_installed_platformio.png | ||
.. :width: 50% | ||
3. Тепер нам потрібно встановити **Git**. | ||
|
||
**Git** - це система керування версіями, яка дозволяє ділитися кодом з іншими розробниками та використовувати код з відкритих репозиторіїв. | ||
|
||
Весь код для Лілки, а також бібліотеки, які використовуються в проекті, знаходяться на `GitHub <https://github.com/and3rson/lilka>`_, тому нам потрібно встановити **Git**, щоб здійснювати роботу з репозиторіями. | ||
|
||
Для встановлення **Git** перейдіть на вкладку **Source Control** (``Ctrl`` + ``Shift`` + ``G``) та натисніть "**Download Git for Windows**". | ||
|
||
.. image:: ./images/06_download_git_for_win_cropped.png | ||
:width: 50% | ||
|
||
В процесі встановлення не змінюйте жодних параметрів, залиште все так, як є за замовчуванням, окрім кроку "**Choosing the default editor used by Git**". | ||
|
||
На цьому кроці виберіть "**Use Visual Studio Code as Git's default editor**". | ||
|
||
.. image:: ./images/07_use_vs_code_with_git_cropped.png | ||
:width: 50% | ||
|
||
4. Після встановлення **Git** перезапустіть **Visual Studio Code**. | ||
|
||
Клонування репозиторію та побудова демонстраційної прошивки | ||
----------------------------------------------------------- | ||
|
||
1. Перейдіть на вкладку **Source Control** (``Ctrl`` + ``Shift`` + ``G``) та клонуйте репозиторій `Lilka <https://github.com/and3rson/lilka>`_: | ||
|
||
.. image:: ./images/08_clone_repo_cropped.png | ||
:width: 50% | ||
|
||
Для цього натисніть "**Clone Repository**" та введіть адресу репозиторію: | ||
|
||
``https://github.com/and3rson/lilka`` | ||
|
||
.. image:: ./images/09_clone_cropped.png | ||
:width: 50% | ||
|
||
2. Після клонування репозиторію перейдіть на вкладку **PlatformIO** та імпортуйте проєкт основної прошивки для Лілки. Для цього натисніть "**Open Project**" та виберіть директорію ``lilka/firmware/main``. | ||
|
||
.. image:: ./images/11_open_pio_project_cropped.png | ||
:width: 50% | ||
|
||
3. Тепер нам потрібно дочекатися налаштування середовища розробки. | ||
|
||
**PlatformIO** автоматично встановить необхідні залежності, такі як компілятори, бібліотеки та інші інструменти, що необхідні для написання програм для Лілки. | ||
|
||
.. image:: ./images/13_wait_pio_project_init_more_cropped.png | ||
:width: 50% | ||
|
||
4. Після налаштування середовища розробки перейдіть на вкладку **PlatformIO** та виберіть ``v2`` в якості цільової платформи. Потім натисніть "**Build**". | ||
|
||
.. image:: ./images/14_pio_build_v2_cropped.png | ||
:width: 50% | ||
|
||
Тепер потрібно дочекатися завершення збірки. Перша збірка може зайняти деякий час. | ||
|
||
.. image:: ./images/15_pio_build_v2_progress_cropped.png | ||
:width: 50% | ||
|
||
Щойно збірка завершиться, ви побачите повідомлення про успішне завершення збірки: | ||
|
||
.. image:: ./images/16_pio_build_ok_cropped.png | ||
:width: 50% | ||
|
||
Завантаження демонстраційної прошивки в Лілку | ||
--------------------------------------------- | ||
|
||
1. Підключіть Лілку до комп'ютера за допомогою USB-кабеля та увімкніть її. | ||
|
||
Windows може вимагати встановлення драйверів для Лілки. Якщо вам буде запропоновано встановити драйвери, встановіть їх. | ||
|
||
Після цього вимкніть Лілку. | ||
|
||
Тепер вам потрібно натиснути та утримувати кнопку ``SELECT`` і увімкнути Лілку. Після цього можна відпустити кнопку ``SELECT``. | ||
Це переведе Лілку в **режим завантаження** (**bootloader mode**): в цьому режимі ви можете завантажити в неї нову прошику. | ||
|
||
2. Тепер перейдіть на вкладку **PlatformIO** та виберіть ``v2`` в якості цільової платформи. Потім натисніть "**Upload**". | ||
|
||
Спершу **PlatformIO** виконає підготовчі дії, а потім розпочне завантаження нашої свіжозібраної прошивки в Лілку. | ||
|
||
.. image:: ./images/17_run_upload_v2_cropped.png | ||
:width: 50% | ||
|
||
Початок завантаження виглядатиме ось так: | ||
|
||
.. image:: ./images/18_upload_progress_cropped.png | ||
:width: 50% | ||
|
||
Тепер потрібно дочекатися завершення завантаження. Щойно завантаження завершиться, ви побачите повідомлення про успішне завершення завантаження: | ||
|
||
TODO: додати скріншот, оскільки я це все робив під віртуалкою без Лілки під рукою. :) | ||
|
||
3. Коли завантаження завершиться, натисніть кнопку ``RESET`` на Лілці та насолоджуйтесь новою прошивкою! | ||
|
||
Вітаємо! | ||
-------- | ||
|
||
Вітаємо, ви успішно налаштували середовище розробки та завантажили демонстраційну прошивку в Лілку! | ||
|
||
Ви можете потицяти Лілку та переконатися, що вона працює і спробувати різні демо. Також ви можете перейти на вкладку **Explorer** (``Ctrl`` + ``Shift`` + ``E``), відкрити файл ``src/main.cpp`` та поглянути, як виглядає код прошивки, яку ми щойно зібрали і запустили на Лілці. | ||
|
||
**Лілка - це відкрита платформа**, тому ви можете змінювати код прошивки, додавати нові функції та вдосконалювати Лілку, або навіть створювати власні прошивки для неї. | ||
|
||
**Але перш ніж приступати до цього**, рекомендуємо ознайомитися з документацією бібліотеки `lilka`, яка спрощує роботу з Лілкою, за `цим посиланням </library>`_. |
This file was deleted.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,5 @@ TODO | |
|
||
assembly | ||
environment | ||
flashing | ||
development | ||
extension |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Lilka | ||
|
||
Бібліотека для роботи з компонентами [Лілки](https://lilka.readthedocs.io/). | ||
|
||
# Приклад використання | ||
|
||
```cpp | ||
#include <lilka.h> | ||
|
||
void setup() { | ||
lilka::begin(); | ||
// Все залізо готове до роботи! | ||
} | ||
|
||
void loop() { | ||
// Заповнити екран чорним кольором | ||
lilka::display.fillScreen(lilka::display.color565(0, 255, 0)); | ||
|
||
while (1) { | ||
// Отримати стан кнопок | ||
lilka::State state = lilka::controller.getState(); | ||
|
||
if (state.a.justPressed) { // Якщо щойно була натиснута кнопка "A"... | ||
// Розпочати відтворення звуку на частоті 440 Гц | ||
lilka::buzzer.play(440); | ||
// Заповнити екран червоним кольором | ||
lilka::display.fillScreen(lilka::display.color565(255, 0, 0)); | ||
} else if (state.a.justReleased) { // Якщо кнопка "A" щойно була відпущена... | ||
// Зупинити відтворення звуку | ||
lilka::buzzer.stop(); | ||
// Заповнити екран зеленим кольором | ||
lilka::display.fillScreen(lilka::display.color565(0, 255, 0)); | ||
} | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters