Changeset 704dd17c89c92120558913929eb1e86130c68ce6
- Timestamp:
- 08/01/11 21:22:58 (2 years ago)
- Children:
- 9cd11c02b25537ee501c8e398b6baeb2e6eb7bc7
- Parents:
- c8a12325832a68ad842b2d51a7380aebdb4ca52a
- git-committer:
- Matias De la Puente <mfpuente.ar@…> (08/01/11 21:22:58)
- Files:
-
- 4 added
- 3 deleted
- 5 edited
-
data/programmers/Makefile.am (modified) (1 diff)
-
data/programmers/lpc21isp.i4ucprogrammer (deleted)
-
data/programmers/lpc21isp.xml (added)
-
data/programmers/pickit2.i4ucprogrammer (deleted)
-
data/programmers/pickit2.xml (added)
-
data/programmers/picstartplus.i4ucprogrammer (deleted)
-
data/programmers/picstartplus.xml (added)
-
gtkfrontend/main.vala (modified) (2 diffs)
-
libi4uccore/Makefile.am (modified) (1 diff)
-
libi4uccore/programmer.vala (modified) (3 diffs)
-
libi4uccore/programmerloader.vala (added)
-
libi4uccore/programmerslogic.vala (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
data/programmers/Makefile.am
rc54bf3e r704dd17 4 4 5 5 programmers_DATA = \ 6 lpc21isp. i4ucprogrammer\7 pickit2. i4ucprogrammer\8 picstartplus. i4ucprogrammer\6 lpc21isp.xml \ 7 pickit2.xml \ 8 picstartplus.xml \ 9 9 $(NULL) 10 10 -
gtkfrontend/main.vala
rc8a1232 r704dd17 275 275 // Get programmers files in $(pkgdatadir)/programmers/ 276 276 var programmers_list = new ArrayList<File> (); 277 programmers_list.add_all (get_files (File.new_for_path (Config.PROGRAMMERS_DIR), ". i4ucprogrammer"));277 programmers_list.add_all (get_files (File.new_for_path (Config.PROGRAMMERS_DIR), ".xml")); 278 278 279 279 // Get programmers files in $(HOME)/.i4uc/programmers/. If the folder doesn't exists, create it 280 280 var home_folder = File.new_for_path (Path.build_filename (Environment.get_home_dir (), ".i4uc", "programmers")); 281 programmers_list.add_all (get_files (home_folder, ". i4ucprogrammer", true));281 programmers_list.add_all (get_files (home_folder, ".xml", true)); 282 282 283 283 // Load programmers … … 287 287 try 288 288 { 289 programmer.open (programmer_file.get_uri ());290 _app.programmers[programmer. id] = programmer;289 ProgrammerLoader.load (programmer, programmer_file.get_uri ()); 290 _app.programmers[programmer.name] = programmer; 291 291 } 292 292 catch (KeyFileError e) -
libi4uccore/Makefile.am
rc8a1232 r704dd17 70 70 profiledialogview.vala \ 71 71 programmer.vala \ 72 programmerloader.vala \ 72 73 programmerslogic.vala \ 73 74 programmerspage.vala \ -
libi4uccore/programmer.vala
r074ab07 r704dd17 1 1 /* programmer.vala 2 2 * 3 * Copyright (C) 2010 Matias De la Puente3 * Copyright (C) 2010-2011 Matias De la Puente 4 4 * 5 5 * This program is free software: you can redistribute it and/or modify … … 23 23 public class I4uc.Core.Programmer : GLib.Object 24 24 { 25 private const string _I4UC_PROGRAMMER = "i4uc programmer";26 27 private Document _programmer_file = new Document ();28 25 private ArrayList<string> _devices = new ArrayList<string> (); 29 26 private ArrayList<string> _firmware_types = new ArrayList<string> (); 30 27 31 public string id { set; get; } 28 public string name { set; get; } 29 public string command { set; get; } 32 30 public bool has_serial_port { set; get; } 33 31 public bool has_baud_rate { set; get; } … … 54 52 public Gee.List<string> firmware_types { get { return _firmware_types; } } 55 53 56 public void open (string uri) throws GLib.Error, GLib.KeyFileError57 {58 var programmer_content = _programmer_file.load_contents (uri);59 var key_file = new KeyFile ();60 if (!key_file.load_from_data (programmer_content, programmer_content.length, KeyFileFlags.NONE) ||61 key_file.get_start_group () != _I4UC_PROGRAMMER)62 throw new GLib.KeyFileError.GROUP_NOT_FOUND (_("The file doesn't start with the [%s] group"), _I4UC_PROGRAMMER);63 64 this.id = key_file.get_string (_I4UC_PROGRAMMER, "id");65 this.has_serial_port = key_file.get_boolean (_I4UC_PROGRAMMER, "has_serial_port");66 this.has_baud_rate = key_file.get_boolean (_I4UC_PROGRAMMER, "has_baud_rate");67 this.has_devices_file = key_file.get_boolean (_I4UC_PROGRAMMER, "has_devices_file");68 this.has_devices_folder = key_file.get_boolean (_I4UC_PROGRAMMER, "has_devices_folder");69 this.has_clock = key_file.get_boolean (_I4UC_PROGRAMMER, "has_clock");70 71 this.can_write_flash = key_file.has_key (_I4UC_PROGRAMMER, "write_flash_command");72 this.can_read_flash = key_file.has_key (_I4UC_PROGRAMMER, "read_flash_command");73 this.can_verify_flash = key_file.has_key (_I4UC_PROGRAMMER, "verify_flash_command");74 this.can_erase_flash = key_file.has_key (_I4UC_PROGRAMMER, "erase_flash_command");75 this.can_write_fuses = key_file.has_key (_I4UC_PROGRAMMER, "write_fuses_command");76 this.can_read_fuses = key_file.has_key (_I4UC_PROGRAMMER, "read_fuses_command");77 this.can_get_version = key_file.has_key (_I4UC_PROGRAMMER, "get_version_command");78 79 if (_can_write_flash)80 this.write_flash_command = key_file.get_string (_I4UC_PROGRAMMER, "write_flash_command");81 if (_can_read_flash)82 this.read_flash_command = key_file.get_string (_I4UC_PROGRAMMER, "read_flash_command");83 if (_can_verify_flash)84 this.verify_flash_command = key_file.get_string (_I4UC_PROGRAMMER, "verify_flash_command");85 if (_can_erase_flash)86 this.erase_flash_command = key_file.get_string (_I4UC_PROGRAMMER, "erase_flash_command");87 if (_can_write_fuses)88 this.write_fuses_command = key_file.get_string (_I4UC_PROGRAMMER, "write_fuses_command");89 if (_can_read_fuses)90 this.read_fuses_command = key_file.get_string (_I4UC_PROGRAMMER, "read_fuses_command");91 if (_can_get_version)92 this.get_version_command = key_file.get_string (_I4UC_PROGRAMMER, "get_version_command");93 94 _devices.clear ();95 foreach (var device in key_file.get_string_list (_I4UC_PROGRAMMER, "devices"))96 _devices.add (device);97 98 _firmware_types.clear ();99 if (key_file.has_key (_I4UC_PROGRAMMER, "firmware_types"))100 foreach (var firmware_type in key_file.get_string_list (_I4UC_PROGRAMMER, "firmware_types"))101 _firmware_types.add (firmware_type);102 }103 104 public void save (string? uri = null) throws GLib.Error, GLib.FileError105 {106 var key_file = new KeyFile ();107 108 key_file.set_string (_I4UC_PROGRAMMER, "id", _id);109 key_file.set_boolean (_I4UC_PROGRAMMER, "has_serial_port", _has_serial_port);110 key_file.set_boolean (_I4UC_PROGRAMMER, "has_baud_rate", _has_baud_rate);111 key_file.set_boolean (_I4UC_PROGRAMMER, "has_devices_file", _has_devices_file);112 key_file.set_boolean (_I4UC_PROGRAMMER, "has_devices_folder", _has_devices_folder);113 key_file.set_boolean (_I4UC_PROGRAMMER, "has_clock", _has_clock);114 115 if (_can_write_flash)116 key_file.set_string (_I4UC_PROGRAMMER, "write_flash_command", _write_flash_command);117 if (_can_read_flash)118 key_file.set_string (_I4UC_PROGRAMMER, "read_flash_command", _read_flash_command);119 if (_can_verify_flash)120 key_file.set_string (_I4UC_PROGRAMMER, "verify_flash_command", _verify_flash_command);121 if (_can_erase_flash)122 key_file.set_string (_I4UC_PROGRAMMER, "erase_flash_command", _erase_flash_command);123 if (_can_write_fuses)124 key_file.set_string (_I4UC_PROGRAMMER, "write_fuses_command", _write_fuses_command);125 if (_can_read_fuses)126 key_file.set_string (_I4UC_PROGRAMMER, "read_fuses_command", _read_fuses_command);127 if (_can_get_version)128 key_file.set_string (_I4UC_PROGRAMMER, "get_version_command", _get_version_command);129 130 key_file.set_string_list (_I4UC_PROGRAMMER, "devices", _devices.to_array ());131 key_file.set_string_list (_I4UC_PROGRAMMER, "firmware_types", _firmware_types.to_array ());132 133 _programmer_file.save_contents (key_file.to_data (null), uri);134 }135 136 54 public bool is_valid_firmware_type (string filename) 137 55 { -
libi4uccore/programmerslogic.vala
r134a360 r704dd17 54 54 //Load programmers 55 55 foreach (var programmer in _app.programmers.values) 56 _view.page.add_programmer (programmer. id);56 _view.page.add_programmer (programmer.name); 57 57 if (_app.settings.programmer in _app.programmers.keys) 58 58 _view.page.current_programmer = _app.settings.programmer; … … 130 130 _current_programmer = _app.programmers[_view.page.current_programmer]; 131 131 132 if (_app.settings.programmer != _current_programmer. id)133 _app.settings.programmer = _current_programmer. id;132 if (_app.settings.programmer != _current_programmer.name) 133 _app.settings.programmer = _current_programmer.name; 134 134 135 135 var working_folder = _app.settings.working_folder; 136 136 137 137 //Load devices file if the programmer has devices file 138 var has_devices_file_key = _app.settings.devices_files.has_key (_current_programmer. id);138 var has_devices_file_key = _app.settings.devices_files.has_key (_current_programmer.name); 139 139 if (_current_programmer.has_devices_file) 140 _view.page.current_devices_file = has_devices_file_key ? _app.settings.devices_files[_current_programmer. id] : working_folder;140 _view.page.current_devices_file = has_devices_file_key ? _app.settings.devices_files[_current_programmer.name] : working_folder; 141 141 142 142 //Load devices folder if the programmer has devices folder 143 var has_devices_folder_key = _app.settings.devices_folders.has_key (_current_programmer. id);143 var has_devices_folder_key = _app.settings.devices_folders.has_key (_current_programmer.name); 144 144 if (_current_programmer.has_devices_folder) 145 _view.page.current_devices_folder = has_devices_folder_key ? _app.settings.devices_folders[_current_programmer. id] : working_folder;145 _view.page.current_devices_folder = has_devices_folder_key ? _app.settings.devices_folders[_current_programmer.name] : working_folder; 146 146 147 147 //Load clock if the programmer has clock 148 var has_clock_key = _app.settings.clocks.has_key (_current_programmer. id);148 var has_clock_key = _app.settings.clocks.has_key (_current_programmer.name); 149 149 if (_current_programmer.has_clock) 150 _view.page.current_clock = has_clock_key ? _app.settings.clocks[_current_programmer. id] : "";150 _view.page.current_clock = has_clock_key ? _app.settings.clocks[_current_programmer.name] : ""; 151 151 152 152 //Load devices list … … 154 154 foreach (var device in _current_programmer.devices) 155 155 _view.page.add_device (device); 156 var has_device_key = _app.settings.devices.has_key (_current_programmer. id);156 var has_device_key = _app.settings.devices.has_key (_current_programmer.name); 157 157 if (has_device_key) 158 _view.page.current_device = _app.settings.devices[_current_programmer. id];158 _view.page.current_device = _app.settings.devices[_current_programmer.name]; 159 159 160 160 //Load fuses if the programmer can write fuses 161 var can_write_fuses_key = _app.settings.fuses.has_key (_current_programmer. id);161 var can_write_fuses_key = _app.settings.fuses.has_key (_current_programmer.name); 162 162 if (_current_programmer.can_write_fuses) 163 _view.page.current_fuses = can_write_fuses_key ? _app.settings.fuses[_current_programmer. id] : "";163 _view.page.current_fuses = can_write_fuses_key ? _app.settings.fuses[_current_programmer.name] : ""; 164 164 165 165 _view.page.serial_port_visible = _current_programmer.has_serial_port; … … 222 222 var current_devices_file = _view.page.current_devices_file; 223 223 224 if (_app.settings.devices_files[_current_programmer. id] != current_devices_file)225 _app.settings.devices_files[_current_programmer. id] = current_devices_file;224 if (_app.settings.devices_files[_current_programmer.name] != current_devices_file) 225 _app.settings.devices_files[_current_programmer.name] = current_devices_file; 226 226 227 227 enable_actions (); … … 237 237 var current_devices_folder = _view.page.current_devices_folder; 238 238 239 if (_app.settings.devices_folders[_current_programmer. id] != current_devices_folder)240 _app.settings.devices_folders[_current_programmer. id] = current_devices_folder;239 if (_app.settings.devices_folders[_current_programmer.name] != current_devices_folder) 240 _app.settings.devices_folders[_current_programmer.name] = current_devices_folder; 241 241 242 242 enable_actions (); … … 252 252 var current_clock = _view.page.current_clock; 253 253 254 if (_app.settings.clocks[_current_programmer. id] != current_clock)255 _app.settings.clocks[_current_programmer. id] = current_clock;254 if (_app.settings.clocks[_current_programmer.name] != current_clock) 255 _app.settings.clocks[_current_programmer.name] = current_clock; 256 256 257 257 enable_actions (); … … 267 267 var current_device = _view.page.current_device; 268 268 269 if (current_device != null && _app.settings.devices[_current_programmer. id] != current_device)270 _app.settings.devices[_current_programmer. id] = current_device;269 if (current_device != null && _app.settings.devices[_current_programmer.name] != current_device) 270 _app.settings.devices[_current_programmer.name] = current_device; 271 271 272 272 enable_actions (); … … 282 282 var current_fuses = _view.page.current_fuses; 283 283 284 if (_app.settings.fuses[_current_programmer. id] != current_fuses)285 _app.settings.fuses[_current_programmer. id] = current_fuses;284 if (_app.settings.fuses[_current_programmer.name] != current_fuses) 285 _app.settings.fuses[_current_programmer.name] = current_fuses; 286 286 287 287 enable_actions ();
Note: See TracChangeset
for help on using the changeset viewer.

