Страница 1 из 1

Mach4 + Lua

Добавлено: 26 мар 2018, 14:02
FLUKE
Ковыряю мач4, пробую изучать Lua.
Опрашиваю из мача устройство по Ethernet TCP\IP, устройство отвечает строкой:
{"ver":"1","RIMON":"0.2","RMT":"CW","ROP":"Off","RPP":"Off","RCT":"32.0","RBT":"33.0","RET":"31","STA":"67108864","RFV":"32.7.101;2.95;3.7.1","RSN":"R18020185","RCS":"0.0","RPW":"10.000","RDC":"10.0","RDCmax":"99.0","RPRR":"10.0","REC":"1","RMEC":"0","RLHN":"IPG-A15-0044","RDHCP":"OFF","RIP":"10.9.9.10","RMASK":"255.255.255.0","RDGW":"10.9.9.5","RMAC":"D8-80-39-59-D8-95","FST":"10","RPRRL":"1.0","RPRRH":"50000.0","RBAUD":"8","RCFG":"141","WFCFG":"0","WFID":"0"}
Кол-во параметров не меняется, длина строки может быть разной (в зависимости от значений параметров).
Как бы эту строку разбить на куски и засунуть в таблицу? Пол дня пытаюсь вкурить паттерны ...
На Lua вообще можно из того что выше получить то что ниже?
t = {}
t[1] = "1"
t[2] = "0.2"
t[3] = "CW"
......

Re: Mach4 + Lua

Добавлено: 26 мар 2018, 14:13
MX_Master
похоже на JSON строку

попробуй https://github.com/rxi/json.lua

Re: Mach4 + Lua

Добавлено: 26 мар 2018, 15:12
FLUKE
Спасибо, почитаю.
Успел наговнокодить следующее:

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

local str = [[{"ver":"1","RIMON":"0.2","RMT":"CW","ROP":"Off","RPP":"Off","RCT":"32.0","RBT":"33.0","RET":"31","STA":"67108864","RFV":"32.7.101;2.95;3.7.1","RSN":"R18020185","RCS":"0.0","RPW":"10.000","RDC":"10.0","RDCmax":"99.0","RPRR":"10.0","REC":"1","RMEC":"0","RLHN":"IPG-A15-0044","RDHCP":"OFF","RIP":"10.9.9.10","RMASK":"255.255.255.0","RDGW":"10.9.9.5","RMAC":"D8-80-39-59-D8-95","FST":"10","RPRRL":"1.0","RPRRH":"50000.0","RBAUD":"8","RCFG":"141","WFCFG":"0","WFID":"0"}]]
local t = {}
local a
a = string.gsub(str, '":"', '=')
--print(tostring(1 .. a))
a = string.gsub(a, '"', ' ')
--print(tostring(2 .. a))
for k, v in string.gmatch(a, "(%w+)=(%S+)") do
	t[k] = v
	--print(tostring("3-" .. k))
	--print(tostring("4-" .. v))
end
print(tostring(t["RMAC"]))
Вроде работает ...

Re: Mach4 + Lua

Добавлено: 27 мар 2018, 13:10
FLUKE
Почитал про Json. Код получился короче...
local JSON = require ("json")
local a = '{строка Json}'
local b = JSON:decode(a)
print(tostring(b["..."]))

Re: Mach4 + Lua

Добавлено: 08 апр 2018, 11:23
volod
Здравствуйте,а случаем не в курсе как прикрутить пульт к Mach4. Купил когда то,с Mach3 работает,а с четвертым не хочет.

Re: Mach4 + Lua

Добавлено: 08 апр 2018, 21:50
FLUKE
Можно попробовать поставить плагин для мач4:
https://www.machsupport.com/forum/index ... #msg238915
https://www.machsupport.com/forum/index ... tach=47558

Re: Mach4 + Lua

Добавлено: 09 апр 2018, 12:57
volod
Спасибо буду пробывать,отпишусь ,что получилось.

Re: Mach4 + Lua

Добавлено: 14 апр 2018, 23:46
volod
Ничего не получается,прикрутить.Вот не пойму-к Mach 4 пультов нет,безпроводных или как то по другому народ решает енту проблему.

Re: Mach4 + Lua

Добавлено: 15 апр 2018, 10:03
FLUKE
http://www.vistacnc.com/a03_download/download.htm#mach4
https://www.youtube.com/watch?v=CKjd9qH ... e=youtu.be
volod писал(а):Вот не пойму-к Mach 4 пультов нет
Лицензия от Ивана Тождевича к мач4 не подходит, по этому 99% используют мач3, 99% покупают пульт к мач3, плагины для мач4 надо подписывать цифровой подписью в www.machsupport.com ...

Re: Mach4 + Lua

Добавлено: 16 апр 2018, 19:44
volod
Наверное продам старый и куплю этот с видео,ну не менять же Mach.