Changeset - fb8415e8edb9
[Not reviewed]
default
0 2 0
Ethan Zonca - 9 years ago 2016-10-13 21:38:35
ez@ethanzonca.com
Add sleep to most functional modes; decrease clock speed to 2MHz from 8Mhz to save power
2 files changed with 17 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/main.c
Show inline comments
 
@@ -99,6 +99,10 @@ int main(void)
 
            {
 
                blink_rate = BLINK_SLOW;
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
 
                // Wait for RTC wakeup interrupt
 
                //wfi();
 
                //enter_sleep();
 
@@ -112,6 +116,11 @@ int main(void)
 
            case SYSTEM_GPSACQ:
 
            {
 
                blink_rate = BLINK_FAST;
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
 
 
                if(!gps_ison())
 
                {
 
@@ -176,6 +185,13 @@ int main(void)
 
            			state = SYSTEM_IDLE;
 
            		}
 
                }
 
            	else
 
            	{
 
                    HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                    HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                    HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
                    HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
 
            	}
 
 
                // Schedule next wakeup (maybe 2mins prior ot timeslot if no osc trim)
 
                // Next wakeup should enter SYSTEM_GPSACQ state...
src/system.c
Show inline comments
 
@@ -44,7 +44,7 @@ void sysclk_init(void)
 
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
 
                                |RCC_CLOCKTYPE_PCLK1;
 
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
 
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
 
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV4;
 
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
 
    HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);
 

	
0 comments (0 inline, 0 general)