|
2 | 2 | # -*- coding: utf-8 -*- |
3 | 3 | from __future__ import print_function |
4 | 4 | METADATA = { |
5 | | - 'VERSION': '14.4.1.0', |
| 5 | + 'VERSION': '14.5.0.0', |
6 | 6 | 'DESCRIPTION': 'Backup/restore and decode configuration tool for Tasmota', |
7 | 7 | 'CLASSIFIER': 'Development Status :: 5 - Production/Stable', |
8 | 8 | 'URL': 'https://github.com/tasmota/decode-config', |
@@ -2941,10 +2941,42 @@ def match(self, setting_hardware, config_version): |
2941 | 2941 | 'no_export_energy_today': (HARDWARE.ESP, '<L', (0xF74,1,16), (None, None, ('SetOption', '"SO162 {}".format($)')) ), |
2942 | 2942 | }) |
2943 | 2943 | # ====================================================================== |
2944 | | -SETTING_14_4_1_0 = copy.copy(SETTING_14_3_0_7) |
| 2944 | +SETTING_14_4_1_1 = copy.copy(SETTING_14_3_0_7) |
| 2945 | +SETTING_14_4_1_1['flag6'][1].update ({ |
| 2946 | + 'gui_device_name': (HARDWARE.ESP, '<L', (0xF74,1,17), (None, None, ('SetOption', '"SO163 {}".format($)')) ), |
| 2947 | + }) |
| 2948 | +# ====================================================================== |
| 2949 | +SETTING_14_4_1_2 = copy.copy(SETTING_14_4_1_1) |
| 2950 | +SETTING_14_4_1_2.update ({ |
| 2951 | + 'light_pixels': (HARDWARE.ESP, '<H', (0x496,15,0), (None, '1 <= $ <= 512', ('Light', '"Pixels {}".format($)')) ), |
| 2952 | + 'light_pixels_reverse': (HARDWARE.ESP, '<H', (0x496,1,15), (None, None, ('Light', None)) ), |
| 2953 | + 'light_pixels_height_1': (HARDWARE.ESP, '<H', (0xEC4,15,0), (None, None, ('Light', None)) ), |
| 2954 | + 'light_pixels_alternate': (HARDWARE.ESP, '<H', (0xEC4,1,15), (None, None, ('Light', None)) ), |
| 2955 | + }) |
| 2956 | +SETTING_14_4_1_2['mbflag2'][1].update({ |
| 2957 | + 'log_file_idx': (HARDWARE.ESP, '<L', (0xFD8,4,0), (None, None, ('System', None)) ), |
| 2958 | + }) |
| 2959 | +# ====================================================================== |
| 2960 | +SETTING_14_4_1_3 = copy.copy(SETTING_14_4_1_2) |
| 2961 | +SETTING_14_4_1_3['mbflag2'][1].update({ |
| 2962 | + 'light_pixels_order': (HARDWARE.ESP, '<L', (0xFD8,3,4), (None, None, ('Light', '"PixelType {}".format(($ & 0x7) | (@["mbflag2"]["light_pixels_w_first"] >> 3) | (@["mbflag2"]["light_pixels_rgbw"] >> 4) )')) ), |
| 2963 | + 'light_pixels_rgbw': (HARDWARE.ESP, '<L', (0xFD8,1,7), (None, None, ('Light', None)) ), |
| 2964 | + 'light_pixels_w_first': (HARDWARE.ESP, '<L', (0xFD8,1,8), (None, None, ('Light', None)) ), |
| 2965 | + }) |
| 2966 | +# ====================================================================== |
| 2967 | +SETTING_14_4_1_4 = copy.copy(SETTING_14_4_1_3) |
| 2968 | +SETTING_14_4_1_4['flag6'][1].update ({ |
| 2969 | + 'wizmote_enabled': (HARDWARE.ESP, '<L', (0xF74,1,18), (None, None, ('SetOption', '"SO164 {}".format($)')) ), |
| 2970 | + }) |
| 2971 | +# ====================================================================== |
| 2972 | +SETTING_14_5_0_0 = copy.copy(SETTING_14_4_1_4) |
2945 | 2973 | # ====================================================================== |
2946 | 2974 | SETTINGS = [ |
2947 | | - (0x0E040100,0x1000, SETTING_14_4_1_0), |
| 2975 | + (0x0E050000,0x1000, SETTING_14_5_0_0), |
| 2976 | + (0x0E040104,0x1000, SETTING_14_4_1_4), |
| 2977 | + (0x0E040103,0x1000, SETTING_14_4_1_3), |
| 2978 | + (0x0E040102,0x1000, SETTING_14_4_1_2), |
| 2979 | + (0x0E040101,0x1000, SETTING_14_4_1_1), |
2948 | 2980 | (0x0E030007,0x1000, SETTING_14_3_0_7), |
2949 | 2981 | (0x0E030005,0x1000, SETTING_14_3_0_5), |
2950 | 2982 | (0x0E030004,0x1000, SETTING_14_3_0_4), |
@@ -5439,7 +5471,7 @@ def set_fieldvalue(fielddef, dobj, addr, value): |
5439 | 5471 | format_ = get_fielddef(fielddef, fields='format_') |
5440 | 5472 | formatcnt = get_formatcount(format_) |
5441 | 5473 | singletype, bitsize = get_formattype(format_) |
5442 | | - if not format_[-1:].lower() in ['s', 'p']: |
| 5474 | + if not format_[-1:].lower() in ['s', 'p', 'f']: |
5443 | 5475 | addr += (bitsize // 8) * formatcnt |
5444 | 5476 | for _ in range(0, formatcnt): |
5445 | 5477 | addr -= (bitsize // 8) |
|
0 commit comments