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
|
||