85
85
#define STM32L0_SYSTEM_LOCK_RUN 0
86
86
#define STM32L0_SYSTEM_LOCK_SLEEP 1
87
87
#define STM32L0_SYSTEM_LOCK_DEEPSLEEP 2
88
- //#define STM32L0_SYSTEM_LOCK_CLOCKS 0 // ###
89
- //#define STM32L0_SYSTEM_LOCK_STOP 2 // ###
90
- //#define STM32L0_SYSTEM_LOCK_STANDBY 3 // ###
91
88
#define STM32L0_SYSTEM_LOCK_RANGE_2_3 3
92
89
#define STM32L0_SYSTEM_LOCK_RANGE_3 4
93
90
#define STM32L0_SYSTEM_LOCK_REGULATOR 5
@@ -105,6 +102,7 @@ enum {
105
102
#define STM32L0_SYSTEM_EVENT_STOP_LEAVE 0x00000008
106
103
#define STM32L0_SYSTEM_EVENT_STANDBY 0x00000010
107
104
#define STM32L0_SYSTEM_EVENT_RESET 0x00000020
105
+ #define STM32L0_SYSTEM_EVENT_DFU 0x00000040
108
106
109
107
typedef void (* stm32l0_system_callback_t )(void * context , uint32_t events );
110
108
@@ -117,12 +115,14 @@ typedef struct _stm32l0_system_notify_t {
117
115
118
116
#define STM32L0_SYSTEM_RESET_POWERON 0
119
117
#define STM32L0_SYSTEM_RESET_EXTERNAL 1
120
- #define STM32L0_SYSTEM_RESET_SOFTWARE 2
121
- #define STM32L0_SYSTEM_RESET_WATCHDOG 3
118
+ #define STM32L0_SYSTEM_RESET_INTERNAL 2
119
+ #define STM32L0_SYSTEM_RESET_SOFTWARE 3
122
120
#define STM32L0_SYSTEM_RESET_FIREWALL 4
123
- #define STM32L0_SYSTEM_RESET_OTHER 5
124
- #define STM32L0_SYSTEM_RESET_STANDBY 6
121
+ #define STM32L0_SYSTEM_RESET_WATCHDOG 5
122
+ #define STM32L0_SYSTEM_RESET_CRASH 6
123
+ #define STM32L0_SYSTEM_RESET_STANDBY 7
125
124
125
+ #define STM32L0_SYSTEM_WAKEUP_NONE 0x00000000
126
126
#define STM32L0_SYSTEM_WAKEUP_PIN 0x00000001
127
127
#define STM32L0_SYSTEM_WAKEUP_ALARM 0x00000002
128
128
#define STM32L0_SYSTEM_WAKEUP_TIMEOUT 0x00000004
@@ -179,9 +179,9 @@ extern void stm32l0_system_periph_enable(unsigned int periph);
179
179
extern void stm32l0_system_periph_disable (unsigned int periph );
180
180
extern void stm32l0_system_swd_enable (void );
181
181
extern void stm32l0_system_swd_disable (void );
182
- extern uint32_t stm32l0_system_read_backup ( unsigned int index );
183
- extern void stm32l0_system_write_backup ( unsigned int index , uint32_t data );
184
- extern void stm32l0_system_notify (stm32l0_system_notify_t * notify , stm32l0_system_callback_t callback , void * context , uint32_t events );
182
+ extern void stm32l0_system_register ( stm32l0_system_notify_t * notify , stm32l0_system_callback_t callback , void * context , uint32_t events );
183
+ extern void stm32l0_system_unregister ( stm32l0_system_notify_t * notify );
184
+ extern void stm32l0_system_notify (uint32_t events );
185
185
extern void stm32l0_system_lock (uint32_t lock );
186
186
extern void stm32l0_system_unlock (uint32_t lock );
187
187
extern void stm32l0_system_reference (uint32_t reference );
0 commit comments