Протокол KT-LCD

Автор Blik86, 30 Апр. 2019 в 01:32

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

edw123

Цитата: user020413 от 13 Сен. 2021 в 20:42
с помощью адаптера CH340G и прогами Terminal1_9_b под виндой и Serial USB Terminal 1.43 для андроид
Ручками команды забивали в терминал?

user020413

да, ручками, надо было настроить параметр C5 , сделать плавный пуск для редукторника, ну и в остальных параметрах тоже пришлось разобраться.
Какие параметры были в контролере узнать невозможно, при подключении дисплей пишет свои настройки.

edw123

Цитата: user020413 от 13 Сен. 2021 в 21:01
Какие параметры были в контролере узнать невозможно, при подключении дисплей пишет свои настройки.
Да, это известное дело. Только прописывать.

Blik86

Цитата: user020413 от 13 Сен. 2021 в 19:03Не могли бы Вы добавить этот алгоритм подсчета в таблицу?

В терминале есть возможность простенького программирования, можно попробовать подобрать CRC.

Blik86

Цитата: user020413 от 13 Сен. 2021 в 19:03На форуме ссылка пишут об этом различии.
Как по мне там его изначально неправильно считали. Как вариант можно послать какой нибудь пакет из описанных в тамошних тхт и посмотреть проглотит ли это контроллер. У меня вышло ощутимое расхождение во второй части пакета с тем что описал обеликс, либо он ошибся либо у старых лсд3 и у моего более свежего лсд6 протоколы отличаются. Хотя скорее всего он расшифровав нужное ему - на остальное поклал болт. Но из-за непонятной "1" в B7 допускаю и второй вариант.

user020413

CH340G подключается к андроид через USB-OTG, Serial USB Terminal 1.43 его поддерживает, интерфейс простейший. Сейчас под рукой нет контроллера с которым все работает, позднее сделаю скриншоты.
В примере пакета посылки из файла обеликса LCD3_to_S12SN-1.txt  crc получился аналогичный подсчитанному вашим ексель файлом. Контролер его не принял.
Как понять фразу "the checksum B5 is computed by XORing with 0x0b (not 2)" ?
CRC обеликса  = (xor B0,B1,B2,B3,B4,B6,B7,B8,B9,B10,B11,B12) xor 2
Ваш CRC = (xor B1,B2,B3,B4,B6,B7,B8,B9,B10,B11)


Blik86

Цитата: user020413 от 13 Сен. 2021 в 23:38Как понять фразу "the checksum B5 is computed by XORing with 0x0b (not 2)" ?
CRC обеликса  = (xor B0,B1,B2,B3,B4,B6,B7,B8,B9,B10,B11,B12) xor 2
В кратце, когда я над этим думал у меня все сходилось  и мне было очевидно откуда растут ноги их проблем.
По памяти в CRC обелиска "xor 2" компенсирует  наличие B0 и B12 (у меня изменение p5 на дисплее не меняет CRC).  Если смотреть таблицу то В11 это не константа, а второстепенные данные. Из-за того что они доступны для настройки, только при определенных основных настройках - различие в настройках дисплеев сходу не очевидны, но меняется результат xor В11,B12 и компенсировать это изменение уже нужно "xor 0b" .

user020413

Ясно, параметр P5 контроллеру не нужен, возможно он передается для копирования в другой лсд. B12 постоянен.
Получается на форуме сферы считали неправильно.
Еще в мануале лсд3 есть параметр С11 Attribute Selection Mode, совместимость с предыдущими версиями, есть два протокола: новый лсд3 и старый лсд1-2. Новый протокол совместим со старым, наоборот нет. Мы же используем новый протокол?
Возможно мой контроллер неисправен по части обмена с лсд, осциллом смотрел, пакеты до STM8S105 доходят, но ответа нет
Буду искать сам дисплей лсд3 для проверки.

edw123

Цитата: user020413 от 14 Сен. 2021 в 09:29
Возможно мой контроллер неисправен по части обмена с лсд, осциллом смотрел, пакеты до STM8S105 доходят, но ответа нет
Буду искать сам дисплей лсд3 для проверки.
а что в ответ возвращает? Просто эхо?

user020413

в ответ тишина) импульсов нет

edw123

Цитата: user020413 от 14 Сен. 2021 в 11:44
в ответ тишина) импульсов нет
Я про случай, когда всё пишется.

user020413

#29
в ответ в терминале посылка, я её не расшифровывал и параметры контроллера меняются, заметно по потреблению и разгону, все как у Blik86 на скрине
Спойлер
, настройки пишутся и сохраняются

user020413

#30
[user]Blik86[/user], У Вас есть возможность записать пакет передачи с вашего лсд6, с включенной настройкой С11=1 (Meter uses LCD1 and LCD2 old version communication protocol, it is not compatible LCD3) и скинуть его сюда?

с форума сферы:
Aug 16 2014
C11 is the communication protocol between the display and the controller. This is either the "old" protocol, which is used for older versions of the S06S and S12S controllers or SLCD1 displays, or the "new" protocol, which is used with the SLCD3 and newer controllers.
The old controllers, which use the old protocol, won't display parameters like motor power, voltage and temperature.

В инструкциях к дисплеям KT-LCD1 и 2 нет параметров "C" есть только параметры "P"

user020413

Вобщем оказалось у этого контроллера небыло разъема к лсд3 и поддержка дисплея в прошивке отсутствует, вопрос закрыт.
Куплю на запчасти битую плату контроллера КТ с живым процом 12фет синусный.

edw123

Цитата: user020413 от 15 Сен. 2021 в 11:44
Вобщем оказалось у этого контроллера небыло разъема к лсд3 и поддержка дисплея в прошивке отсутствует, вопрос закрыт.
Куплю на запчасти битую плату контроллера КТ с живым процом 12фет синусный.
Ну почему закрыт? Вы же вроде написали, что контроллер точно меняет параметры и иногда даже отвечает. Это же хорошо.

user020413

Цитата: user020413 от 13 Сен. 2021 в 19:03Запрограммировал с помощью нее контроллер KT с наклейкой KT26-60SVPRL-XFC01JI 17-11-16, куплен в 2018г.
Но такой же контроллер, но более старый, KT26-60SVPL-XFC08D6 15-04-01 (куплен в 2015) не отвечает на посылки.

edw123

Цитата: user020413 от 15 Сен. 2021 в 11:59
Но такой же контроллер, но более старый, KT26-60SVPL-XFC08D6 15-04-01 (куплен в 2015) не отвечает на посылки.
На все не отвечает или только на некоторые? Может у него нет этих параметров.

Blik86

Цитата: edw123 от 15 Сен. 2021 в 12:17На все не отвечает или только на некоторые? Может у него нет этих параметров.
Контроллер отвечает только если распознает пришедший пакет данных, всякую непонятную белиберду он игнорирует. Если он не отвечает как на вручную сгенеренный, так и на заведомо правильный пакет (ранее полученный от дисплея) то проблема не в алгоритме генерации пакетов.