···11+22+Walkera WK-0701 transmitter is supplied with a ready to fly Walkera33+helicopters such as HM36, HM37, HM60. The walkera0701 module enables to use44+this transmitter as joystick55+66+Devel homepage and download:77+http://zub.fei.tuke.sk/walkera-wk0701/88+99+or use cogito:1010+cg-clone http://zub.fei.tuke.sk/GIT/walkera0701-joystick1111+1212+1313+Connecting to PC:1414+1515+At back side of transmitter S-video connector can be found. Modulation1616+pulses from processor to HF part can be found at pin 2 of this connector,1717+pin 3 is GND. Between pin 3 and CPU 5k6 resistor can be found. To get1818+modulation pulses to PC, signal pulses must be amplified.1919+2020+Cable: (walkera TX to parport)2121+2222+Walkera WK-0701 TX S-VIDEO connector:2323+ (back side of TX)2424+ __ __ S-video: canon252525+ / |_| \ pin 2 (signal) NPN parport2626+ / O 4 3 O \ pin 3 (GND) LED ________________ 10 ACK2727+ ( O 2 1 O ) | C2828+ \ ___ / 2 ________________________|\|_____|/2929+ | [___] | |/| B |\3030+ ------- 3 __________________________________|________________ 25 GND3131+ E3232+3333+3434+I use green LED and BC109 NPN transistor.3535+3636+Software:3737+3838+Build kernel with walkera0701 module. Module walkera0701 need exclusive3939+access to parport, modules like lp must be unloaded before loading4040+walkera0701 module, check dmesg for error messages. Connect TX to PC by4141+cable and run jstest /dev/input/js0 to see values from TX. If no value can4242+be changed by TX "joystick", check output from /proc/interrupts. Value for4343+(usually irq7) parport must increase if TX is on.4444+4545+4646+4747+Technical details:4848+4949+Driver use interrupt from parport ACK input bit to measure pulse length5050+using hrtimers.5151+5252+Frame format:5353+Based on walkera WK-0701 PCM Format description by Shaul Eizikovich.5454+(downloaded from http://www.smartpropoplus.com/Docs/Walkera_Wk-0701_PCM.pdf)5555+5656+Signal pulses:5757+ (ANALOG)5858+ SYNC BIN OCT5959+ +---------+ +------+6060+ | | | |6161+--+ +------+ +---6262+6363+Frame:6464+ SYNC , BIN1, OCT1, BIN2, OCT2 ... BIN24, OCT24, BIN25, next frame SYNC ..6565+6666+pulse length:6767+ Binary values: Analog octal values:6868+6969+ 288 uS Binary 0 318 uS 0007070+ 438 uS Binary 1 398 uS 0017171+ 478 uS 0107272+ 558 uS 0117373+ 638 uS 1007474+ 1306 uS SYNC 718 uS 1017575+ 798 uS 1107676+ 878 uS 1117777+7878+24 bin+oct values + 1 bin value = 24*4+1 bits = 97 bits7979+8080+(Warning, pulses on ACK ar inverted by transistor, irq is rised up on sync8181+to bin change or octal value to bin change).8282+8383+Binary data representations:8484+8585+One binary and octal value can be grouped to nibble. 24 nibbles + one binary8686+values can be sampled between sync pulses.8787+8888+Values for first four channels (analog joystick values) can be found in8989+first 10 nibbles. Analog value is represented by one sign bit and 9 bit9090+absolute binary value. (10 bits per channel). Next nibble is checksum for9191+first ten nibbles.9292+9393+Next nibbles 12 .. 21 represents four channels (not all channels can be9494+directly controlled from TX). Binary representations ar the same as in first9595+four channels. In nibbles 22 and 23 is a special magic number. Nibble 24 is9696+checksum for nibbles 12..23.9797+9898+After last octal value for nibble 24 and next sync pulse one additional9999+binary value can be sampled. This bit and magic number is not used in100100+software driver. Some details about this magic numbers can be found in101101+Walkera_Wk-0701_PCM.pdf.102102+103103+Checksum calculation:104104+105105+Summary of octal values in nibbles must be same as octal value in checksum106106+nibble (only first 3 bits are used). Binary value for checksum nibble is107107+calculated by sum of binary values in checked nibbles + sum of octal values108108+in checked nibbles divided by 8. Only bit 0 of this sum is used.109109+
+12
drivers/input/joystick/Kconfig
···294294 This option enables support for the LED which surrounds the Big X on295295 XBox 360 controller.296296297297+config JOYSTICK_WALKERA0701298298+ tristate "Walkera WK-0701 RC transmitter"299299+ depends on HIGH_RES_TIMERS && PARPORT300300+ help301301+ Say Y or M here if you have a Walkera WK-0701 transmitter which is302302+ supplied with a ready to fly Walkera helicopters such as HM36,303303+ HM37, HM60 and want to use it via parport as a joystick. More304304+ information is available: <file:Documentation/input/walkera0701.txt>305305+306306+ To compile this driver as a module, choose M here: the307307+ module will be called walkera0701.308308+297309endif