I wouldn't expect you to see anything with an LED on the step channel (duty
cycle is 0.5%). I didn't understand from you whether you actually looked at
this signal with an oscilloscope after changing it to push-pull.
BTW, which motor driver are you using? Do you have a datasheet?


On Thu, Jan 23, 2014 at 7:33 PM, Synn Yong Tan <[email protected]> wrote:

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

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