-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4d6d667
Showing
110 changed files
with
296,813 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Fortran module files | ||
*.mod | ||
*.smod | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2021 shihaipeng03 | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
This software is Copyright (C) 2008 Mike McCauley. Use is subject to license | ||
conditions. The main licensing options available are GPL V2 or Commercial: | ||
|
||
Open Source Licensing GPL V2 | ||
|
||
This is the appropriate option if you want to share the source code of your | ||
application with everyone you distribute it to, and you also want to give them | ||
the right to share who uses it. If you wish to use this software under Open | ||
Source Licensing, you must contribute all your source code to the open source | ||
community in accordance with the GPL Version 2 when your application is | ||
distributed. See http://www.gnu.org/copyleft/gpl.html | ||
|
||
Commercial Licensing | ||
|
||
This is the appropriate option if you are creating proprietary applications | ||
and you are not prepared to distribute and share the source code of your | ||
application. Contact [email protected] for details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
This is the Arduino AccelStepper library. It provides an object-oriented interface for 2, 3 or 4 pin stepper motors and motor drivers. | ||
|
||
The standard Arduino IDE includes the Stepper library (http://arduino.cc/en/Reference/Stepper) for stepper motors. It is perfectly adequate for simple, single motor applications. | ||
|
||
AccelStepper significantly improves on the standard Arduino Stepper library in several ways: | ||
|
||
- Supports acceleration and deceleration | ||
- Supports multiple simultaneous steppers, with independent concurrent stepping on each stepper | ||
- API functions never delay() or block | ||
- Supports 2, 3 and 4 wire steppers, plus 3 and 4 wire half steppers. | ||
- Supports alternate stepping functions to enable support of AFMotor (https://github.com/adafruit/Adafruit-Motor-Shield-library) | ||
- Supports stepper drivers such as the Sparkfun EasyDriver (based on 3967 driver chip) | ||
- Very slow speeds are supported | ||
- Extensive API | ||
- Subclass support | ||
|
||
--- | ||
|
||
This fork follows the upstream version. Files are slightly reorganized to follow Arduino library conventions. |
40 changes: 40 additions & 0 deletions
40
Lib/libraries/AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
// AFMotor_ConstantSpeed.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Shows how to run AccelStepper in the simplest, | ||
// fixed speed mode with no accelerations | ||
// Requires the AFMotor library | ||
// (https://github.com/adafruit/Adafruit-Motor-Shield-library) | ||
// Caution, does not work with Adafruit Motor Shield V2 | ||
// See https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library | ||
// for examples that work with Adafruit Motor Shield V2. | ||
|
||
#include <AccelStepper.h> | ||
#include <AFMotor.h> | ||
|
||
AF_Stepper motor1(200, 1); | ||
|
||
|
||
// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! | ||
void forwardstep() { | ||
motor1.onestep(FORWARD, SINGLE); | ||
} | ||
void backwardstep() { | ||
motor1.onestep(BACKWARD, SINGLE); | ||
} | ||
|
||
AccelStepper stepper(forwardstep, backwardstep); // use functions to step | ||
|
||
void setup() | ||
{ | ||
Serial.begin(9600); // set up Serial library at 9600 bps | ||
Serial.println("Stepper test!"); | ||
|
||
stepper.setMaxSpeed(50); | ||
stepper.setSpeed(50); | ||
} | ||
|
||
void loop() | ||
{ | ||
stepper.runSpeed(); | ||
} |
57 changes: 57 additions & 0 deletions
57
Lib/libraries/AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
// AFMotor_MultiStepper.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Control both Stepper motors at the same time with different speeds | ||
// and accelerations. | ||
// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library) | ||
// Caution, does not work with Adafruit Motor Shield V2 | ||
// See https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library | ||
// for examples that work with Adafruit Motor Shield V2. | ||
|
||
#include <AccelStepper.h> | ||
#include <AFMotor.h> | ||
|
||
// two stepper motors one on each port | ||
AF_Stepper motor1(200, 1); | ||
AF_Stepper motor2(200, 2); | ||
|
||
// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! | ||
// wrappers for the first motor! | ||
void forwardstep1() { | ||
motor1.onestep(FORWARD, SINGLE); | ||
} | ||
void backwardstep1() { | ||
motor1.onestep(BACKWARD, SINGLE); | ||
} | ||
// wrappers for the second motor! | ||
void forwardstep2() { | ||
motor2.onestep(FORWARD, SINGLE); | ||
} | ||
void backwardstep2() { | ||
motor2.onestep(BACKWARD, SINGLE); | ||
} | ||
|
||
// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object | ||
AccelStepper stepper1(forwardstep1, backwardstep1); | ||
AccelStepper stepper2(forwardstep2, backwardstep2); | ||
|
||
void setup() | ||
{ | ||
stepper1.setMaxSpeed(200.0); | ||
stepper1.setAcceleration(100.0); | ||
stepper1.moveTo(24); | ||
|
||
stepper2.setMaxSpeed(300.0); | ||
stepper2.setAcceleration(100.0); | ||
stepper2.moveTo(1000000); | ||
|
||
} | ||
|
||
void loop() | ||
{ | ||
// Change direction at the limits | ||
if (stepper1.distanceToGo() == 0) | ||
stepper1.moveTo(-stepper1.currentPosition()); | ||
stepper1.run(); | ||
stepper2.run(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// Blocking.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Shows how to use the blocking call runToNewPosition | ||
// Which sets a new target position and then waits until the stepper has | ||
// achieved it. | ||
// | ||
// Copyright (C) 2009 Mike McCauley | ||
// $Id: Blocking.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ | ||
|
||
#include <AccelStepper.h> | ||
|
||
// Define a stepper and the pins it will use | ||
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 | ||
|
||
void setup() | ||
{ | ||
stepper.setMaxSpeed(200.0); | ||
stepper.setAcceleration(100.0); | ||
} | ||
|
||
void loop() | ||
{ | ||
stepper.runToNewPosition(0); | ||
stepper.runToNewPosition(500); | ||
stepper.runToNewPosition(100); | ||
stepper.runToNewPosition(120); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// Bounce.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Make a single stepper bounce from one limit to another | ||
// | ||
// Copyright (C) 2012 Mike McCauley | ||
// $Id: Random.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ | ||
|
||
#include <AccelStepper.h> | ||
|
||
// Define a stepper and the pins it will use | ||
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 | ||
|
||
void setup() | ||
{ | ||
// Change these to suit your stepper if you want | ||
stepper.setMaxSpeed(100); | ||
stepper.setAcceleration(20); | ||
stepper.moveTo(500); | ||
} | ||
|
||
void loop() | ||
{ | ||
// If at the end of travel go to the other end | ||
if (stepper.distanceToGo() == 0) | ||
stepper.moveTo(-stepper.currentPosition()); | ||
|
||
stepper.run(); | ||
} |
23 changes: 23 additions & 0 deletions
23
Lib/libraries/AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// ConstantSpeed.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Shows how to run AccelStepper in the simplest, | ||
// fixed speed mode with no accelerations | ||
/// \author Mike McCauley ([email protected]) | ||
// Copyright (C) 2009 Mike McCauley | ||
// $Id: ConstantSpeed.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ | ||
|
||
#include <AccelStepper.h> | ||
|
||
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 | ||
|
||
void setup() | ||
{ | ||
stepper.setMaxSpeed(1000); | ||
stepper.setSpeed(50); | ||
} | ||
|
||
void loop() | ||
{ | ||
stepper.runSpeed(); | ||
} |
49 changes: 49 additions & 0 deletions
49
Lib/libraries/AccelStepper/examples/DualMotorShield/DualMotorShield.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
// DualMotorShield.pde | ||
// -*- mode: C++ -*- | ||
// | ||
// Shows how to run 2 simultaneous steppers | ||
// using the Itead Studio Arduino Dual Stepper Motor Driver Shield | ||
// model IM120417015 | ||
// This shield is capable of driving 2 steppers at | ||
// currents of up to 750mA | ||
// and voltages up to 30V | ||
// Runs both steppers forwards and backwards, accelerating and decelerating | ||
// at the limits. | ||
// | ||
// Copyright (C) 2014 Mike McCauley | ||
// $Id: $ | ||
|
||
#include <AccelStepper.h> | ||
|
||
// The X Stepper pins | ||
#define STEPPER1_DIR_PIN 3 | ||
#define STEPPER1_STEP_PIN 2 | ||
// The Y stepper pins | ||
#define STEPPER2_DIR_PIN 7 | ||
#define STEPPER2_STEP_PIN 6 | ||
|
||
// Define some steppers and the pins the will use | ||
AccelStepper stepper1(AccelStepper::DRIVER, STEPPER1_STEP_PIN, STEPPER1_DIR_PIN); | ||
AccelStepper stepper2(AccelStepper::DRIVER, STEPPER2_STEP_PIN, STEPPER2_DIR_PIN); | ||
|
||
void setup() | ||
{ | ||
stepper1.setMaxSpeed(200.0); | ||
stepper1.setAcceleration(200.0); | ||
stepper1.moveTo(100); | ||
|
||
stepper2.setMaxSpeed(100.0); | ||
stepper2.setAcceleration(100.0); | ||
stepper2.moveTo(100); | ||
} | ||
|
||
void loop() | ||
{ | ||
// Change direction at the limits | ||
if (stepper1.distanceToGo() == 0) | ||
stepper1.moveTo(-stepper1.currentPosition()); | ||
if (stepper2.distanceToGo() == 0) | ||
stepper2.moveTo(-stepper2.currentPosition()); | ||
stepper1.run(); | ||
stepper2.run(); | ||
} |
Oops, something went wrong.