Ya, I need that. My motor drive required 5V input pulse voltage. I actually tried the normal mode. Only the dir pin only to send signal. I tried this by using LED.
On Fri, Jan 24, 2014 at 1:30 AM, Ytai Ben-Tsvi <[email protected]> wrote: > Do you have a pull-up attached? Do you actually need open drain? At least > for testing purposes I would start with push-pull (aka "normal") mode. > On Jan 23, 2014 1:10 AM, "Synn Yong Tan" <[email protected]> wrote: > >> HI, Ytai. I tried my app with oscilloscope. The dir pin is able to work >> when i connect it to a led and also tried it with oscilloscope. >> The problem is there is no pulse output from the step pin after i >> connected it to oscilloscope. I tried to look over the code but i can't >> find out where is the problem. >> >> >> package ioio.examples.simple; >> >> import ioio.lib.api.DigitalOutput; >> import ioio.lib.api.Sequencer; >> import ioio.lib.api.Sequencer.ChannelConfig; >> import ioio.lib.api.Sequencer.ChannelConfigBinary; >> import ioio.lib.api.Sequencer.ChannelConfigSteps; >> import ioio.lib.api.Sequencer.ChannelCueBinary; >> import ioio.lib.api.Sequencer.ChannelCueSteps; >> import ioio.lib.api.Sequencer.Clock; >> import ioio.lib.api.exception.ConnectionLostException; >> import ioio.lib.util.BaseIOIOLooper; >> import ioio.lib.util.IOIOLooper; >> import android.os.Bundle; >> import ioio.lib.util.android.IOIOActivity; >> import android.widget.ToggleButton; >> >> >> >> >> public class IOIOSimpleApp extends IOIOActivity { >> private ToggleButton toggleButton_; >> >> @Override >> public void onCreate(Bundle savedInstanceState) { >> super.onCreate(savedInstanceState); >> setContentView(R.layout.main); >> toggleButton_ = (ToggleButton) findViewById(R.id.ToggleButton); >> >> } >> >> class Looper extends BaseIOIOLooper { >> private Sequencer.ChannelCueBinary stepperDirCue_ = new >> ChannelCueBinary(); >> private Sequencer.ChannelCueSteps stepperStepCue_ = new ChannelCueSteps(); >> private Sequencer.ChannelCue[] cue_ = new Sequencer.ChannelCue[] >> {stepperDirCue_ , stepperStepCue_ }; >> >> private Sequencer sequencer_; >> >> @Override >> protected void setup() throws ConnectionLostException, >> InterruptedException { >> final ChannelConfigBinary stepperDirConfig = new >> Sequencer.ChannelConfigBinary( >> false, false, new >> DigitalOutput.Spec(3,DigitalOutput.Spec.Mode.OPEN_DRAIN)); >> final ChannelConfigSteps stepperStepConfig = new ChannelConfigSteps( >> new DigitalOutput.Spec(4,DigitalOutput.Spec.Mode.OPEN_DRAIN)); >> >> >> final ChannelConfig[] config = new ChannelConfig[] { stepperDirConfig, >> stepperStepConfig >> }; >> sequencer_ = ioio_.openSequencer(config); >> sequencer_.waitEventType(Sequencer.Event.Type.STOPPED); >> while (sequencer_.available() > 0) { >> push(); >> } >> >> >> sequencer_.start(); >> } >> >> >> >> @Override >> public void loop() throws ConnectionLostException, InterruptedException >> { >> push(); >> } >> >> private void push() throws ConnectionLostException, InterruptedException >> { >> if (toggleButton_.isChecked()) { >> >> stepperDirCue_.value = true; >> stepperStepCue_.clk = Clock.CLK_2M; >> stepperStepCue_.pulseWidth = 2; >> stepperStepCue_.period = 400; >> >> >> } else { >> stepperDirCue_.value = false; >> stepperStepCue_.clk = Clock.CLK_2M; >> stepperStepCue_.pulseWidth = 2; >> stepperStepCue_.period = 400; >> } >> sequencer_.push(cue_, 62500 / 200); >> } >> } >> >> @Override >> protected IOIOLooper createIOIOLooper() { >> return new Looper(); >> } >> } >> >> >> >> On Wed, Jan 22, 2014 at 4:14 PM, Ytai Ben-Tsvi <[email protected]> wrote: >> >>> Please read my last email again >>> On Jan 21, 2014 10:34 PM, "Synn Yong Tan" <[email protected]> wrote: >>> >>>> Hi, Ytai.. >>>> Sorry because i not really get the command you meant.. >>>> You meant stepperStepCue.clk or stepperDirCue_.clk? >>>> Actually the app is successfully built. But after i connect everything >>>> together, the motor is not even rotating. >>>> By the way, the output signal voltage is only 3.3v, right? I have to >>>> use the open-drain mode so that i can send 5v output signal.. is that >>>> right? >>>> >>>> >>>> On Wed, Jan 22, 2014 at 2:16 PM, Ytai Ben-Tsvi <[email protected]>wrote: >>>> >>>>> Hi Synn, >>>>> I'm happy you're making a brave attempt to use the new library! >>>>> >>>>> I think you forgot to set stepperDirCue_.clk, not sure if this is the >>>>> only problem. >>>>> >>>>> A few suggestions that can hopefully make your work more effective: >>>>> >>>>> 1. When you ask a question, please provide more information on >>>>> *what* is not working. Just saying that the program is not working >>>>> makes it very hard to help you. >>>>> 2. If your program crashes, and in some other cases too, the >>>>> logcat output (open the Logcat view in Eclipse or type adb logcat in >>>>> the >>>>> command shell) might have useful information to help you figure out >>>>> what's >>>>> wrong. Use it. >>>>> 3. You can add your own log messages in your code, to help you >>>>> figure out what it's doing, where it's stuck, etc. >>>>> 4. You can use step-by-step debugging for even deeper >>>>> understanding of what's going on. >>>>> 5. Try to simplify your program as much as possible for isolating >>>>> a problem. The program that you sent is a very good example for that! >>>>> 6. Try to isolate electrical issues from software issues using an >>>>> oscilloscope or a logic analyzer if you have them, or otherwise by >>>>> testing >>>>> your program against known-good peripherals (for example, replace motor >>>>> drivers with LEDs, or first check your electronics manually). >>>>> >>>>> >>>>> >>>>> On Tue, Jan 21, 2014 at 7:33 PM, Synn Yong Tan <[email protected]>wrote: >>>>> >>>>>> Hi, >>>>>> I'm trying to do control on step motor. >>>>>> My app didn't working but i cannot find out where is the problem. >>>>>> Can please help me to see the code? >>>>>> >>>>>> package ioio.examples.simple; >>>>>> >>>>>> import ioio.lib.api.DigitalOutput; >>>>>> >>>>>> import ioio.lib.api.Sequencer; >>>>>> import ioio.lib.api.Sequencer.ChannelConfig; >>>>>> import ioio.lib.api.Sequencer.ChannelConfigBinary; >>>>>> import ioio.lib.api.Sequencer.ChannelConfigSteps; >>>>>> import ioio.lib.api.Sequencer.ChannelCueBinary; >>>>>> import ioio.lib.api.Sequencer.ChannelCueSteps; >>>>>> import ioio.lib.api.exception.ConnectionLostException; >>>>>> import ioio.lib.util.BaseIOIOLooper; >>>>>> import ioio.lib.util.IOIOLooper; >>>>>> import android.os.Bundle; >>>>>> import ioio.lib.util.android.IOIOActivity; >>>>>> import android.widget.ToggleButton; >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> public class IOIOSimpleApp extends IOIOActivity { >>>>>> private ToggleButton toggleButton_; >>>>>> >>>>>> @Override >>>>>> public void onCreate(Bundle savedInstanceState) { >>>>>> super.onCreate(savedInstanceState); >>>>>> setContentView(R.layout.main); >>>>>> toggleButton_ = (ToggleButton) findViewById(R.id.ToggleButton); >>>>>> >>>>>> } >>>>>> >>>>>> class Looper extends BaseIOIOLooper { >>>>>> private Sequencer.ChannelCueBinary stepperDirCue_ = new >>>>>> ChannelCueBinary(); >>>>>> private Sequencer.ChannelCueSteps stepperStepCue_ = new >>>>>> ChannelCueSteps(); >>>>>> private Sequencer.ChannelCue[] cue_ = new Sequencer.ChannelCue[] >>>>>> {stepperDirCue_, stepperStepCue_ }; >>>>>> >>>>>> private Sequencer sequencer_; >>>>>> >>>>>> @Override >>>>>> protected void setup() throws ConnectionLostException, >>>>>> InterruptedException { >>>>>> final ChannelConfigBinary stepperDirConfig = new >>>>>> Sequencer.ChannelConfigBinary( >>>>>> false, false, new DigitalOutput.Spec(3)); >>>>>> final ChannelConfigSteps stepperStepConfig = new ChannelConfigSteps( >>>>>> new DigitalOutput.Spec(4)); >>>>>> final ChannelConfig[] config = new ChannelConfig[] { >>>>>> stepperDirConfig, >>>>>> stepperStepConfig }; >>>>>> >>>>>> sequencer_ = ioio_.openSequencer(config); >>>>>> >>>>>> push(); >>>>>> sequencer_.start(); >>>>>> } >>>>>> >>>>>> >>>>>> @Override >>>>>> public void loop() throws ConnectionLostException, >>>>>> InterruptedException { >>>>>> push(); >>>>>> } >>>>>> >>>>>> private void push() throws ConnectionLostException, >>>>>> InterruptedException { >>>>>> stepperStepCue_.pulseWidth = 2; >>>>>> stepperStepCue_.period = 400; >>>>>> >>>>>> boolean on = (toggleButton_.isChecked()); >>>>>> if (on) { >>>>>> >>>>>> stepperDirCue_.value = true; >>>>>> >>>>>> } else { >>>>>> stepperDirCue_.value = false; >>>>>> } >>>>>> sequencer_.push(cue_, 62500 / 2); >>>>>> } >>>>>> } >>>>>> >>>>>> @Override >>>>>> protected IOIOLooper createIOIOLooper() { >>>>>> return new Looper(); >>>>>> } >>>>>> } >>>>>> >>>>>> -- >>>>>> 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/groups/opt_out. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "ioio-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. >>>>> To unsubscribe from this group and all its topics, 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/groups/opt_out. >>>>> >>>> >>>> -- >>>> 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/groups/opt_out. >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "ioio-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. >>> To unsubscribe from this group and all its topics, 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/groups/opt_out. >>> >> >> -- >> 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/groups/opt_out. >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "ioio-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. > To unsubscribe from this group and all its topics, 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/groups/opt_out. > -- 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/groups/opt_out.
