diff --git a/applications/system/kiisu_light/application.fam b/applications/system/kiisu_light/application.fam new file mode 100644 index 000000000..669fa4c21 --- /dev/null +++ b/applications/system/kiisu_light/application.fam @@ -0,0 +1,9 @@ +App( + appid="kiisu_light", + name="Kiisu ligh sensor ADC", + apptype=FlipperAppType.EXTERNAL, + entry_point="kiisu_light_adc_main", + requires=["gui"], + stack_size=1 * 1024, + fap_category="System", +) diff --git a/applications/system/kiisu_light/kiisu_light_adc.c b/applications/system/kiisu_light/kiisu_light_adc.c new file mode 100644 index 000000000..fb37f39c6 --- /dev/null +++ b/applications/system/kiisu_light/kiisu_light_adc.c @@ -0,0 +1,145 @@ +/** + * @file kiisu_light_ads.c + * @brief Light level ADC. + Based on ADC example. + */ +#include +#include + +#include +#include +#include + +#include +#include + +#define FONT_HEIGHT (8u) + +typedef float (*ValueConverter)(FuriHalAdcHandle* handle, uint16_t value); + +typedef struct { + const GpioPinRecord* pin; + float value; + ValueConverter converter; + const char* suffix; +} DataItem; + +typedef struct { + size_t count; + DataItem* items; +} Data; + +const GpioPinRecord item_light = {.name = "LGHT", .channel = FuriHalAdcChannel4}; +const GpioPinRecord item_vref = {.name = "VREF", .channel = FuriHalAdcChannelVREFINT}; +const GpioPinRecord item_temp = {.name = "TEMP", .channel = FuriHalAdcChannelTEMPSENSOR}; +const GpioPinRecord item_vbat = {.name = "VBAT", .channel = FuriHalAdcChannelVBAT}; + +static void app_draw_callback(Canvas* canvas, void* ctx) { + furi_assert(ctx); + Data* data = ctx; + + canvas_set_custom_u8g2_font(canvas, u8g_font_5x8); // lib/u8g2/u8g2_fonts.c + + char buffer[64]; + int32_t x = 0, y = FONT_HEIGHT; + for(size_t i = 0; i < data->count; i++) { + if(i == canvas_height(canvas) / FONT_HEIGHT) { + x = 64; + y = FONT_HEIGHT; + } + + snprintf( + buffer, + sizeof(buffer), + "%4s: %4.0f%s\n", + data->items[i].pin->name, + (double)data->items[i].value, + data->items[i].suffix); + canvas_draw_str(canvas, x, y, buffer); + y += FONT_HEIGHT; + + if(i == 0) { //Light level + char line[32]; + snprintf(line, sizeof(line), "%4.0f%%", 100 - ((double)data->items[i].value / 1187 * 100)); + canvas_draw_str(canvas, x, y, line); + y += FONT_HEIGHT; + } + } +} + +static void app_input_callback(InputEvent* input_event, void* ctx) { + furi_assert(ctx); + FuriMessageQueue* event_queue = ctx; + furi_message_queue_put(event_queue, input_event, FuriWaitForever); +} + +int32_t kiisu_light_adc_main(void* p) { + UNUSED(p); + + // Data + Data data = {}; + data.count += 4; // Special channels + data.items = malloc(data.count * sizeof(DataItem)); + size_t item_pos = 0; + furi_hal_gpio_init(&gpio_ext_pc3, GpioModeAnalog, GpioPullDown, GpioSpeedHigh); + data.items[item_pos].pin = &item_light; + data.items[item_pos].converter = furi_hal_adc_convert_to_voltage; + data.items[item_pos].suffix = "mV / 1187mV"; + item_pos++; + data.items[item_pos].pin = &item_temp; + data.items[item_pos].converter = furi_hal_adc_convert_temp; + data.items[item_pos].suffix = "C"; + item_pos++; + data.items[item_pos].pin = &item_vref; + data.items[item_pos].converter = furi_hal_adc_convert_vref; + data.items[item_pos].suffix = "mV"; + item_pos++; + data.items[item_pos].pin = &item_vbat; + data.items[item_pos].converter = furi_hal_adc_convert_vbat; + data.items[item_pos].suffix = "mV"; + item_pos++; + furi_assert(item_pos == data.count); + + // Alloc message queue + FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(InputEvent)); + + // Configure view port + ViewPort* view_port = view_port_alloc(); + view_port_draw_callback_set(view_port, app_draw_callback, &data); + view_port_input_callback_set(view_port, app_input_callback, event_queue); + + // Register view port in GUI + Gui* gui = furi_record_open(RECORD_GUI); + gui_add_view_port(gui, view_port, GuiLayerFullscreen); + + // Initialize ADC + FuriHalAdcHandle* adc_handle = furi_hal_adc_acquire(); + furi_hal_adc_configure(adc_handle); + + // Process events + InputEvent event; + bool running = true; + while(running) { + if(furi_message_queue_get(event_queue, &event, 100) == FuriStatusOk) { + if(event.type == InputTypePress && event.key == InputKeyBack) { + running = false; + } + } else { + for(size_t i = 0; i < data.count; i++) { + data.items[i].value = data.items[i].converter( + adc_handle, furi_hal_adc_read(adc_handle, data.items[i].pin->channel)); + } + view_port_update(view_port); + } + } + + furi_hal_adc_release(adc_handle); + view_port_enabled_set(view_port, false); + gui_remove_view_port(gui, view_port); + view_port_free(view_port); + furi_message_queue_free(event_queue); + furi_record_close(RECORD_GUI); + free(data.items); + + return 0; +} diff --git a/assets/dolphin/external/L1_Tv_128x47/frame_0.png b/assets/dolphin/external/L1_Tv_128x47/frame_0.png new file mode 100644 index 000000000..f413b134b Binary files /dev/null and b/assets/dolphin/external/L1_Tv_128x47/frame_0.png differ diff --git a/assets/dolphin/external/L1_Tv_128x47/meta.txt b/assets/dolphin/external/L1_Tv_128x47/meta.txt new file mode 100644 index 000000000..6679385b8 --- /dev/null +++ b/assets/dolphin/external/L1_Tv_128x47/meta.txt @@ -0,0 +1,32 @@ +Filetype: Flipper Animation +Version: 1 + +Width: 128 +Height: 47 +Passive frames: 1 +Active frames: 0 +Frames order: 0 +Active cycles: 0 +Frame rate: 2 +Duration: 3600 +Active cooldown: 0 + +Bubble slots: 2 + +Slot: 0 +X: 1 +Y: 23 +Text: Take the red pill +AlignH: Right +AlignV: Bottom +StartFrame: 0 +EndFrame: 0 + +Slot: 1 +X: 1 +Y: 23 +Text: I can joke better +AlignH: Right +AlignV: Bottom +StartFrame: 0 +EndFrame: 0 diff --git a/assets/dolphin/external/LA_KiisuHappy_128x64/frame_0.png b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_0.png new file mode 100644 index 000000000..36056e763 Binary files /dev/null and b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_0.png differ diff --git a/assets/dolphin/external/LA_KiisuHappy_128x64/frame_1.png b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_1.png new file mode 100644 index 000000000..d5297d6a5 Binary files /dev/null and b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_1.png differ diff --git a/assets/dolphin/external/LA_KiisuHappy_128x64/frame_2.png b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_2.png new file mode 100644 index 000000000..13e171f48 Binary files /dev/null and b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_2.png differ diff --git a/assets/dolphin/external/LA_KiisuHappy_128x64/frame_3.png b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_3.png new file mode 100644 index 000000000..3ed6cd7df Binary files /dev/null and b/assets/dolphin/external/LA_KiisuHappy_128x64/frame_3.png differ diff --git a/assets/dolphin/external/LA_KiisuHappy_128x64/meta.txt b/assets/dolphin/external/LA_KiisuHappy_128x64/meta.txt new file mode 100755 index 000000000..83eb36402 --- /dev/null +++ b/assets/dolphin/external/LA_KiisuHappy_128x64/meta.txt @@ -0,0 +1,14 @@ +Filetype: Flipper Animation +Version: 1 + +Width: 128 +Height: 64 +Passive frames: 4 +Active frames: 0 +Frames order: 0 1 2 3 +Active cycles: 0 +Frame rate: 1 +Duration: 10 +Active cooldown: 0 + +Bubble slots: 0 diff --git a/assets/dolphin/external/LA_KiisuSad_128x64/frame_0.png b/assets/dolphin/external/LA_KiisuSad_128x64/frame_0.png new file mode 100644 index 000000000..111fce5d3 Binary files /dev/null and b/assets/dolphin/external/LA_KiisuSad_128x64/frame_0.png differ diff --git a/assets/dolphin/external/LA_KiisuSad_128x64/meta.txt b/assets/dolphin/external/LA_KiisuSad_128x64/meta.txt new file mode 100755 index 000000000..29f8d4923 --- /dev/null +++ b/assets/dolphin/external/LA_KiisuSad_128x64/meta.txt @@ -0,0 +1,14 @@ +Filetype: Flipper Animation +Version: 1 + +Width: 128 +Height: 64 +Passive frames: 1 +Active frames: 0 +Frames order: 0 +Active cycles: 0 +Frame rate: 1 +Duration: 10 +Active cooldown: 0 + +Bubble slots: 0 diff --git a/assets/dolphin/external/LA_Kiisu_128x64/frame_0.png b/assets/dolphin/external/LA_Kiisu_128x64/frame_0.png index 35ba3eef3..4362923b3 100644 Binary files a/assets/dolphin/external/LA_Kiisu_128x64/frame_0.png and b/assets/dolphin/external/LA_Kiisu_128x64/frame_0.png differ diff --git a/assets/dolphin/external/LA_Kiisu_128x64/frame_1.png b/assets/dolphin/external/LA_Kiisu_128x64/frame_1.png new file mode 100644 index 000000000..60385a144 Binary files /dev/null and b/assets/dolphin/external/LA_Kiisu_128x64/frame_1.png differ diff --git a/assets/dolphin/external/LA_Kiisu_128x64/frame_2.png b/assets/dolphin/external/LA_Kiisu_128x64/frame_2.png new file mode 100644 index 000000000..72d376b10 Binary files /dev/null and b/assets/dolphin/external/LA_Kiisu_128x64/frame_2.png differ diff --git a/assets/dolphin/external/LA_Kiisu_128x64/meta.txt b/assets/dolphin/external/LA_Kiisu_128x64/meta.txt index 85c55cd19..9c9143212 100755 --- a/assets/dolphin/external/LA_Kiisu_128x64/meta.txt +++ b/assets/dolphin/external/LA_Kiisu_128x64/meta.txt @@ -3,12 +3,12 @@ Version: 1 Width: 128 Height: 64 -Passive frames: 1 +Passive frames: 3 Active frames: 0 -Frames order: 0 +Frames order: 0 1 2 Active cycles: 0 Frame rate: 1 -Duration: 3600 +Duration: 10 Active cooldown: 0 Bubble slots: 0 diff --git a/assets/dolphin/external/manifest.txt b/assets/dolphin/external/manifest.txt index a752f19d0..7b89e713d 100644 --- a/assets/dolphin/external/manifest.txt +++ b/assets/dolphin/external/manifest.txt @@ -6,4 +6,25 @@ Min butthurt: 0 Max butthurt: 14 Min level: 1 Max level: 30 +Weight: 4 + +Name: LA_KiisuHappy_128x64 +Min butthurt: 0 +Max butthurt: 5 +Min level: 1 +Max level: 30 Weight: 5 + +Name: LA_KiisuSad_128x64 +Min butthurt: 5 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 5 + +Name: L1_Tv_128x47 +Min butthurt: 0 +Max butthurt: 14 +Min level: 1 +Max level: 30 +Weight: 4 diff --git a/assets/icons/About/Certification1_103x56.png b/assets/icons/About/Certification1_103x56.png index ae6b4abe0..aea14bcd7 100644 Binary files a/assets/icons/About/Certification1_103x56.png and b/assets/icons/About/Certification1_103x56.png differ diff --git a/assets/icons/About/Certification2_46x33.png b/assets/icons/About/Certification2_46x33.png index 32c98de58..d33d201bb 100644 Binary files a/assets/icons/About/Certification2_46x33.png and b/assets/icons/About/Certification2_46x33.png differ diff --git a/assets/icons/About/CertificationChina0_121x41.png b/assets/icons/About/CertificationChina0_121x41.png index 4202615f8..4fc7cad36 100644 Binary files a/assets/icons/About/CertificationChina0_121x41.png and b/assets/icons/About/CertificationChina0_121x41.png differ diff --git a/assets/icons/About/CertificationChina1_124x47.png b/assets/icons/About/CertificationChina1_124x47.png index a02e27c6c..6de6ecb9a 100644 Binary files a/assets/icons/About/CertificationChina1_124x47.png and b/assets/icons/About/CertificationChina1_124x47.png differ diff --git a/assets/icons/About/CertificationMexico_98x41.png b/assets/icons/About/CertificationMexico_98x41.png index a49433d7b..f22e24c57 100644 Binary files a/assets/icons/About/CertificationMexico_98x41.png and b/assets/icons/About/CertificationMexico_98x41.png differ diff --git a/assets/icons/About/CertificationTaiwan_33x32.png b/assets/icons/About/CertificationTaiwan_33x32.png index 393db57c8..519cde5c2 100644 Binary files a/assets/icons/About/CertificationTaiwan_33x32.png and b/assets/icons/About/CertificationTaiwan_33x32.png differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_00.png b/assets/icons/Animations/Levelup_128x64/frame_00.png index 0bf23b5c5..d10b870a5 100644 Binary files a/assets/icons/Animations/Levelup_128x64/frame_00.png and b/assets/icons/Animations/Levelup_128x64/frame_00.png differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_01.png b/assets/icons/Animations/Levelup_128x64/frame_01.png index b9990b406..3777c78e7 100644 Binary files a/assets/icons/Animations/Levelup_128x64/frame_01.png and b/assets/icons/Animations/Levelup_128x64/frame_01.png differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_02.png b/assets/icons/Animations/Levelup_128x64/frame_02.png index a57641e44..880d01443 100644 Binary files a/assets/icons/Animations/Levelup_128x64/frame_02.png and b/assets/icons/Animations/Levelup_128x64/frame_02.png differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_03.png b/assets/icons/Animations/Levelup_128x64/frame_03.png index deeff97c5..de7d2e44e 100644 Binary files a/assets/icons/Animations/Levelup_128x64/frame_03.png and b/assets/icons/Animations/Levelup_128x64/frame_03.png differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_04.png b/assets/icons/Animations/Levelup_128x64/frame_04.png deleted file mode 100644 index 4b7367a37..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_04.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_05.png b/assets/icons/Animations/Levelup_128x64/frame_05.png deleted file mode 100644 index a033448f7..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_05.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_06.png b/assets/icons/Animations/Levelup_128x64/frame_06.png deleted file mode 100644 index 5389124dc..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_06.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_07.png b/assets/icons/Animations/Levelup_128x64/frame_07.png deleted file mode 100644 index cd4324f0d..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_07.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_08.png b/assets/icons/Animations/Levelup_128x64/frame_08.png deleted file mode 100644 index fea362808..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_08.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_09.png b/assets/icons/Animations/Levelup_128x64/frame_09.png deleted file mode 100644 index fd4a3de1d..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_09.png and /dev/null differ diff --git a/assets/icons/Animations/Levelup_128x64/frame_10.png b/assets/icons/Animations/Levelup_128x64/frame_10.png deleted file mode 100644 index fae535997..000000000 Binary files a/assets/icons/Animations/Levelup_128x64/frame_10.png and /dev/null differ diff --git a/assets/icons/BLE/BLE_Pairing_128x64.png b/assets/icons/BLE/BLE_Pairing_128x64.png index 97800403f..6640e4501 100644 Binary files a/assets/icons/BLE/BLE_Pairing_128x64.png and b/assets/icons/BLE/BLE_Pairing_128x64.png differ diff --git a/assets/icons/Common/ActiveConnection_50x64.png b/assets/icons/Common/ActiveConnection_50x64.png index c5ebb8352..5c85e4e0b 100644 Binary files a/assets/icons/Common/ActiveConnection_50x64.png and b/assets/icons/Common/ActiveConnection_50x64.png differ diff --git a/assets/icons/Dolphin/DolphinDone_80x58.png b/assets/icons/Dolphin/DolphinDone_80x58.png index 881aaa8d2..aafba3203 100644 Binary files a/assets/icons/Dolphin/DolphinDone_80x58.png and b/assets/icons/Dolphin/DolphinDone_80x58.png differ diff --git a/assets/icons/Dolphin/DolphinReadingSuccess_59x63.png b/assets/icons/Dolphin/DolphinReadingSuccess_59x63.png index 1380d2dd7..43d672826 100644 Binary files a/assets/icons/Dolphin/DolphinReadingSuccess_59x63.png and b/assets/icons/Dolphin/DolphinReadingSuccess_59x63.png differ diff --git a/assets/icons/Dolphin/DolphinSaved_92x58.png b/assets/icons/Dolphin/DolphinSaved_92x58.png index 4d8195b80..a2d6179a0 100644 Binary files a/assets/icons/Dolphin/DolphinSaved_92x58.png and b/assets/icons/Dolphin/DolphinSaved_92x58.png differ diff --git a/assets/icons/Dolphin/DolphinSuccess_91x55.png b/assets/icons/Dolphin/DolphinSuccess_91x55.png index 1dc514db6..aea8880c7 100644 Binary files a/assets/icons/Dolphin/DolphinSuccess_91x55.png and b/assets/icons/Dolphin/DolphinSuccess_91x55.png differ diff --git a/assets/icons/Dolphin/DolphinWait_59x54.png b/assets/icons/Dolphin/DolphinWait_59x54.png index b906916d2..0e83d3e47 100644 Binary files a/assets/icons/Dolphin/DolphinWait_59x54.png and b/assets/icons/Dolphin/DolphinWait_59x54.png differ diff --git a/assets/icons/Dolphin/WarningDolphinFlip_45x42.png b/assets/icons/Dolphin/WarningDolphinFlip_45x42.png index a2554eaa6..c5f8b017a 100644 Binary files a/assets/icons/Dolphin/WarningDolphinFlip_45x42.png and b/assets/icons/Dolphin/WarningDolphinFlip_45x42.png differ diff --git a/assets/icons/Dolphin/WarningDolphin_45x42.png b/assets/icons/Dolphin/WarningDolphin_45x42.png index 310be0f70..e06c69044 100644 Binary files a/assets/icons/Dolphin/WarningDolphin_45x42.png and b/assets/icons/Dolphin/WarningDolphin_45x42.png differ diff --git a/assets/icons/Infrared/InfraredLearnShort_128x31.png b/assets/icons/Infrared/InfraredLearnShort_128x31.png index cd71a69db..9ef7f867d 100644 Binary files a/assets/icons/Infrared/InfraredLearnShort_128x31.png and b/assets/icons/Infrared/InfraredLearnShort_128x31.png differ diff --git a/assets/icons/NFC/Move_flipper_26x39.png b/assets/icons/NFC/Move_flipper_26x39.png index 981c17236..71baac1e6 100644 Binary files a/assets/icons/NFC/Move_flipper_26x39.png and b/assets/icons/NFC/Move_flipper_26x39.png differ diff --git a/assets/icons/NFC/NFC_dolphin_emulation_51x64.png b/assets/icons/NFC/NFC_dolphin_emulation_51x64.png index ef57f73c4..cbdd696c3 100644 Binary files a/assets/icons/NFC/NFC_dolphin_emulation_51x64.png and b/assets/icons/NFC/NFC_dolphin_emulation_51x64.png differ diff --git a/assets/icons/NFC/NFC_manual_60x50.png b/assets/icons/NFC/NFC_manual_60x50.png index 6a7f75499..bf4d51896 100644 Binary files a/assets/icons/NFC/NFC_manual_60x50.png and b/assets/icons/NFC/NFC_manual_60x50.png differ diff --git a/assets/icons/Passport/passport_bad_46x49.png b/assets/icons/Passport/passport_bad_46x49.png index 890941257..218259bfd 100644 Binary files a/assets/icons/Passport/passport_bad_46x49.png and b/assets/icons/Passport/passport_bad_46x49.png differ diff --git a/assets/icons/Passport/passport_happy_46x49.png b/assets/icons/Passport/passport_happy_46x49.png index ba66d94fc..7c6d912f2 100644 Binary files a/assets/icons/Passport/passport_happy_46x49.png and b/assets/icons/Passport/passport_happy_46x49.png differ diff --git a/assets/icons/Passport/passport_okay_46x49.png b/assets/icons/Passport/passport_okay_46x49.png index 62f39ba21..a27c25c47 100644 Binary files a/assets/icons/Passport/passport_okay_46x49.png and b/assets/icons/Passport/passport_okay_46x49.png differ diff --git a/assets/icons/Power/BatteryBody_52x28.png b/assets/icons/Power/BatteryBody_52x28.png index 7f32403da..c1f6fab9b 100644 Binary files a/assets/icons/Power/BatteryBody_52x28.png and b/assets/icons/Power/BatteryBody_52x28.png differ diff --git a/assets/icons/Power/FaceCharging_29x14.png b/assets/icons/Power/FaceCharging_29x14.png index 7ee7f7414..da7ca0951 100644 Binary files a/assets/icons/Power/FaceCharging_29x14.png and b/assets/icons/Power/FaceCharging_29x14.png differ diff --git a/assets/icons/Power/FaceConfused_29x14.png b/assets/icons/Power/FaceConfused_29x14.png index 0f07c8725..ccdacab64 100644 Binary files a/assets/icons/Power/FaceConfused_29x14.png and b/assets/icons/Power/FaceConfused_29x14.png differ diff --git a/assets/icons/Power/FaceNopower_29x14.png b/assets/icons/Power/FaceNopower_29x14.png index df9028d44..656982acc 100644 Binary files a/assets/icons/Power/FaceNopower_29x14.png and b/assets/icons/Power/FaceNopower_29x14.png differ diff --git a/assets/icons/Power/FaceNormal_29x14.png b/assets/icons/Power/FaceNormal_29x14.png index 84e5d031f..83a9c20e2 100644 Binary files a/assets/icons/Power/FaceNormal_29x14.png and b/assets/icons/Power/FaceNormal_29x14.png differ diff --git a/assets/icons/RFID/RFIDDolphinReceive_97x61.png b/assets/icons/RFID/RFIDDolphinReceive_97x61.png index 06deb0a27..69c557694 100644 Binary files a/assets/icons/RFID/RFIDDolphinReceive_97x61.png and b/assets/icons/RFID/RFIDDolphinReceive_97x61.png differ diff --git a/assets/icons/RFID/RFIDDolphinSend_97x61.png b/assets/icons/RFID/RFIDDolphinSend_97x61.png index 65dff8241..531a7431b 100644 Binary files a/assets/icons/RFID/RFIDDolphinSend_97x61.png and b/assets/icons/RFID/RFIDDolphinSend_97x61.png differ diff --git a/assets/icons/Settings/dolph_cry_49x54.png b/assets/icons/Settings/dolph_cry_49x54.png index 1ebb69e3e..93069ebe8 100644 Binary files a/assets/icons/Settings/dolph_cry_49x54.png and b/assets/icons/Settings/dolph_cry_49x54.png differ diff --git a/assets/icons/SubGhz/Fishing_123x52.png b/assets/icons/SubGhz/Fishing_123x52.png index 6b3f39310..6179b4deb 100644 Binary files a/assets/icons/SubGhz/Fishing_123x52.png and b/assets/icons/SubGhz/Fishing_123x52.png differ diff --git a/assets/icons/SubGhz/Scanning_123x52.png b/assets/icons/SubGhz/Scanning_123x52.png index 16c177527..6179b4deb 100644 Binary files a/assets/icons/SubGhz/Scanning_123x52.png and b/assets/icons/SubGhz/Scanning_123x52.png differ diff --git a/assets/icons/U2F/Auth_62x31.png b/assets/icons/U2F/Auth_62x31.png index 0c22865b2..f0cdc9925 100644 Binary files a/assets/icons/U2F/Auth_62x31.png and b/assets/icons/U2F/Auth_62x31.png differ diff --git a/assets/icons/U2F/Connect_me_62x31.png b/assets/icons/U2F/Connect_me_62x31.png index d7def86b0..a3020bf8a 100644 Binary files a/assets/icons/U2F/Connect_me_62x31.png and b/assets/icons/U2F/Connect_me_62x31.png differ diff --git a/assets/icons/U2F/Connected_62x31.png b/assets/icons/U2F/Connected_62x31.png index ee415989d..87f9c237d 100644 Binary files a/assets/icons/U2F/Connected_62x31.png and b/assets/icons/U2F/Connected_62x31.png differ diff --git a/assets/icons/U2F/Error_62x31.png b/assets/icons/U2F/Error_62x31.png index c8b3b7a30..f03523a87 100644 Binary files a/assets/icons/U2F/Error_62x31.png and b/assets/icons/U2F/Error_62x31.png differ diff --git a/assets/icons/iButton/iButtonDolphinVerySuccess_92x55.png b/assets/icons/iButton/iButtonDolphinVerySuccess_92x55.png index 0d8263c5e..8ea5575e2 100644 Binary files a/assets/icons/iButton/iButtonDolphinVerySuccess_92x55.png and b/assets/icons/iButton/iButtonDolphinVerySuccess_92x55.png differ diff --git a/targets/f7/furi_hal/furi_hal_i2c_config.c b/targets/f7/furi_hal/furi_hal_i2c_config.c index b10c53d32..0491048aa 100644 --- a/targets/f7/furi_hal/furi_hal_i2c_config.c +++ b/targets/f7/furi_hal/furi_hal_i2c_config.c @@ -130,9 +130,9 @@ void furi_hal_i2c_bus_handle_external_event( FuriHalI2cBusHandleEvent event) { if(event == FuriHalI2cBusHandleEventActivate) { furi_hal_gpio_init_ex( - &gpio_ext_pc0, GpioModeAltFunctionOpenDrain, GpioPullNo, GpioSpeedLow, GpioAltFn4I2C3); + &gpio_ext_pc0, GpioModeAltFunctionOpenDrain, GpioPullUp, GpioSpeedLow, GpioAltFn4I2C3); furi_hal_gpio_init_ex( - &gpio_ext_pc1, GpioModeAltFunctionOpenDrain, GpioPullNo, GpioSpeedLow, GpioAltFn4I2C3); + &gpio_ext_pc1, GpioModeAltFunctionOpenDrain, GpioPullUp, GpioSpeedLow, GpioAltFn4I2C3); LL_I2C_InitTypeDef I2C_InitStruct; I2C_InitStruct.PeripheralMode = LL_I2C_MODE_I2C; diff --git a/targets/f7/furi_hal/furi_hal_power.c b/targets/f7/furi_hal/furi_hal_power.c index 1fbad0c86..52df1516f 100644 --- a/targets/f7/furi_hal/furi_hal_power.c +++ b/targets/f7/furi_hal/furi_hal_power.c @@ -71,7 +71,7 @@ void furi_hal_power_init(void) { furi_hal_i2c_acquire(&furi_hal_i2c_handle_power); // Find and init gauge - size_t retry = 0; + size_t retry = 2; while(retry > 0) { furi_hal_power.gauge_ok = bq27220_init(&furi_hal_i2c_handle_power, furi_hal_power_gauge_data_memory); @@ -85,7 +85,7 @@ void furi_hal_power_init(void) { retry--; } // Find and init charger - retry = 0; + retry = 2; while(retry > 0) { furi_hal_power.charger_ok = bq25896_init(&furi_hal_i2c_handle_power); if(furi_hal_power.charger_ok) { diff --git a/targets/f7/furi_hal/furi_hal_version_device.c b/targets/f7/furi_hal/furi_hal_version_device.c index 2c0ad02f2..ff5a9a515 100644 --- a/targets/f7/furi_hal/furi_hal_version_device.c +++ b/targets/f7/furi_hal/furi_hal_version_device.c @@ -5,11 +5,11 @@ bool furi_hal_version_do_i_belong_here(void) { } const char* furi_hal_version_get_model_name(void) { - return "Kiisu 4a"; + return "Kiisu 4"; } const char* furi_hal_version_get_model_code(void) { - return "K4.A"; + return "K4.AB"; } const char* furi_hal_version_get_fcc_id(void) {