Migrate takeup code into it's own lib
This commit is contained in:
parent
3cba88d96a
commit
0d641b3f67
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
#include "Takeup.h"
|
||||
|
||||
Takeup::Takeup () {}
|
||||
|
||||
void Takeup::setup () {
|
||||
pinMode(feedPin, OUTPUT);
|
||||
pinMode(takeupPin, OUTPUT);
|
||||
digitalWrite(feedPin, LOW);
|
||||
digitalWrite(takeupPin, LOW);
|
||||
}
|
||||
|
||||
void Takeup::loop () {
|
||||
if (takeupStop > 0 || feedStop > 0) {
|
||||
timer = millis();
|
||||
if (feedStop > 0) {
|
||||
if (timer >= feedStop) {
|
||||
_stopFeed();
|
||||
}
|
||||
}
|
||||
if (takeupStop > 0) {
|
||||
if (timer >= takeupStop) {
|
||||
_stopTakeup();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Takeup::forward () {
|
||||
bool start = takeupStop < 0;
|
||||
takeupStop = start ? millis() + frameTime : takeupStop + frameTime;
|
||||
if (start) {
|
||||
analogWrite(takeupPin, PWM);
|
||||
}
|
||||
}
|
||||
|
||||
void Takeup::backward () {
|
||||
bool start = feedStop < 0;
|
||||
feedStop = start ? millis() + frameTime : feedStop + frameTime;
|
||||
if (start) {
|
||||
analogWrite(feedPin, PWM);
|
||||
}
|
||||
}
|
||||
|
||||
void Takeup::_stopFeed () {
|
||||
digitalWrite(feedPin, LOW);
|
||||
feedStop = -1;
|
||||
}
|
||||
|
||||
void Takeup::_stopTakeup () {
|
||||
digitalWrite(takeupPin, LOW);
|
||||
takeupStop = -1;
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef TAKEUP
|
||||
#define TAKEUP
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
class Takeup {
|
||||
|
||||
private:
|
||||
|
||||
const uint8_t PWM = 200; //calculate corresponding RPM
|
||||
const long frameTime = 220;
|
||||
|
||||
const uint8_t feedPin = 9;
|
||||
const uint8_t takeupPin = 10;
|
||||
|
||||
volatile long timer = 0;
|
||||
volatile long feedStop = -1;
|
||||
volatile long takeupStop = -1;
|
||||
|
||||
void _stopFeed();
|
||||
void _stopTakeup();
|
||||
|
||||
public:
|
||||
|
||||
Takeup();
|
||||
|
||||
void setup();
|
||||
void loop();
|
||||
|
||||
void forward();
|
||||
void backward();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -6,6 +6,8 @@ Takeup::Takeup () {}
|
|||
void Takeup::setup () {
|
||||
pinMode(feedPin, OUTPUT);
|
||||
pinMode(takeupPin, OUTPUT);
|
||||
digitalWrite(feedPin, LOW);
|
||||
digitalWrite(takeupPin, LOW);
|
||||
}
|
||||
|
||||
void Takeup::loop () {
|
||||
|
|
@ -41,11 +43,11 @@ void Takeup::backward () {
|
|||
}
|
||||
|
||||
void Takeup::_stopFeed () {
|
||||
digitalWrite(feedPin, 0);
|
||||
digitalWrite(feedPin, LOW);
|
||||
feedStop = -1;
|
||||
}
|
||||
|
||||
void Takeup::_stopTakeup () {
|
||||
digitalWrite(takeupPin, 0);
|
||||
digitalWrite(takeupPin, LOW);
|
||||
takeupStop = -1;
|
||||
}
|
||||
|
|
@ -35,6 +35,10 @@ ENDSTOPCAMERASHIELD=(
|
|||
mcopy_mitchell_camera
|
||||
)
|
||||
|
||||
TAKEUP=(
|
||||
mcopy_mitchell_camera
|
||||
)
|
||||
|
||||
for sketch in "${MCOPYSERIAL[@]}"; do
|
||||
cp ino/lib/McopySerial/McopySerial.* ino/${sketch}/
|
||||
done
|
||||
|
|
@ -43,6 +47,10 @@ for sketch in "${ENDSTOPCAMERASHIELD[@]}"; do
|
|||
cp ino/lib/EndstopCameraShield/EndstopCameraShield.* ino/${sketch}/
|
||||
done
|
||||
|
||||
for sketch in "${TAKEUP[@]}"; do
|
||||
cp ino/lib/Takeup/Takeup.* ino/${sketch}/
|
||||
done
|
||||
|
||||
if [ -d ../McopySerial ]; then
|
||||
cp ino/lib/McopySerial/McopySerial.* ../McopySerial/
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in New Issue