Просмотр исходного кода

Fixes for new timer in IR commands

David Lee 1 год назад
Родитель
Сommit
cdeb12433f

+ 3 - 2
models/cross/xremote_cross_remote_item.c

@@ -137,6 +137,7 @@ static bool xremote_cross_remote_item_read_ir(CrossRemoteItem* item, FlipperForm
 
     do {
         if(!flipper_format_read_string(ff, "name", item->name)) break;
+        if(!flipper_format_read_int32(ff, "time", &item->time, 1)) item->time = 1000;
         if(!flipper_format_read_string(ff, "type", buf)) break;
         if(furi_string_equal(buf, "raw")) {
             if(!xremote_cross_remote_item_read_ir_signal_raw(item, ff)) break;
@@ -229,11 +230,11 @@ uint32_t xremote_cross_remote_item_get_time(CrossRemoteItem* item) {
     return item->time;
 }
 
-bool xremote_cross_remote_item_ir_signal_save(InfraredSignal* signal, FlipperFormat* ff, const char* name, uint32_t time) {
+bool xremote_cross_remote_item_ir_signal_save(InfraredSignal* signal, FlipperFormat* ff, const char* name, int32_t time) {
     if(!flipper_format_write_comment_cstr(ff, "") ||
        !flipper_format_write_string_cstr(ff, "remote_type", "IR") ||
        !flipper_format_write_string_cstr(ff, "name", name) || 
-       !flipper_format_write_uint32(ff, "time", &time, 1)) {
+       !flipper_format_write_int32(ff, "time", &time, 1)) {
         return false;
     } else if(signal->is_raw) {
         return xremote_ir_signal_save_raw(&signal->payload.raw, ff);

+ 1 - 1
models/cross/xremote_cross_remote_item.h

@@ -22,5 +22,5 @@ SubGhzRemote* xremote_cross_remote_item_get_sg_signal(CrossRemoteItem* item);
 void xremote_cross_remote_item_set_sg_signal(CrossRemoteItem* item, SubGhzRemote* subghz);
 
 bool xremote_cross_remote_item_pause_save(FlipperFormat* ff, int32_t time, const char* name);
-bool xremote_cross_remote_item_ir_signal_save(InfraredSignal* signal, FlipperFormat* ff, const char* name, uint32_t time);
+bool xremote_cross_remote_item_ir_signal_save(InfraredSignal* signal, FlipperFormat* ff, const char* name, int32_t time);
 bool xremote_cross_remote_item_sg_signal_save(SubGhzRemote* remote, FlipperFormat* ff, const char* name);

+ 1 - 1
xremote_i.h

@@ -48,7 +48,7 @@
 #define XREMOTE_DEFAULT_REMOTE_NAME "remote"
 #define XREMOTE_APP_EXTENSION ".xr"
 #define XREMOTE_FILE_TYPE "Cross Remote File"
-#define XREMOTE_FILE_VERSION 2
+#define XREMOTE_FILE_VERSION 1
 #define XREMOTE_TEXT_STORE_NUM 2
 #define XREMOTE_TEXT_STORE_SIZE 128
 #define XREMOTE_MAX_ITEM_NAME_LENGTH 22