Lines Matching full:remote
40 print("{}:remote {}: warning: {}".format(self.filename, self.lineno, msg), file=sys.stderr)
43 print("{}:remote {}: error: {}".format(self.filename, self.lineno, msg), file=sys.stderr)
58 if a[0] != 'begin' or a[1] != 'remote':
59 self.warning("expected 'begin remote', got '{} {}'".format(a[0], a[1]))
65 remote = self.read_remote()
66 if remote == None:
69 remotes.append(remote)
74 remote = {}
87 remote[a[0]] = line.split(maxsplit=2)[1]
93 remote[ 'flags' ] = flags
99 remote['codes'] = codes
104 remote['raw_codes'] = codes
108 return remote
116 remote[k] = vals
210 def __init__(self, filename, remote): argument
212 self.remote = remote
215 name = self.remote['name']
216 print("{}:remote {}: error: {}".format(self.filename, name, msg), file=sys.stderr)
219 name = self.remote['name']
220 print("{}:remote {}: warning: {}".format(self.filename, name, msg), file=sys.stderr)
223 if 'driver' in self.remote:
224 self.error("remote definition is for specific driver")
227 if 'flags' not in self.remote:
231 flags = self.remote['flags']
244 self.error('Cannot convert remote with flags: {}'.format('|'.join(flags)))
249 if 'one' not in self.remote or 'zero' not in self.remote:
259 res['name'] = self.remote['name']
261 if 'bits' not in self.remote:
265 bits = int(self.remote['bits'][0])
267 if 'footer' in self.remote:
270 if 'ptrail' in self.remote:
271 res['params']['trailer_pulse'] = self.remote['ptrail'][0]
273 if 'slead' in self.remote:
276 if 'no_foot_rep' in self.remote['flags']:
279 if 'repeat_header' in self.remote['flags']:
282 if 'no_head_rep' in self.remote['flags']:
285 if 'reverse' in self.remote['flags']:
288 if 'header' in self.remote and self.remote['header'][0]:
289 res['params']['header_pulse'] = self.remote['header'][0]
290 res['params']['header_space'] = self.remote['header'][1]
292 if 'repeat' in self.remote and self.remote['repeat'][0]:
293 res['params']['repeat_pulse'] = self.remote['repeat'][0]
294 res['params']['repeat_space'] = self.remote['repeat'][1]
297 if 'post_data_bits' in self.remote:
298 post_data_bits = self.remote['post_data_bits'][0]
301 if 'pre_data_bits' in self.remote:
302 pre_data_bits = int(self.remote['pre_data_bits'][0])
303 if 'pre_data' in self.remote:
304 pre_data = self.remote['pre_data'][0] << (bits + post_data_bits)
308 if 'post_data' in self.remote:
309 pre_data |= self.remote['post_data'][0]
313 if eq_margin(self.remote['zero'][0], self.remote['one'][0], 100):
314 res['params']['bit_pulse'] = int(self.remote['zero'][0])
315 res['params']['bit_1_space'] = int(self.remote['one'][1])
316 res['params']['bit_0_space'] = int(self.remote['zero'][1])
317 elif eq_margin(self.remote['zero'][1], self.remote['one'][1], 100):
318 res['params']['bit_space'] = int(self.remote['zero'][1])
319 res['params']['bit_1_pulse'] = int(self.remote['one'][0])
320 res['params']['bit_0_pulse'] = int(self.remote['zero'][0])
343 self.warning('remote looks exactly like NEC, converting')
349 for s in self.remote['codes']:
357 res['scancodes'][n] = self.remote['codes'][s]
377 self.warning('remote looks exactly like NEC, converting')
385 for s in self.remote['codes']:
393 res['scancodes'][n] = self.remote['codes'][s]
398 for s in self.remote['codes']:
400 res['scancodes'][p] = self.remote['codes'][s]
411 res['name'] = self.remote['name']
413 if 'bits' not in self.remote:
417 bits = int(self.remote['bits'][0])
420 if 'toggle_bit_mask' in self.remote:
421 toggle_bit = ffs(int(self.remote['toggle_bit_mask'][0]))
422 if 'toggle_bit' in self.remote:
423 toggle_bit = bits - int(self.remote['toggle_bit'][0])
425 if 'codes' not in self.remote or len(self.remote['codes']) == 0:
429 if 'pre_data_bits' in self.remote:
430 pre_data_bits = int(self.remote['pre_data_bits'][0])
431 pre_data = int(self.remote['pre_data'][0]) << bits
433 for s in self.remote['codes']:
434 res['scancodes'][s|pre_data] = self.remote['codes'][s]
436 res['scancodes'] = self.remote['codes']
453 res['name'] = self.remote['name']
455 if 'codes' not in self.remote or len(self.remote['codes']) == 0:
459 bits = int(self.remote['bits'][0])
462 if 'pre_data_bits' in self.remote:
463 pre_data_bits = int(self.remote['pre_data_bits'][0])
464 pre_data = int(self.remote['pre_data'][0]) << bits
468 if 'toggle_bit_mask' in self.remote:
469 toggle_bit = ffs(int(self.remote['toggle_bit_mask'][0]))
470 if 'toggle_bit' in self.remote:
471 toggle_bit = bits - int(self.remote['toggle_bit'][0])
484 for s in self.remote['codes']:
490 res['scancodes'][d] = self.remote['codes'][s]
506 if 'one' not in self.remote or 'zero' not in self.remote:
516 res['name'] = self.remote['name']
518 if 'header' in self.remote and self.remote['header'][0]:
519 res['params']['header_pulse'] = self.remote['header'][0]
520 res['params']['header_space'] = self.remote['header'][1]
522 if 'codes' not in self.remote or len(self.remote['codes']) == 0:
526 bits = int(self.remote['bits'][0])
529 if 'pre_data_bits' in self.remote:
530 pre_data_bits = int(self.remote['pre_data_bits'][0])
531 pre_data = int(self.remote['pre_data'][0]) << bits
535 if 'toggle_bit_mask' in self.remote:
536 toggle_bit = ffs(int(self.remote['toggle_bit_mask'][0]))
537 if 'toggle_bit' in self.remote:
538 toggle_bit = bits - int(self.remote['toggle_bit'][0])
540 if 'plead' in self.remote:
541 plead = self.remote['plead'][0]
542 one_pulse = self.remote['one'][0]
543 zero_pulse = self.remote['zero'][0]
555 res['params']['zero_pulse'] = int(self.remote['zero'][0])
556 res['params']['zero_space'] = int(self.remote['zero'][1])
557 res['params']['one_pulse'] = int(self.remote['one'][0])
558 res['params']['one_space'] = int(self.remote['one'][1])
571 self.warning('remote looks exactly like regular RC-5, converting')
575 for s in self.remote['codes']:
578 newcodes[n] = self.remote['codes'][s]
581 for s in self.remote['codes']:
582 res['scancodes'][s|pre_data] = self.remote['codes'][s]
590 'raw': self.remote['raw_codes'],
591 'name': self.remote['name']
599 def writeTOMLFile(fh, remote): argument
601 print('name = {}'.format(escapeString(remote['name'])), file=fh)
602 print('protocol = {}'.format(escapeString(remote['protocol'])), file=fh)
603 for p in remote['params']:
604 print('{} = {}'.format(p, remote['params'][p]), file=fh)
606 if 'scancodes' in remote:
610 for c in remote['scancodes']:
615 for c in remote['scancodes']:
616 … print('{:#0{width}x} = {}'.format(c, escapeString(remote['scancodes'][c]), width=width), file=fh)
618 elif 'raw' in remote:
619 for raw in remote['raw']:
636 This program atempts to convert a lircd.conf remote definition to a
656 for remote in remotes:
657 if 'name' not in remote:
658 remote['name'] = 'remote_{}'.format(remoteNo)
660 lircRemote = Converter(args.input, remote)