[ОТВЕТИТЬ]
Опции темы
30.10.2014 18:00  
Krokogen
Без предупреждения, притащили вместо SM300 - 5100. Теперь будут только они мол, а протокол тот же, будут работать.
Фигу, этикетки, товары выгружаются без проблем, а вот 41 файл содержащий привязку быстрых клавиш не кушает, отплевываясь 225 ошибкой (да-да, не описанную). Никто не знает как такое теперь выгружать?
 
06.12.2014 01:14  
golota
Сегодня столкнулся с подобной проблемой, только весы возвращали 239 ошибку. Заглянул в fileStructure.
Обратил внимание на длину передаваемой записи(19 байт): PRESET KEY ASSIGNMENT FILE (41H) (19B/45B/46B)
Подкоректировал метод в драйвере весов, отвечающий за отправку привязок к кнопкам. Передаваемую длину установил в 19 байт и неиспользуемые последние 8 байт заполнил нулями. В итоге все заработало.
Вывод: требуется точное соблюдение длины передаваемых записей и во избежание передачи мусора, обязательно нужно пустоты заполнять нулями

#define DIGI_CMDSIZE_PRESETKEY 19
#define DIGI_CMD_SETPRESETKEY 0xF141
/*------------------------------------------------------------------------
Procedure: scaleSetPresetKey
Purpose: load preset keys

PRESET KEY ASSIGNMENT FILE (41H) (19B/45B/46B)
PRESET NUMBER - 4 BYTES (BCD)
PRESET RECORD SIZE - 2 BYTES (HEX)
PRESET KEY SWITCH # - 4 BYTES
PRESET STATUS - 1 BYTE
------------------------------------------------------------------------*/
int __declspec(dllexport) scaleSetPresetKey(int _sock, struct PresetKey * pk){
char *buf;
int pos = 0;
struct scaleAnswer res;

if (!(buf = (char *)calloc(DIGI_CMDSIZE_PRESETKEY+2, sizeof(char)))) return ERR_MEMALLOC;

pos += _s2(buf + pos, DIGI_CMD_SETPRESETKEY);
pos += _s4(buf + pos, IntToBCD(pk->number));
pos += _s2(buf + pos, 0x13);//передаем длину структуры PRESET RECORD SIZE = 19В
pos += _s4(buf + pos, IntToBCD(pk->keySwitch));
buf[pos++] = 0;
memset(buf+pos, 0, 0x8);//дополняем нулями 8 байт, добивая до 19В
pos += 8;

res = scaleSendCommand(_sock, buf, pos);
free(buf);

return res.errorCode;
}
 
"Спасибо" golota от:
15.12.2014 12:03  
Krokogen
Хм... нет. Не помогло.
Дело не в этом... Т.е. как минимум не только в этом...

Передаю например такой пакет:
"00000003000B00000003000000000000000000"

И ошибка упрямо 225....
 
15.12.2014 12:28  
Krokogen
Ой, ну я красавец.... Длину записи то не поменял внутри записи.. Все заработало...

Вот стоит только написать что не помогло... :)))))))))
 
17.12.2014 10:15  
AlexLog
Загрузка была через супермаг ?
 
17.12.2014 12:10  
golota
Krokogen и я, работаем через самописное ПО
 
31.01.2015 05:38  
RomanSmal
Цитата:
Сообщение от Krokogen
Без предупреждения, притащили вместо SM300 - 5100. Теперь будут только они мол, а протокол тот же, будут работать.
Фигу, этикетки, товары выгружаются без проблем, а вот 41 файл содержащий привязку быстрых клавиш не кушает, отплевываясь 225 ошибкой (да-да, не описанную). Никто не знает как такое теперь выгружать?
Согласно мануалу за работу с раскладкой на сенсорных весах отвечает 42 файл... - и его структура отличается от 41.
 
02.02.2015 13:52  
Krokogen
Цитата:
Сообщение от RomanSmal
Согласно мануалу за работу с раскладкой на сенсорных весах отвечает 42 файл... - и его структура отличается от 41.
Про BS никто не говорил.
Обычные SM-5100 с кнопками.
 
03.02.2015 15:19  
RomanSmal
тогда рекомендую запросить новые драйвера у С+, я в свое время столкнулся с проблемами с SM100 (на новой прошивке)
Пока не обновили tcpdrv были проблемы с загрузкой...
 
04.02.2015 16:27  
Krokogen
Цитата:
Сообщение от RomanSmal
тогда рекомендую запросить новые драйвера у С+, я в свое время столкнулся с проблемами с SM100 (на новой прошивке)
Пока не обновили tcpdrv были проблемы с загрузкой...
Вы прочитайте тему с начала. Я сам драйвер написал и уже давно. Библиотека от с+ постоянно глючила, потому и отказались.
 
 


Опции темы



Часовой пояс GMT +3, время: 09:53.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.