It's all on GitHub. I thought it's been agreed that you can do everything you need with the stock firmware, but up to you... On Feb 2, 2015 8:12 AM, "Vincent Nadon" <[email protected]> wrote:
> I think I have to consider myself more of a IOIO developer than a IOIO > user ;) > > I have an application firmware that my colleagues and I took from one of > your versions and included some of our code to boot our DSPs. So indeed > this Application firmware might be outdated for the newer IOIOLib in > Android. I think I need the newest version of the Application firmware that > you have as an MPLab project so I can modify it to include my code to boot > my DSPs. > > Is that possible? > > Le lundi 2 février 2015 17:03:22 UTC+1, Ytai a écrit : >> >> 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. > -- 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.
