Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'unleashed/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
xMasterX committed Mar 24, 2024
2 parents 1c28870 + 81a16e5 commit ad82ee1
Show file tree
Hide file tree
Showing 49 changed files with 999 additions and 130 deletions.
4 changes: 1 addition & 3 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# construction of certain targets behind command-line options.

import os
from fbt.util import path_as_posix
from fbt.util import open_browser_action

DefaultEnvironment(tools=[])

Expand Down Expand Up @@ -229,7 +229,6 @@ firmware_debug = distenv.PhonyTarget(
source=firmware_env["FW_ELF"],
GDBOPTS="${GDBOPTS_BASE}",
GDBREMOTE="${OPENOCD_GDB_PIPE}",
FBT_FAP_DEBUG_ELF_ROOT=path_as_posix(firmware_env.subst("$FBT_FAP_DEBUG_ELF_ROOT")),
)
distenv.Depends(firmware_debug, firmware_flash)

Expand All @@ -239,7 +238,6 @@ distenv.PhonyTarget(
source=firmware_env["FW_ELF"],
GDBOPTS="${GDBOPTS_BASE} ${GDBOPTS_BLACKMAGIC}",
GDBREMOTE="${BLACKMAGIC_ADDR}",
FBT_FAP_DEBUG_ELF_ROOT=path_as_posix(firmware_env.subst("$FBT_FAP_DEBUG_ELF_ROOT")),
)

# Debug alien elf
Expand Down
7 changes: 4 additions & 3 deletions applications/debug/uart_echo/uart_echo.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,13 +283,14 @@ static UartEchoApp* uart_echo_app_alloc(uint32_t baudrate) {
static void uart_echo_app_free(UartEchoApp* app) {
furi_assert(app);

furi_hal_serial_async_rx_stop(app->serial_handle);
furi_hal_serial_deinit(app->serial_handle);
furi_hal_serial_control_release(app->serial_handle);

furi_thread_flags_set(furi_thread_get_id(app->worker_thread), WorkerEventStop);
furi_thread_join(app->worker_thread);
furi_thread_free(app->worker_thread);

furi_hal_serial_deinit(app->serial_handle);
furi_hal_serial_control_release(app->serial_handle);

// Free views
view_dispatcher_remove_view(app->view_dispatcher, 0);

Expand Down
76 changes: 39 additions & 37 deletions applications/debug/unit_tests/infrared/infrared_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,53 +426,53 @@ MU_TEST(infrared_test_decoder_mixed) {
infrared_test_run_decoder(InfraredProtocolSIRC, 3);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 1);
infrared_test_run_decoder(InfraredProtocolRCA, 1);
infrared_test_run_decoder(InfraredProtocolPioneer, 6);
}

MU_TEST(infrared_test_decoder_nec) {
infrared_test_run_decoder(InfraredProtocolNEC, 1);
infrared_test_run_decoder(InfraredProtocolNEC, 2);
infrared_test_run_decoder(InfraredProtocolNEC, 3);
for(uint32_t i = 1; i <= 3; ++i) {
infrared_test_run_decoder(InfraredProtocolNEC, i);
}
}

MU_TEST(infrared_test_decoder_unexpected_end_in_sequence) {
infrared_test_run_decoder(InfraredProtocolNEC, 1);
infrared_test_run_decoder(InfraredProtocolNEC, 1);
infrared_test_run_decoder(InfraredProtocolNEC, 2);
infrared_test_run_decoder(InfraredProtocolNEC, 2);
for(uint32_t i = 1; i <= 2; ++i) {
infrared_test_run_decoder(InfraredProtocolNEC, i);
infrared_test_run_decoder(InfraredProtocolNEC, i);
}
}

MU_TEST(infrared_test_decoder_necext1) {
infrared_test_run_decoder(InfraredProtocolNECext, 1);
infrared_test_run_decoder(InfraredProtocolNECext, 1);
for(uint32_t i = 0; i < 2; ++i) {
UNUSED(i);
infrared_test_run_decoder(InfraredProtocolNECext, 1);
}
}

MU_TEST(infrared_test_decoder_long_packets_with_nec_start) {
infrared_test_run_decoder(InfraredProtocolNEC42ext, 1);
infrared_test_run_decoder(InfraredProtocolNEC42ext, 2);
for(uint32_t i = 1; i <= 2; ++i) {
infrared_test_run_decoder(InfraredProtocolNEC42ext, i);
}
}

MU_TEST(infrared_test_encoder_sirc) {
infrared_test_run_encoder(InfraredProtocolSIRC, 1);
infrared_test_run_encoder(InfraredProtocolSIRC, 2);
for(uint32_t i = 1; i <= 2; ++i) {
infrared_test_run_encoder(InfraredProtocolSIRC, i);
}
}

MU_TEST(infrared_test_decoder_sirc) {
infrared_test_run_decoder(InfraredProtocolSIRC, 3);
infrared_test_run_decoder(InfraredProtocolSIRC, 1);
infrared_test_run_decoder(InfraredProtocolSIRC, 2);
infrared_test_run_decoder(InfraredProtocolSIRC, 4);
infrared_test_run_decoder(InfraredProtocolSIRC, 5);
for(uint32_t i = 1; i <= 5; ++i) {
infrared_test_run_decoder(InfraredProtocolSIRC, 5);
}
}

MU_TEST(infrared_test_decoder_rc5) {
infrared_test_run_decoder(InfraredProtocolRC5X, 1);
infrared_test_run_decoder(InfraredProtocolRC5, 1);
infrared_test_run_decoder(InfraredProtocolRC5, 2);
infrared_test_run_decoder(InfraredProtocolRC5, 3);
infrared_test_run_decoder(InfraredProtocolRC5, 4);
infrared_test_run_decoder(InfraredProtocolRC5, 5);
infrared_test_run_decoder(InfraredProtocolRC5, 6);
infrared_test_run_decoder(InfraredProtocolRC5, 7);

for(uint32_t i = 1; i <= 7; ++i) {
infrared_test_run_decoder(InfraredProtocolRC5, i);
}
}

MU_TEST(infrared_test_encoder_rc5x) {
Expand All @@ -492,21 +492,21 @@ MU_TEST(infrared_test_encoder_rc6) {
}

MU_TEST(infrared_test_decoder_kaseikyo) {
infrared_test_run_decoder(InfraredProtocolKaseikyo, 1);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 2);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 3);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 4);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 5);
infrared_test_run_decoder(InfraredProtocolKaseikyo, 6);
for(uint32_t i = 1; i <= 6; ++i) {
infrared_test_run_decoder(InfraredProtocolKaseikyo, i);
}
}

MU_TEST(infrared_test_decoder_rca) {
infrared_test_run_decoder(InfraredProtocolRCA, 1);
infrared_test_run_decoder(InfraredProtocolRCA, 2);
infrared_test_run_decoder(InfraredProtocolRCA, 3);
infrared_test_run_decoder(InfraredProtocolRCA, 4);
infrared_test_run_decoder(InfraredProtocolRCA, 5);
infrared_test_run_decoder(InfraredProtocolRCA, 6);
for(uint32_t i = 1; i <= 6; ++i) {
infrared_test_run_decoder(InfraredProtocolRCA, i);
}
}

MU_TEST(infrared_test_decoder_pioneer) {
for(uint32_t i = 1; i <= 11; ++i) {
infrared_test_run_decoder(InfraredProtocolPioneer, i);
}
}

MU_TEST(infrared_test_encoder_decoder_all) {
Expand All @@ -520,6 +520,7 @@ MU_TEST(infrared_test_encoder_decoder_all) {
infrared_test_run_encoder_decoder(InfraredProtocolSIRC, 1);
infrared_test_run_encoder_decoder(InfraredProtocolKaseikyo, 1);
infrared_test_run_encoder_decoder(InfraredProtocolRCA, 1);
infrared_test_run_encoder_decoder(InfraredProtocolPioneer, 1);
}

MU_TEST_SUITE(infrared_test) {
Expand All @@ -539,6 +540,7 @@ MU_TEST_SUITE(infrared_test) {
MU_RUN_TEST(infrared_test_decoder_necext1);
MU_RUN_TEST(infrared_test_decoder_kaseikyo);
MU_RUN_TEST(infrared_test_decoder_rca);
MU_RUN_TEST(infrared_test_decoder_pioneer);
MU_RUN_TEST(infrared_test_decoder_mixed);
MU_RUN_TEST(infrared_test_encoder_decoder_all);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
Filetype: IR tests file
Version: 1
#
name: decoder_input1
type: raw
data: 25557 8437 4188 571 1538 595 1514 567 1542 570 1539 573 501 565 1544 568 506 571 1539 573 501 565 509 568 508 569 506 571 1538 574 501 565 1543 569 506 571 504 573 1536 566 1544 568 506 592 1517 574 1535 567 507 570 505 572 1537 575 500 566 508 600 1509 572 503 574 501 565 1544 568 1540 593
#
name: decoder_expected1
type: parsed_array
count: 1
#
protocol: Pioneer
address: AF 00 00 00
command: 36 00 00 00
repeat: false
#
name: decoder_input2
type: raw
data: 25609 8444 4152 564 1568 544 1565 547 1561 541 1568 544 530 547 1536 566 510 567 1567 545 529 548 526 540 535 542 508 569 1539 573 527 539 1543 569 506 571 504 573 1561 541 508 569 507 570 1538 564 1545 567 507 570 505 572 1537 565 509 568 1541 571 1538 564 511 566 509 568 1539 573 1537 596
#
name: decoder_expected2
type: parsed_array
count: 1
#
protocol: Pioneer
address: AF 00 00 00
command: 32 00 00 00
repeat: false
#
name: decoder_input3
type: raw
data: 25582 8448 4176 571 1537 565 1544 568 1540 572 1537 575 500 566 1542 570 505 572 1537 575 500 566 508 569 506 571 504 573 1536 565 510 567 1542 570 504 573 1536 566 1543 569 506 571 504 573 1536 566 1543 569 506 571 504 573 502 575 500 566 1542 570 1539 573 502 575 500 566 1542 570 1540 572
#
name: decoder_expected3
type: parsed_array
count: 1
#
protocol: Pioneer
address: AF 00 00 00
command: 33 00 00 00
repeat: false
#
name: decoder_input4
type: raw
data: 25594 8443 4181 568 1542 570 505 572 1538 564 1545 567 508 569 1540 572 504 573 1536 566 510 567 1542 571 505 572 504 573 1562 540 510 567 1543 570 506 571 504 573 503 574 501 565 510 567 509 568 507 570 1539 573 502 565 1545 568 1542 571 1539 573 1536 566 1544 569 1541 572 503 574 1537 565
#
name: decoder_expected4
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 40 00 00 00
repeat: false
#
name: decoder_input5
type: raw
data: 25556 8475 4150 597 1512 600 476 601 1509 603 1506 595 480 597 1512 600 476 601 1508 594 482 595 1515 597 478 599 477 600 1510 602 473 604 1506 595 480 597 1513 599 476 601 475 602 474 603 472 594 482 595 1514 598 477 600 476 601 1508 594 1516 596 1513 599 1510 602 1507 595 480 597 1513 599
#
name: decoder_expected5
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 41 00 00 00
repeat: false
#
name: decoder_input6
type: raw
data: 25567 8471 4155 604 1506 596 480 597 1513 599 1510 603 473 594 1515 597 478 599 1511 602 474 603 1507 595 480 597 479 598 1511 602 474 603 1506 596 480 597 478 599 1511 602 474 603 472 594 481 596 479 598 1512 601 474 603 1506 596 479 598 1511 602 1508 594 1515 598 1512 600 475 602 1507 595
#
name: decoder_expected6
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 42 00 00 00
repeat: false
#
name: decoder_input7
type: raw
data: 25584 8444 4180 569 1541 572 504 573 1536 566 1544 569 507 570 1539 574 501 566 1569 596 455 570 1540 573 502 575 501 565 1544 569 507 570 1565 548 503 574 1535 567 1543 570 506 571 529 548 502 565 511 566 1543 601 475 571 504 573 503 574 1536 566 1543 570 1539 574 1536 566 509 568 1541 572
#
name: decoder_expected7
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 43 00 00 00
repeat: false
#
name: decoder_input8
type: raw
data: 25562 8445 4181 568 1543 570 505 572 1538 575 1535 567 508 569 1539 573 503 595 1514 567 508 600 1509 572 503 595 481 596 1513 568 507 601 1508 573 502 575 501 566 1543 570 506 571 504 573 1536 566 510 567 508 600 475 571 1539 573 502 575 1534 568 1542 571 505 572 1537 575 1534 568 1542 571
#
name: decoder_expected8
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 12 00 00 00
repeat: false
#
name: decoder_input9
type: raw
data: 25558 8470 4152 597 1513 600 476 601 1508 594 1515 598 478 599 1509 593 483 594 1515 598 478 599 1510 603 474 592 482 595 1514 599 477 600 1509 593 483 594 481 596 1513 600 476 601 1508 594 1515 598 478 599 476 601 474 593 1517 596 479 598 1512 601 474 603 472 594 1515 598 1511 602 1508 594
#
name: decoder_expected9
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 1A 00 00 00
repeat: false
#
name: decoder_input10
type: raw
data: 25587 8442 4179 601 1507 595 481 565 1544 600 1509 593 482 595 1513 568 507 570 1539 594 481 565 1544 600 476 570 505 593 1516 597 479 598 1511 591 484 593 481 575 1534 600 476 570 1539 595 480 597 478 599 476 570 505 593 1517 564 511 597 1511 602 474 572 1537 597 1513 600 1509 572 1537 565
#
name: decoder_expected10
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 0A 00 00 00
repeat: false
#
name: decoder_input11
type: raw
data: 25554 8474 4149 600 1510 603 472 594 1515 597 1512 601 475 602 1507 595 480 597 1513 599 475 602 1508 594 481 596 479 598 1512 601 474 603 1506 596 479 598 1512 601 1508 594 481 596 1513 599 476 601 474 603 472 594 481 596 480 597 478 599 1510 603 473 593 1515 597 1512 601 1509 603 1506 596
#
name: decoder_expected11
type: parsed_array
count: 1
#
protocol: Pioneer
address: AD 00 00 00
command: 0B 00 00 00
repeat: false
#
name: encoder_decoder_input1
type: parsed_array
count: 11
#
protocol: Pioneer
address: AF 00 00 00
command: 36 00 00 00
repeat: false
#
protocol: Pioneer
address: AF 00 00 00
command: 32 00 00 00
repeat: false
#
protocol: Pioneer
address: AF 00 00 00
command: 33 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 40 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 41 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 42 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 43 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 12 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 1A 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 0A 00 00 00
repeat: false
#
protocol: Pioneer
address: AD 00 00 00
command: 0B 00 00 00
repeat: false
#
Loading

0 comments on commit ad82ee1

Please sign in to comment.