Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
François Revol
firmware
Commits
fe96f8b0
Commit
fe96f8b0
authored
Sep 15, 2019
by
schneider
Committed by
Tobias Schneider
Oct 01, 2019
Browse files
fix(ble): Use a reserved interrupt to dispatch FreeRTOS functions
parent
1bb2b9f0
Changes
2
Hide whitespace changes
Inline
Side-by-side
epicardium/ble/ble.c
View file @
fe96f8b0
...
...
@@ -161,12 +161,17 @@ void WsfTimerNotify(void)
//printf("WsfTimerNotify\n");
// TODO: Can we do this without waking up the task?
// xTimerChangePeriodFromISR exists
notify
()
;
NVIC
->
STIR
=
RSV11_IRQn
;
}
/*************************************************************************************************/
void
wsf_ble_signal_event
(
void
)
{
//printf("wsf_ble_signal_event\n");
NVIC
->
STIR
=
RSV11_IRQn
;
}
/*************************************************************************************************/
void
RSV11_IRQHandler
(
void
)
{
notify
();
}
/*************************************************************************************************/
...
...
@@ -243,6 +248,12 @@ void vBleTask(void *pvParameters)
*/
vTaskDelay
(
pdMS_TO_TICKS
(
500
));
/* We are going to execute FreeRTOS functions from callbacks
* coming from this interrupt. Its priority needs to be
* reduced to allow this. */
NVIC_SetPriority
(
RSV11_IRQn
,
2
);
NVIC_EnableIRQ
(
RSV11_IRQn
);
WsfInit
();
taskENTER_CRITICAL
();
/* Critical section to prevent a loop in iq_capture2 / meas_freq in
...
...
@@ -253,12 +264,6 @@ void vBleTask(void *pvParameters)
BbBleDrvSetTxPower
(
0
);
setAddress
();
/* We are going to execute FreeRTOS functions from callbacks
* coming from these interrupts. Their priority needs to be
* reduced to allow this. */
NVIC_SetPriority
(
BTLE_SFD_TO_IRQn
,
2
);
NVIC_SetPriority
(
BTLE_TX_DONE_IRQn
,
2
);
NVIC_SetPriority
(
BTLE_RX_RCVD_IRQn
,
2
);
AppInit
();
BleStart
();
AttsDynInit
();
...
...
epicardium/modules/hardware.c
View file @
fe96f8b0
...
...
@@ -194,6 +194,9 @@ int hardware_early_init(void)
*/
max30001_mutex_init
();
/* Allow user space to trigger interrupts.
* Used for BLE, not sure if needed. */
SCB
->
CCR
|=
SCB_CCR_USERSETMPEND_Msk
;
return
0
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment