[FL-1652, FL-1554] IRDA: Continuous transmitting (#636)
* [FL-1652] IRDA: Continuous transmitting * continuous encoding and sending signals by pressing button on menu * fast buttons scrolling in remote menu * bruteforce: stop reading file if progress == 100% * IRDA: .hpp -> .h * [FL-1554] IRDA: xTaskNotify -> osEventsFlagSet * IRDA: some stability fixes * Irda: minor cleanup, api-hal to furi-hal rename. Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include "furi.h"
|
||||
#include "gui/modules/button_panel.h"
|
||||
#include "irda-app.hpp"
|
||||
#include "irda/irda-app-event.hpp"
|
||||
#include "irda-app.h"
|
||||
#include "irda/irda-app-event.h"
|
||||
#include <callback-connector.h>
|
||||
|
||||
IrdaAppViewManager::IrdaAppViewManager() {
|
||||
@@ -112,8 +112,14 @@ void IrdaAppViewManager::receive_event(IrdaAppEvent* event) {
|
||||
}
|
||||
|
||||
void IrdaAppViewManager::send_event(IrdaAppEvent* event) {
|
||||
osStatus_t result = osMessageQueuePut(event_queue, event, 0, 0);
|
||||
furi_check(result == osOK);
|
||||
uint32_t timeout = 0;
|
||||
/* Rapid button hammering on Remote Scene causes queue overflow - ignore it,
|
||||
* but try to keep button release event - it switches off IRDA DMA sending. */
|
||||
if(event->type == IrdaAppEvent::Type::MenuSelectedRelease) {
|
||||
timeout = 200;
|
||||
}
|
||||
osMessageQueuePut(event_queue, event, 0, timeout);
|
||||
/* furi_check(result == osOK); */
|
||||
}
|
||||
|
||||
uint32_t IrdaAppViewManager::previous_view_callback(void* context) {
|
||||
|
||||
Reference in New Issue
Block a user