loophole - Polar devices API
About
Python API for Polar devices. Command line interface included.
Tested with:
- A360
- Loop
- M400
Installation
pip install loophole
or
python setup.py install
Usage
CLI
Invoke CLI:
python __main__.py
Type '?' or 'help' to see available commands.
_| _| _|
_| _|_| _|_| _|_|_| _|_|_| _|_| _| _|_|
_| _| _| _| _| _| _| _| _| _| _| _| _|_|_|_|
_| _| _| _| _| _| _| _| _| _| _| _| _|
_| _|_| _|_| _|_|_| _| _| _|_| _| _|_|_|
_|
_|
ver. 0.3
loophole(no device)>?
Documented commands (type help <topic>):
========================================
connect disconnect exit help info list walk
Command | Description |
---|---|
connect <dev_no> | Connect Polar device. Run 'list' to see available devices. |
disconnect | Disconnect Polar device. |
dump <dest> | Dump device memory. |
get <src> <dest> | Read file from device. |
exit | Quit. |
help | List available commands with "help" or detailed help with "help cmd". |
info | Print connected device info. |
list | List available Polar devices. |
walk [path] | Walk file system. Default path is root path (\). |
permissions
Note: You need the right permission to access the USB device. Otherwise you will get the error: The device has no langid
e.g.: run as root via sudo:
sudo python __main__.py
Or create udev role.
cat - > /etc/udev/rules.d/40-Polar_A360.rules << EOF
#Polar A360 permissions granted to users group
SUBSYSTEM=="usb", ATTRS{idProduct}=="0008", ATTRS{idVendor}=="0da4", MODE="0660", GROUP="plugdev"
SUBSYSTEMS=="usb-serial", MODE="0660", GROUP="plugdev"
EOF
udevadm control --reload-rules && udevadm trigger
Dependencies
- protobuf
- pywinusb (Windows)
- [pyusb] (https://github.com/walac/pyusb) (Linux, > 1.0.0rc1)
for debian/ubuntu:
sudo apt install python-protobuf python-usb
Changelog
Here.
License
Code is released under MIT license © Radoslaw '[rsc]' Matusiak.