aboutsummaryrefslogtreecommitdiffhomepage
path: root/workspace
diff options
context:
space:
mode:
Diffstat (limited to 'workspace')
-rw-r--r--workspace/ts100/inc/Modes.h3
-rw-r--r--workspace/ts100/inc/Settings.h22
-rw-r--r--workspace/ts100/src/Modes.c9
-rw-r--r--workspace/ts100/src/Settings.c4
-rw-r--r--workspace/ts100/ts100.xml16
5 files changed, 35 insertions, 19 deletions
diff --git a/workspace/ts100/inc/Modes.h b/workspace/ts100/inc/Modes.h
index efc071ef..b4678bf6 100644
--- a/workspace/ts100/inc/Modes.h
+++ b/workspace/ts100/inc/Modes.h
@@ -29,7 +29,7 @@ enum {
TEMPCAL, //Cal tip temp offset
} operatingMode;
-#define SETTINGSOPTIONSCOUNT 9 /*Number of settings in the settings menu*/
+#define SETTINGSOPTIONSCOUNT 10 /*Number of settings in the settings menu*/
enum {
UVCO = 0,
@@ -42,6 +42,7 @@ enum {
TEMPROUNDING,
DISPUPDATERATE,
LEFTY,
+ BOOSTMODE,
} settingsPage;
void ProcessUI();
diff --git a/workspace/ts100/inc/Settings.h b/workspace/ts100/inc/Settings.h
index d3e01d34..6ea439b9 100644
--- a/workspace/ts100/inc/Settings.h
+++ b/workspace/ts100/inc/Settings.h
@@ -11,7 +11,7 @@
#define SETTINGS_H_
#include <stdint.h>
#include "stm32f10x_flash.h"
-#define SETTINGSVERSION 0x08 /*Change this if you change the struct below to prevent people getting out of sync*/
+#define SETTINGSVERSION 0x09 /*Change this if you change the struct below to prevent people getting out of sync*/
//Motion Sensitivity
#define MOTION_HIGH (0x00)
#define MOTION_MED (0x01)
@@ -25,23 +25,23 @@
#define ROUNDING_FIVE (0x01)
#define ROUNDING_TEN (0x02)
-
/*
* This struct must be a multiple of 2 bytes as it is saved / restored from flash in uint16_t chunks
*/
struct {
uint32_t SolderingTemp; //current set point for the iron
uint32_t SleepTemp; //temp to drop to in sleep
- uint8_t version; //Used to track if a reset is needed on firmware upgrade
+ uint8_t version; //Used to track if a reset is needed on firmware upgrade
uint8_t SleepTime; //minutes timeout to sleep
- uint8_t cutoutVoltage:5; //The voltage we cut out at for under voltage
- uint8_t movementEnabled:1; //If movement is enabled
- uint8_t displayTempInF:1; //If we need to convert the C reading to F
- uint8_t flipDisplay:1; //If true we want to invert the display for lefties
- uint8_t sensitivity:6; //Sensitivity of accelerometer
- 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 temperatureRounding:2; //Rounding mode for the temperature
+ uint8_t cutoutVoltage :5; //The voltage we cut out at for under voltage
+ uint8_t movementEnabled :1; //If movement is enabled
+ uint8_t displayTempInF :1; //If we need to convert the C reading to F
+ uint8_t flipDisplay :1; //If true we want to invert the display for lefties
+ uint8_t sensitivity :5; //Sensitivity of accelerometer
+ 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 temperatureRounding :2; //Rounding mode for the temperature
+ uint8_t boostModeEnabled :1;//Boost mode swaps BUT_A in soldering mode to temporary soldering temp over-ride
uint16_t tempCalibration; //Temperature calibration value
uint16_t voltageDiv; //Voltage divisor factor
} systemSettings;
diff --git a/workspace/ts100/src/Modes.c b/workspace/ts100/src/Modes.c
index e98e9e67..650d8fb3 100644
--- a/workspace/ts100/src/Modes.c
+++ b/workspace/ts100/src/Modes.c
@@ -41,7 +41,7 @@ void ProcessUI() {
break;
case SOLDERING:
//We need to check the buttons if we need to jump out
- if (Buttons == BUT_A || Buttons == BUT_B) {
+ if ((Buttons == BUT_A && !systemSettings.boostModeEnabled)|| Buttons == BUT_B) {
//A or B key pressed so we are moving to temp set
operatingMode = TEMP_ADJ;
} else if (Buttons == (BUT_A | BUT_B)) {
@@ -49,7 +49,12 @@ void ProcessUI() {
//Both buttons were pressed, exit back to the cooling screen
operatingMode = COOLING;
- } else {
+ }
+ else if (Buttons == BUT_A && systemSettings.boostModeEnabled)
+ {
+
+ }
+ else {
//We need to check the timer for movement in case we need to goto idle
if (systemSettings.movementEnabled)
if (millis() - getLastMovement()
diff --git a/workspace/ts100/src/Settings.c b/workspace/ts100/src/Settings.c
index d1e423e1..dd19b251 100644
--- a/workspace/ts100/src/Settings.c
+++ b/workspace/ts100/src/Settings.c
@@ -53,8 +53,8 @@ void resetSettings() {
systemSettings.tempCalibration=239; //Default to their calibration value
systemSettings.voltageDiv=144; //Default divider from schematic
systemSettings.ShutdownTime=30; //How many minutes until the unit turns itself off
- systemSettings.displayUpdateSpeed=0; //How fast the LCD updates
+ systemSettings.displayUpdateSpeed=1; //How fast the LCD updates
systemSettings.temperatureRounding=0; //How the temperature is rounded off
-
+ systemSettings.boostModeEnabled=0;
}
diff --git a/workspace/ts100/ts100.xml b/workspace/ts100/ts100.xml
index c610a25d..967d8c13 100644
--- a/workspace/ts100/ts100.xml
+++ b/workspace/ts100/ts100.xml
@@ -1,9 +1,19 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<targetDefinitions xmlns="http://openstm32.org/stm32TargetDefinitions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openstm32.org/stm32TargetDefinitions stm32TargetDefinitions.xsd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE targetDefinitions [
+ <!ELEMENT targetDefinitions (board)>
+ <!ELEMENT board (name, dbgIF+, dbgDEV, mcuId)>
+ <!ELEMENT name (#PCDATA)>
+ <!ELEMENT dbgIF (#PCDATA)>
+ <!ELEMENT dbgDEV (#PCDATA)>
+ <!ELEMENT mcuId (#PCDATA)>
+ <!ATTLIST board id CDATA #REQUIRED>
+]>
+
+<targetDefinitions>
<board id="ts100">
<name>ts100</name>
- <mcuId>stm32f103t8ux</mcuId>
<dbgIF>SWD</dbgIF>
<dbgDEV>ST-Link</dbgDEV>
+ <mcuId>stm32f103t8ux</mcuId>
</board>
</targetDefinitions>