Принцип декодирования при TCPCardReader'е
Декодирование на стороне TCPCardReader'a включается строкой
useDecodeCards=1
в TCPCardReader..ini в настройках конкретного считывателя:
[READER1]
COMPORT=6
COMPORTPARAMS=baud=9600 data=8 parity=N stop=1
Prefix=;
Postfix=?
useDecodeCards=1
StartTermChars=i
FinishTermChars=?#13;#10;#0;
Таким образом при включении декодирования TCPCardReader отправляет часть трека начинающегося с символа следующего за StartTermChars и заканчивающимся символом стоящим перед одним из FinishTermChars в Decodecards.
Итак Decodecards получает только эту часть и декодирует (преобразовывает/выделяет идентификатор) её.
В decodecards.ini В секции [mask] перечисляются маски по префиксы поам которых можно разделять декодирование разных карт
[mask]
card_em = ne*
card_mifare = fare*
card = *
В данном примере если пришедший от TCPCardReader'a трек содержит "ne" ,то обработка такого трека будет описана в секции [cards.card_em]. Соответственно если трек содержит "fare" то обработка такого трека описана в секции [cards.card_mifare].