diff --git a/applications/examples/strobe.c b/applications/examples/strobe.c index 8e837948..3ad683b6 100644 --- a/applications/examples/strobe.c +++ b/applications/examples/strobe.c @@ -1,4 +1,5 @@ #include +#include #include static void event_cb(const void* value, void* ctx) { @@ -21,20 +22,6 @@ void application_strobe(void* p) { // WAT osDelay(100); - // create pins - GpioPin red = {.pin = LED_RED_Pin, .port = LED_RED_GPIO_Port}; - GpioPin green = {.pin = LED_GREEN_Pin, .port = LED_GREEN_GPIO_Port}; - GpioPin blue = {.pin = LED_BLUE_Pin, .port = LED_BLUE_GPIO_Port}; - - GpioPin* red_record = &red; - GpioPin* green_record = &green; - GpioPin* blue_record = &blue; - - // configure pins - gpio_init(red_record, GpioModeOutputOpenDrain); - gpio_init(green_record, GpioModeOutputOpenDrain); - gpio_init(blue_record, GpioModeOutputOpenDrain); - uint32_t delay_time_holder = 100; ValueMutex delay_mutex; init_mutex(&delay_mutex, &delay_time_holder, sizeof(delay_time_holder)); @@ -46,13 +33,14 @@ void application_strobe(void* p) { uint32_t delay_time = 100; read_mutex_block(&delay_mutex, &delay_time, sizeof(delay_time)); - gpio_write(red_record, false); - gpio_write(green_record, false); - gpio_write(blue_record, false); + api_hal_light_set(LightRed, 0x00); + api_hal_light_set(LightGreen, 0x00); + api_hal_light_set(LightBlue, 0x00); osDelay(delay_time / 10); - gpio_write(red_record, true); - gpio_write(green_record, true); - gpio_write(blue_record, true); + + api_hal_light_set(LightRed, 0xFF); + api_hal_light_set(LightGreen, 0xFF); + api_hal_light_set(LightBlue, 0xFF); osDelay(delay_time); } } \ No newline at end of file diff --git a/applications/sd-nfc/sdnfc.cpp b/applications/sd-nfc/sdnfc.cpp deleted file mode 100644 index 159bb4d6..00000000 --- a/applications/sd-nfc/sdnfc.cpp +++ /dev/null @@ -1,168 +0,0 @@ -#include "app-template.h" - -extern "C" { -#include -#include -#include -#include -#include -#include -} - -#include "fatfs/ff.h" -#include "stm32_adafruit_sd.h" - -// event enumeration type -typedef uint8_t event_t; - -// app state class -class AppSdNFCState { -public: - // state data - const char* name; - - // state initializer - AppSdNFCState() { - name = "sd nfc test"; - } -}; - -// app events class -class AppSdNFCEvent { -public: - // events enum - static const event_t EventTypeTick = 0; - static const event_t EventTypeKey = 1; - - // payload - union { - InputEvent input; - } value; - - // event type - event_t type; -}; - -// our app derived from base AppTemplate class -// with template variables -class AppSdNFC : public AppTemplate { -public: - GpioPin* red_led_record; - GpioPin* green_led_record; - - void run(); - void render(Canvas* canvas); - void set_error(const char* text); - void set_text(const char* text); - void light_red(); - void light_green(); - void blink_red(); - void blink_green(); -}; - -FATFS sd_fat_fs; -char sd_path[6] = ""; - -// start app -void AppSdNFC::run() { - // create pin - GpioPin red_led = led_gpio[0]; - GpioPin green_led = led_gpio[1]; - - // TODO open record - red_led_record = &red_led; - green_led_record = &green_led; - - // configure pin - gpio_init(red_led_record, GpioModeOutputOpenDrain); - gpio_init(green_led_record, GpioModeOutputOpenDrain); - - app_ready(); - - uint8_t rfal_result = rfalNfcInitialize(); - if(rfal_result) { - set_text("rfal init fail"); - blink_red(); - } - - uint8_t bsp_result = BSP_SD_Init(); - if(bsp_result) { - set_error("sd init fail"); - } - - FRESULT result; - - result = f_mount(&sd_fat_fs, sd_path, 1); - if(result) { - set_error("sd mount fail"); - } - - light_green(); - set_text("all good"); - - AppSdNFCEvent event; - while(1) { - if(get_event(&event, 1000)) { - if(event.type == AppSdNFCEvent::EventTypeKey) { - // press events - if(event.value.input.type == InputTypeShort && - event.value.input.key == InputKeyBack) { - exit(); - } - } - } - - // signal to force gui update - update_gui(); - }; -} - -// render app -void AppSdNFC::render(Canvas* canvas) { - canvas_set_color(canvas, ColorBlack); - canvas_set_font(canvas, FontPrimary); - canvas_draw_str(canvas, 2, 12, state.name); -} - -void AppSdNFC::set_error(const char* text) { - light_red(); - set_text(text); - update_gui(); - while(1) - ; -} - -void AppSdNFC::set_text(const char* text) { - acquire_state(); - state.name = text; - release_state(); -} - -void AppSdNFC::light_red() { - gpio_write(red_led_record, false); -} - -void AppSdNFC::light_green() { - gpio_write(green_led_record, false); -} - -void AppSdNFC::blink_red() { - gpio_write(red_led_record, false); - delay(500); - gpio_write(red_led_record, true); - delay(500); -} - -void AppSdNFC::blink_green() { - gpio_write(green_led_record, false); - delay(500); - gpio_write(green_led_record, true); - delay(500); -} - -// app enter function -extern "C" int32_t sdnfc(void* p) { - AppSdNFC* app = new AppSdNFC(); - app->run(); - return 0; -} \ No newline at end of file diff --git a/applications/tests/test_index.c b/applications/tests/test_index.c index 2752ccb5..5dd0c758 100644 --- a/applications/tests/test_index.c +++ b/applications/tests/test_index.c @@ -1,41 +1,26 @@ #include #include - -// #include "flipper-core.h" TODO: Rust build disabled +#include int run_minunit(); int32_t flipper_test_app(void* p) { - // create pins - GpioPin red = {.pin = LED_RED_Pin, .port = LED_RED_GPIO_Port}; - GpioPin green = {.pin = LED_GREEN_Pin, .port = LED_GREEN_GPIO_Port}; - GpioPin blue = {.pin = LED_BLUE_Pin, .port = LED_BLUE_GPIO_Port}; - - GpioPin* red_record = &red; - GpioPin* green_record = &green; - GpioPin* blue_record = &blue; - - // configure pins - gpio_init(red_record, GpioModeOutputOpenDrain); - gpio_init(green_record, GpioModeOutputOpenDrain); - gpio_init(blue_record, GpioModeOutputOpenDrain); - - gpio_write(red_record, true); - gpio_write(green_record, true); - gpio_write(blue_record, false); + api_hal_light_set(LightRed, 0x00); + api_hal_light_set(LightGreen, 0x00); + api_hal_light_set(LightBlue, 0xFF); uint32_t exitcode = run_minunit(); if(exitcode == 0) { // test passed - gpio_write(red_record, true); - gpio_write(green_record, false); - gpio_write(blue_record, true); + api_hal_light_set(LightRed, 0x00); + api_hal_light_set(LightGreen, 0xFF); + api_hal_light_set(LightBlue, 0x00); } else { // test failed - gpio_write(red_record, false); - gpio_write(green_record, true); - gpio_write(blue_record, true); + api_hal_light_set(LightRed, 0xFF); + api_hal_light_set(LightGreen, 0x00); + api_hal_light_set(LightBlue, 0x00); } return 0;