Lines Matching refs:self

49     def __call__(self, parser, namespace, values, option_string=None):  argument
50 setattr(namespace, self.dest, not option_string.startswith('--no-'))
54 def __init__(self, cfg, dev_id, can_context=DEFAULT_CAN_CONTEXT, argument
65 self.dev_id = dev_id # Only use for error checking in do_run()
66 self.bin_file = cfg.bin_file
67 self.confirm = confirm
68 self.confirm_only = confirm_only
69 self.timeout = timeout
70 self.downloader = CANopenProgramDownloader(logger=self.logger,
137 def do_run(self, command, **kwargs): argument
138 if not self.dev_id:
142 self.flash(**kwargs)
144 def flash(self, **kwargs): argument
146 self.ensure_output('bin')
147 self.logger.info('Using Node ID %d, program number %d',
148 self.downloader.node_id,
149 self.downloader.program_number)
151 self.downloader.connect()
152 status = self.downloader.wait_for_flash_status_ok(self.timeout)
154 self.downloader.swid()
156 self.logger.warning(f'Flash status 0x{status:02x}, '
159 self.downloader.enter_pre_operational()
161 if self.confirm_only:
162 self.downloader.zephyr_confirm_program()
163 self.downloader.disconnect()
166 if self.bin_file is None:
169 self.downloader.stop_program()
170 self.downloader.clear_program()
171 self.downloader.wait_for_flash_status_ok(self.timeout)
172 self.downloader.download(self.bin_file)
174 status = self.downloader.wait_for_flash_status_ok(self.timeout)
179 self.downloader.swid()
180 self.downloader.start_program()
181 self.downloader.wait_for_bootup(self.timeout)
182 self.downloader.swid()
184 if self.confirm:
185 self.downloader.enter_pre_operational()
186 self.downloader.zephyr_confirm_program()
188 self.downloader.disconnect()
192 def __init__(self, logger, node_id, can_context=DEFAULT_CAN_CONTEXT, argument
197 self.logger = logger
198 self.node_id = node_id
199 self.can_context = can_context
200 self.program_number = program_number
201 self.network = canopen.Network()
202 self.node = self.network.add_node(self.node_id,
203 self.create_object_dictionary())
204 self.data_sdo = self.node.sdo[H1F50_PROGRAM_DATA][self.program_number]
205 self.ctrl_sdo = self.node.sdo[H1F51_PROGRAM_CTRL][self.program_number]
206 self.swid_sdo = self.node.sdo[H1F56_PROGRAM_SWID][self.program_number]
207 self.flash_sdo = self.node.sdo[H1F57_FLASH_STATUS][self.program_number]
208 self.download_buffer_size = download_buffer_size
210 self.node.sdo.MAX_RETRIES = sdo_retries
211 self.node.sdo.RESPONSE_TIMEOUT = sdo_timeout
213 self.block_transfer = block_transfer
215 def connect(self): argument
218 self.network.connect(context=self.can_context)
222 def disconnect(self): argument
224 self.network.disconnect()
226 def enter_pre_operational(self): argument
228 self.logger.info("Entering pre-operational mode")
230 self.node.nmt.state = 'PRE-OPERATIONAL'
234 def _ctrl_program(self, cmd): argument
237 self.ctrl_sdo.raw = cmd
241 def stop_program(self): argument
243 self.logger.info('Stopping program')
244 self._ctrl_program(PROGRAM_CTRL_STOP)
246 def start_program(self): argument
248 self.logger.info('Starting program')
249 self._ctrl_program(PROGRAM_CTRL_START)
251 def clear_program(self): argument
253 self.logger.info('Clearing program')
254 self._ctrl_program(PROGRAM_CTRL_CLEAR)
256 def zephyr_confirm_program(self): argument
258 self.logger.info('Confirming program')
259 self._ctrl_program(PROGRAM_CTRL_ZEPHYR_CONFIRM)
261 def swid(self): argument
264 swid = self.swid_sdo.raw
267 self.logger.info(f'Program software identification: 0x{swid:08x}')
270 def flash_status(self): argument
273 status = self.flash_sdo.raw
278 def download(self, bin_file): argument
280 self.logger.info('Downloading program: %s', bin_file)
284 outfile = self.data_sdo.open('wb', buffering=self.download_buffer_size,
285 size=size, block_transfer=self.block_transfer)
289 chunk = infile.read(self.download_buffer_size // 2)
301 def wait_for_bootup(self, timeout=DEFAULT_TIMEOUT): argument
303 self.logger.info('Waiting for boot-up message...')
305 self.node.nmt.wait_for_bootup(timeout=timeout)
309 def wait_for_flash_status_ok(self, timeout=DEFAULT_TIMEOUT): argument
311 self.logger.info('Waiting for flash status ok')
315 status = self.flash_status()