Add autostart
Adds autostart option. Only works on first power up, so if the settings wrong you can still easily change it 😄 Fixes #43
This commit is contained in:
@@ -36,9 +36,9 @@ typedef enum {
|
|||||||
} operatingModeEnum;
|
} operatingModeEnum;
|
||||||
//#define PIDTUNING
|
//#define PIDTUNING
|
||||||
#ifdef PIDTUNING
|
#ifdef PIDTUNING
|
||||||
#define SETTINGSOPTIONSCOUNT (11+3) /*Number of settings in the settings menu*/
|
#define SETTINGSOPTIONSCOUNT (12+3) /*Number of settings in the settings menu*/
|
||||||
#else
|
#else
|
||||||
#define SETTINGSOPTIONSCOUNT (11) /*Number of settings in the settings menu*/
|
#define SETTINGSOPTIONSCOUNT (12) /*Number of settings in the settings menu*/
|
||||||
#endif
|
#endif
|
||||||
typedef enum {
|
typedef enum {
|
||||||
UVCO = 0,
|
UVCO = 0,
|
||||||
@@ -53,6 +53,7 @@ typedef enum {
|
|||||||
BOOSTMODE,
|
BOOSTMODE,
|
||||||
BOOSTTEMP,
|
BOOSTTEMP,
|
||||||
POWERDISPLAY,
|
POWERDISPLAY,
|
||||||
|
AUTOSTART,
|
||||||
#ifdef PIDTUNING
|
#ifdef PIDTUNING
|
||||||
PIDP,
|
PIDP,
|
||||||
PIDI,
|
PIDI,
|
||||||
@@ -62,4 +63,5 @@ typedef enum {
|
|||||||
|
|
||||||
void ProcessUI();
|
void ProcessUI();
|
||||||
void DrawUI();
|
void DrawUI();
|
||||||
|
extern operatingModeEnum operatingMode;
|
||||||
#endif /* MODES_H_ */
|
#endif /* MODES_H_ */
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "stm32f10x_flash.h"
|
#include "stm32f10x_flash.h"
|
||||||
#include "Oled.h"
|
#include "Oled.h"
|
||||||
#define SETTINGSVERSION 14 /*Change this if you change the struct below to prevent people getting out of sync*/
|
#define SETTINGSVERSION 15 /*Change this if you change the struct below to prevent people getting out of sync*/
|
||||||
//Display Speeds
|
//Display Speeds
|
||||||
#define DISPLAYMODE_FAST (0x00)
|
#define DISPLAYMODE_FAST (0x00)
|
||||||
#define DISPLAYMODE_MEDIUM (0x01)
|
#define DISPLAYMODE_MEDIUM (0x01)
|
||||||
@@ -34,7 +34,8 @@ typedef struct {
|
|||||||
uint8_t powerDisplay:1; //Toggle to swap the arrows with a power readout instead
|
uint8_t powerDisplay:1; //Toggle to swap the arrows with a power readout instead
|
||||||
uint8_t displayTempInF:1; //If we need to convert the C reading to F
|
uint8_t displayTempInF:1; //If we need to convert the C reading to F
|
||||||
uint8_t OrientationMode:2; //If true we want to invert the display for lefties
|
uint8_t OrientationMode:2; //If true we want to invert the display for lefties
|
||||||
uint8_t sensitivity:6; //Sensitivity of accelerometer (5 bits)
|
uint8_t sensitivity:5; //Sensitivity of accelerometer (5 bits)
|
||||||
|
uint8_t autoStart:1; //Should the unit automatically jump straight into soldering mode when power is applied
|
||||||
uint8_t ShutdownTime:6; //Time until unit shuts down if left alone
|
uint8_t ShutdownTime:6; //Time until unit shuts down if left alone
|
||||||
uint8_t displayUpdateSpeed:2; //How fast the display updates / temp showing mode
|
uint8_t displayUpdateSpeed:2; //How fast the display updates / temp showing mode
|
||||||
uint8_t temperatureRounding:2; //Rounding mode for the temperature
|
uint8_t temperatureRounding:2; //Rounding mode for the temperature
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#ifndef STRINGS_H_
|
#ifndef STRINGS_H_
|
||||||
#define STRINGS_H_
|
#define STRINGS_H_
|
||||||
|
|
||||||
extern const char* SettingsLongNames[12];
|
extern const char* SettingsLongNames[13];
|
||||||
extern const char* SettingsShortNames[12];
|
extern const char* SettingsShortNames[13];
|
||||||
|
|
||||||
#endif /* STRINGS_H_ */
|
#endif /* STRINGS_H_ */
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ void setup();
|
|||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
setup();/*Setup the system*/
|
setup();/*Setup the system*/
|
||||||
|
if(systemSettings.autoStart)
|
||||||
|
operatingMode = SOLDERING;
|
||||||
while (1) {
|
while (1) {
|
||||||
Clear_Watchdog(); //reset the Watch dog timer
|
Clear_Watchdog(); //reset the Watch dog timer
|
||||||
ProcessUI();
|
ProcessUI();
|
||||||
|
|||||||
@@ -215,6 +215,9 @@ void ProcessUI() {
|
|||||||
case POWERDISPLAY:
|
case POWERDISPLAY:
|
||||||
systemSettings.powerDisplay = !systemSettings.powerDisplay;
|
systemSettings.powerDisplay = !systemSettings.powerDisplay;
|
||||||
break;
|
break;
|
||||||
|
case AUTOSTART:
|
||||||
|
systemSettings.autoStart = !systemSettings.autoStart;
|
||||||
|
break;
|
||||||
#ifdef PIDTUNING
|
#ifdef PIDTUNING
|
||||||
case PIDP:
|
case PIDP:
|
||||||
pidSettings.kp++;
|
pidSettings.kp++;
|
||||||
@@ -650,6 +653,17 @@ void DrawUI() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case AUTOSTART:
|
||||||
|
OLED_DrawString(SettingsShortNames[AUTOSTART], 7);
|
||||||
|
switch (systemSettings.autoStart) {
|
||||||
|
case 1:
|
||||||
|
OLED_DrawChar('T', 7);
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
OLED_DrawChar('F', 7);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
#ifdef PIDTUNING
|
#ifdef PIDTUNING
|
||||||
case PIDP:
|
case PIDP:
|
||||||
OLED_DrawString("PIDP ", 5);
|
OLED_DrawString("PIDP ", 5);
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ void resetSettings() {
|
|||||||
systemSettings.version = SETTINGSVERSION;//Store the version number to allow for easier upgrades
|
systemSettings.version = SETTINGSVERSION;//Store the version number to allow for easier upgrades
|
||||||
systemSettings.displayTempInF = 0; //default to C
|
systemSettings.displayTempInF = 0; //default to C
|
||||||
systemSettings.OrientationMode = 2; //Default to automatic
|
systemSettings.OrientationMode = 2; //Default to automatic
|
||||||
systemSettings.sensitivity = 6; //Default high sensitivity
|
systemSettings.sensitivity = 7; //Default high sensitivity
|
||||||
systemSettings.tempCalibration = 239; //Default to their calibration value
|
systemSettings.tempCalibration = 239; //Default to their calibration value
|
||||||
systemSettings.voltageDiv = 144; //Default divider from schematic
|
systemSettings.voltageDiv = 144; //Default divider from schematic
|
||||||
systemSettings.ShutdownTime = 30;//How many minutes until the unit turns itself off
|
systemSettings.ShutdownTime = 30;//How many minutes until the unit turns itself off
|
||||||
@@ -74,6 +74,7 @@ void resetSettings() {
|
|||||||
systemSettings.boostModeEnabled = 0;//Default to safe, with no boost mode
|
systemSettings.boostModeEnabled = 0;//Default to safe, with no boost mode
|
||||||
systemSettings.BoostTemp = 4000; //default to 400C
|
systemSettings.BoostTemp = 4000; //default to 400C
|
||||||
systemSettings.powerDisplay = 0; //default to power display being off
|
systemSettings.powerDisplay = 0; //default to power display being off
|
||||||
|
systemSettings.autoStart=0; //Auto start off for safety
|
||||||
}
|
}
|
||||||
|
|
||||||
void showBootLogoIfavailable() {
|
void showBootLogoIfavailable() {
|
||||||
|
|||||||
@@ -5,7 +5,9 @@
|
|||||||
* Author: Ben V. Brown
|
* Author: Ben V. Brown
|
||||||
*/
|
*/
|
||||||
#include "Strings.h"
|
#include "Strings.h"
|
||||||
const char* SettingsLongNames[12] =
|
#define LANG_EN
|
||||||
|
#ifdef LANG_EN
|
||||||
|
const char* SettingsLongNames[13] =
|
||||||
{
|
{
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
/*All must start with 6 spaces so they come on screen nicely.*/
|
/*All must start with 6 spaces so they come on screen nicely.*/
|
||||||
@@ -18,20 +20,29 @@ const char* SettingsLongNames[12] =
|
|||||||
" Display Orientation <A. Automatic L. Left Handed R. Right Handed>",
|
" Display Orientation <A. Automatic L. Left Handed R. Right Handed>",
|
||||||
" Enable front key boost 450C mode when soldering",
|
" Enable front key boost 450C mode when soldering",
|
||||||
" Temperature when in boost mode",
|
" Temperature when in boost mode",
|
||||||
" Changes the arrows to a power display when soldering" };
|
" Changes the arrows to a power display when soldering",
|
||||||
|
" Automatically starts the iron into soldering on power up." };
|
||||||
|
|
||||||
const char* SettingsShortNames[12]=
|
#endif
|
||||||
|
#ifdef LANG_ES
|
||||||
|
const char* SettingsLongNames[13] =
|
||||||
{
|
{
|
||||||
"PWRSC ",
|
/*These are all the help text for all the settings.*/
|
||||||
"STMP ",
|
/*All must start with 6 spaces so they come on screen nicely.*/
|
||||||
"SLTME ",
|
" Fuente de energia. Ajusta el limite inferior de voltaje. <DC 10V> <S 3.3V por celda>",
|
||||||
"SHTME ",
|
" Temperatura en reposo. <C>", " Tiempo hasta activar reposo. <Minutos>",
|
||||||
"MSENSE ",
|
" Tiempo hasta apagado. <Minutos>",
|
||||||
"TMPUNT ",
|
" Sensibilidad del movimiento. <0.Apagado 1.El menos sensible 9.El mas sensible>",
|
||||||
"TMPRND ",
|
" Unidad de temperatura.", " Cantidad de redondeo de la temperatura.",
|
||||||
"TMPSPD ",
|
" Tasa de actualizaci<63>n de la temperatura.",
|
||||||
"DSPROT ",
|
" Orientacion de la pantalla <A. Automatico L. Mano izquierda R. Mano derecha>",
|
||||||
"BOOST ",
|
" Activar el boton <Boost> en modo soldadura.",
|
||||||
"BTMP ",
|
" Temperatura en modo <Boost>.",
|
||||||
"PWRDSP ",
|
" Cambiar las flechas en pantalla por indicador de potencia en modo soldadura.",
|
||||||
};
|
" Automatically starts the iron into soldering on power up."};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char* SettingsShortNames[13] = { "PWRSC ", "STMP ", "SLTME ", "SHTME ",
|
||||||
|
"MSENSE ", "TMPUNT ", "TMPRND ", "TMPSPD ", "DSPROT ", "BOOST ",
|
||||||
|
"BTMP ", "PWRDSP ", "ASTART " };
|
||||||
|
|||||||
Reference in New Issue
Block a user