aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBen V. Brown <[email protected]>2017-07-26 09:18:07 +1000
committerBen V. Brown <[email protected]>2017-07-26 09:18:07 +1000
commit56f31b02aaa4f22c5fade20a3e5e605776eb7c5c (patch)
treef528b185b446a37d3aee6953058644ec919d48f5
parent2d260bd62c0eddc68543e6af094775533b155d9a (diff)
downloadIronOS-56f31b02aaa4f22c5fade20a3e5e605776eb7c5c.tar.gz
IronOS-56f31b02aaa4f22c5fade20a3e5e605776eb7c5c.zip
pre-work for power display
-rw-r--r--workspace/ts100/.cproject5
-rw-r--r--workspace/ts100/src/Modes.c26
-rw-r--r--workspace/ts100/src/Oled.c11
3 files changed, 27 insertions, 15 deletions
diff --git a/workspace/ts100/.cproject b/workspace/ts100/.cproject
index f4bbcc93..3d0feb76 100644
--- a/workspace/ts100/.cproject
+++ b/workspace/ts100/.cproject
@@ -28,7 +28,7 @@
</builder>
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1500724168" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
<option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.963224364" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.more" valueType="enumerated"/>
- <option id="gnu.c.compiler.option.debugging.level.400507088" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="gnu.c.compiler.option.debugging.level.400507088" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1436405353" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/StdPeriph_Driver/inc}&quot;"/>
@@ -50,7 +50,8 @@
<option id="gnu.c.compiler.option.dialect.std.1983627145" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.c11" valueType="enumerated"/>
<option id="gnu.c.compiler.option.warnings.nowarn.1227270879" name="Inhibit all warnings (-w)" superClass="gnu.c.compiler.option.warnings.nowarn" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.fdata.1556802580" name="Place the data in their own section (-fdata-sections)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.fdata" useByScannerDiscovery="false" value="true" valueType="boolean"/>
- <option id="gnu.c.compiler.option.warnings.extrawarn.826041739" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <option id="gnu.c.compiler.option.warnings.extrawarn.826041739" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+ <option id="fr.ac6.managedbuid.gnu.c.compiler.option.misc.other.1256666959" superClass="fr.ac6.managedbuid.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0 -fno-common" valueType="string"/>
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1635097739" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.211510996" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
</tool>
diff --git a/workspace/ts100/src/Modes.c b/workspace/ts100/src/Modes.c
index 52acdfa7..6b6ebac6 100644
--- a/workspace/ts100/src/Modes.c
+++ b/workspace/ts100/src/Modes.c
@@ -463,17 +463,23 @@ void DrawUI() {
OLED_DrawChar('C', 3);
}
//Optionally draw the arrows, or draw the power instead
- OLED_BlankSlot(6 * 12 + 16, 24 - 16);//blank out the tail after the arrows
- if (getIronTimer() == 0
- && (temp / 10) > (systemSettings.SolderingTemp / 10)) {
- //Cooling
- OLED_DrawSymbol(6, 5);
+ if (systemSettings.powerDisplay) {
+ //We want to draw in a neat little bar graph of power being pushed to the tip
+ Oled_DrawArea(6 * 12, 0, 12, 8, 0);
} else {
- if (getIronTimer() < 1500) {
- //Maintaining
- OLED_DrawSymbol(6, 7);
- } else { //we are heating
- OLED_DrawSymbol(6, 6);
+ //Draw in the arrows if the user has the power display turned off
+ OLED_BlankSlot(6 * 12 + 16, 24 - 16);//blank out the tail after the arrows
+ if (getIronTimer() == 0
+ && (temp / 10) > (systemSettings.SolderingTemp / 10)) {
+ //Cooling
+ OLED_DrawSymbol(6, 5);
+ } else {
+ if (getIronTimer() < 1500) {
+ //Maintaining
+ OLED_DrawSymbol(6, 7);
+ } else { //we are heating
+ OLED_DrawSymbol(6, 6);
+ }
}
}
diff --git a/workspace/ts100/src/Oled.c b/workspace/ts100/src/Oled.c
index abbb7c01..fb1d98d5 100644
--- a/workspace/ts100/src/Oled.c
+++ b/workspace/ts100/src/Oled.c
@@ -77,14 +77,19 @@ void Oled_DisplayFlip() {
Input: number of bytes to write, array to write
Output:
*/
-const u8* Data_Command(u8 length,const u8* data) {
+const u8* Data_Command(u8 length, const u8* data) {
int i;
u8 tx_data[129];
//here are are inserting the data write command at the beginning
tx_data[0] = 0x40;
length++;
for (i = 1; i < length; i++) //Loop through the array of data
- tx_data[i] = *data++;
+ {
+ if (data == 0)
+ tx_data[i] = 0;
+ else
+ tx_data[i] = *data++;
+ }
I2C_PageWrite(tx_data, length, DEVICEADDR_OLED); //write out the buffer
return data;
}
@@ -107,7 +112,7 @@ void Set_ShowPos(u8 x, u8 y) {
Inputs:(x,y) start point, (width,height) of enclosing rect, pointer to data
Output: pointer to the last byte written out
*******************************************************************************/
-const u8* Oled_DrawArea(u8 x0, u8 y0, u8 wide, u8 high,const u8* ptr) {
+const u8* Oled_DrawArea(u8 x0, u8 y0, u8 wide, u8 high, const u8* ptr) {
u8 m, n, y;
n = y0 + high;