===== Заливка уже откомпилированной прошивки =====
В первую очередь необходимо скачать сам проект.
Это можно сделать либо с использованием утилиты git:
git clone https://github.com/anklimov/lighthub.git
Либо, если у вас она не установлена - открываем [[https://github.com/anklimov/lighthub]]
Далее, нажимаем зеленую кнопку "Clone or download"
Выбираем пункт "Download ZIP", скачиваем и распаковываем архив
Переходим в директорию lighthub-master/compiled/<требуемая_платформа> (список платформ выше)
Подключаете плату USB кабелем к компьютеру (кроме платформы NRF52 - там программирование только при помощи специального устройства JLink, об этом позже)
В диспетчере устройств находите порт, на который села плата (например, com3)
корректируете номер порта в файле upload.bat, который находится в директории, в которую вы вошли
Запускаете файл на выполнение (если выдается запрос "нажмите любую клавишу" - нажимаете)
Прошивка должна загрузиться в ваш контроллер.
===== Компиляция и заливка с использованием platformio + Atom или VSC =====
Проект создан с использование Platformio , аналога Arduino IDE.
Сперва необходимо скачать Visual Studio Code или Atom, установить Platformio в качестве плагина. В интернете много материалов и видеоуроков на эту тему. Скорее всего потребуется установить клиент Git (Для Windows https://git-scm.com/download/win).
Далее, как и в предыдущем случае, необходимо скачать сам проект.
Проект создан с использование Platformio , аналога Arduino IDE.
Это можно сделать либо с использованием утилиты git:
git clone https://github.com/anklimov/lighthub.git
Либо, если у вас она не установлена - открываем [[https://github.com/anklimov/lighthub]]
Далее, нажимаем зеленую кнопку "Clone or download"
Выбираем пункт "Download ZIP", скачиваем и распаковываем архив
В Atom или VSC выбираем пункт "Открыть директорию" (Open Folder), и указываем директорию lighthub.master (или в директорию lighthub если использовался git)
Далее, выбираем файл platformio.ini и раскомментариваем в нем нужный вам вариант платформы (платы) в пункте env_default (убираем ; перед строкой, содержащей нужную платформу, добавляем - перед строкой, содержащей ненужные платформы)
**Для платформы DUE:** обязательно придется найти фаил variant.cpp по пути
.platformio/packages/framework-arduinosam/variants/arduino_due_x
и вставить в него __последней строкой__ следующую строку
void USART0_Handler(void) __attribute__((weak));
сохранить.
Нажимаем кнопку "Build"
Platformio скачивает все нужные библиотеки и компилирует код. Возможно придется несколько раз повторить эту операцию, так как по непонятным причинам, platformio может выдавать ошибки, не скачав какую-то библиотеку.
Если компиляция прошла успешно, можно подключить плату USB кабелем и нажать кнопку Upload
===== Компиляция и заливка с использованием platformio. Вариант командная строка =====
Для того что бы прошить плату в первую очередь необходимо скачать сам проект [[https://github.com/anklimov/lighthub]] и установить Platformio
* Если Вы считатет себя джедаем и не ищете легких путей то работать с платформио можно через командную строку. Для этого нужно:
- установить Python 2.7,
- установить git.
* Модифицировать PATH. идем: мой компьютер->правой кнопокой мыши вызываем контекстное меню->свойства->в появившемся окне "переменные среды"-> в окне "Системные переменные" выбираем переменную Path ->изменить->добавляем строку
;C:\Python27;C:\Python27\Scripts
* Установить Platformio открываем командную строку (поиск в "Пуске" cmd.exe) вводим команду
pip install -U platformio
Учтите, что Platformio установится по умолчанию в папку пользователя С:\Пользователи\Имя пользователя\.platformio
Python 2.7 не поддерживает кириллицу, если имя пользователя написано кириллицей, необходимо скопировать папку Platformio в корень диска C:\ и изменить путь к рабочему каталогу в фале platformio.ini (который находится в ранее скачанной папке lighthub-master), указав после строки [platformio] следующую строку: home_dir = C:\.platformio
Сохраняем файл.
Открываем папку lighthub-master, в строке отображающей путь вводим cmd и нажимаем enter или же выбираем папку в командной строке любым другим способом.
**Для платформы DUE:** обязательно придется найти фаил variant.cpp по пути
.platformio/packages/framework-arduinosam/variants/arduino_due_x
и вставить в него __последней строкой__ следующую строку
void USART0_Handler(void) __attribute__((weak));
сохранить.
Далее вводим pio run -e <платформа>
Вариант <платформа> выберете в зависимости от используемой аппаратной платформы.
; Arduino Mega (without one-wire driver) + Ethernet shield Wiznet 5100
; Компактная сборка для Mega2560
; mega2560slim-5100
; Arduino Mega + Ethernet shield Wiznet 5100
; mega2560-5100
; Arduino Mega + Ethernet shield Wiznet 5500
; mega2560-5500
; LightHub controller HW revision 2.1 and above (Wiznet 5500 CS on pin 53)
; Если у вас плата LightHub версии 2.1 или более новая + DUE - используйте эту конфигурацию
; **lighthub21**
; Arduino DUE + Ethernet shield Wiznet 5100 or 5200 or 5500
; Предпочтительный вариант для DUE с Ethernet Shield (не для платы LightHub), базированный на универсальном драйвере
; **due**
; Arduino DUE + Ethernet shield Wiznet 5100
; вариант для DUE с Ethernet Shield 5100 (старый драйвер, будет убран в следующем релизе)
; due-5100
; Arduino DUE + Ethernet shield Wiznet 5500
; вариант для DUE с Ethernet Shield 5500 (старый драйвер, будет убран в следующем релизе)
; due-5500
; ESP 8266
; **esp8266-wifi**
; ESP-32
; **esp32-wifi**
; M5Stack core (ESP32 based)
; m5stack
; Controllino
; controllino
; STM32 board + ENC28j60 network
; stm32-enc2860
; NRF52 board + Wiznet 5500 network
; nrf52840-5500
Пример: "due-5100" - это плата Arduino DUE + Ethernet Shield v1 на чипе Wiznet-5100
Если у вас Ethernet Shield версии 2.0 или плата LightHub 2.0 - надо использовать "due-5500"
Если плата LightHub версии 2.1 или выше то используйте опцию "lighthub21"
Проект должен скомпилироваться без ошибок.
**ЧАСТО Platformio выдает ошибки на ровном месте (не находит какие-либо файлы). В этом случае, повторный запуск компиляции часто решает эту проблему**
Если ошибок нет вводим pio run -e <платформа> -t upload
Программа должна залиться в аппаратную платформу.
Если возникли ошибки:
Попробовать очистить папку с библиотеками .piolibdeps и .pioenv удалив все их содержимое
===== Использование Arduino IDE для компиляции и заливки прошивки =====
Это достаточно трудоемкий процесс, который требует, чтобы вы вручную установили массу библиотек в IDE.
При всей глюкавости platformio - лучше и проще использовать его.
Если для кого-то будет важно освоить именно этот метод - пишите, мы пополним инструкцию.
Если возникают проблемы - пишите на форуме или в [[https://t.me/lighthub|группу Телеграмм]]
(Вы, также, можете улучшать эту инструкцию)