浏览代码

Loopable

master
Flo Smilari 3 年前
父节点
当前提交
220a00065d
共有 7 个文件被更改,包括 56 次插入25 次删除
  1. 15
    15
      ExEzButton.h
  2. 13
    6
      Fraestisch_SFTools.ino
  3. 19
    0
      Loopable.h
  4. 2
    2
      RotaryControler.h
  5. 3
    0
      WLS.cpp
  6. 3
    1
      WLS.h
  7. 1
    1
      sloeber.ino.cpp

+ 15
- 15
ExEzButton.h 查看文件

*/ */
#include <ezButton.h> #include <ezButton.h>
#include "Loopable.h"
class ExEzButton: public ezButton {
class ExEzButton: public ezButton, public Loopable {
private: private:
bool inverted;
unsigned long longpressTime;
unsigned long pressedTime;
unsigned long releasedTime;
bool inverted;
unsigned long longpressTime;
unsigned long pressedTime;
unsigned long releasedTime;
public: public:
ExEzButton(int pin);
ExEzButton(int pin, bool _inverted);
ExEzButton(int pin, bool _inverted, int _longpressTime);
bool isPressing(void);
bool isPressed();
bool isLongPressed(void);
void loop(void);
ExEzButton(int pin);
ExEzButton(int pin, bool _inverted);
ExEzButton(int pin, bool _inverted, int _longpressTime);
bool isPressing(void);
bool isPressed();
bool isLongPressed(void);
void loop(void) override;
}; };

//Added by Sloeber
#pragma once
//Added by Sloeber
#pragma once

+ 13
- 6
Fraestisch_SFTools.ino 查看文件

int displaycounter = 0; // Store current counter value int displaycounter = 0; // Store current counter value
volatile boolean TurnDetected; volatile boolean TurnDetected;



void printStatus(String actualStatus) { void printStatus(String actualStatus) {
if (!oldStatus.equals(actualStatus)) { if (!oldStatus.equals(actualStatus)) {
Serial.println(actualStatus); Serial.println(actualStatus);
//*** MAIN LOOP ******** //*** MAIN LOOP ********
//********************** //**********************
void loop() { void loop() {
RedButton.loop(); // MUST call the loop() function first
GreenButton.loop();
BlueButton.loop();

WlsDetect.loop(); WlsDetect.loop();
Wls.loop(); Wls.loop();
RotaryControler.loop();


Display.setWlsConnected(WlsDetect.isConnected()); Display.setWlsConnected(WlsDetect.isConnected());
Display.showFrame(actualStatus); Display.showFrame(actualStatus);


case TOOL_CHANGE: case TOOL_CHANGE:
printStatus("TOOL_CHANGE"); printStatus("TOOL_CHANGE");
BlueButton.loop();
RotaryControler.loop();
originStatus = TOOL_CHANGE; originStatus = TOOL_CHANGE;
if (intermediateState == 0) { if (intermediateState == 0) {
Router_Elevator.moveToUpperLimitSwitch(); Router_Elevator.moveToUpperLimitSwitch();


case CONFIGURATION: case CONFIGURATION:
printStatus("CONFIGURATION"); printStatus("CONFIGURATION");
BlueButton.loop();
RotaryControler.loop();
Router_Setup.initialize(); Router_Setup.initialize();
Router_Setup.onRotaryControlerTurn(RotaryControler.getEncoderMove()); Router_Setup.onRotaryControlerTurn(RotaryControler.getEncoderMove());
if (RotaryControler.isSwitchPressed()) { if (RotaryControler.isSwitchPressed()) {


case NULLING: case NULLING:
printStatus("NULLING"); printStatus("NULLING");
RedButton.loop();
if (RedButton.isPressed()) { if (RedButton.isPressed()) {
Router_Elevator.setZeroPosition(); Router_Elevator.setZeroPosition();
SetActualStatus(IDLE); SetActualStatus(IDLE);
break; break;


case NULLING_TLS: case NULLING_TLS:
RedButton.loop();
originStatus = NULLING_TLS; originStatus = NULLING_TLS;
if (intermediateState == 0) { if (intermediateState == 0) {
printStatus("NULLING_TLS,0"); printStatus("NULLING_TLS,0");


case IDLE: case IDLE:
printStatus("IDLE"); printStatus("IDLE");
RedButton.loop();
GreenButton.loop();
BlueButton.loop();
RotaryControler.loop();
originStatus = IDLE; originStatus = IDLE;
if (RotaryControler.isSwitchPressed()) { if (RotaryControler.isSwitchPressed()) {
Router_Elevator.toggleMode(); Router_Elevator.toggleMode();


case DIVING: case DIVING:
printStatus("DIVING"); printStatus("DIVING");
GreenButton.loop();
originStatus = DIVING; originStatus = DIVING;
Router_Elevator.setMaxDiveDistance(); Router_Elevator.setMaxDiveDistance();
if (GreenButton.isPressed()) { if (GreenButton.isPressed()) {
Serial.println("GB && BB pressing");
Serial.println("GB pressed");
if (!Router_Elevator.maxDiveDistanceReached()) { if (!Router_Elevator.maxDiveDistanceReached()) {
Router_Elevator.incrementDiveDistance(); Router_Elevator.incrementDiveDistance();
Router_Elevator.moveToTarget(); Router_Elevator.moveToTarget();

+ 19
- 0
Loopable.h 查看文件

/*
* Looper.h
*
* Created on: 01.03.2022
* Author: FSmilari
*/
#ifndef LOOPABLE_H_
#define LOOPABLE_H_
class Loopable {
public:
virtual void loop(void);
virtual ~Loopable() {
}
};
#endif /* LOOPABLE_H_ */

+ 2
- 2
RotaryControler.h 查看文件

#include "RotaryEncoder.h" #include "RotaryEncoder.h"
#include "ExEzButton.h" #include "ExEzButton.h"
class RotaryControler {
class RotaryControler: public Loopable {
private: private:
RotaryEncoder Encoder; RotaryEncoder Encoder;
ExEzButton RotarySwitch; ExEzButton RotarySwitch;
int getDirection(void); int getDirection(void);
RotaryEncoder::Direction getEncoderMove(); RotaryEncoder::Direction getEncoderMove();
void setDebounceTime(unsigned long time); void setDebounceTime(unsigned long time);
void loop(void);
void loop(void) override;
}; };

+ 3
- 0
WLS.cpp 查看文件

} }
} }
void WLS::loop(void) {
ezButton::loop();
}

+ 3
- 1
WLS.h 查看文件

#define WLS_H_ #define WLS_H_
#include <ezButton.h> #include <ezButton.h>
#include "Loopable.h"
class WLS: public ezButton {
class WLS: public ezButton, public Loopable {
private: private:
bool inverted; bool inverted;
bool isPlugged(void); bool isPlugged(void);
bool isUnplugged(void); bool isUnplugged(void);
bool isConnected(void); bool isConnected(void);
void loop(void) override;
}; };
//Added by Sloeber //Added by Sloeber

+ 1
- 1
sloeber.ino.cpp 查看文件

//This is a automatic generated file //This is a automatic generated file
//Please do not modify this file //Please do not modify this file
//If you touch this file your change will be overwritten during the next build //If you touch this file your change will be overwritten during the next build
//This file has been generated on 2022-02-27 18:38:05
//This file has been generated on 2022-03-01 10:11:02


#include "Arduino.h" #include "Arduino.h"
#include <Arduino.h> #include <Arduino.h>

正在加载...
取消
保存