Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Kharisov <ah@bright-box.com>2021-08-06 00:11:35 +0300
committerGitHub <noreply@github.com>2021-08-06 00:11:35 +0300
commitba399abb5da3334ac264a94a945bc0ea02f47dfb (patch)
tree96f846822b50ca9b1799f605b755806b63c1c47a /applications/irda
parent9c38efd4ef229c7497c892c700c894264733a596 (diff)
IRDA: Use DMA for async TX (#608)
Diffstat (limited to 'applications/irda')
-rw-r--r--applications/irda/cli/irda-cli.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/applications/irda/cli/irda-cli.cpp b/applications/irda/cli/irda-cli.cpp
index 8e15cd70..07aef327 100644
--- a/applications/irda/cli/irda-cli.cpp
+++ b/applications/irda/cli/irda-cli.cpp
@@ -10,6 +10,7 @@
#include <string>
#include <m-string.h>
#include <irda_transmit.h>
+#include <sys/types.h>
static void signal_received_callback(void* context, IrdaWorkerSignal* received_signal) {
furi_assert(received_signal);
@@ -47,7 +48,7 @@ static void signal_received_callback(void* context, IrdaWorkerSignal* received_s
}
static void irda_cli_start_ir_rx(Cli* cli, string_t args, void* context) {
- if(api_hal_irda_rx_irq_is_busy()) {
+ if(api_hal_irda_is_busy()) {
printf("IRDA is busy. Exit.");
return;
}
@@ -105,7 +106,7 @@ static bool parse_signal_raw(
uint32_t* timings,
uint32_t* timings_cnt,
float* duty_cycle,
- float* frequency) {
+ uint32_t* frequency) {
char frequency_str[10];
char duty_cycle_str[10];
int parsed = sscanf(str, "RAW F:%9s DC:%9s", frequency_str, duty_cycle_str);
@@ -141,14 +142,14 @@ static bool parse_signal_raw(
}
static void irda_cli_start_ir_tx(Cli* cli, string_t args, void* context) {
- if(api_hal_irda_rx_irq_is_busy()) {
+ if(api_hal_irda_is_busy()) {
printf("IRDA is busy. Exit.");
return;
}
IrdaMessage message;
const char* str = string_get_cstr(args);
- float frequency;
+ uint32_t frequency;
float duty_cycle;
uint32_t* timings = (uint32_t*)furi_alloc(sizeof(uint32_t) * 1000);
uint32_t timings_cnt = 1000;
@@ -156,7 +157,7 @@ static void irda_cli_start_ir_tx(Cli* cli, string_t args, void* context) {
if(parse_message(str, &message)) {
irda_send(&message, 1);
} else if(parse_signal_raw(str, timings, &timings_cnt, &duty_cycle, &frequency)) {
- irda_send_raw_ext(timings, timings_cnt, true, duty_cycle, frequency);
+ irda_send_raw_ext(timings, timings_cnt, true, frequency, duty_cycle);
} else {
printf("Wrong arguments.\r\n");
irda_cli_print_usage();