10
10
11
11
#define DIP_PATTERN "%c%c%c%c%c%c%c%c%c%c"
12
12
#define DATA_TO_DIP (dip ) \
13
- (dip & 0x0200 ? '0 ' : '1 '), (dip & 0x0100 ? '0 ' : '1 '), (dip & 0x0080 ? '0 ' : '1 '), \
14
- (dip & 0x0040 ? '0 ' : '1 '), (dip & 0x0020 ? '0 ' : '1 '), (dip & 0x0010 ? '0 ' : '1 '), \
15
- (dip & 0x0008 ? '0 ' : '1 '), (dip & 0x0004 ? '0 ' : '1 '), (dip & 0x0002 ? '0 ' : '1 '), \
16
- (dip & 0x0001 ? '0 ' : '1 ')
13
+ (dip & 0x0200 ? '1 ' : '0 '), (dip & 0x0100 ? '1 ' : '0 '), (dip & 0x0080 ? '1 ' : '0 '), \
14
+ (dip & 0x0040 ? '1 ' : '0 '), (dip & 0x0020 ? '1 ' : '0 '), (dip & 0x0010 ? '1 ' : '0 '), \
15
+ (dip & 0x0008 ? '1 ' : '0 '), (dip & 0x0004 ? '1 ' : '0 '), (dip & 0x0002 ? '1 ' : '0 '), \
16
+ (dip & 0x0001 ? '1 ' : '0 ')
17
17
18
18
static const SubGhzBlockConst subghz_protocol_linear_const = {
19
19
.te_short = 500 ,
@@ -323,13 +323,13 @@ void subghz_protocol_decoder_linear_get_string(void* context, FuriString* output
323
323
324
324
// Protocol is actually implemented wrong way around, bits are inverted.
325
325
// Instead of fixing it and breaking old saved remotes,
326
- // only the display here is inverted to show correct values.
327
- uint32_t code_found_reverse_lo = instance -> generic .data & 0x00000000ffffffff ;
326
+ // only the display here is inverted (~) to show correct values.
327
+ uint32_t code_found_lo = ~ instance -> generic .data & 0x00000000000003ff ;
328
328
329
- uint64_t code_found = subghz_protocol_blocks_reverse_key (
330
- instance -> generic .data , instance -> generic .data_count_bit );
329
+ uint64_t code_found_reverse = subghz_protocol_blocks_reverse_key (
330
+ ~ instance -> generic .data , instance -> generic .data_count_bit );
331
331
332
- uint32_t code_found_lo = code_found & 0x00000000ffffffff ;
332
+ uint32_t code_found_reverse_lo = code_found_reverse & 0x00000000000003ff ;
333
333
334
334
furi_string_cat_printf (
335
335
output ,
@@ -341,5 +341,5 @@ void subghz_protocol_decoder_linear_get_string(void* context, FuriString* output
341
341
instance -> generic .data_count_bit ,
342
342
code_found_lo ,
343
343
code_found_reverse_lo ,
344
- DATA_TO_DIP (code_found_reverse_lo ));
344
+ DATA_TO_DIP (code_found_lo ));
345
345
}
0 commit comments