Removed legacy source directory
This commit is contained in:
parent
415cd54cd7
commit
5ab1db583a
@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="io.sloeber.core.sketch.0">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="io.sloeber.core.sketch.0" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" cleanCommand="rm -f" description="" id="io.sloeber.core.sketch.0" name="Release" parent="io.sloeber.core.configuration.release">
|
||||
<folderInfo id="io.sloeber.core.sketch.0." name="/" resourcePath="">
|
||||
<toolChain id="io.sloeber.core.toolChain.release.266003693" name="Arduino Toolchain (Sloeber edition)" superClass="io.sloeber.core.toolChain.release">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="io.sloeber.targetplatform.1007724960" name="Arduino Target" osList="all" superClass="io.sloeber.targetplatform"/>
|
||||
<builder buildPath="${workspace_loc:/AutoFilmESP32}/Release" id="io.sloeber.sketch.builder.867458112" keepEnvironmentInBuildfile="false" name="Arduino sketch builder" parallelBuildOn="false" superClass="io.sloeber.sketch.builder"/>
|
||||
<tool id="io.sloeber.tool.sketch.compiler.cpp.2064152583" name="Arduino C++ Compiler" superClass="io.sloeber.tool.sketch.compiler.cpp">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="io.sloeber.compiler.cpp.sketch.option.incpath.476594594" name="Include Paths (-I)" superClass="io.sloeber.compiler.cpp.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/LiquidCrystal_I2C}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Wire/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Keypad/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/AccelStepper/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/DallasTemperature}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/OneWire}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.cpp.sketch.input.729879768" name="CPP source files" superClass="io.sloeber.compiler.cpp.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.compiler.c.2097396008" name="Arduino C Compiler" superClass="io.sloeber.tool.compiler.c">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="io.sloeber.compiler.c.sketch.option.incpath.846211118" name="Include Paths (-I)" superClass="io.sloeber.compiler.c.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/LiquidCrystal_I2C}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Wire/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Keypad/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/AccelStepper/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/DallasTemperature}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/OneWire}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.c.sketch.input.1572266114" name="C Source Files" superClass="io.sloeber.compiler.c.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.sketch.compiler.s.134401563" name="Arduino Assembler" superClass="io.sloeber.tool.sketch.compiler.s">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="io.sloeber.compiler.asm.sketch.option.incpath.1216205204" name="Include Paths (-I)" superClass="io.sloeber.compiler.asm.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/core/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/LiquidCrystal_I2C}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Wire/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/Keypad/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/AccelStepper/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/DallasTemperature}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/AutoFilmESP32/libraries/OneWire}""/>
|
||||
</option>
|
||||
<inputType id="io.sloeber.compiler.S.sketch.input.1763914642" name="Assembly source files" superClass="io.sloeber.compiler.S.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="io.sloeber.tool.ar.681784854" name="Arduino archiver" superClass="io.sloeber.tool.ar"/>
|
||||
<tool id="io.sloeber.tool.combine.1711962012" name="Arduino combiner" superClass="io.sloeber.tool.combine"/>
|
||||
<tool id="io.sloeber.tool.objcopy.eep.1716717030" name="Arduino tool objcopy command" superClass="io.sloeber.tool.objcopy.eep"/>
|
||||
<tool id="io.sloeber.tool.size.810947740" name="Arduino tool Print Size" superClass="io.sloeber.tool.size"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/**/._*" resourcePath="libraries/**/._*">
|
||||
<toolChain id="io.sloeber.core.toolChain5.969422626" superClass="io.sloeber.core.toolChain5">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/**/._*.375054405" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/?*/**/test*/**" resourcePath="libraries/?*/**/test*/**">
|
||||
<toolChain id="io.sloeber.core.toolChain3.833991693" superClass="io.sloeber.core.toolChain3">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/?*/**/test*/**.1204635795" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/?*/**/?xtras/**" resourcePath="libraries/?*/**/?xtras/**">
|
||||
<toolChain id="io.sloeber.core.toolChain2.597375474" superClass="io.sloeber.core.toolChain2">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/?*/**/?xtras/**.1727460943" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/?*/**/?xamples/**" resourcePath="libraries/?*/**/?xamples/**">
|
||||
<toolChain id="io.sloeber.core.toolChain1.904128852" superClass="io.sloeber.core.toolChain1">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/?*/**/?xamples/**.1109229805" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/?*/**/third-party/**" resourcePath="libraries/?*/**/third-party/**">
|
||||
<toolChain id="io.sloeber.core.toolChain4.15489890" superClass="io.sloeber.core.toolChain4">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/?*/**/third-party/**.992086312" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="io.sloeber.core.sketch.0.libraries/?*/utility/*/*" resourcePath="libraries/?*/utility/*/*">
|
||||
<toolChain id="io.sloeber.core.toolChain6.24198140" superClass="io.sloeber.core.toolChain6">
|
||||
<targetPlatform id="io.sloeber.core.sketch.0.libraries/?*/utility/*/*.1399173716" name=""/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="libraries/OneWire/util|libraries/OneWire/docs|libraries/?*/**/?xamples/**|libraries/?*/**/?xtras/**|libraries/?*/**/test*/**|libraries/?*/**/third-party/**|libraries/**/._*|libraries/?*/utility/*/*" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="AutoFilmESP32.io.sloeber.core.sketch.1033643333" name="Arduino sketch" projectType="io.sloeber.core.sketch"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
</cproject>
|
2
AutoFilmESP32/.gitignore
vendored
2
AutoFilmESP32/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
/Release/
|
||||
/sloeber.ino.cpp
|
@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>AutoFilmESP32</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>io.sloeber.core.inoToCpp</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>io.sloeber.arduinonature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>core/core</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp32/hardware/esp32/3.0.1/cores/esp32</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>core/variant</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp32/hardware/esp32/3.0.1/variants/esp32</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/AccelStepper</name>
|
||||
<type>2</type>
|
||||
<location>C:/Users/gordon/Documents/Arduino/libraries/AccelStepper</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/DallasTemperature</name>
|
||||
<type>2</type>
|
||||
<location>C:/Users/gordon/Documents/Arduino/libraries/DallasTemperature</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/Keypad</name>
|
||||
<type>2</type>
|
||||
<location>C:/Users/gordon/Documents/Arduino/libraries/Keypad</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/LiquidCrystal_I2C</name>
|
||||
<type>2</type>
|
||||
<location>C:/Users/gordon/Documents/Arduino/libraries/LiquidCrystal_I2C</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/OneWire</name>
|
||||
<type>2</type>
|
||||
<location>C:/Users/gordon/Documents/Arduino/libraries/OneWire</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>libraries/Wire</name>
|
||||
<type>2</type>
|
||||
<locationURI>ECLIPSE_HOME/arduinoPlugin/packages/esp32/hardware/esp32/3.0.1/libraries/Wire</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="io.sloeber.core.sketch.0" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider class="io.sloeber.core.toolchain.ArduinoLanguageProvider" console="false" env-hash="-1318735347831635932" id="io.sloeber.languageSettingsProvider" keep-relative-paths="false" name="Arduino Compiler Settings" parameter="${COMMAND} -E -P -v -dD -D__IN_ECLIPSE__ "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
@ -1,29 +0,0 @@
|
||||
Config.Release.board.BOARD.ID=esp32
|
||||
Config.Release.board.BOARD.MENU.CPUFreq=240
|
||||
Config.Release.board.BOARD.MENU.DebugLevel=error
|
||||
Config.Release.board.BOARD.MENU.EraseFlash=none
|
||||
Config.Release.board.BOARD.MENU.EventsCore=0
|
||||
Config.Release.board.BOARD.MENU.FlashFreq=80
|
||||
Config.Release.board.BOARD.MENU.FlashMode=qio
|
||||
Config.Release.board.BOARD.MENU.FlashSize=4M
|
||||
Config.Release.board.BOARD.MENU.JTAGAdapter=bridge
|
||||
Config.Release.board.BOARD.MENU.LoopCore=1
|
||||
Config.Release.board.BOARD.MENU.PSRAM=enabled
|
||||
Config.Release.board.BOARD.MENU.PartitionScheme=default
|
||||
Config.Release.board.BOARD.MENU.UploadSpeed=921600
|
||||
Config.Release.board.BOARD.MENU.ZigbeeMode=default
|
||||
Config.Release.board.BOARD.TXT=C:\Users\gordon\Sloeber\arduinoPlugin\packages\esp32\hardware\esp32\3.0.1\boards.txt
|
||||
Config.Release.board.PROGRAMMER.NAME=Esptool
|
||||
Config.Release.board.UPLOAD.PORT=COM10
|
||||
Config.Release.compile.sloeber.extra.all=
|
||||
Config.Release.compile.sloeber.extra.archive=
|
||||
Config.Release.compile.sloeber.extra.assembly=
|
||||
Config.Release.compile.sloeber.extra.c.compile=
|
||||
Config.Release.compile.sloeber.extra.compile=
|
||||
Config.Release.compile.sloeber.extra.cpp.compile=
|
||||
Config.Release.compile.sloeber.extra.link=
|
||||
Config.Release.compile.sloeber.size.custom=
|
||||
Config.Release.compile.sloeber.size.type=RAW_RESULT
|
||||
Config.Release.compile.sloeber.warning_level=NONE
|
||||
Config.Release.compile.sloeber.warning_level.custom=
|
||||
Config.Release.other.IS_VERSION_CONTROLLED=false
|
@ -1,46 +0,0 @@
|
||||
#include "config.h"
|
||||
#include "motor.h"
|
||||
#include "temperature.h"
|
||||
#include "display.h"
|
||||
#include "menu.h"
|
||||
#include "devSequence.h"
|
||||
#include "sound.h"
|
||||
#include "watchdog.h"
|
||||
|
||||
// Function declarations
|
||||
void setup();
|
||||
void loop();
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
// Disable the watchdog timers
|
||||
disableWatchdogTimers();
|
||||
|
||||
// Initialize LCD
|
||||
Wire.begin(21, 22);
|
||||
lcd.init();
|
||||
lcd.backlight();
|
||||
|
||||
lcd.createChar(0, thermometer);
|
||||
|
||||
// Set pin modes
|
||||
pinMode(EN_PIN, OUTPUT);
|
||||
digitalWrite(EN_PIN, HIGH); // Disable motor initially
|
||||
pinMode(beeperPin, OUTPUT);
|
||||
// Set stepper motor properties
|
||||
stepper.setMaxSpeed(SPEED);
|
||||
stepper.setAcceleration(9600); // Set acceleration
|
||||
|
||||
// Display welcome message
|
||||
lcd.setCursor(6, 1);
|
||||
lcd.print("AUTOFILM");
|
||||
lcd.setCursor((20 - strlen(version)) / 2, 3);
|
||||
lcd.print(version);
|
||||
delay(1000);
|
||||
lcd.clear();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
startingMenu();
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
#include "config.h"
|
||||
|
||||
// Global variables definition
|
||||
const char* version = "V0.1.0 20240625";
|
||||
const byte ROWS = 5;
|
||||
const byte COLS = 4;
|
||||
byte rowPins[ROWS] = { 19, 18, 5, 17, 16 };
|
||||
byte colPins[COLS] = { 15, 2, 0, 4 };
|
||||
|
||||
char keys[ROWS][COLS] = {
|
||||
{ 'F', 'E', '#', '*' },
|
||||
{ '1', '2', '3', 'U' },
|
||||
{ '4', '5', '6', 'D' },
|
||||
{ '7', '8', '9', 'X' },
|
||||
{ 'L', '0', 'R', 'E' }
|
||||
};
|
||||
|
||||
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
|
||||
LiquidCrystal_I2C lcd(0x27, LCD_COLUMNS, LCD_ROWS);
|
||||
AccelStepper stepper(AccelStepper::DRIVER, PULSE_PIN, DIR_PIN);
|
||||
OneWire oneWire(TEMP_SENSOR_PIN);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
|
||||
String devPgm = "";
|
||||
int run;
|
||||
const int beeperPin = 25;
|
||||
|
||||
TaskHandle_t motorTaskHandle = NULL;
|
||||
TaskHandle_t tempTaskHandle = NULL;
|
||||
|
||||
unsigned long processStartTime;
|
||||
unsigned long processTimeMillis;
|
||||
|
||||
byte thermometer[8] = {
|
||||
B00100,
|
||||
B01100,
|
||||
B00100,
|
||||
B01100,
|
||||
B00100,
|
||||
B01110,
|
||||
B01110,
|
||||
B01110
|
||||
};
|
@ -1,41 +0,0 @@
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <Keypad.h>
|
||||
#include <Wire.h>
|
||||
#include <LiquidCrystal_I2C.h>
|
||||
#include <AccelStepper.h>
|
||||
#include <OneWire.h>
|
||||
#include <DallasTemperature.h>
|
||||
|
||||
// Constants and definitions
|
||||
#define LCD_COLUMNS 20
|
||||
#define LCD_ROWS 4
|
||||
#define PULSE_PIN 12
|
||||
#define DIR_PIN 14
|
||||
#define EN_PIN 27
|
||||
#define STEPS_PER_REV 4800
|
||||
#define RPM 60
|
||||
#define SPEED (RPM * STEPS_PER_REV / 60.0)
|
||||
#define TEMP_SENSOR_PIN 13
|
||||
#define NUM_DEV_SEQUENCES 6
|
||||
|
||||
extern const char* version;
|
||||
extern Keypad keypad;
|
||||
extern LiquidCrystal_I2C lcd;
|
||||
extern AccelStepper stepper;
|
||||
extern OneWire oneWire;
|
||||
extern DallasTemperature sensors;
|
||||
extern String devPgm;
|
||||
extern int run;
|
||||
extern const int beeperPin;
|
||||
extern byte thermometer[8];
|
||||
|
||||
extern TaskHandle_t motorTaskHandle;
|
||||
extern TaskHandle_t tempTaskHandle;
|
||||
|
||||
extern unsigned long processStartTime;
|
||||
extern unsigned long processTimeMillis;
|
||||
|
||||
#endif
|
@ -1,103 +0,0 @@
|
||||
#include "devSequence.h"
|
||||
|
||||
struct devSequence devSequences[NUM_DEV_SEQUENCES] = {
|
||||
{
|
||||
.name = "C41",
|
||||
.cycles = 7,
|
||||
.processTime = { 180, 195, 45, 180, 60, 60, 30 }, //processTime
|
||||
.processName = { "Prewarm", "Developer", "Bleach", "Fix", "Rinse 1", "Rinse 2", "Fin Rinse" }, //processName
|
||||
.processCycle = {
|
||||
{ 1, 5.5, 5.5, 5.5, 3.5, 3.5, 1 }, //CW rotations processCycle
|
||||
{ 1, 5, 5, 5, 3, 3, 1 }
|
||||
}, //CCW rotations processCycle
|
||||
.processTemp = {
|
||||
{ 37.8, 37.8, 32, 32, 32, 32, 32 }, //min processTemp
|
||||
{ 38, 38, 38, 38, 38, 38, 38 }, //preferred processTemp
|
||||
{ 38.2, 38.2, 38.2, 38.2, 38.2, 38.2, 38.2 } //max processTemp
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "E6",
|
||||
.cycles = 12,
|
||||
.processTime = {180, 360, 120, 120, 360, 120, 360, 240, 120, 120, 120, 30},
|
||||
.processName = {"Preheat", "FirstDev", "Wash 1", "Reversal", "ColorDev", "PreBleach", "Bleach", "Fixer", "Wash 2", "Wash 3", "Wash 4", "Fin Rinse"},
|
||||
.processCycle = {
|
||||
{1, 5.5, 3.5, 5, 5.5, 5.5, 5.5, 5.5, 3.5, 3.5, 3.5, 3.5},
|
||||
{1, 5, 3, 5.5, 5, 5.5, 5.5, 5.5, 3, 3, 3, 3}
|
||||
},
|
||||
.processTemp = {
|
||||
{37.5, 37.7, 33.0, 37.7, 37.0, 37, 37.5, 37.5, 33.0, 33.0, 33.0, 19.0},
|
||||
{38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0, 20.0},
|
||||
{38.5, 38.3, 38.0, 38.3, 39.0, 38, 38.5, 38.5, 38.5, 38.5, 38.5, 21.0}
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "ECN-2",
|
||||
.cycles = 9,
|
||||
.processTime = {180, 0, 210, 60, 180, 150, 120, 300, 120},
|
||||
.processName = {"Prebath", "RemJet", "Developer", "Stop Bath", "Wash", "Bleach", "Fixer", "Wash 2", "Fin Rinse"},
|
||||
.processCycle = {
|
||||
{1, 0, 5.5, 3.5, 3.5, 5.5, 5.5, 3.5, 1},
|
||||
{1, 0, 5, 3, 3, 5, 5, 3, 1}
|
||||
},
|
||||
.processTemp = {
|
||||
{27.0, 0, 40.8, 27.0, 27.0, 27.0, 27.0, 27.0, 27.0},
|
||||
{38.0, 0, 41.0, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0},
|
||||
{38.0, 0, 41.2, 38.0, 38.0, 38.0, 38.0, 38.0, 38.0}
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "B&W",
|
||||
.cycles = 7,
|
||||
.processTime = {510, 30, 300, 60, 90, 120, 30},
|
||||
.processName = {"Developer", "Stop", "Fix", "Rinse 1", "Rinse 2", "Rinse 3", "Fin Rinse"},
|
||||
.processCycle = {
|
||||
{ 5.5, 3.5, 3.5, 3.5, 3.5, 3.5, 1},
|
||||
{ 5, 3, 3, 3, 3, 3, 1}
|
||||
},
|
||||
.processTemp = {
|
||||
{19, 19, 19, 19, 19, 19, 19},
|
||||
{20, 20, 20, 20, 20, 20, 20},
|
||||
{21, 21, 21, 21, 21, 21, 21}
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "Custom",
|
||||
.cycles = 4,
|
||||
.processTime = {10, 10, 10, 10},
|
||||
.processName = {"Developer", "Stop", "Fix", "Rinse"},
|
||||
.processCycle = {
|
||||
{ 5.5, 3.5, 3.5, 3.5},
|
||||
{ 5, 3, 3, 3}
|
||||
},
|
||||
.processTemp = {
|
||||
{19, 19, 19, 19},
|
||||
{20, 20, 20, 20},
|
||||
{21, 21, 21, 21}
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "B&WREV",
|
||||
.cycles = 12,
|
||||
.processTime = {720, 300, 300, 60, 120, 60, 120, 360, 60, 300, 60, 60},
|
||||
.processName = {"FirstDev", "Wash 1", "Bleach", "Wash 2", "Clearing", "Wash 3", "Reversal", "SecondDev", "Wash 4", "Fix", "Wash 5", "Fin Rinse"},
|
||||
.processCycle = {
|
||||
{5.5, 3.5, 5.5, 3.5, 5.5, 3.5, 5.5, 5.5, 3.5, 5.5, 3.5, 3.5},
|
||||
{5, 3, 5, 3, 5, 3, 5, 5, 3, 5, 3, 3}
|
||||
},
|
||||
.processTemp = {
|
||||
{19.5, 15.5, 19.5, 15.5, 19.5, 15.5, 19.5, 19.5, 15.5, 19.5, 15.5, 15.5},
|
||||
{20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0},
|
||||
{20.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
struct devSequence* findSequenceByName(const char* name) {
|
||||
for (int i = 0; i < NUM_DEV_SEQUENCES; i++) {
|
||||
if (strcmp(devSequences[i].name, name) == 0) {
|
||||
return &devSequences[i];
|
||||
}
|
||||
}
|
||||
return NULL; // Return NULL if not found
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
#ifndef DEVSEQUENCE_H
|
||||
#define DEVSEQUENCE_H
|
||||
#define NUM_DEV_SEQUENCES 6
|
||||
#include <Arduino.h>
|
||||
|
||||
struct devSequence {
|
||||
char name[7];
|
||||
int cycles;
|
||||
unsigned long int processTime[20];
|
||||
char processName[20][10];
|
||||
float processCycle[2][20];
|
||||
float processTemp[3][20];
|
||||
};
|
||||
|
||||
extern struct devSequence devSequences[NUM_DEV_SEQUENCES];
|
||||
|
||||
struct devSequence* findSequenceByName(const char* name);
|
||||
|
||||
#endif
|
@ -1,56 +0,0 @@
|
||||
#include "display.h"
|
||||
#include "menu.h"
|
||||
|
||||
|
||||
void startingMenu() {
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Select Programme:");
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print("1. C41");
|
||||
lcd.setCursor(0, 2);
|
||||
lcd.print("2. E6");
|
||||
lcd.setCursor(0, 3);
|
||||
lcd.print("3. B&W");
|
||||
lcd.setCursor(10, 1);
|
||||
lcd.print("4. ECN-2");
|
||||
lcd.setCursor(10, 2);
|
||||
lcd.print("5. Custom");
|
||||
lcd.setCursor(10, 3);
|
||||
lcd.print("6. B&W Rev");
|
||||
|
||||
while (devPgm == "") {
|
||||
getMenuInput();
|
||||
}
|
||||
lcd.print(devPgm);
|
||||
|
||||
if (devPgm == "C41" || devPgm == "E6" || devPgm == "B&W" || devPgm == "ECN-2" || devPgm == "Custom" || devPgm == "B&WREV") {
|
||||
startDev();
|
||||
}
|
||||
}
|
||||
|
||||
void processHeadings() {
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Step");
|
||||
lcd.setCursor(10, 0);
|
||||
lcd.print("Time");
|
||||
lcd.setCursor(16, 0);
|
||||
lcd.print("Temp");
|
||||
}
|
||||
|
||||
|
||||
|
||||
char* secondsToMinutesSeconds(int seconds) {
|
||||
char* result = (char*)malloc(6 * sizeof(char));
|
||||
if (result == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int minutes = seconds / 60;
|
||||
int secs = seconds % 60;
|
||||
|
||||
snprintf(result, 6, "%02d:%02d", minutes, secs);
|
||||
|
||||
return result;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#ifndef DISPLAY_H
|
||||
#define DISPLAY_H
|
||||
|
||||
#include <LiquidCrystal_I2C.h>
|
||||
#include "config.h"
|
||||
|
||||
void updateTempDisplay(void* parameter);
|
||||
void startingMenu();
|
||||
void processHeadings();
|
||||
void readTemperature();
|
||||
char* secondsToMinutesSeconds(int seconds);
|
||||
|
||||
#endif
|
@ -1,181 +0,0 @@
|
||||
#include "menu.h"
|
||||
|
||||
void getMenuInput() {
|
||||
char key = keypad.getKey();
|
||||
if (key != NO_KEY) {
|
||||
switch (key) {
|
||||
case '1':
|
||||
devPgm = "C41";
|
||||
break;
|
||||
case '2':
|
||||
devPgm = "E6";
|
||||
break;
|
||||
case '3':
|
||||
devPgm = "B&W";
|
||||
break;
|
||||
case '4':
|
||||
devPgm = "ECN-2";
|
||||
break;
|
||||
case '5':
|
||||
devPgm = "Custom";
|
||||
break;
|
||||
case '6':
|
||||
devPgm = "B&WREV";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
char getScrollEntEscInput() {
|
||||
while (true) {
|
||||
char key = keypad.getKey();
|
||||
if (key != NO_KEY) {
|
||||
if (key == 'U' || key == 'D' || key == 'X' || key == 'E' || key == 'L' || key == 'R') {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
if (millis() % 1000 == 0) {
|
||||
readTemperature();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char getEntEscInput() {
|
||||
while (true) {
|
||||
char key = keypad.getKey();
|
||||
if (key != NO_KEY) {
|
||||
if (key == 'X' || key == 'E') {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
if (millis() % 1000 == 0) {
|
||||
readTemperature();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int startProcessing(struct devSequence* sequence, int sequenceStep) {
|
||||
run = 1;
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print(sequence->processName[sequenceStep]);
|
||||
for (int x = strlen(sequence->processName[sequenceStep]); x < 10; x++) {
|
||||
lcd.print(" ");
|
||||
}
|
||||
|
||||
lcd.setCursor(10, 0);
|
||||
lcd.print(secondsToMinutesSeconds(sequence->processTime[sequenceStep]));
|
||||
lcd.setCursor(16, 0);
|
||||
lcd.print(" " + (String)(int)sequence->processTemp[1][sequenceStep] + "C");
|
||||
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print("Ent:start Esc:quit");
|
||||
|
||||
char key = getEntEscInput();
|
||||
if (key == 'X') {
|
||||
devPgm = "";
|
||||
run = 0;
|
||||
return 0;
|
||||
}
|
||||
processTimeMillis = (unsigned long)sequence->processTime[sequenceStep] * 1000;
|
||||
processStartTime = millis();
|
||||
|
||||
MotorTaskParams* params = new MotorTaskParams();
|
||||
params->cwRotations = sequence->processCycle[0][sequenceStep];
|
||||
params->ccwRotations = sequence->processCycle[1][sequenceStep];
|
||||
params->processEndTime = processStartTime + processTimeMillis;
|
||||
|
||||
Serial.print("Starting Motor Task with CW Rotations: ");
|
||||
Serial.print(params->cwRotations);
|
||||
Serial.print(", CCW Rotations: ");
|
||||
Serial.print(params->ccwRotations);
|
||||
Serial.print(", Process End Time: ");
|
||||
Serial.println(params->processEndTime);
|
||||
|
||||
xTaskCreatePinnedToCore(
|
||||
runMotorTask,
|
||||
"MotorTask",
|
||||
8192,
|
||||
(void*)params,
|
||||
1,
|
||||
&motorTaskHandle,
|
||||
0);
|
||||
|
||||
while (millis() < processStartTime + processTimeMillis) {
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print("Remaining: " + (String)secondsToMinutesSeconds((processStartTime + processTimeMillis - millis()) / 1000) + " ");
|
||||
delay(410);
|
||||
Serial.println("before temp read" + (String) millis() + "\n");
|
||||
readTemperature();
|
||||
Serial.println("after temp read" + (String) millis() + "\n");
|
||||
}
|
||||
|
||||
if (motorTaskHandle != NULL) {
|
||||
vTaskDelete(motorTaskHandle);
|
||||
motorTaskHandle = NULL;
|
||||
}
|
||||
playAlarmTone();
|
||||
|
||||
delete params;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void startDev() {
|
||||
const char* searchName = devPgm.c_str();
|
||||
struct devSequence* currentSequence = findSequenceByName(searchName);
|
||||
|
||||
for (int i = 0; i < currentSequence->cycles; i++) {
|
||||
if (run == 1) {
|
||||
run = startProcessing(currentSequence, i);
|
||||
continue;
|
||||
}
|
||||
|
||||
processHeadings();
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(currentSequence->processName[i]);
|
||||
for (int x = strlen(currentSequence->processName[i]); x < 10; x++) {
|
||||
lcd.print(" ");
|
||||
}
|
||||
|
||||
lcd.setCursor(10, 1);
|
||||
lcd.print(secondsToMinutesSeconds(currentSequence->processTime[i]));
|
||||
lcd.setCursor(16, 1);
|
||||
lcd.print(" " + (String)(int)currentSequence->processTemp[1][i] + "C");
|
||||
|
||||
lcd.setCursor(0, 2);
|
||||
lcd.print("Scroll / Esc / Ent");
|
||||
|
||||
char key = getScrollEntEscInput();
|
||||
if (key == 'U') {
|
||||
if (i > 0) {
|
||||
i--;
|
||||
}
|
||||
i--;
|
||||
} else if (key == 'D' && i < currentSequence->cycles - 1) {
|
||||
continue;
|
||||
} else if (key == 'D' && i == currentSequence->cycles - 1) {
|
||||
i--;
|
||||
continue;
|
||||
} else if (key == 'X') {
|
||||
devPgm = "";
|
||||
run = 0;
|
||||
return;
|
||||
} else if (key == 'E') {
|
||||
int run = 1;
|
||||
startProcessing(currentSequence, i);
|
||||
} else if (key == 'L') {
|
||||
currentSequence->processTime[i] -= 5;
|
||||
lcd.setCursor(10, 1);
|
||||
lcd.print(secondsToMinutesSeconds(currentSequence->processTime[i]));
|
||||
i--;
|
||||
} else if (key == 'R') {
|
||||
currentSequence->processTime[i] += 5;
|
||||
lcd.setCursor(10, 1);
|
||||
lcd.print(secondsToMinutesSeconds(currentSequence->processTime[i]));
|
||||
i--;
|
||||
}
|
||||
}
|
||||
devPgm = "";
|
||||
run = 0;
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
#ifndef MENU_H
|
||||
#define MENU_H
|
||||
|
||||
#include "config.h"
|
||||
#include "devSequence.h"
|
||||
#include "motor.h"
|
||||
#include "display.h"
|
||||
#include "sound.h"
|
||||
|
||||
void getMenuInput();
|
||||
char getScrollEntEscInput();
|
||||
char getEntEscInput();
|
||||
int startProcessing(struct devSequence* sequence, int sequenceStep);
|
||||
void startDev();
|
||||
|
||||
#endif
|
@ -1,29 +0,0 @@
|
||||
#include "motor.h"
|
||||
|
||||
void runMotorTask(void* parameter) {
|
||||
MotorTaskParams* params = (MotorTaskParams*)parameter;
|
||||
|
||||
// Enable the motor
|
||||
digitalWrite(EN_PIN, LOW);
|
||||
while (true) {
|
||||
// Rotate clockwise
|
||||
Serial.println("Rotating CW" + (String)params->cwRotations);
|
||||
stepper.setCurrentPosition(0);
|
||||
stepper.moveTo(STEPS_PER_REV * params->cwRotations);
|
||||
while (stepper.distanceToGo() != 0) {
|
||||
stepper.run();
|
||||
}
|
||||
|
||||
// Rotate counter-clockwise
|
||||
Serial.println("Rotating CCW" + (String)params->ccwRotations);
|
||||
stepper.setCurrentPosition(0);
|
||||
stepper.moveTo(-STEPS_PER_REV * params->ccwRotations);
|
||||
while (stepper.distanceToGo() != 0) {
|
||||
stepper.run();
|
||||
}
|
||||
}
|
||||
// Disable the motor
|
||||
digitalWrite(EN_PIN, HIGH);
|
||||
|
||||
vTaskDelete(NULL); // Delete the task when done
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
#ifndef MOTOR_H
|
||||
#define MOTOR_H
|
||||
|
||||
#include <AccelStepper.h>
|
||||
#include "config.h"
|
||||
|
||||
struct MotorTaskParams {
|
||||
float cwRotations;
|
||||
float ccwRotations;
|
||||
unsigned long int processEndTime;
|
||||
};
|
||||
|
||||
void runMotorTask(void* parameter);
|
||||
|
||||
#endif
|
@ -1,30 +0,0 @@
|
||||
#include "sound.h"
|
||||
|
||||
|
||||
int melody[] = {
|
||||
262, 294, 330, 349, 392, 440, 494, 523, 587, 659, 698, 784, 880, 988, 1047
|
||||
};
|
||||
int noteDurations[] = {
|
||||
250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250
|
||||
};
|
||||
|
||||
void playTune() {
|
||||
for (int thisNote = 0; thisNote < 15; thisNote++) {
|
||||
int noteDuration = noteDurations[thisNote];
|
||||
tone(beeperPin, melody[thisNote], noteDuration);
|
||||
|
||||
int pauseBetweenNotes = noteDuration * 1.30;
|
||||
delay(pauseBetweenNotes);
|
||||
|
||||
noTone(beeperPin);
|
||||
}
|
||||
}
|
||||
|
||||
void playAlarmTone() {
|
||||
for (int i = 1; i <= 10; i++) {
|
||||
tone(beeperPin, 2000);
|
||||
delay(500);
|
||||
noTone(beeperPin);
|
||||
delay(250);
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#ifndef SOUND_H
|
||||
#define SOUND_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
void playTune();
|
||||
void playAlarmTone();
|
||||
|
||||
#endif
|
@ -1,2 +0,0 @@
|
||||
spec.o: \
|
||||
C:/Users/gordon/Documents/sloeber-workspace/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.cpp
|
@ -1,29 +0,0 @@
|
||||
#include "temperature.h"
|
||||
|
||||
void readTemperature() {
|
||||
sensors.requestTemperatures();
|
||||
float temperatureC = sensors.getTempCByIndex(0);
|
||||
lcd.setCursor(13, 3);
|
||||
lcd.write(byte(0));
|
||||
if (temperatureC == DEVICE_DISCONNECTED_C) {
|
||||
lcd.print("--");
|
||||
} else {
|
||||
lcd.print(temperatureC, 1);
|
||||
lcd.print("C");
|
||||
}
|
||||
}
|
||||
|
||||
void updateTempDisplay(void* parameter) {
|
||||
sensors.requestTemperatures();
|
||||
float temperatureC = sensors.getTempCByIndex(0);
|
||||
lcd.setCursor(13, 3);
|
||||
lcd.write(byte(0));
|
||||
if (temperatureC == DEVICE_DISCONNECTED_C) {
|
||||
lcd.print("--");
|
||||
} else {
|
||||
lcd.print(temperatureC, 1);
|
||||
lcd.print("C");
|
||||
}
|
||||
|
||||
vTaskDelete(NULL); // Delete the task when done
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#ifndef TEMPERATURE_H
|
||||
#define TEMPERATURE_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
void readTemperature();
|
||||
|
||||
void updateTempDisplay();
|
||||
|
||||
#endif
|
@ -1,17 +0,0 @@
|
||||
#ifndef WATCHDOG_H
|
||||
#define WATCHDOG_H
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_task_wdt.h"
|
||||
|
||||
// Disable the watchdog timers
|
||||
void disableWatchdogTimers() {
|
||||
esp_task_wdt_deinit();
|
||||
TaskHandle_t idle_0 = xTaskGetIdleTaskHandleForCPU(0);
|
||||
TaskHandle_t idle_1 = xTaskGetIdleTaskHandleForCPU(1);
|
||||
esp_task_wdt_delete(idle_0);
|
||||
esp_task_wdt_delete(idle_1);
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user