[FL-2219, FL-2251] System, FuriCore, FuriHal: various bug fixes and improvements (#986)
* Replace irq shenanigans with critical section * Power: halt system on power off instead of crash. * Gui: properly handle input event on NULL current_view * FuriHal: correct gpio configuration sequence * FuriHal: cleanup uart initialization. Makefile: allow to disable thread support. * Loader: improve locking, fix simultaneous app start crash, full command line args support for gui apps, more consistent insomnia * Loader: correct spelling * FuriHal: increase gpio configuration readability * FuriHal: correct gpio configuration error when mode is GpioModeEventRiseFall Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
This commit is contained in:
@@ -258,7 +258,7 @@ bool OneWireSlave::bus_start(void) {
|
||||
if(device == nullptr) {
|
||||
result = false;
|
||||
} else {
|
||||
__disable_irq();
|
||||
FURI_CRITICAL_ENTER();
|
||||
pin_init_opendrain_in_isr_ctx();
|
||||
error = OneWireSlaveError::NO_ERROR;
|
||||
|
||||
@@ -274,7 +274,7 @@ bool OneWireSlave::bus_start(void) {
|
||||
}
|
||||
|
||||
pin_init_interrupt_in_isr_ctx();
|
||||
__enable_irq();
|
||||
FURI_CRITICAL_EXIT();
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -305,4 +305,4 @@ void OneWireSlave::exti_callback(void* _ctx) {
|
||||
//FALL event
|
||||
pulse_start = DWT->CYCCNT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user