New Model #53 » wouxun_menu_lock.patch
| chirp/wouxun.py Wed May 23 16:14:31 2012 -0700 → chirp/wouxun.py Fri May 25 19:12:12 2012 -0700 | ||
|---|---|---|
| 17 | 17 |
import time |
| 18 | 18 |
import os |
| 19 | 19 |
from chirp import util, chirp_common, bitwise, memmap, errors, directory |
| 20 |
from chirp.settings import RadioSetting, RadioSettingGroup, RadioSettingValueBoolean |
|
| 20 | 21 | |
| 21 | 22 |
if os.getenv("CHIRP_DEBUG"):
|
| 22 | 23 |
DEBUG = True |
| ... | ... | |
| 41 | 42 |
u8 unknown[2]; |
| 42 | 43 |
} memory[128]; |
| 43 | 44 | |
| 45 |
#seekto 0x0E5C; |
|
| 46 |
u8 unknown_flag1:7, |
|
| 47 |
menu_available:1; |
|
| 48 | ||
| 44 | 49 |
#seekto 0x1008; |
| 45 | 50 |
struct {
|
| 46 | 51 |
u8 unknown[8]; |
| ... | ... | |
| 198 | 203 |
rf.has_cross = True |
| 199 | 204 |
rf.has_tuning_step = False |
| 200 | 205 |
rf.has_bank = False |
| 206 |
rf.has_settings = True |
|
| 201 | 207 |
rf.memory_bounds = (1, 128) |
| 202 | 208 |
rf.can_odd_split = True |
| 203 | 209 |
return rf |
| 204 | 210 | |
| 211 |
def get_settings(self): |
|
| 212 |
group = RadioSettingGroup("top", "All Settings")
|
|
| 213 | ||
| 214 |
rs = RadioSetting("menu_available", "Menu Available",
|
|
| 215 |
RadioSettingValueBoolean(self._memobj.menu_available)) |
|
| 216 |
group.append(rs) |
|
| 217 | ||
| 218 |
return group |
|
| 219 | ||
| 220 |
def set_settings(self, settings): |
|
| 221 |
for element in settings: |
|
| 222 |
if not isinstance(element, RadioSetting): |
|
| 223 |
self.set_settings(element) |
|
| 224 |
continue |
|
| 225 |
try: |
|
| 226 |
setattr(self._memobj, element.get_name(), element.value) |
|
| 227 |
except Exception, e: |
|
| 228 |
print element.get_name() |
|
| 229 |
raise |
|
| 230 | ||
| 231 | ||
| 232 | ||
| 205 | 233 |
def get_raw_memory(self, number): |
| 206 | 234 |
return repr(self._memobj.memory[number - 1]) |
| 207 | 235 | |