Lieber Besucher, herzlich willkommen bei: Automatenfreunde.de - Das Forum rund um Automaten. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
class MDB(object): def __init__(self, deviceid): self.__deviceid = deviceid self.__scaling = 0 self.__coins = {} self.__deposited = 0 def _ftdisend(self, data, mode): data_parity = self._parityOf(int(hexlify(data), 16)) if data_parity == -1: if mode: #parity = serial.PARITY_EVEN parity = 2 else: #parity = serial.PARITY_ODD parity = 1 else: if mode: #parity = serial.PARITY_ODD parity = 1 else: #parity = serial.PARITY_EVEN parity = 2 self.__device = Device(self.__deviceid) self.__device.ftdi_fn.ftdi_set_line_property(8, 1, parity) self.__device.baudrate = 9600 self.__device.write(data) self.__device.flush() def _parityOf(self, int_type): parity = 0 while (int_type): parity = ~parity int_type = int_type & (int_type - 1) return(parity) def _read(self): returndata = [] for i in self.__device.read(100): returndata.append(i) return returndata def _send(self, data): mode = 1 for element in data: self._ftdisend(element, mode) mode = 0 self._ftdisend(self._calcchk(data), 0) time.sleep(0.1) return self._read() def _calcchk(self, data): sum = 0 for byte in data: sum += int(hexlify(byte), 16) return unhexlify('{:02x}'.format(sum % 256)) def _getbits(self, byte): return bin(int(hexlify(byte), 16))[2:].zfill(8) |
Quellcode |
|
1 2 3 4 5 6 7 |
def reset(self): print "OUT: Reset" answer = self._send(data = ['\x08']) if (len(answer) == 1) and (answer[0] == '\x00'): print "IN : OK" else: print "IN: Fail - " + answer |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pc-coholic« (17. November 2016, 21:21)
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.
Münzprüfer
Überprüft Münzen auf ihre Echtheit und Wertigkeit. Übergibt an den Automaten den entsprechenden Wert der Münze.