www.open-tager.ru https://open-tager.ru/forum/ |
|
Скрипты - попробуем абстрагироваться от железа? https://open-tager.ru/forum/viewtopic.php?f=5&t=3231 |
Страница 1 из 3 |
Автор: | Pingvin [ 29 янв 2014, 06:22 ] |
Заголовок сообщения: | Скрипты - попробуем абстрагироваться от железа? |
Тут неоднократно всплывала тема использования скриптов, реализующих алгоритм работы лазертаг-устройств. Тему считаю интересной, перспективной и заслуживающей отдельной ветки. В чем суть? Суть - реализовать в прошивке скриптовый движок, некое API, в которое вынести основные используемые функции. Ну как пример - в Аскете можно через консоль воспроизвести звук командой play_sound n n - номер звукового файла Но ведь можно эту команду прочитать и из файла и выполнить. И другие команды. Что это дает? Это дает "скриптописателю" полную свободу выбора платформы - будь то Аскет, LTK, Армада или что другое (разумеется, если в прошивке будет реализован этот скриптовый движек). Абсолютная переносимость. Скриптописателю не надо знать тонкости реализации той или иной функции и особенности железа, он лишь реализует игровой алгоритм, геймплей. Теперь о деталях - как это можно реализовать? Мне видятся два варианта. 1. Интерпритатор. То есть считываем команды из файла одна за другой в реальном времени, анализируем (парсим) и тут же выполняем. Достоинства метода - не нужен компилятор, легко расширить набор команд, выполнять можно не только из файла скрипты, но и по UART (блютус, GPRS). Недостатки - довольно сложная прошивка, большой расход флеш памяти, быстродействие под вопросом. 2. Байт-код. Это примерно то, как работает Java. Пишем код на разработанном нами языке, потом "компилируем" - преобразуем команды в соответствующие им числа. Прошивка считывает эти байты, и легко (через switch) запускает соответствующие обработчики. Преимущества - экономия флеш памяти, быстродействие. Недостатки - нужно писать "компилятор". Ну и в любом случае нужно определиться со списком API функций и самим языком написания скриптов. Может это будет что то Си-подобное, или Бейсик подобное. Или вообще в виде XML файлов. Какие будут мысли? |
Автор: | Pacifist [ 29 янв 2014, 10:08 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
А зачем писать еще одну "Ардуину"? Все уже там есть, и компилятор, и библиотеки. И варианты досок для ПИК и СТМ тоже . Переделать плату под свои размеры (схемотехника там не сложнее чем у Аскета) - и вперед. |
Автор: | Pingvin [ 29 янв 2014, 10:16 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
Pacifist писал(а): А зачем писать еще одну "Ардуину"? Все уже там есть, и компилятор, и библиотеки. И варианты досок для ПИК и СТМ тоже . Переделать плату под свои размеры (схемотехника там не сложнее чем у Аскета) - и вперед. Боюсь в этих библиотеках нет функций, на подобии send_ir_package(...) Хотя вариант интересный, согласен. |
Автор: | Pingvin [ 29 янв 2014, 10:26 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
LTagKirov писал(а): Pacifist писал(а): А зачем писать еще одну "Ардуину"? Все уже там есть, и компилятор, и библиотеки. И варианты досок для ПИК и СТМ тоже . Переделать плату под свои размеры (схемотехника там не сложнее чем у Аскета) - и вперед. Так ведь нет готовых лазертаг библиотек в ардуино Даже готового модуля поддержки клавиатуры с буфером нет, опрос контактов есть а клавиатуры нет.... Зато куча разных шилдов есть. |
Автор: | Pingvin [ 29 янв 2014, 10:32 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
LTagKirov писал(а): Pingvin писал(а): Зато куча разных шилдов есть. ага захотел послушать музыку с телефона - покупаешь шилд за цену дороже телефона, который без телефона даже не включается Ну согласен - цена часто (да всегда, в общем) - явно неадекватная. Надо попробовать тем же путем идти - мезонная (или как там её?) архитектура и куча дополнительных приблуд. |
Автор: | Pacifist [ 29 янв 2014, 13:24 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
Pingvin писал(а): Боюсь в этих библиотеках нет функций, на подобии send_ir_package(...) Так допишите модуль, заодно и клавиатуру с буффером Просто сейчас уже есть очень большая аудитория, знакомая с Ардуино. И мне кажется что если ваша платка будет ее (ардуины) модифицированным клоном - то намного быстрее найдется человек, желающий попробовать свои силы в лазертагостроении, чем желающий изучать новый скриптовый язык под неизвестную платформу. ИМХО. |
Автор: | DanGion [ 29 янв 2014, 13:28 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
pingvin! Вы сейчас открыли один из основных законов программирования группой лиц. Создается интерфейс (скажем вызов функции с определенными параметрами), я не знаю (да возможно и не хочу знать), как он там внутри работает. Но я знаю как он вызывается, что ему скармливать и что он делает. ЗАчастую реализацию могут постоянно дорабатывать, но программист, который работает только с интерфейсом даже ничего и не заметит. Очень часто в итоге соновная функция выглядет так: Код: { start(get_local_time()); } И роде все так безобидно... А потом Кентуки! Какое еще кентуки? Нету больше вашего Кентуки! Но такое решение требует многовато ресурсов. Не такой уж и сложный проект, чтобы начинать писать так. P.S. Мож просто ядро linux заведем и направославном BASHике? P.P.S. Короче я считаю, что под узкоспециальзированный проект, не нужно. |
Автор: | Pacifist [ 29 янв 2014, 13:38 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
DanGion писал(а): P.S. Мож просто ядро linux заведем и направославном BASHике? А под это дело проще купить РасбериПи - в нем есть все, что планирует Пингвин в будущей АРМаде - и память СД, и звуковой контроллер, и видео. Ресурсов - попой жуй . ЗЫ: Кстати недавно на Хабре была статья как на малине запускать свою программу без операционки. |
Автор: | Pingvin [ 29 янв 2014, 13:39 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
Pacifist писал(а): DanGion писал(а): P.S. Мож просто ядро linux заведем и направославном BASHике? А под это дело проще купить РасбериПи - в нем есть все, что планирует Пингвин в будущей АРМаде - и память СД, и звуковой контроллер, и видео. Ресурсов - попой жуй Кстати недавно на Хабре была статья как на малине запускать свою программу без операционки. Жрет много, цука. И габариты, не очень... Но скоро мне в лапки несколько экземпляров попадут - помучаю. |
Автор: | DanGion [ 29 янв 2014, 13:57 ] |
Заголовок сообщения: | Re: Скрипты - попробуем абстрагироваться от железа? |
Зачем оно? 1.Запросит Вишлист у заинтересованых в развитии Аскет. 2.Запилить все. 3.Добавить в конфигуратор вкл/выкл вишлист-фич. 4.??? 5.Профит! Те кого что-то не устроит - форкнут. |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |