Перейти к содержимому
Quant

Передача данных по рэдстоуну

Рекомендуемые сообщения

Пока в меня не полетели помидоры,скажу что это работает медленно(надеюсь,скоро будет быстрее) 

Работает быстро

слева-приемник

справа-передатчик

 

 

Использование: сначала запускаем приемник,затем передатчик,вводим число,которое хотим передать,и ждем.

Внимание! Не вводить числа больше 1000,если не хотите прождать минуту-другую.

 

Новая версия будет скоро(завтра или раньше)

           V 1.1 (Релиз,сила сигналов)

Передатчик http://pastebin.com/KeQk3iPv

Приёмник http://pastebin.com/FztBeV6E

           V0.1 (сырая,двоичный код)

Добавляется кабель сзади!

Передатчик:http://pastebin.com/2f1YAdTM

Приёмник:http://pastebin.com/f1bGEvbb

P.S. Кот-нибудь знает,как перевести код символа в символ,кроме elseif-ов?(решено)

Изменено пользователем Quant

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С расстоянием уровень сигнала уменьшается. Такая передача будет работать правильно лишь при определенном расстоянии между приемником и передатчиком. Подумай над передачей двоичным кодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кот-нибудь знает,как перевести код символа в символ,кроме elseif-ов?

 

Глянь тут: http://lua-users.org/wiki/StringLibraryTutorial

(в частности string.byte и string.char)

А также тут: http://ocdoc.cil.li/api:keyboard

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Глянь тут: http://lua-users.org/wiki/StringLibraryTutorial

(в частности string.byte и string.char)

А также тут: http://ocdoc.cil.li/api:keyboard

Спасибо! Собрался делать шифратор,

возможно когда-нибудь будет.

 

С расстоянием уровень сигнала уменьшается. Такая передача будет работать правильно лишь при определенном расстоянии между приемником и передатчиком. Подумай над передачей двоичным кодом.

Сейчас попробую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ммм... Так... То есть у тебя каждое слово имеет свой код? Тогда твоя прога на данный момент актуальна только для символов, иначе это какой-то Код Вечности получится) И,да, надо найти другой способ преобразования строки в число. Tonumber не годится. Далее. Введеную строку мы преобразуем в символы, а потом передаем по одному. Можно попробовать использовать юникод. А так-идея годная :)

P.S. для тех, кто не понял принципа проги-объясню: прога преобразует строку в число, а затем передает его с помощью сигналов разной силы, например 65 она выдаст как 4 сигнала 15 и сигнал 5. Очень интересная задумка, автор молодец. Например я попробовал бы идти через двоичную систему исчисления.

P.P.S Проблема скорости решается уменьшением времени ожидания, поставь symtime 0.1 и скорость повысится в 10 раз!

Изменено пользователем ShuraGamer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ммм... Так... То есть у тебя каждое слово имеет свой код? Тогда твоя прога на данный момент актуальна только для символов, иначе это какой-то Код Вечности получится) И,да, надо найти другой способ преобразования строки в число. Tonumber не годится. Далее. Введеную строку мы преобразуем в символы, а потом передаем по одному. Можно попробовать использовать юникод. А так-идея годная :)

P.S. для тех, кто не понял принципа проги-объясню: прога преобразует строку в число, а затем передает его с помощью сигналов разной силы, например 65 она выдаст как 4 сигнала 15 и сигнал 5. Очень интересная задумка, автор молодец. Например я попробовал бы идти через двоичную систему исчисления.

P.P.S Проблема скорости решается уменьшением времени ожидания, поставь symtime 0.1 и скорость повысится в 10 раз!

Ускорять ну получается,сообщения идут в "молоко"

Пока-что передача строк только планируется.

Сейчас пробую делать через двоичный код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ускорять ну получается,сообщения идут в "молоко"

Пока-что передача строк только планируется.

Сейчас пробую делать через двоичный код.

Нет, твой вариант имеет право на жизнь, но нужно что-то делать с передачей, твоя прога анализирует сигнал, и на это тратится время, в итоге оно и создает дисбаланс программ. Нужно делать что-то наподобие ивентов, то есть что бы прога ожидала сигнала, например между каждой передачей делать паузы сигнала редстоуна. Допустим, ты передаешь сигнал 20. Включил редстоун на 15, потом на 0; потом на 5. У проги приема в таком случае не будет ожидания по времени, она будет ждать редстоуна, и настраивать время нужно будет только в точке отправления. Если ты собираешься делать быструю систему, то тебе все равно придется отказаться от времени ожидания.

P.S. двоичный код-штука хорошая, но, во-первых, медленная а во-вторых, труднореализуемая из-за той же проблемы, что и в случае с редстоуном с силой. Тебе придется все равно делать вышеперечисленное, только вместо 0 и 1 у тебя будут 1 и 2. В общем, смотри сам.

Изменено пользователем ShuraGamer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эт абракадабра какая-то :|

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Хороший подход. Перед сном по чайной ложке знаний каждый день.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хороший подход. Перед сном по чайной ложке знаний каждый день.

Перед сном я кодю. Знаете ли, расслабляет

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

Медные провода просочатся в голову?! :О

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделай два провода, один - это бит, а второй это подтверждение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделай два провода, один - это бит, а второй это подтверждение.

Нео, в качестве подтверждения можно просто отключить сигнал, делать два провода нерационально

 

Отправлено с моего HTC One через Tapatalk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может лучше сразу 64 битную шину?

Может, лучше сразу сетевую плату?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может, лучше сразу сетевую плату?

Противоречит названию темы --- "передача данных по редстоуну", а у тебя получается "передача данных по сети".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Противоречит названию темы --- "передача данных по редстоуну", а у тебя получается "передача данных по сети".

Это был сарказм -_-

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...