Giter VIP home page Giter VIP logo

clearpath-arduino-step-and-direction's People

Contributors

bf-teknic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

clearpath-arduino-step-and-direction's Issues

feature request: decelerate to stop

Thank you for making this library. It is super helpful.

I would love to have one more feature; a stopDecelerate().
Currently the stopMove() causes an abrupt stop, as your commands state.

Do you think there is any way to interrupt the current motion and quickly but safely decelerate?
This would allow me to safely change directions when using your motors for live action motion changes.

Thank you for any help.

Adafruit Grand Central M4 Express compile issues

Just an FYI, the Adafruit Grand Central Express is a Arduino MEGA 2560 form factor board powered by the SAMD51. A 32 bit MEGA 2560 board basically with a fast execution time. Anyways, when you try to compile the ClearPath library you get the following;

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp: In member function 'void ClearPathMotorSD::stopMove()':

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:300:2: error: 'cli' was not declared in this scope

cli();

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:300:2: note: suggested alternative: 'Mclk'

cli();

^~~

Mclk

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:311:2: error: 'sei' was not declared in this scope

sei();

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:311:2: note: suggested alternative: 'Qspi'

sei();

^~~

Qspi

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp: In member function 'boolean ClearPathMotorSD::moveFast(long int)':

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:364:5: error: 'cli' was not declared in this scope

 cli();

 ^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:364:5: note: suggested alternative: 'Mclk'

 cli();

 ^~~

 Mclk

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:367:5: error: 'sei' was not declared in this scope

 sei();

 ^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:367:5: note: suggested alternative: 'Qspi'

 sei();

 ^~~

 Qspi

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:377:4: error: 'cli' was not declared in this scope

cli();

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:377:4: note: suggested alternative: 'Mclk'

cli();

^~~

Mclk

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:380:4: error: 'sei' was not declared in this scope

sei();

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathMotorSD.cpp:380:4: note: suggested alternative: 'Qspi'

sei();

^~~

Qspi

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:55:4: error: expected constructor, destructor, or type conversion before '(' token

ISR(TIMER2_COMPA_vect)

^

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp: In member function 'void ClearPathStepGen::Start()':

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:295:2: error: 'cli' was not declared in this scope

cli();//stop interrupts

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:295:2: note: suggested alternative: 'Mclk'

cli();//stop interrupts

^~~

Mclk

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:298:4: error: 'TCCR2A' was not declared in this scope

TCCR2A = 0;// set entire TCCR2A register to 0

^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:298:4: note: suggested alternative: 'TCC2'

TCCR2A = 0;// set entire TCCR2A register to 0

^~~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:299:3: error: 'TCCR2B' was not declared in this scope

TCCR2B = 0;// same for TCCR2B

^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:299:3: note: suggested alternative: 'TCC2'

TCCR2B = 0;// same for TCCR2B

^~~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:300:3: error: 'TCNT2' was not declared in this scope

TCNT2 = 0;//initialize counter value to 0

^~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:300:3: note: suggested alternative: 'TCC2'

TCNT2 = 0;//initialize counter value to 0

^~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:303:3: error: 'OCR2A' was not declared in this scope

OCR2A = time;// time should be 249, 1-256 will produce different frequencies

^~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:306:19: error: 'WGM21' was not declared in this scope

TCCR2A |= (1 << WGM21);

               ^~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:310:19: error: 'CS01' was not declared in this scope

TCCR2B |= (1 << CS01) | (1 << CS00);

               ^~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:310:19: note: suggested alternative: 'SS1'

TCCR2B |= (1 << CS01) | (1 << CS00);

               ^~~~

               SS1

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:310:33: error: 'CS00' was not declared in this scope

TCCR2B |= (1 << CS01) | (1 << CS00);

                             ^~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:310:33: note: suggested alternative: 'B100'

TCCR2B |= (1 << CS01) | (1 << CS00);

                             ^~~~

                             B100

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:313:3: error: 'TIMSK2' was not declared in this scope

TIMSK2=0;

^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:314:19: error: 'OCIE2A' was not declared in this scope

TIMSK2 |= (1 << OCIE2A);

               ^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:316:3: error: 'sei' was not declared in this scope

sei();//allow interrupts

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:316:3: note: suggested alternative: 'Qspi'

sei();//allow interrupts

^~~

Qspi

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp: In member function 'void ClearPathStepGen::Stop()':

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:326:2: error: 'cli' was not declared in this scope

cli();//stop interrupts

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:326:2: note: suggested alternative: 'Mclk'

cli();//stop interrupts

^~~

Mclk

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:329:2: error: 'TCCR2A' was not declared in this scope

TCCR2A = 0;// set entire TCCR2A register to 0

^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:329:2: note: suggested alternative: 'TCC2'

TCCR2A = 0;// set entire TCCR2A register to 0

^~~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:330:3: error: 'TCCR2B' was not declared in this scope

TCCR2B = 0;// same for TCCR2B

^~~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:330:3: note: suggested alternative: 'TCC2'

TCCR2B = 0;// same for TCCR2B

^~~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:331:3: error: 'TCNT2' was not declared in this scope

TCNT2 = 0;//initialize counter value to 0

^~~~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:331:3: note: suggested alternative: 'TCC2'

TCNT2 = 0;//initialize counter value to 0

^~~~~

TCC2

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:333:3: error: 'sei' was not declared in this scope

sei();//allow interrupts

^~~

C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen\ClearPathStepGen.cpp:333:3: note: suggested alternative: 'Qspi'

sei();//allow interrupts

^~~

Qspi

Multiple libraries were found for "Adafruit_NeoPixel.h"
Used: C:\Users\youca\Documents\Arduino\libraries\Adafruit_NeoPixel
Multiple libraries were found for "ClearPathMotorSD.h"
Used: C:\Users\youca\Documents\Arduino\libraries\ClearPathStepGen
exit status 1
Error compiling for board Adafruit Grand Central M4 (SAMD51).

``

How to know that homing is done?

Thanks for making this library.

I have a clearPath SD auto-tuned to a vertical linear actuator.
I have set it so that every time enable is called, the motor homes to the lowest actuator limit.

The example code works well on a feely rotating motor (i.e. no linear actuator attached) since there is no hard stop to worry about. But with the linear actuator attached i feel i need to check if homing is done, before i can start sending steps and direction commands, otherwise i might step in the wrong direction; i.e. further in to the hard stop.

Thanks for you advice.

run motor indefinitely

Hi, I'm fairly new to Clearpath; I just found this library a few days ago. I loaded up the SingleAxisDemo program onto my Arduino Uno and I was able to make it work with a Clearpath SD motor.
As far as I can find the only way to make the motor run is to call the move() function and specify the length of the move. Is there any way to use this library to tell the motor to run until you tell it to stop? In my case, I would like the motor to run while a digital input is true on the Arduino. Maybe this feature is there, and I just couldn't find it.
I'll appreciate any input!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.