Цитата(plombir @ May 19 2006, 21:48)

В трансивер заложил м/с гибридного трансивера на 433Mhz, в качестве драйвера slave mega8, для master mega64 т.к. озу, по расчётам вычисления оптимального маршрута с таблицей всех адресов - требуется прилично.
Ещё раз, всем спасибо!
Непонятно откуда там взялись вычисления маршрута... Ведь маршрут можно прокладывать на ходу по мере необходимости без всяких расчетов... Тем более что радоисеть этому сопутствует. Маршрутизацию в радиосети можно свести к тупой ретрансляции по тому же каналу. Устройств по вашим словам 20-30, соответсвенно у каждого устройства есть свой номер, требующий не более 1 байта.. Таблица канальных маршрутов здесь совершенно не нужна, т.к. в таблице обычно прописывается номер канала по которому требуется перенаправлять сообщение, а каналов у вас всего 1 (или 2 если используются направленные антены, но и здесь тоже нет никаких затруднений с выбором канала).
Алгоритм адаптивного прокладывания маршрута может быть таким:
В пакет можно заложить адрес получателя 1 байт и адрес передатчика 1 байт, а также номер сообщения (16-32 байт), для пресечения повторной обработки пакета.
Каждый узел сети представить потенциальным ретранслятором.
Каждый ретранслятор должен дописывать к пакету свой номер, чтобы исключить закольцовку и зацикливание сообщения, что может привести к бесконечному блужданию сообщения по сети. (дописывать номер предпочтительнее чем вводить поле TTL, как в IP, в следствии того что узлов в сети не так много и пакет сильно раздуть не получится, зато 100% пресечение повторов гарантировано).
При приеме пакета, ретранслятор должен анализировать пройденный пакетом маршрут, и если пакет еще не проходил через этот ретранслятор, тогда одно из двух или ретранслировать сообщение (дописав свой номер) или обработать (если номер получателя совпадает с номером получателя).
После обработки сообщения, занести в таблицу "мертвых" пакетов номер сообщения и адрес отправителя из полей пакета, на случай если этот же пакет придет к получателю другим маршрутом.
Таблица "мертвых" пакетов, будет не очень большой, она будет ограничена максимально возможным временем доставки пакета, которое в вашей сети будет не сильно большим (на мой взгляд не более 1 с). Заполнять таблицу "мертвых" пакетов можно циклически (обычный кольцевой буфер).
Такая организация конечно немного повысит нагрузку на сеть, однако добавит надежности вашей системе, по сравнению с организацией в которой для передачи сообщения между двумя узлами используется строго один PTP маршрут.