openyou / libfitbit

Library for accessing and transfering data from the Fitbit health device
http://www.openyou.org
BSD 3-Clause "New" or "Revised" License
422 stars 66 forks source link

over flow errors #16

Closed Br3nda closed 6 years ago

Br3nda commented 12 years ago

on running fitbit.py, once the fitbit connects over ANT, i get this:

Traceback (most recent call last):
  File "python/fitbit.py", line 351, in <module>
    sys.exit(main())
  File "python/fitbit.py", line 328, in main
    device.parse_bank2_data(device.run_data_bank_opcode(0x02))
  File "python/fitbit.py", line 258, in run_data_bank_opcode
    return self.run_opcode([0x22, index, 0x00, 0x00, 0x00, 0x00, 0x00])
  File "python/fitbit.py", line 210, in run_opcode
    return self.get_data_bank()
  File "python/fitbit.py", line 264, in get_data_bank
    bank = self.check_tracker_data_bank(self.current_bank_id)
  File "python/fitbit.py", line 255, in check_tracker_data_bank
    return self._get_tracker_burst()
  File "python/fitbit.py", line 196, in _get_tracker_burst
    d = self.base._check_burst_response()
  File "/home/brenda/projects/libfitbit/python/antprotocol/protocol.py", line 248, in _check_burst_response
    status = self._receive(15)
  File "/home/brenda/projects/libfitbit/python/antprotocol/libusb.py", line 95, in _receive
    r = self._connection.read(self.ep['in'], size, 0, self.timeout)
  File "/home/brenda/projects/libfitbit/python/usb/core.py", line 624, in read
    self.__get_timeout(timeout)
  File "/home/brenda/projects/libfitbit/python/usb/_debug.py", line 53, in do_trace
    return f(_args, *_named_args)
  File "/home/brenda/projects/libfitbit/python/usb/backend/libusb10.py", line 483, in bulk_read
    timeout)
  File "/home/brenda/projects/libfitbit/python/usb/backend/libusb10.py", line 581, in __read
    timeout))
  File "/home/brenda/projects/libfitbit/python/usb/backend/libusb10.py", line 353, in _check
    raise USBError(_str_error[retval.value])
usb.core.USBError: Overflow

and then on the next run:

  File "/home/brenda/projects/libfitbit/python/antprotocol/libusb.py", line 100, in _receive
    raise ANTReceiveException("Checksums for packet do not match received values!")
antprotocol.protocol.ANTReceiveException: Checksums for packet do not match received values!
Br3nda commented 12 years ago

which module named "usb" should i be using? Both the ones on pypi and the one packaged in ubuntu don't seem to work.

qdot commented 12 years ago

Yeah, we use pyusb 1.0a, you have to actually pull it off pyusb'd sourceforge site. I should update the readme with that.

Br3nda commented 12 years ago

sweet.. found it http://sourceforge.net/apps/trac/pyusb/

bensmithurst commented 12 years ago

Even with a newer pyusb I get overflows on my laptop and netbook, but it works better on my media PC. All running Ubuntu 10.04 with the same pyusb (1.0.0-a0). Differences in USB controllers perhaps? If there's any information I can get which will help let me know.