mirror of
https://github.com/eddyem/stm32samples.git
synced 2025-12-06 18:55:13 +03:00
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# Canon lens management.
|
|
|
|
Management of some Canon Lens.
|
|
|
|
## Pinout
|
|
|
|
* PA4 - lens detect (zero active);
|
|
* PA5,6,7 - SPI SCK, MISO, MOSI;
|
|
* PA10 - USB DP pullup (zero active);
|
|
* PA11,12 - USB DM, DP;
|
|
* PA13,14 - SWD IO, CLK;
|
|
* PB8,9 - CAN Rx,Tx;
|
|
* PC13 - USB/CAN (solder jumper to turn on CAN instead of USB, zero - CAN).
|
|
|
|
Protocol have a string form, each string ends with '\n'. You should wait an answer for previous command before sending next,
|
|
or have risk to miss all the rest commands in one packet.
|
|
|
|
## USB commands:
|
|
|
|
0 - move to smallest foc value (e.g. 2.5m)
|
|
1 - move to largest foc value (e.g. infinity)
|
|
d - open/close diaphragm by 1 step (+/-), open/close fully (o/c) (no way to know it current status)
|
|
f - get focus state or move it to given relative position
|
|
h - turn on hand focus management
|
|
i - get lens information
|
|
l - get lens model
|
|
r - get regulators' state
|
|
debugging commands:
|
|
F - change SPI flags (F f val), f== l-LSBFIRST, b-BR [18MHz/2^(b+1)], p-CPOL, h-CPHA
|
|
G - get SPI status
|
|
I - reinit SPI
|
|
R - software reset
|
|
S - send data over SPI
|
|
T - show Tms value
|
|
|
|
|