Skip to content

EgosFeic/EgLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EgLang - Простой язык программирования для Arduino

EgLang - это компактная библиотека для Arduino, которая позволяет управлять пинами через простые текстовые правила.

Особенности

  • Простой синтаксис для логики управления
  • Оптимизирована для ограниченной памяти Arduino
  • Поддержка условных операторов, циклов и простых команд
  • Автоматическая настройка пинов INPUT/OUTPUT
  • Защита от повторных установок состояний

Поддерживаемые пины

-INPUT пины: 3, 5, 7, 9, 11, 13 (с подтяжкой к питанию) -OUTPUT пины: 2, 4, 6, 8, 10, 12

Синтаксис правил

Простые команды R("2,1"); // Включить пин 2 R("4,0"); // Выключить пин 4

Условные правила R("?3,0!4,1"); // Если пин 3 = LOW, то пин 4 = HIGH R("?3,0&5,0!6,1"); // Если пин 3 = LOW И пин 5 = LOW, то пин 6 = HIGH

Циклы R("[3:8,1]"); // Пока пин 3 нажат, держать пин 8 включенным R("[5:10,1;10,0]"); // Пока пин 5 нажат, мигать пином 10

Быстрый старт

#include <EgLang.h>

AUTO_START R("2,1"); // Включить LED R("?3,0!4,1"); // Кнопка включает пин 4 R("[5:6,1;6,0]"); // Мигание при нажатии AUTO_END

API

Основные функции

  • R(rule) - добавить правило
  • addRule(rule) - добавить правило (альтернативный синтаксис)
  • processRules() - обработать правила (в loop)
  • shutdownEgLang() - завершить работу

Макросы

  • AUTO_START / AUTO_END - автоматическая настройка setup/loop

Примеры

Управление светодиодами AUTO_START R("2,1"); // Включить LED на старте R("?3,0!4,1"); // Кнопка управляет LED R("?3,1!4,0"); // Отпускание кнопки выключает LED AUTO_END

Система сигнализации

AUTO_START R("?7,0&9,0!2,1"); // Два датчика включают сирену R("[11:6,1;6,0]"); // Кнопка запускает мигание AUTO_END

Технические характеристики

  • Максимум правил: 20
  • Максимум символов в правиле: 32
  • Поддерживаемые платы: Arduino Uno, Nano, Pro Mini
  • Потребление SRAM: ~200 байт
  • Потребление Flash: ~4KB

Лицензия

MIT License

Автор

Моя почта - donat.egos@gmail.com

Поддержка

Если у вас есть вопросы или предложения, создайте Issue в репозитории GitHub.

About

Compact programming language for Arduino with simple text rules

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages