RFC: Android Protocol Stack

Don't really understand your response. But its a response nonetheless. So, I don't have to talk to myself again.

I was hoping to build the interface without changes on the Android side, which can be accomplished with the ADB protocols. There seems to be several ways of moving data across the pipe, but the specs are sketchy. Namely: file sync and fs-bridge. Without public docs, it might be easier to build my own protocols.

All we need is a simple file server module on the Android. However, writing native C program on the Android is anything but simple. Building the native C compiler on the Android should be doable, or getting it from someone who had done it. Unfortunately, Google is making it much more difficult than it really should be.

Going to download the full 8G Android Source to dig deeper.

Reply to
linnix
Loading thread data ...

It's a misspelled reference to a line of cereal commercials:

formatting link

George

Reply to
George Neuner

Still not sure if he is responding to my Request For Comment or just off-topic remark. Anyway, i need meaningful comments before facing the firing squad (design review): No problem with coding style requests, but substances... (Style over Substances).

Initial requirement is just to read image files off the Android:

Progress: Basic ADB/PXP working over USB. Basic RUMBA female socket installed on Android.

Will post files to linnix project under code.google.com

---------------------------------------------------------------------------=

-------------

This is a microcontroller stack for droid.

Hardware:

Master (male): PIC24F256 Slaves (females): LG VS740 with Android 2.2

Software:

Mplab C30 IDE Android Native Development Kit

Protocols:

RUMBA: End Point pipes. FAT: file system. MSB: Mass Storage Device. PXP: Point multipleXer Point. ADB: Android Debug Bridge USB: Universal Serial Bus

Files:

yadm.c: Yet Another Driver Maker

Driver Maker for the two devices: PXP is very simliar to MSD. However, the current PXP implementation is incomplete, since it's using polling rather than interrupt.

dev.c: Yet Another Driver Maker template

Template files for both drivers.

msd.c: yadm msd

Output of MSD maker

pxp.c: yadm pxp

Output of PXP maker

dcb.c: Device Control Block for MSD and PXP

To be determined

fat.c: FAT file system

Module for handling FAT file system.

usb.c: End Point server on master

Master USB host driver

female.c: End Point socket on slave

End Point female socket on Android. Compiled on PC with NDK. ADB push to: "/data/local/inc/rumba.h" "/data/local/src/female.c" "/data/local/bin/female"

rumba.h: RUMBA definitions

Rumba is not Samba.

Directories:

Most Rumba calls are straight forward, with the exception of CMD_DIR. Initial call from male to female lists path with sequence of 0. Subsequent calls with unique sequence returns ordered files in path.

Reply to
linnix

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.