From f844200b1b611a377439aabf64db2726a5a74704 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Wed, 12 Jul 2017 20:18:20 +1000 Subject: [PATCH] 1.13 alpha, testing new sensitivity & alternate button layout --- workspace/ts100/inc/Modes.h | 2 +- workspace/ts100/src/MMA8652FC.c | 8 ++++---- workspace/ts100/src/Main.c | 6 +++++- workspace/ts100/src/Modes.c | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/workspace/ts100/inc/Modes.h b/workspace/ts100/inc/Modes.h index 106a757b..42441463 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 11 /*Number of settings in the settings menu*/ +#define SETTINGSOPTIONSCOUNT 10 /*Number of settings in the settings menu*/ enum { UVCO = 0, diff --git a/workspace/ts100/src/MMA8652FC.c b/workspace/ts100/src/MMA8652FC.c index 98a55e20..9e96bf0f 100644 --- a/workspace/ts100/src/MMA8652FC.c +++ b/workspace/ts100/src/MMA8652FC.c @@ -34,13 +34,13 @@ void StartUp_Accelerometer(uint8_t sensitivity) { I2C_RegisterWrite( CTRL_REG2, 0x40); // Reset all registers to POR values delayMs(2); // ~1ms delay I2C_RegisterWrite(FF_MT_CFG_REG, 0x78); // Enable motion detection for X and Y axis, latch enabled - uint8_t sens = 9*7+1; + uint8_t sens = 9 * 7 + 5; sens -= 7 * sensitivity; - I2C_RegisterWrite(FF_MT_THS_REG, sens); // Set threshold - I2C_RegisterWrite(FF_MT_COUNT_REG, 0x01); // Set debounce to 100ms + I2C_RegisterWrite(FF_MT_THS_REG, 0x80 | sens); // Set threshold + I2C_RegisterWrite(FF_MT_COUNT_REG, 0x02); // Set debounce to 100ms I2C_RegisterWrite( CTRL_REG4, 0x04); // Enable motion interrupt I2C_RegisterWrite( CTRL_REG5, 0x04);// Route motion interrupts to INT1 ->PB5 ->EXTI5 - I2C_RegisterWrite( CTRL_REG1, 0x19); // ODR=100 Hz, Active mode + I2C_RegisterWrite( CTRL_REG1, 0x11); // ODR=800 Hz, Active mode } diff --git a/workspace/ts100/src/Main.c b/workspace/ts100/src/Main.c index 3b159d7e..cd99dbe4 100644 --- a/workspace/ts100/src/Main.c +++ b/workspace/ts100/src/Main.c @@ -18,6 +18,10 @@ int main(void) { ProcessUI(); DrawUI(); delayMs(50); //Slow the system down a little bit + if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==Bit_RESET) + { + lastMovement = millis(); + } } } void setup() { @@ -37,7 +41,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.12", 8); //Version Number + OLED_DrawString("VER 1.13", 8); //Version Number delayMs(500); //Pause to show version number 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 87e22cee..41e69fd9 100644 --- a/workspace/ts100/src/Modes.c +++ b/workspace/ts100/src/Modes.c @@ -131,7 +131,7 @@ void ProcessUI() { //The user pressed the button to breakout of the settings help prompt StatusFlags = 0; } else { - if (Buttons & BUT_A) { + if (Buttons & BUT_B) { //A key iterates through the menu if (settingsPage == SETTINGSOPTIONSCOUNT) { //Roll off the end @@ -141,7 +141,7 @@ void ProcessUI() { } else { ++settingsPage; //move to the next option } - } else if (Buttons & BUT_B) { + } else if (Buttons & BUT_A) { //B changes the value selected switch (settingsPage) { case UVCO: