I went through the steps mentioned on the page you provided the link for, and updated my firmware from 3.3 to 5.
I know there are a few issues with bluetooth dongles not working... do you have any suggestions for this?
now I just have to wait for my servos and control board to start codding my robot cube
I'll add to that Ytai's Github page and the users group for general information.Not exactly a thorough guide but the steps that I finally used to get my thinking working:
1. Download the latest IOIO library (currently 2.04 at time of posting - extract, and make sure the files are named as "ioio 20.jar" and "ioio20.xml" if not rename them
2. Download and extract the IOIO Workbench (currently 2.32 at time of posting, i think), that has demo`s for just about all the inputs and outputs you`ll want. You should be able to reverse engineer stuff from there...
Couple of other things I had to update the firmware on my IOIO board to work with the latest library, it shipped with Version 3, you need version 5. This link should help with that https://github.com/ytai/ioio/wiki/IOIO-OTG-Bootloader-and-IOIODude
Lastly to make troubleshooting easier I installed a app from the Play Store called 'IOIO Hardware Tester' which helped my confirm BT connections etc.
Sorry, as my application was only controlling some LED`s with PWM output.
The done event is optional, so you don't need to use it unless you want to know when the method has finished running.Hi again...
I can't seem to be able to catch or fire the pulsewidth_done event, any thoughts on this one?
Happy new year! Glad you're back!The done event is optional, so you don't need to use it unless you want to know when the method has finished running.
But... you seem to have discovered a bug in the library. I don't seem to raise an done event if there are no exceptions thrown in this and other methods where the done event is optional. It will however raise the done event if an exception is thrown. I'll try to get that fixed soon. The method works but you just never will get a done event.
Also when you open a pulseoutput pin it will not start to output until you do a pulsewidth to define what kind of pulse you want.
Thank you and like wise.Happy new year! Glad you're back!
I have no problems making the output as I need it and the servo runs fine.
I need to know when pulse width is finished in order to liberate the pin so that I can then change the servo direction... Or just change its angle
I see. Well give me a day or two but while waiting try using ioio.synch before and after calls to pulsewidth, this might help.When controlling a servo, in my trials, I have found that if you "misfire" the pulse width while it has not ended, then the next movement becomes erratic. So I took the route of disabling touch on the buttons during pulse width action and used a timer as time out... It works, but different angles have different time duration (real time from one point to another) so sometimes the servo was in a kind of overdrive and the arm kinda trembles... If done event can be caught then I can close the pin for each individual movement, and this way save battery.