Где взять исходники старых версий LinuxCNC?
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
Здесь есть исходники, еси что http://buildbot.linuxcnc.org/dists/
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
да я тоже скачал. Правда, на телефон. Сейчас бы еще разобраться, как из "загрузок" в "этих ваших андроидах" перетащить в гуглодиск или на карточку.PKM писал(а):У меня качается без проблем
таки перетащил через ж..., точнее, через dropbox.
Чудес не бывает. Бывают фокусы.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
Распаковал, перетащил rtapi.h в исходники, скомпилировал serport.
та же проблема.
Или надо вообще всё перекомпилить?
Подскажите, как правильно сделать?
И еще вопрос: я не совсем представляю механизм правок в git.
Вот кто-то внес мелкое исправление. В каких версиях оно отразится? Тем более, что параллельно ведутся работы сразу над несколькими ветвями: 2.6, 2.7 и 2.8?
та же проблема.
Или надо вообще всё перекомпилить?
Подскажите, как правильно сделать?
И еще вопрос: я не совсем представляю механизм правок в git.
Вот кто-то внес мелкое исправление. В каких версиях оно отразится? Тем более, что параллельно ведутся работы сразу над несколькими ветвями: 2.6, 2.7 и 2.8?
Чудес не бывает. Бывают фокусы.
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
Именно. Надо перекомпилить и 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, непосредственного отношения к теме не имеющую.
Ее почему-то никто не замечает, видимо, этим компонентом никто вообще не пользуется
В функции read() неправильно обрабатываются pin-1-in и pin-1-in-not
Вместо
должно быть
Может, кто из посвященных доведет до сведения разработчиков?
Ее почему-то никто не замечает, видимо, этим компонентом никто вообще не пользуется
В функции 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?
А что с ним делать можно?Сергей Саныч писал(а):видимо, этим компонентом никто вообще не пользуется
На вид там просто лишний "!"
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
В общем, да. Как лишних три бесплатных выхода и четыре входа. Правда, лог. уровни маленько нестандартные.PKM писал(а):А что с ним делать можно?Просто читать и писать в СОМ как в ЛПТ?
В результате pin_1_in_not всегда FALSE. У DCD не та полярность, что у остальных входов. Поэтому для единообразия надо проинвертировать оба сигнала. Там еще поменяны местами 0 и DCD в правых частях выражений.PKM писал(а):На вид там просто лишний "!"
Чудес не бывает. Бывают фокусы.
- PKM
- Почётный участник

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

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

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

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

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

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
Если будет на что-то ругаться - там же некоторые файлы уже поправлены, как я понял... так его:
git reset --head origin/2.7
Это сбросит все изменения в файлах и вернет к чистому 2.7
git reset --head origin/2.7
Это сбросит все изменения в файлах и вернет к чистому 2.7
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
если устновлена из исходников версия 2.7 , тогда непонятно (мне)) - зачем git ?PKM писал(а):git pull
исправляем что хотим, в папке src командуем make, всё
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
... можно и так 
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Где взять исходники старых версий LinuxCNC?
По драйверу serport. я был не совсем прав, когда говорил, что DCD имеет не ту логику, что и остальные входные сигналы. Всё там одинаково. Другое дело, что для единообразия имеет смысл все входящие сигналы проинвертировать.
То есть вот так:
При этом положительный уровень на входах порта приводит к лог.1 на pin-x-in и лог. нулю на pin-x-in-not.
Та же логика и у выходов порта.
То есть вот так:
Код: Выделить всё
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;
}
Та же логика и у выходов порта.
Последний раз редактировалось Сергей Саныч 08 янв 2015, 20:17, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.