You don't need to upgrade the bootloader, only the application firmware. For your (old) version of the board, this is done using the IOIO manager application, which unfortunately requires you to be using an Android <4.1. This is only a one-time process, you'd be able to use the IOIO with any Android later. On Feb 2, 2015 7:36 AM, "Vincent Nadon" <[email protected]> wrote:
> 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]> >> 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. > -- 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.
