Графити бот и блок управления EggBot

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Может идет переполнение буфера?
Точно сделал меньше команд и работает... Как сделать чтобы работал с большим файлом?
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Порт открыт процессом "pythonw.exe" (PID: 4048)

Запрос:23.07.2012 13:28:17.83464

76 0D v.

Ответ:23.07.2012 13:28:17.83464 (+0.0000 seconds)

45 42 42 76 31 33 5F 61 6E 64 5F 61 62 6F 76 65 EBBv13_and_above
20 45 42 20 46 69 72 6D 77 61 72 65 20 56 65 72 EB Firmware Ver
73 69 6F 6E 20 32 2E 31 2E 35 0D 0A sion 2.1.5..

Запрос:23.07.2012 13:28:17.83464 (+0.0000 seconds)

54 50 0D 54 50 0D 54 50 0D 54 50 0D 54 50 0D TP.TP.TP.TP.TP.

Порт закрыт


Тоесть получается нужно сделать чтобы команды отправлялись поочереди.
Вложения
tp.zip
(832 байт) 378 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

ок, щас сделаем :).
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

новый код для def doFile:

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

	def doFile( self, fname ):
		f = open(fname,"r")
		a = f.readlines()
		f.close()
		for s in a :

			try:

				self.serialPort.write( s )

				response = ""
				t = time.time()
				while response == "" :
					response = self.serialPort.readline()
					if time.time()-t > 10 : 
						inkex.errormsg( "Got 10 sec timeout on command '%s'"%s )
						return
					
				if ( response != 'OK\r\n' ):
					inkex.errormsg( 'After command ' + s + ',' )
					inkex.errormsg( 'Received bad response from EBB: ' + str( response ) + '.' )
					return

			except:
				pass

2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Попрежнему передаются все команды сразу.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

Хмм не может быть... мы каждый раз ждем ответа OK, причем если он будет не ОК процедура тупо завершается...

попробуй перед

if ( response != 'OK\r\n' ):
добавить
inkex.errormsg( "resp = '%s'"%response )
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Nick, я закоментировал оба return и заработало (;
Последний раз редактировалось 2cme 23 июл 2012, 14:50, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

это по идее \r\n (carige return, new line ), если не будет \n то весь файл одной строкой прочитается. Но \n должен быть, куда он делся???

хммм.... наверное надо в
скрипт gcode to eggbot \n вот в эту строку добавить:
res.append("SM,%s,%s,%s\r\n"%(int(time), int(dx*scale_x), int(dy*scale_y)))
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Nick писал(а):res.append("SM,%s,%s,%s\r\n"%(int(time), int(dx*scale_x), int(dy*scale_y)))
ок, сделал. Работает :good: .
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Так задумано:
04.ngc.png (1858 просмотров) <a class='original' href='./download/file.php?id=6701&sid=9263d6f7027d16ab0f008c3ac73f398f&mode=view' target=_blank>Загрузить оригинал (68.37 КБ)</a>
А так нарисовал:
04puluchaet.ngc.png (1858 просмотров) <a class='original' href='./download/file.php?id=6702&sid=9263d6f7027d16ab0f008c3ac73f398f&mode=view' target=_blank>Загрузить оригинал (77.16 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

Т.е. просто на 90 градусов повернул?
Скинь оригинал svg
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

То что зеркально нарисовал, это наверное достаточно инвертировать вращение одного из двигателей.
Вложения
1234_test.zip
(88.09 КБ) 353 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

Не, если зеркально, то надо двигатели местами поменять... наверное :) Кстати, зеркально это если с какой стороны смотреть? :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

Нарисовал бы что-нибудь по сложнее сразу, например надпись какую-нибудь из пары-тройки буков, там будут и кривые и углы и прямоые участки.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Nick писал(а):Не, если зеркально, то надо двигатели местами поменять... наверное :) Кстати, зеркально это если с какой стороны смотреть? :)
Поменял местами, посмотрю что получится.
Nick писал(а):Нарисовал бы что-нибудь по сложнее сразу, например надпись какую-нибудь из пары-тройки буков, там будут и кривые и углы и прямоые участки.
Если посложнее, то дольше рисует и не всегда можно понять чаго нарисовал...
Для тестов 1234 самое то (; Быстро рисует, и понятно где что должно быть.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Nick, смотрел файлы, где ошибка?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

А что я должен был посмотреть ? :)
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Nick писал(а):Т.е. просто на 90 градусов повернул?
Скинь оригинал svg
Вот, почему неправильно нарисовал рисунок. Причем не только повернуто на 90 граносов, но и идут искажения связанные с этим поворотом.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Графити бот и блок управления EggBot

Сообщение Nick »

Суть какая:
1. сначала нужно правильно настроить расстояние между блоками моторов.
2. потом обнулить все оси, т.е. сделать длинную веревку по X и выйти в 0 по Y. Сказать Y=0. Потом тоже самое с X - делаем выход по X в 0, Y - длинный. Длинную веревку нужно отматывать (G0 X100), чтобы не сбилась вторая координата и не порвать станок :)
3. Потом едем в начальное положение, то, которое задавалось в Gcodetools (не помню обязательно это или нет, но лучше сделать)
4. Потом уже печатаем.


возможно у тебя просто были сбиты нули осей...
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Графити бот и блок управления EggBot

Сообщение 2cme »

Точки крепления моторов выставлены согласно рисунку(пункт 1), перо выстановлено в начальую позицию 105,50 (пункт 3).
Вот только для чего нужно делать обнуление осей (пункт 2) не пойму, ведь перемещение пера роисходит на расстояние от предыдущей точки.
И чем обусловлен поворот нарисованного рисунка, тож не понятно.
Ответить

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