Вопрос-ответ

Для поиска по ключевым словам воспользуйтесь комбинацией Ctrl+F.

Ключевое слово «folder» — с чем это едят?

Эта новая фишка появилась в CLEV3R v1.2. Команда folder позволяет автоматически создавать папку с указанным названием и загружать туда скомпилированную программу — а еще автоматически загружать в EV3 медиа файлы, используемые в программе. Если программа работает с текстовыми файлами, они так же будут автоматически созданы в в своей подпапке.

Команда состоит из трёх элементов: ключевое слово и два аргумента в виде строк. Аргументы обязательно указываются в кавычках, как обычный текст. Первый аргумент может быть строго двух видов:

  • sd – папка с именем проекта будет создана на SD карте
  • prjs – папка с именем проекта будет создана во внутренней памяти блока
Важно! Если дана команда загрузить программу на microSD, а в EV3 ее нет, то словите ошибку загрузки.

Второй аргумент – имя папки проекта. Может быть любым, но следует придерживаться определённых правил:

  • можно использовать только символы латинского алфавита A-Z a-z, знак нижнего подчёркивания _ и цифры 0-9
  • имя обязательно должно начинаться с буквы
  • пробелы в имени недопустимы

Теперь не нужно указывать полный путь к фалам, достаточно написать имя файла. Используемые в программе файлы изображений и звуков теперь локализованы в подпапке Media (относительно папки с программой). Для удобства все файлы продублированы в форматах .bmp и .wave.

Команда «folder» влияет на методы работы с медиа и текстовыми файлами:

  • LCD.BmpFile;
  • Speaker.Play;
  • EV3File.OpenWrite;
  • EV3File.OpenAppend;
  • EV3File.OpenRead;
  • EV3File.TableLookup;

Пример кода с применением folder:

При запуске программы на карте microSD будет автоматически создана папкаTestFolder и подпапки Media и Files. В папке Media будут автоматически загружены файлы Tirred middle.rgf и Cat purr.rsf. Также в папке Files будут созданы текстовые файлы rtf_file.rtf и txt_file.txt.

folder "sd" "TestFolder"
LCD.Clear()
LCD.BmpFile(1, 0, 0, "Tired middle")
LCD.Update()
Speaker.Play(100, "Cat purr")
handleRTF = EV3File.OpenWrite("rtf_file.rtf")
EV3File.WriteLine(handleRTF, "This is a rtf file")
EV3File.Close(handleRTF)
handleTXT = EV3File.OpenWrite("txt_file.txt")
EV3File.WriteLine(handleTXT, "This is a txt file")
EV3File.Close(handleTXT)
Program.Delay(3000)
Важно! Текстовые файлы не загружаются автоматически, за исключением случаев, когда они были созданы самой программой. Т.е. если вы создали текстовый файл в стороннем редакторе и хотите его использовать в своей программе (например, читать из него какие-то данные) — такой файл нужно будет загрузить в блок в папку Files самостоятельно. Также, в силу определенных ограничений, файл-менеджер EV3 не способен отображать подпапки. Другими словами, после загрузки программы в папку TestFolder и создания подпапок Media и Files на блоке вы их не увидите. Это никак не влияет на работу программы и использование самих файлов. Само собой, в файл-менеджере CLEV3R таких ограничений нет — т.е. все подпапки видны и доступны.

Как настроить Bluetooth-соединение?

Для того, чтобы работать с EV3 по Bluetooth, необходимо для начала активировать соответствующую опцию на блоке. Зайдите в меню настроек (4-я вкладка), потом «Bluetooth» — там выставьте галочки напротив «Visibility» и «Bluetooth», сохраните настройки. Далее необходимо произвести стандартную процедуру создания Bluetooth-пары на вашем компьютере (с этим поможет справка Windows). Держите EV3 поблизости и следуйте инструкциям, появляющимся на его экране.

После того, как ваш ПК и EV3 успешно «поженятся», соединению будет привязано к одному из serial-портов («COM1», «COM2» и т.п.) — именно его вам предложит выбрать CLEV3R при попытке связаться с EV3. Если таковых несколько и не знаете что нажать — выберите наугад (все равно какой-то окажется верным). В особо запущенных случаях (портянке списка портов нет конца и края), сходите в раздел Bluetooth настроек вашей Windows и найдите там «More Bluetooth Options»/«Другие параметры Bluetooth» (на правой панели внизу). Идем на вкладку «COM ports»/«COM-порты» и находим в столбце «Name»/«Имя» имя своего EV3-блока напротив «Outgoing»/«Исходящий» и названия порта.

Важно! Попытка запустить программу из CLEV3R в режиме Bluetooth-соединения потерпит неудачу, если на EV3 запущено какое-то системное приложение (включая «Port View») или открыт диалог настроек. В таком случае поможет пара-тройка нажатий подэкранной кнопки «Возврат».

CLEVER бесплатен?

Фактически, так и есть 😀 ПО CLEV3R в настоящий момент распространяется на условиях Freeware. Вы можете свободно использовать данную среду разработки для любительского программирования, участия в соревнованиях и в прочей некоммерческой деятельности — мы лишь настаиваем на отсылке к первоисточнику (сайту clev3r.ru).

Если планируется использовать CLEV3R для предоставления платных услуг (продажа мастер-классов, тренингов и т.п. активностей), то этот момент необходимо согласовать с руководством проекта. Любые изменения кода ПО CLEV3R или его компонентов приравнивается к нарушению авторских прав со всеми вытекающими. Пожалуйста, уважайте труд разработчиков.

Какие системные требования?

CLEV3R крайне непритязателен к ресурсам и неплохо работает даже на слабеньких ПК. Для корректной работы требуется Windows не ниже 7-й версии, а также Net.Framework версии 4.8. С т.з. комфорта можно рекомендовать следующую конфигурацию:

  • процессор уровня Core i5
  • ОС Windows 8/10
  • 8Gb оперативной памяти
  • наличие USB 2.0/3.0
  • встроенный Bluetooth
  • прошивка версии 1.6 и выше на EV3
Требуется ли перепрошивка блока EV3?

Нет, CLEV3R прекрасно работает с оригинальными версиями прошивок от LEGO. Стоит только учесть, что одновременное использование EV3-G (графическая среда программирования от LEGO) и CLEV3R может породить конфликты доступа к содержимому блока EV3. Если предполагается работа в CLEV3R, графическую среду лучше закрыть.

Скачал архив с программой, что делать дальше?

Распакуйте скачанный zip-архив в любую папку на вашем компьютере. Запустите файл clever.exe, игнорируя предупреждения Windows. При первом запуске CLEV3R внесет изменения в реестр, необходимые для ассоциации с приложением форматов .bp и .bpm (всего будет создано 3 ключа) — это разовая операция. Все, можно пользоваться 🙂

Что за форматы .bp и .bpm?

.bp и .bpm — это нативные форматы среды CLEV3R (по сути, контейнеры с Unicode-текстом). Файлы с расширением .bp используются для создания компилируемых программ первого уровня, .bpm закреплено за подключаемыми модулями. В модули можно помещать многократно повторяющийся код, или объявления сложных процедур — что позволит разгрузить основную программу. Кстати, вы можете изменить расширение .sb (формат ev3basic) своих любимых программ на .bp и работать с ними в CLEV3R.

В чем отличие Basic Plus от ev3basic?

На текущий момент Basic Plus имеет 100% обратную совместимость с ev3basic (если говорить о последнем релизе 2018 г.), однако его возможности уже намного шире. Представлены новые классы в категориях Motor, Sensor, Row, Time, Import. Часть уже существующих команд была оптимизирована с упором на производительность. Более подробную информацию можно найти в Справке.