Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If the watch supports a <a href="http://www.usb.org/developers/devclass_docs#approved" rel="nofollow noreferrer">standard USB device class specification</a> such as HID or serial communication, there might already be a Macintosh driver for it built into the OS. Otherwise, you're going to have to get information about the vendor commands used to communicate with it from one of three sources: the manufacturer; reverse engineering the protocol used by the Windows driver; or from others who have already reverse engineered the protocol in order to support the device on Linux or BSD.</p> <p>USB is a packet-based bus and it's very important to understand the various transaction types. Reading the <a href="http://www.usb.org/developers/docs/" rel="nofollow noreferrer">USB specification</a> is a good place to start.</p> <p>You can see what data is being transmitted to the device using a USB bus analyzer, which is an expensive proposition for a hobbyist but is well within the reach of most businesses doing USB development. For example, the <a href="http://www.getcatalyst.com/product-conquest.html" rel="nofollow noreferrer">Catalyst Conquest</a> is $1199. Another established manufacturer is <a href="http://www.lecroy.com/tm/products/ProtocolAnalyzers/usb.asp?menuid=67" rel="nofollow noreferrer">LeCroy (formerly CATC)</a>. There are also software USB analyzers that hook into the OS's USB stack, but they don't show all of the traffic on the bus, and may not be as reliable.</p> <p>I'm not a Mac expert, so take this paragraph with a grain of salt: Apple has a driver development kit called the <a href="http://developer.apple.com/referencelibrary/GettingStarted/GS_HardwareDrivers/index.html" rel="nofollow noreferrer">I/O Kit</a>, which apparently requires you to write your driver in C++, unless they also have some sort of user-mode driver framework. If you're writing it in Python, it will probably be more like a Python library that interfaces to someone else's (Apple's?) generic USB driver.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload