Hi,

Thanks for your help! 

After thinking about it, in the end I would probably end up copying every 
function in Java anyways to update the Libraries. So I will simply 
transcode my micro controller functions in Java as you said.

I started slowly to do so, but I see some errors about incompatible IOIO 
version in my LogCat...?

I get the same error message as in the following post 
https://groups.google.com/forum/#!msg/ioio-users/5rziYMOYouc/kVK_lic10qMJ 
except 
I have a different IOIO bootloader version. I think it's because I'm using 
the most recent version of the IOIOLib for Android with an older version of 
the bootloader. To fix the problem I need compatible bootloader files to 
compile in MPLab which I can't find on the IOIO page. Is it possible to get 
them?

Here is the LogCat error message I get:

02-02 16:32:13.558: I/IncomingState(25002): IOIO Connection established. 
Hardware ID: SPRK0016 Bootloader ID: IOIO0306 Firmware ID: IOIO0326

02-02 16:32:13.558: V/IOIOImpl(25002): Querying for required interface ID

02-02 16:32:13.598: E/IOIOImpl(25002): Required interface ID is not 
supported

02-02 16:32:13.598: E/IOIOBaseApplicationHelper(25002): Incompatible IOIO 
firmware

02-02 16:32:13.598: E/IOIOBaseApplicationHelper(25002): 
ioio.lib.api.exception.IncompatibilityException: IOIO firmware does not 
support required firmware: IOIO0005

02-02 16:32:13.598: E/IOIOBaseApplicationHelper(25002): at 
ioio.lib.impl.IOIOImpl.checkInterfaceVersion(IOIOImpl.java:208)

02-02 16:32:13.598: E/IOIOBaseApplicationHelper(25002): at 
ioio.lib.impl.IOIOImpl.waitForConnect(IOIOImpl.java:135)

02-02 16:32:13.598: E/IOIOBaseApplicationHelper(25002): at 
ioio.lib.util.IOIOBaseApplicationHelper$IOIOThread.run(IOIOBaseApplicationHelper.java:58)

Thanks again!

Vincent

Le dimanche 1 février 2015 07:22:55 UTC+1, Ytai a écrit :
>
> 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] 
> <javascript:>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> 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