If you want my honest opinion, I have a good guess that converting your
code to Java would be way easier than the way you're approaching it. It
will also have the benefit of being able to upgrade the firmware and
IOIOLib very easily in the future without having to port the code.

If you're insisting on doing it the hard way, what I would do is:

   1. Make sure you are able to build and install the standard firmware on
   the IOIO.
   2. Read both firmware protocol.c file and the software IOIOProtocol.java
   file and make sure you understand how the protocol works and then what is
   the overall sequence of how a Java call on the Android eventually gets to
   the proper function on the IOIO and how functions on the IOIO can send data
   that eventually shows up on the Android.
   3. Add your custom functions to the standard firmware and plumb them
   through in a similar fashion. Make sure you don't collide with the standard
   firmware on resources, such as the I2C buses, etc.



On Thu, Jan 29, 2015 at 3:43 AM, Vincent Nadon <[email protected]>
wrote:

> I am aware that I am using the IOIO pic (PIC24) in a different way from
> it's intended usage. What I do specifically with the PIC24 is as follows:
>
> 1) I program some DSPs during bootup. To do so I use I2C protocol between
> the Pic and the DSPs.
>
> 2) I have created some functions on the Pic to control the DSPs.
>
> 3) I have a rotary switch to control the Pic and start some of the
> functions I created and therefore controlling the DSPs through I2C.
>
> 4) We have an Android App that one of my colleague started based on the
> IOIO libraries. The colleague is now working abroad and I need to customize
> everything for my needs in my project. Mainly what I want to do is control
> my DSPs through the IOIO (PIC24) with Bluetooth or USB and gather the data
> that I read with the Pic send it to the Android App so that I am able to
> see it as a Graph.
>
> We already have some functions in the Android App that can control the
> DSPs through the Pic, but they are not very practical since I would need to
> copy every function I created in the Pic into the Android App. So I instead
> I want to simply use the functions I already programmed in the Pic through
> the Android App. I would like to still be able to control the Pic with my
> rotary switch if possible.
>
> The main problem that I have now is to make the communication from the
> Android App to the PIC24 work using the IOIO libraries, without
> interrupting the functionnality of I2C to initialize the DSPs (program
> them).
>
> I am attacking this next week, it is quite a challenge for me.
>
> Le mercredi 28 janvier 2015 18:30:38 UTC+1, Ytai a écrit :
>>
>> Are you aware of the fact that you're using the IOIO in a way that is
>> very different from its intended usage? If this is unintentional, better
>> read the wiki. Otherwise, in order to help you I need some context and
>> specifically, what you're trying to do, how you were thinking about doing
>> it and why you need custom firmware as opposed to using the standard one.
>>
>> On Wed, Jan 28, 2015 at 9:04 AM, Vincent Nadon <[email protected]>
>> wrote:
>>
>>> Using another Android App my colleagues and I created (based on IOIO
>>> examples) makes also the I2C crash. It seems that the Android Apps are
>>> trying to take the I2C connexion over and therefore shut downs everything
>>> else. It even reboots the micro controller in order to obtain the bluetooth
>>> connexion.
>>>
>>> Maybe I don't put the following code in the right place? ( it is placed
>>> in my main function in main.c before my other function calls)
>>>
>>>
>>>   while(1){
>>> /************Bluetooth Communication***********/
>>>
>>>
>>> BOOL connected = ConnectionTasks();
>>>     if (!connected
>>>         && state > STATE_OPEN_CHANNEL) {
>>>       // just got disconnected
>>>       log_printf("Disconnected");
>>>       SoftReset();
>>>       state = STATE_INIT;
>>>     }
>>>     switch (state) {
>>>       case STATE_INIT:
>>>         handle = INVALID_CHANNEL_HANDLE;
>>>         state = STATE_OPEN_CHANNEL;
>>>          //_LATD3 = 0;
>>>         break;
>>>
>>>       case STATE_OPEN_CHANNEL:
>>>         if ((handle = OpenAvailableChannel()) != INVALID_CHANNEL_HANDLE)
>>> {
>>>           log_printf("Connected");
>>>           state = STATE_WAIT_CHANNEL_OPEN;
>>>         }
>>>          //_LATD3 = 0;
>>>         break;
>>>
>>>       case STATE_WAIT_CHANNEL_OPEN:
>>>        if (ConnectionCanSend(handle)) {
>>>           log_printf("Channel open");
>>>           AppProtocolInit(handle);
>>>           state = STATE_CONNECTED;
>>>         }
>>>         //_LATD3 = 0;
>>>         break;
>>>
>>>       case STATE_CONNECTED:
>>>         AppProtocolTasks(handle);
>>>         break;
>>>
>>>       case STATE_ERROR:
>>>         ConnectionCloseChannel(handle);
>>>         SoftReset();
>>>         state = STATE_INIT;
>>>         // _LATD3 = 0;
>>>         break;
>>>     }
>>> /************ END Bluetooth Communication***********/
>>>
>>>
>>> Le dimanche 25 janvier 2015 21:13:06 UTC+1, Ytai a écrit :
>>>>
>>>> This app is not related to the official IOIO codebase. You better
>>>> contact the author with this question.
>>>> On Jan 22, 2015 1:02 PM, "Vincent Nadon" <[email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have a problem with Bluetooth communication using Hardware tester
>>>>> app. It crashes I2C communication with other devices attached to IOIO
>>>>> microcontroler. Is this normal?
>>>>>
>>>>> Thanks for your help!
>>>>>
>>>>> Vincent
>>>>>
>>>>> --
>>>>> 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.
>>>>>
>>>>  --
>>> 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.
>>>
>>
>>  --
> 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.
>

-- 
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