mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-09-20 06:31:55 +00:00
lets try patch
This commit is contained in:
parent
0f8ca0a563
commit
2e47c5a2ac
2 changed files with 648 additions and 4 deletions
556
.ci_files/rgb.patch
Normal file
556
.ci_files/rgb.patch
Normal file
|
@ -0,0 +1,556 @@
|
||||||
|
diff --git a/applications/services/notification/notification_app.c b/applications/services/notification/notification_app.c
|
||||||
|
index f91a73f32..b559a79ad 100644
|
||||||
|
--- a/applications/services/notification/notification_app.c
|
||||||
|
+++ b/applications/services/notification/notification_app.c
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
#include "notification.h"
|
||||||
|
#include "notification_messages.h"
|
||||||
|
#include "notification_app.h"
|
||||||
|
+#include "applications/settings/notification_settings/rgb_backlight.h"
|
||||||
|
|
||||||
|
#define TAG "NotificationSrv"
|
||||||
|
|
||||||
|
@@ -564,6 +565,7 @@ int32_t notification_srv(void* p) {
|
||||||
|
break;
|
||||||
|
case SaveSettingsMessage:
|
||||||
|
notification_save_settings(app);
|
||||||
|
+ rgb_backlight_save_settings();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/applications/settings/notification_settings/notification_settings_app.c b/applications/settings/notification_settings/notification_settings_app.c
|
||||||
|
index f5d7a82ca..930c0bd1f 100644
|
||||||
|
--- a/applications/settings/notification_settings/notification_settings_app.c
|
||||||
|
+++ b/applications/settings/notification_settings/notification_settings_app.c
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
#include <gui/modules/variable_item_list.h>
|
||||||
|
#include <gui/view_dispatcher.h>
|
||||||
|
#include <lib/toolbox/value_index.h>
|
||||||
|
+#include <applications/settings/notification_settings/rgb_backlight.h>
|
||||||
|
|
||||||
|
#define MAX_NOTIFICATION_SETTINGS 4
|
||||||
|
|
||||||
|
@@ -73,7 +74,6 @@ const bool vibro_value[VIBRO_COUNT] = {false, true};
|
||||||
|
static void backlight_changed(VariableItem* item) {
|
||||||
|
NotificationAppSettings* app = variable_item_get_context(item);
|
||||||
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
|
-
|
||||||
|
variable_item_set_current_value_text(item, backlight_text[index]);
|
||||||
|
app->notification->settings.display_brightness = backlight_value[index];
|
||||||
|
notification_message(app->notification, &sequence_display_backlight_on);
|
||||||
|
@@ -125,6 +125,14 @@ static void vibro_changed(VariableItem* item) {
|
||||||
|
notification_message(app->notification, &sequence_single_vibro);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void color_changed(VariableItem* item) {
|
||||||
|
+ NotificationAppSettings* app = variable_item_get_context(item);
|
||||||
|
+ uint8_t index = variable_item_get_current_value_index(item);
|
||||||
|
+ rgb_backlight_set_color(index);
|
||||||
|
+ variable_item_set_current_value_text(item, rgb_backlight_get_color_text(index));
|
||||||
|
+ notification_message(app->notification, &sequence_display_backlight_on);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static uint32_t notification_app_settings_exit(void* context) {
|
||||||
|
UNUSED(context);
|
||||||
|
return VIEW_NONE;
|
||||||
|
@@ -143,7 +151,13 @@ static NotificationAppSettings* alloc_settings() {
|
||||||
|
uint8_t value_index;
|
||||||
|
|
||||||
|
item = variable_item_list_add(
|
||||||
|
- app->variable_item_list, "LCD Backlight", BACKLIGHT_COUNT, backlight_changed, app);
|
||||||
|
+ app->variable_item_list, "LCD Color", rgb_backlight_get_color_count(), color_changed, app);
|
||||||
|
+ value_index = rgb_backlight_get_settings()->display_color_index;
|
||||||
|
+ variable_item_set_current_value_index(item, value_index);
|
||||||
|
+ variable_item_set_current_value_text(item, rgb_backlight_get_color_text(value_index));
|
||||||
|
+
|
||||||
|
+ item = variable_item_list_add(
|
||||||
|
+ app->variable_item_list, "LCD Brightness", BACKLIGHT_COUNT, backlight_changed, app);
|
||||||
|
value_index = value_index_float(
|
||||||
|
app->notification->settings.display_brightness, backlight_value, BACKLIGHT_COUNT);
|
||||||
|
variable_item_set_current_value_index(item, value_index);
|
||||||
|
@@ -215,6 +229,7 @@ int32_t notification_settings_app(void* p) {
|
||||||
|
NotificationAppSettings* app = alloc_settings();
|
||||||
|
view_dispatcher_run(app->view_dispatcher);
|
||||||
|
notification_message_save_settings(app->notification);
|
||||||
|
+
|
||||||
|
free_settings(app);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
diff --git a/applications/settings/notification_settings/rgb_backlight.c b/applications/settings/notification_settings/rgb_backlight.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..269b544ae
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/applications/settings/notification_settings/rgb_backlight.c
|
||||||
|
@@ -0,0 +1,171 @@
|
||||||
|
+/*
|
||||||
|
+ RGB backlight FlipperZero driver
|
||||||
|
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
|
||||||
|
+
|
||||||
|
+ This program is free software: you can redistribute it and/or modify
|
||||||
|
+ it under the terms of the GNU General Public License as published by
|
||||||
|
+ the Free Software Foundation, either version 3 of the License, or
|
||||||
|
+ (at your option) any later version.
|
||||||
|
+
|
||||||
|
+ This program is distributed in the hope that it will be useful,
|
||||||
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+ You should have received a copy of the GNU General Public License
|
||||||
|
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#include "rgb_backlight.h"
|
||||||
|
+#include <furi_hal.h>
|
||||||
|
+#include <storage/storage.h>
|
||||||
|
+
|
||||||
|
+#define RGB_BACKLIGHT_SETTINGS_VERSION 5
|
||||||
|
+#define RGB_BACKLIGHT_SETTINGS_FILE_NAME ".rgb_backlight.settings"
|
||||||
|
+#define RGB_BACKLIGHT_SETTINGS_PATH EXT_PATH(RGB_BACKLIGHT_SETTINGS_FILE_NAME)
|
||||||
|
+
|
||||||
|
+#define COLOR_COUNT (sizeof(colors) / sizeof(RGBBacklightColor))
|
||||||
|
+
|
||||||
|
+#define TAG "RGB Backlight"
|
||||||
|
+
|
||||||
|
+static RGBBacklightSettings rgb_settings = {
|
||||||
|
+ .version = RGB_BACKLIGHT_SETTINGS_VERSION,
|
||||||
|
+ .display_color_index = 0,
|
||||||
|
+ .settings_is_loaded = false};
|
||||||
|
+
|
||||||
|
+static const RGBBacklightColor colors[] = {
|
||||||
|
+ {"Orange", 255, 79, 0},
|
||||||
|
+ {"Yellow", 255, 170, 0},
|
||||||
|
+ {"Spring", 167, 255, 0},
|
||||||
|
+ {"Lime", 0, 255, 0},
|
||||||
|
+ {"Aqua", 0, 255, 127},
|
||||||
|
+ {"Cyan", 0, 210, 210},
|
||||||
|
+ {"Azure", 0, 127, 255},
|
||||||
|
+ {"Blue", 0, 0, 255},
|
||||||
|
+ {"Purple", 127, 0, 255},
|
||||||
|
+ {"Magenta", 210, 0, 210},
|
||||||
|
+ {"Pink", 255, 0, 127},
|
||||||
|
+ {"Red", 255, 0, 0},
|
||||||
|
+ {"White", 140, 140, 140},
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+uint8_t rgb_backlight_get_color_count(void) {
|
||||||
|
+ return COLOR_COUNT;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+const char* rgb_backlight_get_color_text(uint8_t index) {
|
||||||
|
+ return colors[index].name;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void rgb_backlight_load_settings(void) {
|
||||||
|
+ //Не загружать данные из внутренней памяти при загрузке в режиме DFU
|
||||||
|
+ FuriHalRtcBootMode bm = furi_hal_rtc_get_boot_mode();
|
||||||
|
+ if(bm == FuriHalRtcBootModeDfu) {
|
||||||
|
+ rgb_settings.settings_is_loaded = true;
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ RGBBacklightSettings settings;
|
||||||
|
+ File* file = storage_file_alloc(furi_record_open(RECORD_STORAGE));
|
||||||
|
+ const size_t settings_size = sizeof(RGBBacklightSettings);
|
||||||
|
+
|
||||||
|
+ FURI_LOG_I(TAG, "loading settings from \"%s\"", RGB_BACKLIGHT_SETTINGS_PATH);
|
||||||
|
+ bool fs_result =
|
||||||
|
+ storage_file_open(file, RGB_BACKLIGHT_SETTINGS_PATH, FSAM_READ, FSOM_OPEN_EXISTING);
|
||||||
|
+
|
||||||
|
+ if(fs_result) {
|
||||||
|
+ uint16_t bytes_count = storage_file_read(file, &settings, settings_size);
|
||||||
|
+
|
||||||
|
+ if(bytes_count != settings_size) {
|
||||||
|
+ fs_result = false;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if(fs_result) {
|
||||||
|
+ FURI_LOG_I(TAG, "load success");
|
||||||
|
+ if(settings.version != RGB_BACKLIGHT_SETTINGS_VERSION) {
|
||||||
|
+ FURI_LOG_E(
|
||||||
|
+ TAG,
|
||||||
|
+ "version(%d != %d) mismatch",
|
||||||
|
+ settings.version,
|
||||||
|
+ RGB_BACKLIGHT_SETTINGS_VERSION);
|
||||||
|
+ } else {
|
||||||
|
+ memcpy(&rgb_settings, &settings, settings_size);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ FURI_LOG_E(TAG, "load failed, %s", storage_file_get_error_desc(file));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ storage_file_close(file);
|
||||||
|
+ storage_file_free(file);
|
||||||
|
+ furi_record_close(RECORD_STORAGE);
|
||||||
|
+ rgb_settings.settings_is_loaded = true;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+void rgb_backlight_save_settings(void) {
|
||||||
|
+ RGBBacklightSettings settings;
|
||||||
|
+ File* file = storage_file_alloc(furi_record_open(RECORD_STORAGE));
|
||||||
|
+ const size_t settings_size = sizeof(RGBBacklightSettings);
|
||||||
|
+
|
||||||
|
+ FURI_LOG_I(TAG, "saving settings to \"%s\"", RGB_BACKLIGHT_SETTINGS_PATH);
|
||||||
|
+
|
||||||
|
+ memcpy(&settings, &rgb_settings, settings_size);
|
||||||
|
+
|
||||||
|
+ bool fs_result =
|
||||||
|
+ storage_file_open(file, RGB_BACKLIGHT_SETTINGS_PATH, FSAM_WRITE, FSOM_CREATE_ALWAYS);
|
||||||
|
+
|
||||||
|
+ if(fs_result) {
|
||||||
|
+ uint16_t bytes_count = storage_file_write(file, &settings, settings_size);
|
||||||
|
+
|
||||||
|
+ if(bytes_count != settings_size) {
|
||||||
|
+ fs_result = false;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if(fs_result) {
|
||||||
|
+ FURI_LOG_I(TAG, "save success");
|
||||||
|
+ } else {
|
||||||
|
+ FURI_LOG_E(TAG, "save failed, %s", storage_file_get_error_desc(file));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ storage_file_close(file);
|
||||||
|
+ storage_file_free(file);
|
||||||
|
+ furi_record_close(RECORD_STORAGE);
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+RGBBacklightSettings* rgb_backlight_get_settings(void) {
|
||||||
|
+ if(!rgb_settings.settings_is_loaded) {
|
||||||
|
+ rgb_backlight_load_settings();
|
||||||
|
+ }
|
||||||
|
+ return &rgb_settings;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void rgb_backlight_set_color(uint8_t color_index) {
|
||||||
|
+ if(color_index > (rgb_backlight_get_color_count() - 1)) color_index = 0;
|
||||||
|
+ rgb_settings.display_color_index = color_index;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void rgb_backlight_update(uint8_t brightness) {
|
||||||
|
+ if(!rgb_settings.settings_is_loaded) {
|
||||||
|
+ rgb_backlight_load_settings();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ static uint8_t last_color_index = 255;
|
||||||
|
+ static uint8_t last_brightness = 123;
|
||||||
|
+
|
||||||
|
+ if(last_brightness == brightness && last_color_index == rgb_settings.display_color_index)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ last_brightness = brightness;
|
||||||
|
+ last_color_index = rgb_settings.display_color_index;
|
||||||
|
+
|
||||||
|
+ for(uint8_t i = 0; i < SK6805_get_led_count(); i++) {
|
||||||
|
+ uint8_t r = colors[rgb_settings.display_color_index].red * (brightness / 255.0f);
|
||||||
|
+ uint8_t g = colors[rgb_settings.display_color_index].green * (brightness / 255.0f);
|
||||||
|
+ uint8_t b = colors[rgb_settings.display_color_index].blue * (brightness / 255.0f);
|
||||||
|
+
|
||||||
|
+ SK6805_set_led_color(i, r, g, b);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ SK6805_update();
|
||||||
|
+}
|
||||||
|
diff --git a/applications/settings/notification_settings/rgb_backlight.h b/applications/settings/notification_settings/rgb_backlight.h
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..b63d223e6
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/applications/settings/notification_settings/rgb_backlight.h
|
||||||
|
@@ -0,0 +1,79 @@
|
||||||
|
+/*
|
||||||
|
+ RGB backlight FlipperZero driver
|
||||||
|
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
|
||||||
|
+
|
||||||
|
+ This program is free software: you can redistribute it and/or modify
|
||||||
|
+ it under the terms of the GNU General Public License as published by
|
||||||
|
+ the Free Software Foundation, either version 3 of the License, or
|
||||||
|
+ (at your option) any later version.
|
||||||
|
+
|
||||||
|
+ This program is distributed in the hope that it will be useful,
|
||||||
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+ You should have received a copy of the GNU General Public License
|
||||||
|
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#include <furi.h>
|
||||||
|
+#include "SK6805.h"
|
||||||
|
+
|
||||||
|
+typedef struct {
|
||||||
|
+ char* name;
|
||||||
|
+ uint8_t red;
|
||||||
|
+ uint8_t green;
|
||||||
|
+ uint8_t blue;
|
||||||
|
+} RGBBacklightColor;
|
||||||
|
+
|
||||||
|
+typedef struct {
|
||||||
|
+ uint8_t version;
|
||||||
|
+ uint8_t display_color_index;
|
||||||
|
+ bool settings_is_loaded;
|
||||||
|
+} RGBBacklightSettings;
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Получить текущие настройки RGB-подсветки
|
||||||
|
+ *
|
||||||
|
+ * @return Указатель на структуру настроек
|
||||||
|
+ */
|
||||||
|
+RGBBacklightSettings* rgb_backlight_get_settings(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Загрузить настройки подсветки с SD-карты
|
||||||
|
+ */
|
||||||
|
+void rgb_backlight_load_settings(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Сохранить текущие настройки RGB-подсветки
|
||||||
|
+ */
|
||||||
|
+void rgb_backlight_save_settings(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Применить текущие настройки RGB-подсветки
|
||||||
|
+ *
|
||||||
|
+ * @param brightness Яркость свечения (0-255)
|
||||||
|
+ */
|
||||||
|
+void rgb_backlight_update(uint8_t brightness);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Установить цвет RGB-подсветки
|
||||||
|
+ *
|
||||||
|
+ * @param color_index Индекс цвета (0 - rgb_backlight_get_color_count())
|
||||||
|
+ */
|
||||||
|
+void rgb_backlight_set_color(uint8_t color_index);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Получить количество доступных цветов
|
||||||
|
+ *
|
||||||
|
+ * @return Число доступных вариантов цвета
|
||||||
|
+ */
|
||||||
|
+uint8_t rgb_backlight_get_color_count(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Получить текстовое название цвета
|
||||||
|
+ *
|
||||||
|
+ * @param index Индекс из доступных вариантов цвета
|
||||||
|
+ * @return Указатель на строку с названием цвета
|
||||||
|
+ */
|
||||||
|
+const char* rgb_backlight_get_color_text(uint8_t index);
|
||||||
|
\ No newline at end of file
|
||||||
|
diff --git a/firmware/targets/f7/furi_hal/furi_hal_light.c b/firmware/targets/f7/furi_hal/furi_hal_light.c
|
||||||
|
index 83e1603b7..cad5b86cb 100644
|
||||||
|
--- a/firmware/targets/f7/furi_hal/furi_hal_light.c
|
||||||
|
+++ b/firmware/targets/f7/furi_hal/furi_hal_light.c
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
#include <furi_hal_light.h>
|
||||||
|
#include <lp5562.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
+#include <applications/settings/notification_settings/rgb_backlight.h>
|
||||||
|
|
||||||
|
#define LED_CURRENT_RED 50
|
||||||
|
#define LED_CURRENT_GREEN 50
|
||||||
|
@@ -31,22 +32,21 @@ void furi_hal_light_init() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void furi_hal_light_set(Light light, uint8_t value) {
|
||||||
|
- furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
|
||||||
|
- if(light & LightRed) {
|
||||||
|
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelRed, value);
|
||||||
|
- }
|
||||||
|
- if(light & LightGreen) {
|
||||||
|
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelGreen, value);
|
||||||
|
- }
|
||||||
|
- if(light & LightBlue) {
|
||||||
|
- lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelBlue, value);
|
||||||
|
- }
|
||||||
|
if(light & LightBacklight) {
|
||||||
|
- uint8_t prev = lp5562_get_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelWhite);
|
||||||
|
- lp5562_execute_ramp(
|
||||||
|
- &furi_hal_i2c_handle_power, LP5562Engine1, LP5562ChannelWhite, prev, value, 100);
|
||||||
|
+ rgb_backlight_update(value);
|
||||||
|
+ } else {
|
||||||
|
+ furi_hal_i2c_acquire(&furi_hal_i2c_handle_power);
|
||||||
|
+ if(light & LightRed) {
|
||||||
|
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelRed, value);
|
||||||
|
+ }
|
||||||
|
+ if(light & LightGreen) {
|
||||||
|
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelGreen, value);
|
||||||
|
+ }
|
||||||
|
+ if(light & LightBlue) {
|
||||||
|
+ lp5562_set_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelBlue, value);
|
||||||
|
+ }
|
||||||
|
+ furi_hal_i2c_release(&furi_hal_i2c_handle_power);
|
||||||
|
}
|
||||||
|
- furi_hal_i2c_release(&furi_hal_i2c_handle_power);
|
||||||
|
}
|
||||||
|
|
||||||
|
void furi_hal_light_blink_start(Light light, uint8_t brightness, uint16_t on_time, uint16_t period) {
|
||||||
|
diff --git a/lib/drivers/SK6805.c b/lib/drivers/SK6805.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..572e1df97
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/lib/drivers/SK6805.c
|
||||||
|
@@ -0,0 +1,101 @@
|
||||||
|
+/*
|
||||||
|
+ SK6805 FlipperZero driver
|
||||||
|
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
|
||||||
|
+
|
||||||
|
+ This program is free software: you can redistribute it and/or modify
|
||||||
|
+ it under the terms of the GNU General Public License as published by
|
||||||
|
+ the Free Software Foundation, either version 3 of the License, or
|
||||||
|
+ (at your option) any later version.
|
||||||
|
+
|
||||||
|
+ This program is distributed in the hope that it will be useful,
|
||||||
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+ You should have received a copy of the GNU General Public License
|
||||||
|
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#include "SK6805.h"
|
||||||
|
+#include <furi_hal.h>
|
||||||
|
+
|
||||||
|
+/* Настройки */
|
||||||
|
+#define SK6805_LED_COUNT 3 //Количество светодиодов на плате подсветки
|
||||||
|
+#define SK6805_LED_PIN &led_pin //Порт подключения светодиодов
|
||||||
|
+
|
||||||
|
+#ifdef FURI_DEBUG
|
||||||
|
+#define DEBUG_PIN &gpio_ext_pa7
|
||||||
|
+#define DEBUG_INIT() \
|
||||||
|
+ furi_hal_gpio_init(DEBUG_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh)
|
||||||
|
+#define DEBUG_SET_HIGH() furi_hal_gpio_write(DEBUG_PIN, true)
|
||||||
|
+#define DEBUG_SET_LOW() furi_hal_gpio_write(DEBUG_PIN, false)
|
||||||
|
+#else
|
||||||
|
+#define DEBUG_INIT()
|
||||||
|
+#define DEBUG_SET_HIGH()
|
||||||
|
+#define DEBUG_SET_LOW()
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+static const GpioPin led_pin = {.port = GPIOA, .pin = LL_GPIO_PIN_8};
|
||||||
|
+static uint8_t led_buffer[SK6805_LED_COUNT][3];
|
||||||
|
+
|
||||||
|
+void SK6805_init(void) {
|
||||||
|
+ DEBUG_INIT();
|
||||||
|
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
|
||||||
|
+ furi_hal_gpio_init(SK6805_LED_PIN, GpioModeOutputPushPull, GpioPullNo, GpioSpeedVeryHigh);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+uint8_t SK6805_get_led_count(void) {
|
||||||
|
+ return (const uint8_t)SK6805_LED_COUNT;
|
||||||
|
+}
|
||||||
|
+void SK6805_set_led_color(uint8_t led_index, uint8_t r, uint8_t g, uint8_t b) {
|
||||||
|
+ furi_check(led_index < SK6805_LED_COUNT);
|
||||||
|
+
|
||||||
|
+ led_buffer[led_index][0] = g;
|
||||||
|
+ led_buffer[led_index][1] = r;
|
||||||
|
+ led_buffer[led_index][2] = b;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void SK6805_update(void) {
|
||||||
|
+ SK6805_init();
|
||||||
|
+ furi_kernel_lock();
|
||||||
|
+ uint32_t end;
|
||||||
|
+ /* Последовательная отправка цветов светодиодов */
|
||||||
|
+ for(uint8_t lednumber = 0; lednumber < SK6805_LED_COUNT; lednumber++) {
|
||||||
|
+ //Последовательная отправка цветов светодиода
|
||||||
|
+ for(uint8_t color = 0; color < 3; color++) {
|
||||||
|
+ //Последовательная отправка битов цвета
|
||||||
|
+ uint8_t i = 0b10000000;
|
||||||
|
+ while(i != 0) {
|
||||||
|
+ if(led_buffer[lednumber][color] & (i)) {
|
||||||
|
+ furi_hal_gpio_write(SK6805_LED_PIN, true);
|
||||||
|
+ DEBUG_SET_HIGH();
|
||||||
|
+ end = DWT->CYCCNT + 30;
|
||||||
|
+ //T1H 600 us (615 us)
|
||||||
|
+ while(DWT->CYCCNT < end) {
|
||||||
|
+ }
|
||||||
|
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
|
||||||
|
+ DEBUG_SET_LOW();
|
||||||
|
+ end = DWT->CYCCNT + 26;
|
||||||
|
+ //T1L 600 us (587 us)
|
||||||
|
+ while(DWT->CYCCNT < end) {
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ furi_hal_gpio_write(SK6805_LED_PIN, true);
|
||||||
|
+ DEBUG_SET_HIGH();
|
||||||
|
+ end = DWT->CYCCNT + 11;
|
||||||
|
+ //T0H 300 ns (312 ns)
|
||||||
|
+ while(DWT->CYCCNT < end) {
|
||||||
|
+ }
|
||||||
|
+ furi_hal_gpio_write(SK6805_LED_PIN, false);
|
||||||
|
+ DEBUG_SET_LOW();
|
||||||
|
+ end = DWT->CYCCNT + 43;
|
||||||
|
+ //T0L 900 ns (890 ns)
|
||||||
|
+ while(DWT->CYCCNT < end) {
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ i >>= 1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ furi_kernel_unlock();
|
||||||
|
+}
|
||||||
|
diff --git a/lib/drivers/SK6805.h b/lib/drivers/SK6805.h
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..7c58956fa
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/lib/drivers/SK6805.h
|
||||||
|
@@ -0,0 +1,51 @@
|
||||||
|
+/*
|
||||||
|
+ SK6805 FlipperZero driver
|
||||||
|
+ Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
|
||||||
|
+
|
||||||
|
+ This program is free software: you can redistribute it and/or modify
|
||||||
|
+ it under the terms of the GNU General Public License as published by
|
||||||
|
+ the Free Software Foundation, either version 3 of the License, or
|
||||||
|
+ (at your option) any later version.
|
||||||
|
+
|
||||||
|
+ This program is distributed in the hope that it will be useful,
|
||||||
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+ You should have received a copy of the GNU General Public License
|
||||||
|
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+#ifndef SK6805_H_
|
||||||
|
+#define SK6805_H_
|
||||||
|
+
|
||||||
|
+#include <furi.h>
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Инициализация линии управления подсветкой
|
||||||
|
+ */
|
||||||
|
+void SK6805_init(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Получить количество светодиодов в подсветке
|
||||||
|
+ *
|
||||||
|
+ * @return Количество светодиодов
|
||||||
|
+ */
|
||||||
|
+uint8_t SK6805_get_led_count(void);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Установить цвет свечения светодиода
|
||||||
|
+ *
|
||||||
|
+ * @param led_index номер светодиода (от 0 до SK6805_get_led_count())
|
||||||
|
+ * @param r значение красного (0-255)
|
||||||
|
+ * @param g значение зелёного (0-255)
|
||||||
|
+ * @param b значение синего (0-255)
|
||||||
|
+ */
|
||||||
|
+void SK6805_set_led_color(uint8_t led_index, uint8_t r, uint8_t g, uint8_t b);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * @brief Обновление состояния подсветки дисплея
|
||||||
|
+ */
|
||||||
|
+void SK6805_update(void);
|
||||||
|
+
|
||||||
|
+#endif /* SK6805_H_ */
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
\ No newline at end of file
|
96
.drone.yml
96
.drone.yml
|
@ -31,7 +31,9 @@ steps:
|
||||||
- echo '' >> CHANGELOG.md
|
- echo '' >> CHANGELOG.md
|
||||||
- echo '### [Version without custom animations - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)' >> CHANGELOG.md
|
- echo '### [Version without custom animations - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)' >> CHANGELOG.md
|
||||||
- echo '' >> CHANGELOG.md
|
- echo '' >> CHANGELOG.md
|
||||||
- echo '### [Version with extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md
|
- echo '### [Version with RGB patch - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)' >> CHANGELOG.md
|
||||||
|
- echo '' >> CHANGELOG.md
|
||||||
|
- echo '## [Version with Extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md
|
||||||
environment:
|
environment:
|
||||||
FBT_TOOLS_CUSTOM_LINK:
|
FBT_TOOLS_CUSTOM_LINK:
|
||||||
from_secret: fbt_link
|
from_secret: fbt_link
|
||||||
|
@ -56,10 +58,30 @@ steps:
|
||||||
FBT_TOOLS_CUSTOM_LINK:
|
FBT_TOOLS_CUSTOM_LINK:
|
||||||
from_secret: fbt_link
|
from_secret: fbt_link
|
||||||
|
|
||||||
|
- name: "Build with RGB patch"
|
||||||
|
image: hfdj/fztools
|
||||||
|
pull: never
|
||||||
|
commands:
|
||||||
|
- git apply .ci_files/rgb.patch
|
||||||
|
- export DIST_SUFFIX=${DRONE_TAG}r
|
||||||
|
- export WORKFLOW_BRANCH_OR_TAG=release-cfw
|
||||||
|
- export FORCE_NO_DIRTY=yes
|
||||||
|
- rm -f build/f7-firmware-C/toolbox/version.*
|
||||||
|
- ./fbt COMPACT=1 DEBUG=0 updater_package
|
||||||
|
- mkdir artifacts-rgb-patch
|
||||||
|
- mv dist/f7-C/* artifacts-rgb-patch/
|
||||||
|
- ls -laS artifacts-rgb-patch
|
||||||
|
- ls -laS artifacts-rgb-patch/f7-update-${DRONE_TAG}r
|
||||||
|
environment:
|
||||||
|
FBT_TOOLS_CUSTOM_LINK:
|
||||||
|
from_secret: fbt_link
|
||||||
|
|
||||||
- name: "Build with ofw anims"
|
- name: "Build with ofw anims"
|
||||||
image: hfdj/fztools
|
image: hfdj/fztools
|
||||||
pull: never
|
pull: never
|
||||||
commands:
|
commands:
|
||||||
|
- git clean -df
|
||||||
|
- git checkout -- .
|
||||||
- rm -f assets/dolphin/external/manifest.txt
|
- rm -f assets/dolphin/external/manifest.txt
|
||||||
- cp .ci_files/anims_ofw.txt assets/dolphin/external/manifest.txt
|
- cp .ci_files/anims_ofw.txt assets/dolphin/external/manifest.txt
|
||||||
- rm -rf assets/resources/apps/
|
- rm -rf assets/resources/apps/
|
||||||
|
@ -80,16 +102,20 @@ steps:
|
||||||
image: kramos/alpine-zip
|
image: kramos/alpine-zip
|
||||||
commands:
|
commands:
|
||||||
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.tgz .
|
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.tgz .
|
||||||
|
- cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.tgz .
|
||||||
- cp artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.tgz .
|
- cp artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.tgz .
|
||||||
- cp artifacts-default/flipper-z-f7-update-${DRONE_TAG}.tgz .
|
- cp artifacts-default/flipper-z-f7-update-${DRONE_TAG}.tgz .
|
||||||
- zip -r artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.zip artifacts-extra-apps/f7-update-${DRONE_TAG}e
|
- zip -r artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.zip artifacts-extra-apps/f7-update-${DRONE_TAG}e
|
||||||
|
- zip -r artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.zip artifacts-rgb-patch/f7-update-${DRONE_TAG}r
|
||||||
- zip -r artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.zip artifacts-ofw-anims/f7-update-${DRONE_TAG}n
|
- zip -r artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.zip artifacts-ofw-anims/f7-update-${DRONE_TAG}n
|
||||||
- zip -r artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip artifacts-default/f7-update-${DRONE_TAG}
|
- zip -r artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip artifacts-default/f7-update-${DRONE_TAG}
|
||||||
- tar czpf artifacts-default/flipper-z-any-scripts-${DRONE_TAG}.tgz scripts
|
- tar czpf artifacts-default/flipper-z-any-scripts-${DRONE_TAG}.tgz scripts
|
||||||
- rm -rf artifacts-extra-apps/f7-update-${DRONE_TAG}
|
- rm -rf artifacts-extra-apps/f7-update-${DRONE_TAG}
|
||||||
|
- rm -rf artifacts-rgb-patch/f7-update-${DRONE_TAG}
|
||||||
- rm -rf artifacts-ofw-anims/f7-update-${DRONE_TAG}
|
- rm -rf artifacts-ofw-anims/f7-update-${DRONE_TAG}
|
||||||
- rm -rf artifacts-default/f7-update-${DRONE_TAG}
|
- rm -rf artifacts-default/f7-update-${DRONE_TAG}
|
||||||
- ls -laS artifacts-extra-apps
|
- ls -laS artifacts-extra-apps
|
||||||
|
- ls -laS artifacts-rgb-patch
|
||||||
- ls -laS artifacts-ofw-anims
|
- ls -laS artifacts-ofw-anims
|
||||||
- ls -laS artifacts-default
|
- ls -laS artifacts-default
|
||||||
- mv artifacts-default/ ${DRONE_TAG}
|
- mv artifacts-default/ ${DRONE_TAG}
|
||||||
|
@ -146,6 +172,21 @@ steps:
|
||||||
from_secret: dep_target_extra
|
from_secret: dep_target_extra
|
||||||
source: flipper-z-f7-update-${DRONE_TAG}e.tgz
|
source: flipper-z-f7-update-${DRONE_TAG}e.tgz
|
||||||
|
|
||||||
|
- name: "Upload rgb patch version to updates srv"
|
||||||
|
image: appleboy/drone-scp:linux-amd64
|
||||||
|
settings:
|
||||||
|
host:
|
||||||
|
from_secret: dep_host
|
||||||
|
username:
|
||||||
|
from_secret: dep_user
|
||||||
|
password:
|
||||||
|
from_secret: dep_passwd
|
||||||
|
port:
|
||||||
|
from_secret: dep_port
|
||||||
|
target:
|
||||||
|
from_secret: dep_target_extra
|
||||||
|
source: flipper-z-f7-update-${DRONE_TAG}r.tgz
|
||||||
|
|
||||||
- name: "Do Github release"
|
- name: "Do Github release"
|
||||||
image: ddplugins/github-release
|
image: ddplugins/github-release
|
||||||
pull: never
|
pull: never
|
||||||
|
@ -160,6 +201,7 @@ steps:
|
||||||
- ${DRONE_TAG}/*.zip
|
- ${DRONE_TAG}/*.zip
|
||||||
- artifacts-ofw-anims/*.tgz
|
- artifacts-ofw-anims/*.tgz
|
||||||
- artifacts-extra-apps/*.tgz
|
- artifacts-extra-apps/*.tgz
|
||||||
|
- artifacts-rgb-patch/*.tgz
|
||||||
title: ${DRONE_TAG}
|
title: ${DRONE_TAG}
|
||||||
note: CHANGELOG.md
|
note: CHANGELOG.md
|
||||||
checksum:
|
checksum:
|
||||||
|
@ -210,7 +252,13 @@ steps:
|
||||||
[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-${DRONE_TAG}n.tgz&channel=release-cfw&version=${DRONE_TAG}n)
|
[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-${DRONE_TAG}n.tgz&channel=release-cfw&version=${DRONE_TAG}n)
|
||||||
|
|
||||||
|
|
||||||
[-Version with extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}e.tgz&channel=release-cfw&version=${DRONE_TAG}e)"
|
[-Version with RGB patch - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz&channel=release-cfw&version=${DRONE_TAG}r)
|
||||||
|
|
||||||
|
|
||||||
|
[-Version with RGB patch - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz)
|
||||||
|
|
||||||
|
|
||||||
|
[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}e.tgz&channel=release-cfw&version=${DRONE_TAG}e)"
|
||||||
document:
|
document:
|
||||||
- ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz
|
- ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz
|
||||||
|
|
||||||
|
@ -223,7 +271,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh"
|
- wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh"
|
||||||
- chmod +x ./discord.sh
|
- chmod +x ./discord.sh
|
||||||
- ./discord.sh --text 'New Unleashed firmware released!\n\nVersion - '${DRONE_TAG}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[[Github - Changelog]](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')\n\n[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)\n\n[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/archive/refs/heads/main.zip)\n\n[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/'${DRONE_TAG}'/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')\n\n[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)\n\n[-Version with extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)'
|
- ./discord.sh --text 'New Unleashed firmware released!\n\nVersion - '${DRONE_TAG}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[[Github - Changelog]](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')\n\n[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)\n\n[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/archive/refs/heads/main.zip)\n\n[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/'${DRONE_TAG}'/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')\n\n[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)\n\n[-Version with RGB patch - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)\n\n[-Version with RGB patch - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz)\n\n[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)'
|
||||||
|
|
||||||
- name: "Send extra pack build to telegram"
|
- name: "Send extra pack build to telegram"
|
||||||
image: appleboy/drone-telegram
|
image: appleboy/drone-telegram
|
||||||
|
@ -297,10 +345,29 @@ steps:
|
||||||
FBT_TOOLS_CUSTOM_LINK:
|
FBT_TOOLS_CUSTOM_LINK:
|
||||||
from_secret: fbt_link
|
from_secret: fbt_link
|
||||||
|
|
||||||
|
- name: "Build dev with rgb patch"
|
||||||
|
image: hfdj/fztools
|
||||||
|
pull: never
|
||||||
|
commands:
|
||||||
|
- git apply .ci_files/rgb.patch
|
||||||
|
- export DIST_SUFFIX=${DRONE_BUILD_NUMBER}r
|
||||||
|
- export WORKFLOW_BRANCH_OR_TAG=dev-cfw
|
||||||
|
- export FORCE_NO_DIRTY=yes
|
||||||
|
- rm -f build/f7-firmware-C/toolbox/version.*
|
||||||
|
- ./fbt COMPACT=1 DEBUG=0 updater_package
|
||||||
|
- mkdir artifacts-rgb-patch
|
||||||
|
- mv dist/f7-C/* artifacts-rgb-patch/
|
||||||
|
- ls -laS artifacts-rgb-patch
|
||||||
|
- ls -laS artifacts-rgb-patch/f7-update-${DRONE_BUILD_NUMBER}r
|
||||||
|
environment:
|
||||||
|
FBT_TOOLS_CUSTOM_LINK:
|
||||||
|
from_secret: fbt_link
|
||||||
|
|
||||||
- name: "Bundle self-update packages"
|
- name: "Bundle self-update packages"
|
||||||
image: kramos/alpine-zip
|
image: kramos/alpine-zip
|
||||||
commands:
|
commands:
|
||||||
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz .
|
- cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz .
|
||||||
|
- cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz .
|
||||||
- cp artifacts-default/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz .
|
- cp artifacts-default/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz .
|
||||||
- rm -rf artifacts-default/f7-update-${DRONE_BUILD_NUMBER}
|
- rm -rf artifacts-default/f7-update-${DRONE_BUILD_NUMBER}
|
||||||
- ls -laS artifacts-default
|
- ls -laS artifacts-default
|
||||||
|
@ -358,6 +425,21 @@ steps:
|
||||||
from_secret: dep_target_extra
|
from_secret: dep_target_extra
|
||||||
source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz
|
source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz
|
||||||
|
|
||||||
|
- name: "Upload rgb patch version to updates srv"
|
||||||
|
image: appleboy/drone-scp:linux-amd64
|
||||||
|
settings:
|
||||||
|
host:
|
||||||
|
from_secret: dep_host
|
||||||
|
username:
|
||||||
|
from_secret: dep_user
|
||||||
|
password:
|
||||||
|
from_secret: dep_passwd
|
||||||
|
port:
|
||||||
|
from_secret: dep_port
|
||||||
|
target:
|
||||||
|
from_secret: dep_target_extra
|
||||||
|
source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz
|
||||||
|
|
||||||
- name: "Trigger update server reindex"
|
- name: "Trigger update server reindex"
|
||||||
image: hfdj/fztools
|
image: hfdj/fztools
|
||||||
pull: never
|
pull: never
|
||||||
|
@ -392,6 +474,12 @@ steps:
|
||||||
[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER})
|
[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER})
|
||||||
|
|
||||||
|
|
||||||
|
[-Version with RGB patch - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}r)
|
||||||
|
|
||||||
|
|
||||||
|
[-Version with RGB patch - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz)
|
||||||
|
|
||||||
|
|
||||||
[-Version with extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}e)"
|
[-Version with extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}e)"
|
||||||
|
|
||||||
- name: "Send build to telegram"
|
- name: "Send build to telegram"
|
||||||
|
@ -427,7 +515,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh"
|
- wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh"
|
||||||
- chmod +x ./discord.sh
|
- chmod +x ./discord.sh
|
||||||
- ./discord.sh --text 'Unleashed firmware dev build successful!\n\nBuild - '${DRONE_BUILD_NUMBER}'\n\nCommit - https://github.com/DarkFlippers/unleashed-firmware/commit/'${DRONE_COMMIT_SHA}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[-Version with extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'e.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'e)\n\n[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}')'
|
- ./discord.sh --text 'Unleashed firmware dev build successful!\n\nBuild - '${DRONE_BUILD_NUMBER}'\n\nCommit - https://github.com/DarkFlippers/unleashed-firmware/commit/'${DRONE_COMMIT_SHA}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'e.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'e)\n\n[-Version with RGB patch - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'r)\n\n[-Version with RGB patch - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz)\n\n[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}')'
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
|
|
Loading…
Reference in a new issue