aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Logo GUI/TS100 Logo Editor/TS100 Logo Editor.userprefs8
-rw-r--r--workspace/ts100/StdPeriph_Driver/inc/stm32f10x_i2c.h4
-rw-r--r--workspace/ts100/inc/Oled.h11
-rw-r--r--workspace/ts100/inc/Settings.h4
-rw-r--r--workspace/ts100/src/Main.c2
-rw-r--r--workspace/ts100/src/Modes.c4
-rw-r--r--workspace/ts100/src/Settings.c20
7 files changed, 32 insertions, 21 deletions
diff --git a/Logo GUI/TS100 Logo Editor/TS100 Logo Editor.userprefs b/Logo GUI/TS100 Logo Editor/TS100 Logo Editor.userprefs
new file mode 100644
index 00000000..7803c773
--- /dev/null
+++ b/Logo GUI/TS100 Logo Editor/TS100 Logo Editor.userprefs
@@ -0,0 +1,8 @@
+<Properties StartupItem="TS100 Logo Editor/TS100 Logo Editor.csproj">
+ <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
+ <MonoDevelop.Ide.Workbench />
+ <MonoDevelop.Ide.DebuggingService.Breakpoints>
+ <BreakpointStore />
+ </MonoDevelop.Ide.DebuggingService.Breakpoints>
+ <MonoDevelop.Ide.DebuggingService.PinnedWatches />
+</Properties> \ No newline at end of file
diff --git a/workspace/ts100/StdPeriph_Driver/inc/stm32f10x_i2c.h b/workspace/ts100/StdPeriph_Driver/inc/stm32f10x_i2c.h
index 2d42e5ce..01ec6032 100644
--- a/workspace/ts100/StdPeriph_Driver/inc/stm32f10x_i2c.h
+++ b/workspace/ts100/StdPeriph_Driver/inc/stm32f10x_i2c.h
@@ -406,12 +406,12 @@ typedef struct
* 1) In normal case (only one address managed by the slave), when the address
* sent by the master matches the own address of the peripheral (configured by
* I2C_OwnAddress1 field) the I2C_EVENT_SLAVE_XXX_ADDRESS_MATCHED event is set
- * (where XXX could be TRANSMITTER or RECEIVER).
+ * (where XX could be TRANSMITTER or RECEIVER).
*
* 2) In case the address sent by the master matches the second address of the
* peripheral (configured by the function I2C_OwnAddress2Config() and enabled
* by the function I2C_DualAddressCmd()) the events I2C_EVENT_SLAVE_XXX_SECONDADDRESS_MATCHED
- * (where XXX could be TRANSMITTER or RECEIVER) are set.
+ * (where XX could be TRANSMITTER or RECEIVER) are set.
*
* 3) In case the address sent by the master is General Call (address 0x00) and
* if the General Call is enabled for the peripheral (using function I2C_GeneralCallCmd())
diff --git a/workspace/ts100/inc/Oled.h b/workspace/ts100/inc/Oled.h
index 4bee73aa..30304eec 100644
--- a/workspace/ts100/inc/Oled.h
+++ b/workspace/ts100/inc/Oled.h
@@ -14,21 +14,22 @@
void Oled_DisplayOn(void);
void Oled_DisplayOff(void);
-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);
void Set_ShowPos(u8 x, u8 y);
void Oled_DisplayFlip();
void GPIO_Init_OLED(void);
void Init_Oled(uint8_t leftHanded);
-const u8* Data_Command(u8 len,const u8* ptr);
-void Clear_Screen(void);//Clear the screen
+const u8* Data_Command(u8 len, const u8* ptr);
+void Clear_Screen(void); //Clear the screen
/*Functions for writing to the screen*/
void OLED_DrawString(const char* string, const uint8_t length);
void OLED_DrawChar(char c, uint8_t x);
void OLED_DrawExtendedChar(uint8_t id, uint8_t x);
void OLED_DrawTwoNumber(uint8_t in, uint8_t x);
-void OLED_BlankSlot(uint8_t xStart,uint8_t width);
+void OLED_BlankSlot(uint8_t xStart, uint8_t width);
void OLED_DrawThreeNumber(uint16_t in, uint8_t x);
void OLED_DrawIDLELogo();
-void OLED_DrawSymbol(uint8_t x,uint8_t symbol);
+void OLED_DrawSymbol(uint8_t x, uint8_t symbol);
+const u8* Oled_DrawArea(u8 x0, u8 y0, u8 wide, u8 high, const u8* ptr);
#endif
/******************************** END OF FILE *********************************/
diff --git a/workspace/ts100/inc/Settings.h b/workspace/ts100/inc/Settings.h
index e85301e5..7df12186 100644
--- a/workspace/ts100/inc/Settings.h
+++ b/workspace/ts100/inc/Settings.h
@@ -11,6 +11,7 @@
#define SETTINGS_H_
#include <stdint.h>
#include "stm32f10x_flash.h"
+#include "Oled.h"
#define SETTINGSVERSION 13 /*Change this if you change the struct below to prevent people getting out of sync*/
//Display Speeds
#define DISPLAYMODE_FAST (0x00)
@@ -29,7 +30,8 @@ struct {
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 SleepTime; //minutes timeout to sleep
- uint8_t cutoutSetting:5; //(3 bits) The voltage we cut out at for under voltage
+ uint8_t cutoutSetting:4; //(3 bits) The voltage we cut out at for under voltage
+ 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 flipDisplay:1; //If true we want to invert the display for lefties
uint8_t sensitivity:6; //Sensitivity of accelerometer (5 bits)
diff --git a/workspace/ts100/src/Main.c b/workspace/ts100/src/Main.c
index c5563b8f..157b4141 100644
--- a/workspace/ts100/src/Main.c
+++ b/workspace/ts100/src/Main.c
@@ -40,7 +40,7 @@ void setup() {
readIronTemp(systemSettings.tempCalibration, 0, 0); //load the default calibration value
Init_Oled(systemSettings.flipDisplay); //Init the OLED display
- OLED_DrawString("VER 1.15", 8); //Version Number
+ OLED_DrawString("VER 1.16", 8); //Version Number
delayMs(300); //Pause to show version number
showBootLogoIfavailable();
Start_Watchdog(1000); //start the system watch dog as 1 second timeout
diff --git a/workspace/ts100/src/Modes.c b/workspace/ts100/src/Modes.c
index 77363dbf..1ed7bcf3 100644
--- a/workspace/ts100/src/Modes.c
+++ b/workspace/ts100/src/Modes.c
@@ -22,9 +22,9 @@ void ProcessUI() {
uint8_t Buttons = getButtons(); //read the buttons status
static uint32_t lastModeChange = 0;
if (getRawButtons() && ((millis() - getLastButtonPress()) > 1000)) {
- lastKeyPress = millis() - 600;
+ lastKeyPress = millis() - 700;
Buttons = getRawButtons();
- } else if (millis() - getLastButtonPress() < 80) {
+ } else if (millis() - getLastButtonPress() < 100) {
Buttons = 0;
} else if (Buttons != 0) {
resetButtons();
diff --git a/workspace/ts100/src/Settings.c b/workspace/ts100/src/Settings.c
index 473704ef..2f68ad65 100644
--- a/workspace/ts100/src/Settings.c
+++ b/workspace/ts100/src/Settings.c
@@ -70,6 +70,7 @@ void resetSettings() {
systemSettings.temperatureRounding = 0; //How the temperature is rounded off
systemSettings.boostModeEnabled = 0;//Default to safe, with no boost mode
systemSettings.BoostTemp = 4000; //default to 400C
+ systemSettings.powerDisplay = 0; //default to power display being off
}
void showBootLogoIfavailable() {
@@ -87,16 +88,16 @@ void showBootLogoIfavailable() {
}
/*char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B',
- 'C', 'D', 'E', 'F' };
+ 'C', 'D', 'E', 'F' };
- OLED_DrawChar(hex[(temp8[0] >> 4) & 0x0F], 0);
- OLED_DrawChar(hex[(temp8[0] >> 0) & 0x0F], 1);
- OLED_DrawChar(hex[(temp8[1] >> 4) & 0x0F], 2);
- OLED_DrawChar(hex[(temp8[1] >> 0) & 0x0F], 3);
- OLED_DrawChar(hex[(temp8[2] >> 4) & 0x0F], 4);
- OLED_DrawChar(hex[(temp8[2] >> 0) & 0x0F], 5);
- OLED_DrawChar(hex[(temp8[3] >> 4) & 0x0F], 6);
- OLED_DrawChar(hex[(temp8[3] >> 0) & 0x0F], 7);*/
+ OLED_DrawChar(hex[(temp8[0] >> 4) & 0x0F], 0);
+ OLED_DrawChar(hex[(temp8[0] >> 0) & 0x0F], 1);
+ OLED_DrawChar(hex[(temp8[1] >> 4) & 0x0F], 2);
+ OLED_DrawChar(hex[(temp8[1] >> 0) & 0x0F], 3);
+ OLED_DrawChar(hex[(temp8[2] >> 4) & 0x0F], 4);
+ OLED_DrawChar(hex[(temp8[2] >> 0) & 0x0F], 5);
+ OLED_DrawChar(hex[(temp8[3] >> 4) & 0x0F], 6);
+ OLED_DrawChar(hex[(temp8[3] >> 0) & 0x0F], 7);*/
if (temp8[0] != 0xAA)
return;
if (temp8[1] != 0x55)
@@ -106,7 +107,6 @@ void showBootLogoIfavailable() {
if (temp8[3] != 0x0D)
return;
-
Oled_DrawArea(0, 0, 96, 16, (uint8_t*) (temp8 + 4));
delayMs(1000);