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 @@ + + + + + + + + \ 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 #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);