Vadim Kaushan 1bec8dd23a
Install Rust in docker image, add Rust library and build rules (#41)
* Install Rust in docker image

* Also install thumbv7em-none-eabi target

* Install Rust in docker image

* Also install thumbv7em-none-eabi target

* Add Rust example

* Link to the Rust example

* Call function from the Rust lib

* Move PROJECT_DIR to the 'paths' section

* Fix target_f1 build

* Link to the Rust library in target_f1

* Generate cbindgen bindings

* Add forgotten dependency line

* Use panic=abort instead of eh_personality lang item

* Install Rust in docker image

* Also install thumbv7em-none-eabi target

* Add Rust example

* Link to the Rust example

* Call function from the Rust lib

* Move PROJECT_DIR to the 'paths' section

* Link to the Rust library in target_f1

* Generate cbindgen bindings

* Add forgotten dependency line

* Use panic=abort instead of eh_personality lang item

* add rust call test

Co-authored-by: aanper <mail@s3f.ru>
2020-08-26 13:08:20 +03:00

68 lines
2.0 KiB
C

#include <stdio.h>
#include "flipper.h"
#include "debug.h"
#include "flipper-core.h"
bool furi_ac_create_kill(FILE* debug_uart);
bool furi_ac_switch_exit(FILE* debug_uart);
bool furi_pipe_record(FILE* debug_uart);
bool furi_holding_data(FILE* debug_uart);
bool furi_concurrent_access(FILE* debug_uart);
bool furi_nonexistent_data(FILE* debug_uart);
bool furi_mute_algorithm(FILE* debug_uart);
void flipper_test_app(void* p) {
FILE* debug_uart = get_debug();
if(furi_ac_create_kill(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_ac_create_kill PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_ac_create_kill FAILED\n");
}
if(furi_ac_switch_exit(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_ac_switch_exit PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_ac_switch_exit FAILED\n");
}
if(furi_pipe_record(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_pipe_record PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_pipe_record FAILED\n");
}
if(furi_holding_data(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_holding_data PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_holding_data FAILED\n");
}
if(furi_concurrent_access(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_concurrent_access PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_concurrent_access FAILED\n");
}
if(furi_nonexistent_data(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_nonexistent_data PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_nonexistent_data FAILED\n");
}
if(furi_mute_algorithm(debug_uart)) {
fprintf(debug_uart, "[TEST] furi_mute_algorithm PASSED\n");
} else {
fprintf(debug_uart, "[TEST] furi_mute_algorithm FAILED\n");
}
if(add(1, 2) == 3) {
fprintf(debug_uart, "[TEST] Rust add PASSED\n");
} else {
fprintf(debug_uart, "[TEST] Rust add FAILED\n");
}
furiac_exit(NULL);
}