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 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.

Reply via email to