Monday, January 2, 2012

Исходный код miniemc2.

Всем добрый день! Наконец нашел время собрать весь код в кучу и выложил в SVN репозитории, скачать можно так: svn checkout http://miniemc2.googlecode.com/svn/trunk/ miniemc2-read-only


Что там есть:

  1. u-boot bootloader
  2. Linux kernel 2.6.35.9 + Xenomai support + FIQ support
  3. modminiemc - вспомагательный модуль ядра
  4. EMC2 2.2.8 с моими модификациями
  5. WEB-сервер ( пока только двоичный образ, планируется добавить исходный код )
  6. Утилита для сборки всего этого - модифицированный Buildroot

Пробуем собрать, кому интересно!

8 comments:

  1. Спасибо! Я как раз уже стал выковыривать FIQ-генератор из Вашего ядра. Хочу чуть-чуть изменить назначение GPIO в нем - там на шлейфе камеры куча никому не нужных GPIO, а светодиоды и кнопки могут пригодиться. И код заодно оптимизировать попробую.

    BTW, можно добавить хоть сотню GPIO вот так: http://lyre.sourceforge.net/?q=book/export/html/6 (ATA disk interface). Оно же заодно и логические уровни преобразует.

    ReplyDelete
  2. У меня есть еще предложение на будущее. (Точнее, я в любом случае этим буду заниматься). Я хочу форкнуть EMC2 и обрезать его. Их сейчас понесло куда-то не туда, в новых версиях EMC питон уже не только в GUI, но и вместо iotask, и я лично не считаю это хорошей идеей. Хочется сделать облегченную версию.

    Что я хочу получить:
    1) Легкую переносимую программу, могущую работать на всем, на чем есть POSIX и приемлемая латентность. Чтобы никаких модулей ядра. (Возможно, даже замену Mach3 на винде).
    2) Поддержка только шаговых двигателей через LPT или через "простые" интерфейсы. (Философия: программа предназначена для любительских станков класса примерно Sherline, за оторванные руки-ноги ответственности не несем и потому никаких многокиловаттных моторов с частотниками не поддерживаем в принципе).
    3) Удобный GUI на современном тулките "все в одном". (Из того, что есть в EMC2, к этому ближе всего Touchy и Gremlin. Я уже переписал Gremlin без Питона).
    4) Настройка в один клик под популярные драйверы ШД (Gecko G540, китайские платы на TB6560 и т.п.) и станки (типичный роутер с тремя моторами, токарник и фрезерник а-ля sherline, reprap).
    5) Возможность очень легкого портирования на ARM-платы и подобное не-x86-железо. (В коде - никаких непереносимых вещей, чистый POSIX-2001).

    Вкратце: если EMC2 - "профессиональная" программа для "взрослых" станков с отдельным компьютером, форк будет "упрощенной" модификацией для любительских настольных станочков, с пониманием того, что один и тот же компьютер скорее всего используется и для станка, и для игр-фильмов-ворда, и чертежи в CAD на том же компе чертятся.

    Базироваться буду на последнем срезе EMC2, который еще без питона во всех щелях. (Чуть выше, чем последняя релизнутая 2.4.)

    ReplyDelete
  3. Прекрасная идея, начинайте и народ подтянется. Я тоже, если он будет GPL конечно.

    ReplyDelete
  4. GPL-совместимая лицензия - это 100%. Скорее всего GPL, если лицензии каких-то компонентов не будут диктовать иное. Закрытый код не пишу из принципа, меня самого такое бесит.

    Уже начал :) Сначала всего лишь портировал EMC2 на mini2440, по ходу дела нашел там много проблем архитектуры... в общем, получается нечто большее...

    ReplyDelete
  5. Добрый день. Скачал вашу сборку и сразу наткнулся на /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found - пришлось подкидывать вручную правильную либу. Но вопрос в другом: не могли бы подсказать как вернуть графический интерфейс? Qtopia не запускается и не ругается.

    ReplyDelete
  6. Добрый день. Ситуация сложилась так, что я вынужден был приостановить работу над этим проектом по разным причинам, в основном нехватка времени. Конечно там есть недоработки, это бесспорно. По поводу Qtopia, то она там отсутствует. И более того, отключена поддержка framebuffer в ядре, т.к. он замедляет работу системы вцелом, особенно на большом экране.

    ReplyDelete
  7. А исходники WEB сервера можно? Хочу посмотреть, смогу ли я сам добавить в интерфейс нужные мне функции?

    ReplyDelete
  8. Вечером все обновления будут на сервере, включая код WEB-server-а

    ReplyDelete