1
0
forked from me/IronOS

Compare commits

..

5 Commits

Author SHA1 Message Date
Ben V. Brown
e725e63b3f Merge pull request #558 from Ralim/fix/acting-as-red-light
Fix Acting as red light + translations around the auto start
2020-01-18 20:35:32 +11:00
Ben V. Brown
e2067971a5 Rework translation format for soldering settings 2020-01-18 20:09:31 +11:00
Ben V. Brown
a841608547 Fix race condition around PID temp setpoint 2020-01-18 19:12:53 +11:00
Ben V. Brown
0384ef70b0 Add slightly more tolerance to temp model to account for noise 2020-01-18 19:12:42 +11:00
Ben V. Brown
b1899c08f9 Remove unused var 2020-01-18 19:12:24 +11:00
33 changed files with 1758 additions and 1596 deletions

View File

@@ -95,9 +95,6 @@ def getConstants():
consants.append(('SymbolDC', 'DC')) consants.append(('SymbolDC', 'DC'))
consants.append(('SymbolCellCount', 'S')) consants.append(('SymbolCellCount', 'S'))
consants.append(('SymbolVersionNumber', 'V2.08')) consants.append(('SymbolVersionNumber', 'V2.08'))
consants.append(('SymbolManual', 'M'))
consants.append(('SymbolAuto', 'A'))
consants.append(('SymbolSleep', 'S'))
return consants return consants

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -29,7 +29,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "P" "SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartNoneChar": "S"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "J",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -30,7 +30,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -150,7 +153,7 @@
"Auto", "Auto",
"start" "start"
], ],
"desc": "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off" "desc": "Automatically starts the iron into soldering on power up. A=Soldering, S= Sleep mode, M=Off"
}, },
"CooldownBlink": { "CooldownBlink": {
"text": "CLBLNK", "text": "CLBLNK",

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "I", "SettingLeftChar": "I",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "V",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "N", "SettingFastChar": "N",
"SettingSlowChar": "H" "SettingSlowChar": "H",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "G", "SettingLeftChar": "G",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V",
"SettingStartNoneChar": "D"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "B", "SettingLeftChar": "B",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "G", "SettingFastChar": "G",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "S", "SettingLeftChar": "S",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "V", "SettingFastChar": "V",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "D"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "K", "SettingLeftChar": "K",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "T", "SettingFastChar": "T",
"SettingSlowChar": "N" "SettingSlowChar": "N",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingSlowChar": "T" "SettingSlowChar": "T",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartNoneChar": "I"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "N"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "C", "SettingLeftChar": "C",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "+", "SettingFastChar": "+",
"SettingSlowChar": "-" "SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -29,7 +29,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "S", "SettingAutoChar": "S",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingSlowChar": "P" "SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingFastChar": "Б", "SettingFastChar": "Б",
"SettingSlowChar": "С" "SettingSlowChar": "С",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {

View File

@@ -28,7 +28,10 @@
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "+", "SettingFastChar": "+",
"SettingSlowChar": "-" "SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {

View File

@@ -116,6 +116,18 @@ var def =
{ {
"id": "SettingSlowChar", "id": "SettingSlowChar",
"len": 1 "len": 1
},
{
"id": "SettingStartSolderingChar",
"len": 1
},
{
"id": "SettingStartSleepChar",
"len": 1
},
{
"id": "SettingStartNoneChar",
"len": 1
} }
], ],
"menuGroups": [ "menuGroups": [

View File

@@ -50,6 +50,9 @@ extern const char* SettingFalseChar;
extern const char *SettingRightChar; extern const char *SettingRightChar;
extern const char *SettingLeftChar; extern const char *SettingLeftChar;
extern const char *SettingAutoChar; extern const char *SettingAutoChar;
extern const char *SettingStartSolderingChar;
extern const char *SettingStartSleepChar;
extern const char *SettingStartNoneChar;
extern const char *SettingFastChar; extern const char *SettingFastChar;
extern const char *SettingSlowChar; extern const char *SettingSlowChar;
@@ -67,9 +70,6 @@ extern const char* SymbolWatts;
extern const char *SymbolVolts; extern const char *SymbolVolts;
extern const char *SymbolDC; extern const char *SymbolDC;
extern const char *SymbolCellCount; extern const char *SymbolCellCount;
extern const char* SymbolManual;
extern const char* SymbolAuto;
extern const char* SymbolSleep;
extern const char *SymbolVersionNumber; extern const char *SymbolVersionNumber;
extern const char *DebugMenu[]; extern const char *DebugMenu[];

View File

@@ -501,7 +501,6 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
OLED::setCursor(0, 0); OLED::setCursor(0, 0);
OLED::clearScreen(); OLED::clearScreen();
OLED::setFont(0); OLED::setFont(0);
uint16_t tipTemp = getTipRawTemp(0);
//Draw in the screen details //Draw in the screen details
if (systemSettings.detailedSoldering) { if (systemSettings.detailedSoldering) {
OLED::setFont(1); OLED::setFont(1);

View File

@@ -122,7 +122,7 @@ uint32_t TipThermoModel::getTipInF(bool sampleNow) {
uint32_t TipThermoModel::getTipMaxInC() { uint32_t TipThermoModel::getTipMaxInC() {
uint32_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC( uint32_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(
0x7FFF - 10); 0x7FFF - (80 * 5)); //back off approx 5 deg c from ADC max
maximumTipTemp += getHandleTemperature() / 10; //Add handle offset maximumTipTemp += getHandleTemperature() / 10; //Add handle offset
return maximumTipTemp; return maximumTipTemp - 1;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -572,16 +572,16 @@ static void settings_displayAutomaticStartMode(void) {
switch (systemSettings.autoStartMode) { switch (systemSettings.autoStartMode) {
case 0: case 0:
OLED::print(SymbolManual); OLED::print(SettingStartNoneChar);
break; break;
case 1: case 1:
OLED::print(SymbolAuto); OLED::print(SettingStartSolderingChar);
break; break;
case 2: case 2:
OLED::print(SymbolSleep); OLED::print(SettingStartSleepChar);
break; break;
default: default:
OLED::print(SymbolManual); OLED::print(SettingStartNoneChar);
break; break;
} }
} }

View File

@@ -124,6 +124,7 @@ void startPIDTask(void const *argument __unused) {
currentTempTargetDegC = 0; // Force start with no output (off). If in sleep / soldering this will currentTempTargetDegC = 0; // Force start with no output (off). If in sleep / soldering this will
// be over-ridden rapidly // be over-ridden rapidly
pidTaskNotification = xTaskGetCurrentTaskHandle(); pidTaskNotification = xTaskGetCurrentTaskHandle();
uint32_t PIDTempTarget = 0;
for (;;) { for (;;) {
if (ulTaskNotifyTake(pdTRUE, 2000)) { if (ulTaskNotifyTake(pdTRUE, 2000)) {
@@ -131,15 +132,16 @@ void startPIDTask(void const *argument __unused) {
int32_t x10WattsOut = 0; int32_t x10WattsOut = 0;
// Do the reading here to keep the temp calculations churning along // Do the reading here to keep the temp calculations churning along
uint32_t currentTipTempInC = TipThermoModel::getTipInC(true); uint32_t currentTipTempInC = TipThermoModel::getTipInC(true);
PIDTempTarget = currentTempTargetDegC;
if (currentTempTargetDegC) { if (PIDTempTarget) {
// Cap the max set point to 450C // Cap the max set point to 450C
if (currentTempTargetDegC > (450)) { if (PIDTempTarget > (450)) {
//Maximum allowed output //Maximum allowed output
currentTempTargetDegC = (450); PIDTempTarget = (450);
} }
if (currentTempTargetDegC > TipThermoModel::getTipMaxInC()) { //Safety check that not aiming higher than current tip can measure
currentTempTargetDegC = TipThermoModel::getTipMaxInC(); if (PIDTempTarget > TipThermoModel::getTipMaxInC()) {
PIDTempTarget = TipThermoModel::getTipMaxInC();
} }
// Convert the current tip to degree's C // Convert the current tip to degree's C
@@ -147,7 +149,7 @@ void startPIDTask(void const *argument __unused) {
// to be unstable. Use a rolling average to dampen it. // to be unstable. Use a rolling average to dampen it.
// We overshoot by roughly 1 degree C. // We overshoot by roughly 1 degree C.
// This helps stabilize the display. // This helps stabilize the display.
int32_t tError = currentTempTargetDegC - currentTipTempInC + 1; int32_t tError = PIDTempTarget - currentTipTempInC + 1;
tError = tError > INT16_MAX ? INT16_MAX : tError; tError = tError > INT16_MAX ? INT16_MAX : tError;
tError = tError < INT16_MIN ? INT16_MIN : tError; tError = tError < INT16_MIN ? INT16_MIN : tError;
tempError.update(tError); tempError.update(tError);
@@ -192,17 +194,19 @@ void startPIDTask(void const *argument __unused) {
lastPowerPulse = xTaskGetTickCount(); lastPowerPulse = xTaskGetTickCount();
} }
#endif #endif
//Secondary safety check to forcefully disable header when within ADC noise of top of ADC
if (getTipRawTemp(0) > (0x7FFF - 150)) {
x10WattsOut = 0;
}
if (systemSettings.powerLimitEnable if (systemSettings.powerLimitEnable
&& x10WattsOut > (systemSettings.powerLimit * 10)) && x10WattsOut > (systemSettings.powerLimit * 10)) {
setTipX10Watts(systemSettings.powerLimit * 10); setTipX10Watts(systemSettings.powerLimit * 10);
else } else {
setTipX10Watts(x10WattsOut); setTipX10Watts(x10WattsOut);
}
HAL_IWDG_Refresh(&hiwdg); HAL_IWDG_Refresh(&hiwdg);
} else { } else {
asm("bkpt");
//ADC interrupt timeout //ADC interrupt timeout
setTipPWM(0); setTipPWM(0);
} }