Где взять исходники старых версий LinuxCNC?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Здесь есть исходники, еси что http://buildbot.linuxcnc.org/dists/
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

PKM писал(а):У меня качается без проблем
да я тоже скачал. Правда, на телефон. Сейчас бы еще разобраться, как из "загрузок" в "этих ваших андроидах" перетащить в гуглодиск или на карточку. :monkey: :monkey: :monkey:
таки перетащил через ж..., точнее, через dropbox.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Распаковал, перетащил rtapi.h в исходники, скомпилировал serport.
та же проблема.
Или надо вообще всё перекомпилить?
Подскажите, как правильно сделать?

И еще вопрос: я не совсем представляю механизм правок в git.
Вот кто-то внес мелкое исправление. В каких версиях оно отразится? Тем более, что параллельно ведутся работы сразу над несколькими ветвями: 2.6, 2.7 и 2.8? :thinking:
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Сергей Саныч писал(а):Или надо вообще всё перекомпилить?
Именно. Надо перекомпилить и rtapi
То есть придется скомпилить версию rin-in-place

Либо с билдбота установить мастер из пакетов http://buildbot.linuxcnc.org/
Сергей Саныч писал(а):И еще вопрос: я не совсем представляю механизм правок в git.
Вот кто-то внес мелкое исправление. В каких версиях оно отразится? Тем более, что параллельно ведутся работы сразу над несколькими ветвями: 2.6, 2.7 и 2.8?
Исправления вносят только разработчики, которых немного.
Высоко экспериментальные исправления обычно идут в отдельные ветки, и только оттуда могут попасть в мастер.
Перспективные идут в мастер.
Более-менее безопасные - в 2.7.
Мелкие проверенные исправления - в текущий 2.6.
Также все коммиты из 2.6 и 2.7 периодически подтягиваются в мастер.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Собственно, хотелось бы исправить одну мелкую ошибку в serport, непосредственного отношения к теме не имеющую.
Ее почему-то никто не замечает, видимо, этим компонентом никто вообще не пользуется :thinking:
В функции read() неправильно обрабатываются pin-1-in и pin-1-in-not
Вместо

Код: Выделить всё

FUNCTION(read) { 
    int i = inb(MSR);

    pin_9_in = (i & RI) == 0;
    pin_9_in_not = (i & RI) == RI;

    pin_1_in = (i & DCD) == 0;
    pin_1_in_not = !(i & DCD) == DCD;

    pin_6_in = (i & DSR) == 0;
    pin_6_in_not = (i & DSR) == DSR;

    pin_8_in = (i & CTS) == 0;
    pin_8_in_not = (i & CTS) == CTS;
}
должно быть

Код: Выделить всё

FUNCTION(read) { 
    int i = inb(MSR);

    pin_9_in = (i & RI) == 0;
    pin_9_in_not = (i & RI) == RI;

    pin_1_in = (i & DCD) == DCD;
    pin_1_in_not = (i & DCD) == 0;

    pin_6_in = (i & DSR) == 0;
    pin_6_in_not = (i & DSR) == DSR;

    pin_8_in = (i & CTS) == 0;
    pin_8_in_not = (i & CTS) == CTS;
}
Может, кто из посвященных доведет до сведения разработчиков?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Сергей Саныч писал(а):видимо, этим компонентом никто вообще не пользуется
А что с ним делать можно? :) Просто читать и писать в СОМ как в ЛПТ?

На вид там просто лишний "!"
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

PKM писал(а):А что с ним делать можно? :) Просто читать и писать в СОМ как в ЛПТ?
В общем, да. Как лишних три бесплатных выхода и четыре входа. Правда, лог. уровни маленько нестандартные.
PKM писал(а):На вид там просто лишний "!"
В результате pin_1_in_not всегда FALSE. У DCD не та полярность, что у остальных входов. Поэтому для единообразия надо проинвертировать оба сигнала. Там еще поменяны местами 0 и DCD в правых частях выражений.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Полярность? Это же битовые сигналы? Или там при подаче напряжения бит пропадает, в отличии от остальных?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

PKM писал(а):Полярность? Это же битовые сигналы? Или там при подаче напряжения бит пропадает, в отличии от остальных?
Там логические уровни такие (применительно к использованию в LCNC): лог. 1 (true) примерно плюс 10 вольт, лог. 0 (false) - минус 10 вольт. Это на выходах. На входах допустимые уровни - от +3 до +12В и от -3 до -12.
Соотношение сигналов на физических контактах порта и битов регистров - разное. Где-то положительный уровень на выводе соответствует лог. 1 в регистре, где-то - наоборот. Чтобы не морочить голову пользователям, драйвер устанавливает для всех сигналов общий принцип. Собственно, в LPT так же, только физические уровни другие.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Сергей Саныч писал(а):Чтобы не морочить голову пользователям, драйвер устанавливает для всех сигналов общий принцип. Собственно, в LPT так же, только физические уровни другие
Ага, то есть DCD инвертирован относительно других. Видимо, это неудачно пытались учесть с помощью "!"
Надо бы сообщить разрабам...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

PKM писал(а):Ага, то есть DCD инвертирован относительно других. Видимо, это неудачно пытались учесть с помощью "!"
Вот-вот, именно так.
Надо будет как-нибудь нарисовать на нем что-нибудь общественно полезное, что добру пропадать :)
Выходы, к примеру, удобно использовать для управления твердотельными реле (SSR).
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

А что насчет проблемы с выгрузкой, решилась?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

Пока нет. Честно говоря, не понял, как надо перекомпилировать, чтобы свежие правки были учтены.
И что понимается под "мастером", тоже не знаю.
Пока тупо взял старую версию serport, исправил логику DCD, скомпилировал comp-ом, положил в 2.7 - вроде работает.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Сергей Саныч писал(а):Пока тупо взял старую версию serport, исправил логику DCD, скомпилировал comp-ом, положил в 2.7 - вроде работает.
Правильно, т.к. она не использует глючный rtapi.
Сергей Саныч писал(а):как надо перекомпилировать, чтобы свежие правки были учтены
На компе уже есть скомпилированная их исходников версия?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

PKM писал(а):На компе уже есть скомпилированная их исходников версия?
Да. 2.7-pre2 run-in-place.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Ну так зайти в соотв. папку
git pull
cd src
make
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

Если будет на что-то ругаться - там же некоторые файлы уже поправлены, как я понял... так его:

git reset --head origin/2.7

Это сбросит все изменения в файлах и вернет к чистому 2.7
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение nkp »

PKM писал(а):git pull
если устновлена из исходников версия 2.7 , тогда непонятно (мне)) - зачем git ?
исправляем что хотим, в папке src командуем make, всё
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение PKM »

... можно и так :)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Где взять исходники старых версий LinuxCNC?

Сообщение Сергей Саныч »

По драйверу serport. я был не совсем прав, когда говорил, что DCD имеет не ту логику, что и остальные входные сигналы. Всё там одинаково. Другое дело, что для единообразия имеет смысл все входящие сигналы проинвертировать.
То есть вот так:

Код: Выделить всё

FUNCTION(read) { 
    int i = inb(MSR);

    pin_9_in = (i & RI) == RI;
    pin_9_in_not = (i & RI) == 0;

    pin_1_in = (i & DCD) == DCD;
    pin_1_in_not = (i & DCD) == 0;

    pin_6_in = (i & DSR) == DSR;
    pin_6_in_not = (i & DSR) == 0;

    pin_8_in = (i & CTS) == CTS;
    pin_8_in_not = (i & CTS) == 0;
}
При этом положительный уровень на входах порта приводит к лог.1 на pin-x-in и лог. нулю на pin-x-in-not.
Та же логика и у выходов порта.
Последний раз редактировалось Сергей Саныч 08 янв 2015, 20:17, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «LinuxCNC»