ar drone motor hardware

21.6 x 2.5 x 15.2 cm ; Shipping Weight: 82 g Item model number: PF070040AA Date first available at Amazon.ca: Dec 20 2012 Be the first to review this item in Electronics > Portable Audio & Video > MP3 Players & Accessories > MP3 Player Accessories > Screen Protectors in Electronics > Portable Audio & Video > AccessoriesDrone 2.0 * GENUINE MOTOR, 8 TOOTH PINION GEAR & CONTROLLER CARD BOARD to see all 79 reviews Look for similar items by category Electronics > Portable Audio & Video > MP3 Players & Accessories > MP3 Player Accessories > Screen ProtectorsWhen we last left our hero (that would be me) I was TELNETing into the AR.drone at the address its DHCP server publishes as the gateway (a.k.a. router) address. When I do so, I am delighted to see the standard greeting from the BusyBox built-in shell, and a root prompt. If you've been paying attention, you've seen BusyBox mentioned many times in this blog. It's the Swiss Army Knife of embedded Linux software: a single binary that implements dozens of the standard Linux utilities (and some not so standard ones).
I've used BusyBox to implement a full-blown Linux embedded system with just three binary executables: the Linux kernel, the BusyBox binary, and an application binary. BusyBox has been mentioned here in the context of Diminto, Arroyo, and Contraption. (As usual, apologies for the poor formatting of the code throughout this article.)BusyBox v1.14.0 (2010-12-02 15:13:17 CET) built-in shell (ash)Enter 'help' for a list of built-in commands..# ifconfigath0 Link encap:Ethernet HWaddr 00:26:7E:50:5D:A6 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9382 errors:0 dropped:0 overruns:0 frame:0 TX packets:45641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1279047 (1.2 MiB) TX bytes:63893346 (60.9 MiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
(0.0 B)# netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:5551 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:21 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:5559 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:23 0.0.0.0:* LISTENtcp 0 0 192.168.1.1:5559 192.168.1.2:52707 ESTABLISHEDtcp 0 0 192.168.1.1:5551 192.168.1.2:52699 ESTABLISHEDtcp 0 549 192.168.1.1:23 192.168.1.3:1736 ESTABLISHEDudp 0 0 0.0.0.0:5554 0.0.0.0:* udp 0 0 0.0.0.0:5555 0.0.0.0parrot ar drone 2 gps:* udp 0 0 0.0.0.0:5556 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 3 [ ] DGRAM 809 /dev/logunix 2 [ ] DGRAM 811# psPID USER VSZ STAT COMMAND1 root 2732 S init2 root 0 SW< [kthreadd]3 root 0 SW< [ksoftirqd/0]4 root 0 SW< [watchdog/0]5 root 0 SW< [events/0]6 root 0 SW< [khelper]75 root 0 SW< [kblockd/0]87 root 0 SW< [khubd]93 parrot ar drone battery
root 0 SW< [kmmcd]116 root 0 SW [pdflush]117 root 0 SW [pdflush]118 root 0 SW< [kswapd0]119 root 0 SW< [aio/0]120 root 0 SW< [nfsiod]764 root 0 SW< [ubi_bgt0d]767 root 0 SW< [ubi_bgt1d]771 root 0 SW< [ubi_bgt2d]790 root 0 SW< [p6-spi.0]803 root 0 SW< [rpciod/0]812 root 0 SW< [ubifs_bgt1_0]824 root 0 SW< [ubifs_bgt2_0]826 root 0 SW< [ubifs_bgt2_1]831 root 1632 S /bin/factory_reset_cb892 root 0 SW< [ksdiorqd]893 root 0 SW< [ar6000_io]949 root 2736 S telnetd -l /bin/sh951 root 2732 S udhcpd /tmp/udhcpd.conf957 root 2812 S inetd958 root 2736 S /bin/sh /bin/check_update.sh959 root 11824 S /bin/program.elf961 root 2732 S init962 root 2732 S /sbin/syslogd -n -m 0963 root 2732 S /sbin/klogd -n989 root 2736 S /bin/sh1026 root 2816 R psI appear to have landed rc predator drone with camerain the root directory when I logged in. remote control drone with camera for sale
Next step is to peruse the file system. This is where the kernel and device drivers expose internal state in the form of pseudo-files in the file system. I've found invaluable when I've written my own device drivers to expose state and debugging information.# pwd/# cd procFirst we check what version of the Linux kernel and GNU libraries the system is using, and what tool chain it was built with. Note it was built with my favorite ARM tool chain from CodeSourcery. ar parrot ar droneA version of this same tool chain was used for Arroyo and Contraption.# cat versionLinux version 2.6.27.47-parrot (aferran@Arrakis)(gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) )#1 PREEMPT Thu Dec 2 15:21:36 CET 2010Looking at the CPU into shows we're running on an ARM926 core. parrot ar drone gpsIt's probably part of a System On a Chip (SoC) that incorporates many embedded peripheral I/O controllers. dji drone stock market
(The ARM926 core is similar to the ARM920 core used in the Atmel AT91 processor that was part of Diminuto and Arroyo.) This ARM core include support for the Thumb (16-bit) and Java byte code instruction sets in addition to the usual 32-bit ARM instruction set.# cat cpuinfoProcessor : ARM926EJ-S rev 5 (v5l)BogoMIPS : 233.47Features : swp half thumb fastmult edsp javaCPU implementer : 0x41CPU architecture: 5TEJCPU variant : 0x0CPU part : 0x926CPU revision : 5Cache type : write-backCache clean : cp15 c7 opsCache lockdown : format CCache format : HarvardI size : 32768I assoc : 4I line length : 32I sets : 256D size : 16384D assoc : 4D line length : 32D sets : 128Hardware : Mykonos Parrot platformRevision : 0904Serial : 0000000000000000# cat cmdlineparrotparts=nand0:256K(Pbootloader),8M(Pmain_boot),8M(Pfactory),16M(Psystem),98048K(Pupdate)console=ttyPA0,115200 loglevel=4 ubi.mtd=Pfactory,2048ubi.mtd=Psystem,2048 ubi.mtd=Pupdate,2048root=ubi1:system rootfstype=ubifs parrot5.low_latency=1222# cat iomem40000000-47ffffff : System RAM40025000-40347fff : Kernel text40348000-403e3f63
: Kernel datac0300000-c03fffff : p6-nand.0c0400000-c04fffff : dwc_otg.0c0600000-c06fffff : dma-pl08x.0c0700100-c07001ff : p6-sdhci.1c0700100-c07001ff : p6-sdhcid0040000-d004ffff : p6_camif.0d0050000-d005ffff : p6_camif.1d0070000-d007ffff : parrot5-uart.0d0070000-d0070fff : parrot5-uartd0080000-d008ffff : parrot5-uart.1d0080000-d0080fff : parrot5-uartd0090000-d009ffff : parrot5-uart.2d0090000-d0090fff : parrot5-uartd00b0000-d00bffff : p6-spi.0d00b0000-d00bffff : p6-spid00f0000-d00fffff : p6-nand.0d00f0000-d00fffff : ba315d0150000-d015ffff : parrot5-i2cm.0d0150000-d015ffff : parrot5-i2cmd0160000-d016ffff : parrot5-i2cm.1d0160000-d016ffff : parrot5-i2cm# cat devicesCharacter devices:1 mem2 pty3 ttyp4 /dev/vc/04 tty5 /dev/tty5 /dev/console5 /dev/ptmx7 vcs10 misc13 input81 video4linux89 i2c90 mtd128 ptm136 pts180 usb189 usb_device204 ttyPA204 ttyJ251 usbmon252 ubi2253 ubi1254 ubi0Block devices:1 ramdisk179 mmc2# cat misc56 network_throughput57 network_latency58 cpu_dma_latency64 pwm66 gpio67 dmamem59 ubi_ctrl60 log_radio61 log_events62 log_main63 binder130 watchdog# cat modulesp6_sdhci 3588 0 - Live 0xbf000000# cat meminfoMemTotal: 126072 kBMemFree: 105700 kBBuffers: 0 kBCached: 3572 kBSwapCached: 0 kBActive: 5392 kBInactive: 1924 kBSwapTotal: 0 kBSwapFree: 0 kBDirty: 0 kBWriteback: 0 kBAnonPages: 3756 kBMapped
: 2788 kBSlab: 3636 kBSReclaimable: 1460 kBSUnreclaim: 2176 kBPageTables: 168 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 113464 kBCommitted_AS: 5968 kBVmallocTotal: 843776 kBVmallocUsed: 5296 kBVmallocChunk: 837948 kB/reflashing# cat mountsrootfs / rootfs rw 0 0ubi1:system / ubifs rw 0 0tmp /tmp tmpfs rw 0 0proc /proc proc rw 0 0dev /dev tmpfs rw 0 0devpts /dev/pts devpts rw,mode=600 0 0sys /sys sysfs rw 0 0ubi0:factory /factory ubifs ro 0 0ubi2:update /update ubifs rw,sync 0 0ubi2:data /data ubifs rw 0 0# cat mtddev: size erasesize namemtd0: 00040000 00020000 "Pbootloader"mtd1: 00800000 00020000 "Pmain_boot"mtd2: 00800000 00020000 "Pfactory"mtd3: 01000000 00020000 "Psystem"mtd4: 05fc0000 00020000 "Pupdate"# cat interruptsCPU04: 696468 VIC mmc05: 513 VIC parrot5-uart6: 354060 VIC parrot5-uart7: 177177 VIC parrot5-uart10: 6087 VIC BA315 NAND controller14: 0 VIC dma-pl08x19: 90212 VIC Parrot6 Timer Tick21: 493317 VIC p6_camif.022: 477970 VIC p6_camif.128: 8600 VIC parrot5-i2cm, parrot5-i2cm32: 0 p6-gpio p6_kbd_input33: 0 p6-gpio p6_kbd_inputErr: 0Next up: figuring out the boot-time sequence and how the AR.drone configures its network.