Kopachris / py-id003

Python module for interacting with bill validators using JCM's ID-003 serial protocol
BSD 3-Clause "New" or "Revised" License
10 stars 9 forks source link

Initial settings #4

Closed SokolnikSergey closed 2 years ago

SokolnikSergey commented 7 years ago

Hello . I have problems with you module . Could you send an example of configuration file ? Or what I exactly have to write as parameters for initial method . I try work with Belarusian currency .

Kopachris commented 7 years ago

Sorry, I have no plans to implement other currencies right now because I don't have access to JCM's documentation.

SokolnikSergey commented 7 years ago

Ok . I have understood, that you don't have an access to documentation . I just ask you show an example of config ( which you used for dollars ) file . I saw , that you used this configuration file , and receive data from it . ( protocol_analyzer.py)

Kopachris commented 7 years ago

The currency denominations are hard-coded in src/id003.py. ESCROW_USA is a dict where the keys are the byte value for the denomination returned with the ESCROW (0x13) status code. Which value corresponds to which denomination for a currency should be in the summary sheet for your bill validator's firmware (I have access to a couple US firmware versions through my workplace, and the summary sheets for those, but not for international versions).

The DENOM_USA_ and SECURITY_USA_ constants are bitfield values used with the SET_INHIBIT, GET_INHIBIT, SET_SECURITY, and GET_SECURITY commands. These values should also be in your firmware summary.

The config file tells the protocol analyzer which denominations to enable/disable, but it's generalized to denom1, denom2, etc. so I suppose it should work with other currencies, it'll just be the display in the program that's wrong.

I'll try to find the config file I wrote and upload it. I've been through a couple hard drive wipes since I wrote this program, so it will take some searching.

SokolnikSergey commented 7 years ago

ok. Thank you a lot of . Could you send me a message to my email (sokol98_98@mail.ru) and we continue our conversation there ? Because sometimes i have questions about the protocol and bill acceptor at all. And i don't want to write this question here ( at the issues on github) .

SokolnikSergey commented 7 years ago

def initialize(self, denom=[0x82, 0], sec=[0, 0], dir=[0], opt_func=[0, 0], inhibit=[0], bar_func=[0x01, 0x12], bar_inhibit=[0]): This is initial function . As i understand , i must send parametrs denom = [255,0], sec=[255, 0], dir=[0], opt_func=[0, 0], inhibit=[0 , 0], bar_func=[0x01, 0x12], bar_inhibit=[0] as i understood , i will recieve all fit banknotes , because i selected all eight bits and send enable status for them . i also selected all banknotes for security and give normal status for them all .

How i can find out information about other paremetrs ? What i should sent as inhibit .

And is it correct syntax , to send list as paremetrs?

DesarrolloK commented 5 years ago

215/5000 Hey, I have a problem. I want to adapt the module for my currency, which is Dominican pesos. I have the specifications that are needed but I don't know how to do it.

Can you give me a hand. @Kopachris

my email: delarosacy99@gmail.com

DesarrolloK commented 5 years ago

hey i cant run de program i dont find de file ,run bat