Поддержка Sat-Lite3

Zhanbolat217 years ago

Вот сам протокол. Перамбула - 16ти битный целый беззнаковый. Порядок записи байтов - обратный (от
младшего к старшему, интеловский, как в x86).
Протокол

swapShort Я использую чтобы с BIG ENDIAN перевести в LITTLE Endian

Zhanbolat217 years ago

Возможно swapShort неправильный. Я пока не нашел способа в объекте ChannelBuffer изменить порядок байтов.

Anton Tananaev7 years ago

16 бит это 2 байта. Почему вы читаете 4? Почему вы читаете по байтам вместо того чтобы прочитать short сразу? Зачем все в строки преобразовывать?

Anton Tananaev7 years ago

Netty по умолчанию использует BIG ENDEAN. Не понимаю зачем вам его куда-то переводить.

Zhanbolat217 years ago

Я пытался сразу брать readShort() и а также readUnsignedShort() но все равно значение заоблачные выходят, или слишком малые.

Zhanbolat217 years ago

readBytes(2) вроде должен брать 2 байта, но не так. Например, если дать 0x8A2C то readBytes(2) прочитает только 8А. Поэтому я пишу readBytes(4)

Anton Tananaev7 years ago

Что-то вы не то делаете. Советую вам учить Java и изучать Netty библиотеку.

Zhanbolat217 years ago

Я вообще PHP разработчик. В своих проектах я использовал ваш продукт. А заказчик купил аппарат Sat-Lite. Вот, приходится разбираться)))

Anton Tananaev7 years ago

К сожалению времени обучать вас Java у меня нету. Если хотите разобраться, то в интернете полно ресурсов.

Zhanbolat217 years ago

Можете подсказать, надо ли менять порядок байтов, если да, то примерно как? Если нет, в каком направлении дальше искать?

Anton Tananaev7 years ago

Порядок обычно не надо вручную менять. Я советую смотреть существующие протоколы для примера.

Zhanbolat217 years ago

Я не прошу вас обучать Java. Я просто прошу примерно, в каком направлении искать ответы. Я тоже понимаю что, что-то не так у меня.