Hello,
I currently check the feasibility of an Android-IOIO-project and kindly ask 
for some assistance.

*At first some information on the project:*
There is a model glider, equiped with some telemtry (altitude, climb, 
energy data, later more) and these data shall be processed and rendered in 
several ways:

   - acoustically: a very special climb tone (a novel one, not as usual 
   today) and few spoken data (e.g. altitude and some alarms),
   - haptically: a hardware of this kind exists already (and I like it:) 
   and shall be renewed and improved,
   - optically: Of course reading a display during flight is not a good 
   idea in most cases, but upcoming data glasses (more adequate for such a job 
   than Google's) might change this scenario.

My current module consists of an 8-bit-controller; it reads the data stream 
and controls two servos for the haptic rendering, all this inside the case 
of the RC-transmitter. I like it but it is outdated and is to be replaced. 
At first I thought of a simple replacement by another Cortex-M0 based 
hardware.
An alternative replacement could be a small Linux-hardware (smaller than 
RasPi) - currently I'm not really convinced by the Intel-Edison but I think 
of an Arietta G25 <http://www.acmesystems.it/arietta> and this is still a 
real alternative. All but optical rendering is possible with such a 
solution. It is by far not simple as I'm new to embedded Linux and would 
have to add hardware.
There are, as I know, already few Android apps which render telemetry data, 
but they are not closely enough what I want. They use a Bluetooth 
connection and cannot send back data (e.g. for the haptic rendering) to the 
RC-tranmitter. I also would have to change or complement most of their 
rendering software.

Additionally it could be interesting to design this (new) "render engine" 
as an open "platform" for several "applications" for special data analysis 
(beginning with a logbook-app and continuing with guidance or recovery apps 
based on future GPS data).

*Now the facts, which caused me thinking positively of Android-IOIO:*

   - I would not have to build new hardware: IOIO can read the data stream, 
   route the data to the Adroid device, read an extra switch I mounted onto 
   the RC-tranmitter case, and it could power and control the servos.
   - I would NOT like to use a Bluetooth connection and IOIO's USB solution 
   looks fine, despite the cable.
   - Very important: It could also power the Adroid device and prevent it 
   from depleting its accumulator - the RC-transimmter's accumulator is 
   powerful enough to do this.
   - An Android device could be a good platform for experimenting with data 
   analysis (e.g. -->when to "say" the altitude automatically). Migrating the 
   software into proper Android data glasses would be a very fine top on all 
   that.

*What makes me doubt a bit is:*

   - I would need an additional device - for some scenarios this is not 
   ideal or at least uncomfortable.
   - Can the Android device do or yield what I would need (see list below)
   - I would have to learn writing and debugging Android Apps (I have 
   programmed a bit with Java-SE and -ME several years ago... :)

*What do I need from the Adriod device?*

   - Novel climb tone: I would have to mix several tones (sawtooth or 
   similar) with different frequencies and volumes. The tones change virtually 
   continuously. Is this easily possible with Android? Which API would I have 
   to look for?
   - Rendering values by speech: Few short phrases are to be spoken ("125 
   meter" or so); numbers are to be spoken but I really do prefer to spell 
   numbers by their digits ("One-two-five" instead of 
   "one-hundred-twenty-five"). There are at least 3 methods to do so: 
   Concattenating prerecorded words, text-to-speech and preparing phoneme 
   strings.
   I have tried out phoneme strings with a "SpeakJet", the qualitiy is by 
   far not brilliant but... hmm... gmpff... just good enough (there are only 
   few words to be separated distinguished).
   As far as I have heard samples I do not think well of text-to-speech.
   Which of these techniques is useable as a standard service for Andriot 
   apps? Is it easy to program? Does it also work on smaller/simpler/cheaper 
   Android devices? Which API would I have to look for?
   - Speed: My variometer sensor is quite fast and rather accurate - I'm 
   proud of it.
   I do not want to loose one of its main advantages, its speed, because of 
   lengthy or slow data paths out of the RC-transmitter into the android 
   device and slow data analysis and rendering.
   Do you think, it is possible to let the climb tone reflect changes in 
   the data within 0.05..0.1 seconds? (Of course I cannot influence the speed 
   of data collection and transmission over the air, but with my RC-brand it 
   is ok).

*Which Android device?*
Currently I have an HTC Wildfire S A510e with Android 2.3.5 which was 
"lower midrange" 4 years ago (:-D), I would like to use it.
I even think about a very cheap, small extra phone to be used solely as 
render engine. Are all current APIs available on all phones (given the 
proper Android version)? How can I find out this?
Are such devices suitable for such usage and also for developping 
(debugging) such an app? Or do I need "more", e.g. a greater (more 
expensive) phone?

*Moreover...*
Unfortunately the IOIO module is useless when the Android device is plugged 
off - this can happen when I fly a motor driven aeromodel and do not need 
(most of) the rendering.
Does IOIO draw much current when there is no Android device, but 2 servos 
and the UART to the RC-radio are connected? Can I just use the 
RC-transmitter without Android device without bothering about the IOIO?

Changing IOIO's firmwhare to detect that no Andriod device is present and 
to do a tiny part of the haptic rendering would need to become familiar 
with the PIC, the PIC-IDE and all that and find the APIs in the firmware... 
I think I shall not dare to try this the next few years.

Also the following "intelligence" inside the IOIO module could be of 
interest: Reformat the brand specific telemetry data stream into a standard 
data format and route data in this format to the Android device. But this 
is future music.

*Last, very simple question:*
I think I can cut off the part of the module with and between the 2 holes 
on the opposite side of the connectors? This would help me to place the 
module inside the RC-tranmitter case. I must ask this as I do not know the 
layout of the PCB in detail, perhaps I would cut some connections.
Is it possible to get a module without soldered connectos (USB and power)?

If somebody has additional advices which I could help me to find a 
decision, please post them too.

Thank you very much in advnace!
Sincerely, yours
*Helmut*

-- 
You received this message because you are subscribed to the Google Groups 
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to