mirror of
https://github.com/usatiuk/EggbotWireless.git
synced 2025-10-26 16:57:48 +01:00
disable 12v after 20s of inactivity
This commit is contained in:
9
Firmware/EggbotWireless/include/Globals.h
Normal file
9
Firmware/EggbotWireless/include/Globals.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#ifndef GLOBALS_H
|
||||||
|
#define GLOBALS_H
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include "Power.h"
|
||||||
|
|
||||||
|
Power power;
|
||||||
|
|
||||||
|
#endif // GLOBALS_H
|
||||||
@@ -6,10 +6,14 @@
|
|||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
|
|
||||||
class Power {
|
class Power {
|
||||||
|
private:
|
||||||
|
bool enabled12v = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Power();
|
Power();
|
||||||
void disable12v();
|
void disable12v();
|
||||||
void enable12v();
|
void enable12v();
|
||||||
|
bool isEnabled12v();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // POWER_H
|
#endif // POWER_H
|
||||||
@@ -2,9 +2,19 @@
|
|||||||
|
|
||||||
Power::Power() {
|
Power::Power() {
|
||||||
pinMode(pin12v, OUTPUT);
|
pinMode(pin12v, OUTPUT);
|
||||||
enable12v();
|
disable12v();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Power::disable12v() { digitalWrite(pin12v, false); }
|
void Power::disable12v() {
|
||||||
|
digitalWrite(pin12v, false);
|
||||||
|
enabled12v = false;
|
||||||
|
}
|
||||||
|
|
||||||
void Power::enable12v() { digitalWrite(pin12v, true); }
|
void Power::enable12v() {
|
||||||
|
digitalWrite(pin12v, true);
|
||||||
|
enabled12v = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Power::isEnabled12v() {
|
||||||
|
return enabled12v;
|
||||||
|
}
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
#include <ESP8266WiFi.h>
|
#include <ESP8266WiFi.h>
|
||||||
#include <Ticker.h>
|
#include <Ticker.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
#include "Globals.h"
|
||||||
|
#include "Power.h"
|
||||||
#include "GCodeParser.h"
|
#include "GCodeParser.h"
|
||||||
#include "common/Commands.h"
|
#include "common/Commands.h"
|
||||||
|
|
||||||
@@ -71,18 +73,28 @@ void execCommand(Command command) {
|
|||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Wire.begin(12, 13);
|
Wire.begin(12, 13);
|
||||||
pinMode(5, OUTPUT);
|
power.enable12v();
|
||||||
digitalWrite(5, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long commandTime = 0;
|
||||||
|
constexpr unsigned long commandTimeout = 20000;
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
if(millis() - commandTime > commandTimeout) {
|
||||||
|
power.disable12v();
|
||||||
|
}
|
||||||
while (Serial.available() > 0) {
|
while (Serial.available() > 0) {
|
||||||
char inChar = Serial.read();
|
char inChar = Serial.read();
|
||||||
inString += inChar;
|
inString += inChar;
|
||||||
|
|
||||||
if (inChar == '\n') {
|
if (inChar == '\n') {
|
||||||
inString.trim();
|
inString.trim();
|
||||||
|
if(!power.isEnabled12v()){
|
||||||
|
power.enable12v();
|
||||||
|
delay(100);
|
||||||
|
}
|
||||||
execCommand(parseGCode(inString));
|
execCommand(parseGCode(inString));
|
||||||
|
commandTime = millis();
|
||||||
unsigned long reqTime = millis();
|
unsigned long reqTime = millis();
|
||||||
while (waitingForNext) {
|
while (waitingForNext) {
|
||||||
while (!Wire.available()) {
|
while (!Wire.available()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user