~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/input/devices/walkera0701.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 ===========================
  2 Walkera WK-0701 transmitter
  3 ===========================
  4 
  5 Walkera WK-0701 transmitter is supplied with a ready to fly Walkera
  6 helicopters such as HM36, HM37, HM60. The walkera0701 module enables to use
  7 this transmitter as joystick
  8 
  9 Devel homepage and download:
 10 http://zub.fei.tuke.sk/walkera-wk0701/
 11 
 12 or use cogito:
 13 cg-clone http://zub.fei.tuke.sk/GIT/walkera0701-joystick
 14 
 15 
 16 Connecting to PC
 17 ================
 18 
 19 At back side of transmitter S-video connector can be found. Modulation
 20 pulses from processor to HF part can be found at pin 2 of this connector,
 21 pin 3 is GND. Between pin 3 and CPU 5k6 resistor can be found. To get
 22 modulation pulses to PC, signal pulses must be amplified.
 23 
 24 Cable: (walkera TX to parport)
 25 
 26 Walkera WK-0701 TX S-VIDEO connector::
 27 
 28  (back side of TX)
 29      __   __              S-video:                                  canon25
 30     /  |_|  \             pin 2 (signal)              NPN           parport
 31    / O 4 3 O \            pin 3 (GND)        LED        ________________  10 ACK
 32   ( O 2   1 O )                                         | C
 33    \   ___   /      2 ________________________|\|_____|/
 34     | [___] |                                 |/|   B |\
 35      -------        3 __________________________________|________________ 25 GND
 36                                                           E
 37 
 38 I use green LED and BC109 NPN transistor.
 39 
 40 Software
 41 ========
 42 
 43 Build kernel with walkera0701 module. Module walkera0701 need exclusive
 44 access to parport, modules like lp must be unloaded before loading
 45 walkera0701 module, check dmesg for error messages. Connect TX to PC by
 46 cable and run jstest /dev/input/js0 to see values from TX. If no value can
 47 be changed by TX "joystick", check output from /proc/interrupts. Value for
 48 (usually irq7) parport must increase if TX is on.
 49 
 50 
 51 
 52 Technical details
 53 =================
 54 
 55 Driver use interrupt from parport ACK input bit to measure pulse length
 56 using hrtimers.
 57 
 58 Frame format:
 59 Based on walkera WK-0701 PCM Format description by Shaul Eizikovich.
 60 (downloaded from http://www.smartpropoplus.com/Docs/Walkera_Wk-0701_PCM.pdf)
 61 
 62 Signal pulses
 63 -------------
 64 
 65 ::
 66 
 67                      (ANALOG)
 68       SYNC      BIN   OCT
 69     +---------+      +------+
 70     |         |      |      |
 71   --+         +------+      +---
 72 
 73 Frame
 74 -----
 75 
 76 ::
 77 
 78  SYNC , BIN1, OCT1, BIN2, OCT2 ... BIN24, OCT24, BIN25, next frame SYNC ..
 79 
 80 pulse length
 81 ------------
 82 
 83 ::
 84 
 85    Binary values:               Analog octal values:
 86 
 87    288 uS Binary 0              318 uS       000
 88    438 uS Binary 1              398 uS       001
 89                                 478 uS       010
 90                                 558 uS       011
 91                                 638 uS       100
 92   1306 uS SYNC                  718 uS       101
 93                                 798 uS       110
 94                                 878 uS       111
 95 
 96 24 bin+oct values + 1 bin value = 24*4+1 bits  = 97 bits
 97 
 98 (Warning, pulses on ACK are inverted by transistor, irq is raised up on sync
 99 to bin change or octal value to bin change).
100 
101 Binary data representations
102 ---------------------------
103 
104 One binary and octal value can be grouped to nibble. 24 nibbles + one binary
105 values can be sampled between sync pulses.
106 
107 Values for first four channels (analog joystick values) can be found in
108 first 10 nibbles. Analog value is represented by one sign bit and 9 bit
109 absolute binary value. (10 bits per channel). Next nibble is checksum for
110 first ten nibbles.
111 
112 Next nibbles 12 .. 21 represents four channels (not all channels can be
113 directly controlled from TX). Binary representations are the same as in first
114 four channels. In nibbles 22 and 23 is a special magic number. Nibble 24 is
115 checksum for nibbles 12..23.
116 
117 After last octal value for nibble 24 and next sync pulse one additional
118 binary value can be sampled. This bit and magic number is not used in
119 software driver. Some details about this magic numbers can be found in
120 Walkera_Wk-0701_PCM.pdf.
121 
122 Checksum calculation
123 --------------------
124 
125 Summary of octal values in nibbles must be same as octal value in checksum
126 nibble (only first 3 bits are used). Binary value for checksum nibble is
127 calculated by sum of binary values in checked nibbles + sum of octal values
128 in checked nibbles divided by 8. Only bit 0 of this sum is used.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php