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