API Reference
Modules
Top-level package for verylittlewire. |
USB Control Transfers
The Little Wire USB device firmware version 1.2 supports the following Control Transfer sequences. In the Setup Packet of the Setup Stage only the bmRequestType = 0xC0
will be accepted. That means:
- D7 Data Phase Transfer Direction
1 = Device to Host
- D6…5 Type
2 = Vendor
- D4…0 Recipient
0 = Device
The number of bytes to transfer have to be constant wLength = 8
for each Setup Packet. That means that each Setup Stage follows a Data Stage.
USB Control Transfer Requests Overview
Functional Classification |
Firmware Status |
||
---|---|---|---|
|
Name |
||
active |
|||
active |
|||
active |
|||
active |
|||
active |
|||
active |
|||
active |
|||
active |
|||
obsolete with V1.2 |
|||
active |
|||
accepted |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
obsolete with V1.2 |
|||
active |
|||
active |
|||
active |
|||
active |
|||
SETUP_ADC |
new in V1.2 |
||
36 |
GAP – spare Control Transfer Requests – |
||
37 |
|||
38 |
|||
39 |
|||
READ_RESULT |
new in V1.2 |
||
OW_RESET_PULSE |
new in V1.2 |
||
OW_WRITE_BYTE |
new in V1.2 |
||
OW_READ_BYTE |
new in V1.2 |
||
I2C_INIT |
new in V1.2 |
||
I2C_START |
new in V1.2 |
||
I2C_READ |
new in V1.2 |
||
SOFT_PWM_INIT |
new in V1.2 |
||
SOFT_PWM_UPDATE |
new in V1.2 |
||
I2C_UPDATE_DELAY |
new in V1.2 |
||
OW_READ_BIT |
new in V1.2 |
||
OW_WRITE_BIT |
new in V1.2 |
||
PIC24F_PROG |
experimental in V1.2 |
||
PIC24F_SENDSIX |
experimental in V1.2 |
||
WS2812_EXEC |
new in V1.2 |
||
SERNUM_CHANGE |
new in V1.2 |
||
56 |
GAP – spare Control Transfer Requests – |
||
57 |
|||
58 |
|||
… … … |
|||
PIC24F_TRANSFER |
experimental in V1.2 |
||
I2C_TRANSFER |
new in V1.2 |
||
SPI_TRANSFER |
active |
USBtiny Generic
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
0 |
echo all content in Data Stage back to host |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2
|
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
1 |
read |
||
OUTPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2
|
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
2 |
write |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2
|
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
3 |
clear bit |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2
|
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
4 |
set bit |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Firmware
|
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
USBtinyISP/SPI Programming
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
5 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
6 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
7 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
8 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
9 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
10 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
11 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
12 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 AVR Dude V7.0 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
Little Wire Generic
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
34 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
40 |
READ_RESULT |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
55 |
SERNUM_CHANGE |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire GPIO
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
13 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
14 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
18 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
19 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
20 |
|||
OUTPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
Little Wire ADC
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
35 |
SETUP_ADC |
||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
15 |
|||
OUTPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
Little Wire PWM
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
16 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
17 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
22 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
||
32 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API |
Little Wire SPI
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
21 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
23 |
|||
accepted |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – accepted
last time implemented by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
28 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
29 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
31 |
|||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
33 |
|||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
0xFx |
SPI_TRANSFER |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – active |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire I²C
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
24 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
25 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
26 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
27 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
30 |
|||
obsolete with V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – obsolete with V1.2
last time supported by firmware V1.1 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
44 |
I2C_INIT |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
45 |
I2C_START |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
46 |
I2C_READ |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
49 |
I2C_UPDATE_DELAY |
||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
0xEx |
I2C_TRANSFER |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire Soft-PWM
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
47 |
SOFT_PWM_INIT |
||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
48 |
SOFT_PWM_UPDATE |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire One-Wire
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
41 |
OW_RESET_PULSE |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
42 |
OW_WRITE_BYTE |
||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
43 |
OW_READ_BYTE |
||
OUTPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
50 |
OW_READ_BIT |
||
OUTPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
||
51 |
OW_WRITE_BIT |
||
OUTPUT ::=
INPUT ::=
|
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire WS2812
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
54 |
WS2812_EXEC |
||
OUTPUT ::= INPUT ::= |
|||
Implementation |
Little Wire Firmware V1.2 – new in V1.2 |
||
Interfaces |
Little Wire C/C++ API Very Little Wire Python API
|
Little Wire Experimental
Description / Notes |
|||
---|---|---|---|
|
Name |
||
|
|
||
Implementation / Interfaces |
|||
52 |
PIC24F_PROG |
||
experimental in V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – experimental in V1.2 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
53 |
PIC24F_SENDSIX |
||
experimental in V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – experimental in V1.2 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|
||
0xDx |
PIC24F_TRANSFER |
||
experimental in V1.2 |
OUTPUT ::= INPUT ::= |
||
Implementation |
Little Wire Firmware V1.2 – experimental in V1.2 |
||
Interfaces |
Little Wire C/C++ API
Very Little Wire Python API
|