| ofs | hex dump | ascii |
|---|
| 0000 | cb 0d 0d 0a 00 00 00 00 61 3b e8 69 7f 11 00 00 e3 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 | ........a;.i.................... |
| 0020 | 00 00 00 00 01 f3 56 00 00 00 97 00 64 00 5a 00 64 01 64 02 6c 01 6d 02 5a 02 01 00 64 01 64 03 | ......V.....d.Z.d.d.l.m.Z...d.d. |
| 0040 | 6c 03 5a 03 64 01 64 04 6c 04 6d 05 5a 05 6d 06 5a 06 6d 07 5a 07 6d 08 5a 08 01 00 02 00 47 00 | l.Z.d.d.l.m.Z.m.Z.m.Z.m.Z.....G. |
| 0060 | 64 05 84 00 64 06 ab 02 00 00 00 00 00 00 5a 09 02 00 65 09 ab 00 00 00 00 00 00 00 5a 0a 79 03 | d...d.........Z...e.........Z.y. |
| 0080 | 29 07 75 cb 03 00 00 0a 61 70 69 5f 6c 61 79 65 72 73 2f 70 6f 72 74 5f 72 65 67 69 73 74 72 79 | ).u.....api_layers/port_registry |
| 00a0 | 2e 70 79 0a 0a 50 6f 72 74 52 65 67 69 73 74 72 79 20 e2 80 94 20 65 6e 73 75 72 65 73 20 6f 6e | .py..PortRegistry.....ensures.on |
| 00c0 | 65 20 41 72 64 75 69 6e 6f 4c 61 79 65 72 20 70 65 72 20 70 68 79 73 69 63 61 6c 20 73 65 72 69 | e.ArduinoLayer.per.physical.seri |
| 00e0 | 61 6c 20 70 6f 72 74 2e 0a 0a 50 72 6f 62 6c 65 6d 3a 20 69 66 20 62 6f 74 68 20 61 6e 20 41 6e | al.port...Problem:.if.both.an.An |
| 0100 | 61 6c 6f 67 49 6e 70 75 74 44 65 76 69 63 65 20 61 6e 64 20 61 20 44 69 67 69 74 61 6c 49 4f 44 | alogInputDevice.and.a.DigitalIOD |
| 0120 | 65 76 69 63 65 20 61 72 65 0a 63 6f 6e 66 69 67 75 72 65 64 20 66 6f 72 20 74 68 65 20 73 61 6d | evice.are.configured.for.the.sam |
| 0140 | 65 20 41 72 64 75 69 6e 6f 20 28 2f 64 65 76 2f 74 74 79 55 53 42 30 29 2c 20 74 68 65 79 20 77 | e.Arduino.(/dev/ttyUSB0),.they.w |
| 0160 | 6f 75 6c 64 20 65 61 63 68 0a 63 72 65 61 74 65 20 74 68 65 69 72 20 6f 77 6e 20 41 72 64 75 69 | ould.each.create.their.own.Ardui |
| 0180 | 6e 6f 4c 61 79 65 72 20 61 6e 64 20 62 6f 74 68 20 74 72 79 20 74 6f 20 6f 70 65 6e 20 74 68 65 | noLayer.and.both.try.to.open.the |
| 01a0 | 20 73 61 6d 65 20 73 65 72 69 61 6c 0a 70 6f 72 74 20 e2 86 92 20 22 64 65 76 69 63 65 20 72 65 | .same.serial.port....."device.re |
| 01c0 | 70 6f 72 74 73 20 72 65 61 64 69 6e 65 73 73 20 74 6f 20 72 65 61 64 20 62 75 74 20 72 65 74 75 | ports.readiness.to.read.but.retu |
| 01e0 | 72 6e 65 64 20 6e 6f 20 64 61 74 61 22 2e 0a 0a 53 6f 6c 75 74 69 6f 6e 3a 20 61 6c 6c 20 64 65 | rned.no.data"...Solution:.all.de |
| 0200 | 76 69 63 65 73 20 63 61 6c 6c 20 50 6f 72 74 52 65 67 69 73 74 72 79 2e 67 65 74 5f 6c 61 79 65 | vices.call.PortRegistry.get_laye |
| 0220 | 72 28 70 6f 72 74 2c 20 62 61 75 64 29 20 69 6e 73 74 65 61 64 0a 6f 66 20 63 6f 6e 73 74 72 75 | r(port,.baud).instead.of.constru |
| 0240 | 63 74 69 6e 67 20 41 72 64 75 69 6e 6f 4c 61 79 65 72 20 64 69 72 65 63 74 6c 79 2e 20 20 54 68 | cting.ArduinoLayer.directly...Th |
| 0260 | 65 20 72 65 67 69 73 74 72 79 20 72 65 74 75 72 6e 73 20 61 6e 0a 65 78 69 73 74 69 6e 67 20 6c | e.registry.returns.an.existing.l |
| 0280 | 61 79 65 72 20 69 66 20 6f 6e 65 20 69 73 20 61 6c 72 65 61 64 79 20 6f 70 65 6e 20 6f 6e 20 74 | ayer.if.one.is.already.open.on.t |
| 02a0 | 68 61 74 20 70 6f 72 74 2c 20 6f 72 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 0a 6f 6e 65 2e 20 | hat.port,.or.creates.a.new.one.. |
| 02c0 | 20 41 6c 6c 20 72 65 61 64 73 2f 77 72 69 74 65 73 20 67 6f 20 74 68 72 6f 75 67 68 20 74 68 65 | .All.reads/writes.go.through.the |
| 02e0 | 20 73 69 6e 67 6c 65 20 73 68 61 72 65 64 20 6c 61 79 65 72 2e 0a 0a 54 68 65 20 72 65 67 69 73 | .single.shared.layer...The.regis |
| 0300 | 74 72 79 20 61 6c 73 6f 20 6d 65 72 67 65 73 20 61 6e 61 6c 6f 67 5f 70 69 6e 73 20 61 63 72 6f | try.also.merges.analog_pins.acro |
| 0320 | 73 73 20 64 65 76 69 63 65 73 20 73 6f 20 74 68 65 20 6c 61 79 65 72 0a 63 61 63 68 65 73 20 76 | ss.devices.so.the.layer.caches.v |
| 0340 | 61 6c 75 65 73 20 66 6f 72 20 61 6c 6c 20 63 68 61 6e 6e 65 6c 73 20 6f 6e 20 74 68 65 20 41 72 | alues.for.all.channels.on.the.Ar |
| 0360 | 64 75 69 6e 6f 2e 0a 0a 55 73 61 67 65 20 28 68 61 6e 64 6c 65 64 20 61 75 74 6f 6d 61 74 69 63 | duino...Usage.(handled.automatic |
| 0380 | 61 6c 6c 79 20 62 79 20 41 6e 61 6c 6f 67 49 6e 70 75 74 44 65 76 69 63 65 20 61 6e 64 20 44 69 | ally.by.AnalogInputDevice.and.Di |
| 03a0 | 67 69 74 61 6c 49 4f 44 65 76 69 63 65 29 3a 0a 0a 20 20 20 20 66 72 6f 6d 20 61 70 69 5f 6c 61 | gitalIODevice):......from.api_la |
| 03c0 | 79 65 72 73 2e 70 6f 72 74 5f 72 65 67 69 73 74 72 79 20 69 6d 70 6f 72 74 20 70 6f 72 74 5f 72 | yers.port_registry.import.port_r |
| 03e0 | 65 67 69 73 74 72 79 0a 20 20 20 20 6c 61 79 65 72 20 3d 20 70 6f 72 74 5f 72 65 67 69 73 74 72 | egistry.....layer.=.port_registr |
| 0400 | 79 2e 67 65 74 5f 6c 61 79 65 72 28 22 2f 64 65 76 2f 74 74 79 55 53 42 30 22 2c 20 31 31 35 32 | y.get_layer("/dev/ttyUSB0",.1152 |
| 0420 | 30 30 2c 20 73 69 6d 75 6c 61 74 65 3d 46 61 6c 73 65 29 0a 20 20 20 20 6c 61 79 65 72 2e 63 6f | 00,.simulate=False).....layer.co |
| 0440 | 6e 6e 65 63 74 5f 69 66 5f 6e 65 65 64 65 64 28 29 0a e9 00 00 00 00 29 01 da 0b 61 6e 6e 6f 74 | nnect_if_needed()......)...annot |
| 0460 | 61 74 69 6f 6e 73 4e 29 04 da 04 44 69 63 74 da 04 4c 69 73 74 da 08 4f 70 74 69 6f 6e 61 6c da | ationsN)...Dict..List..Optional. |
| 0480 | 05 54 75 70 6c 65 63 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 01 f3 4c 00 00 00 | .Tuplec.....................L... |
| 04a0 | 97 00 65 00 5a 01 64 00 5a 02 64 01 5a 03 64 02 84 00 5a 04 09 00 09 00 64 09 09 00 09 00 09 00 | ..e.Z.d.Z.d.Z.d...Z.....d....... |
| 04c0 | 09 00 09 00 64 0a 64 04 84 05 5a 05 64 0b 64 05 84 04 5a 06 64 0c 64 06 84 04 5a 07 64 07 84 00 | ....d.d...Z.d.d...Z.d.d...Z.d... |
| 04e0 | 5a 08 64 0c 64 08 84 04 5a 09 79 03 29 0d da 0c 50 6f 72 74 52 65 67 69 73 74 72 79 7a 84 0a 20 | Z.d.d...Z.y.)...PortRegistryz... |
| 0500 | 20 20 20 47 6c 6f 62 61 6c 20 72 65 67 69 73 74 72 79 20 6f 66 20 73 68 61 72 65 64 20 41 72 64 | ...Global.registry.of.shared.Ard |
| 0520 | 75 69 6e 6f 4c 61 79 65 72 20 69 6e 73 74 61 6e 63 65 73 2e 0a 20 20 20 20 54 68 72 65 61 64 2d | uinoLayer.instances......Thread- |
| 0540 | 73 61 66 65 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 63 65 73 73 65 64 20 76 69 61 20 74 68 65 20 | safe.singleton.accessed.via.the. |
| 0560 | 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 60 70 6f 72 74 5f 72 65 67 69 73 74 72 79 60 2e 0a 20 20 | module-level.`port_registry`.... |
| 0580 | 20 20 63 01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 03 00 00 01 f3 52 00 00 00 97 00 74 01 | ..c.....................R.....t. |
| 05a0 | 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 | ........j....................... |
| 05c0 | 00 00 00 00 7c 00 5f 02 00 00 00 00 00 00 00 00 69 00 7c 00 5f 03 00 00 00 00 00 00 00 00 69 00 | ....|._.........i.|._.........i. |
| 05e0 | 7c 00 5f 04 00 00 00 00 00 00 00 00 79 00 a9 01 4e 29 05 da 09 74 68 72 65 61 64 69 6e 67 da 04 | |._.........y...N)...threading.. |
| 0600 | 4c 6f 63 6b da 05 5f 6c 6f 63 6b da 07 5f 6c 61 79 65 72 73 da 0b 5f 72 65 66 5f 63 6f 75 6e 74 | Lock.._lock.._layers.._ref_count |
| 0620 | 73 a9 01 da 04 73 65 6c 66 73 01 00 00 00 20 fa 36 2f 68 6f 6d 65 2f 63 68 72 69 73 74 69 61 6e | s....selfs......6/home/christian |
| 0640 | 2f 64 61 71 5f 73 79 73 74 65 6d 2f 61 70 69 5f 6c 61 79 65 72 73 2f 70 6f 72 74 5f 72 65 67 69 | /daq_system/api_layers/port_regi |
| 0660 | 73 74 72 79 2e 70 79 da 08 5f 5f 69 6e 69 74 5f 5f 7a 15 50 6f 72 74 52 65 67 69 73 74 72 79 2e | stry.py..__init__z.PortRegistry. |
| 0680 | 5f 5f 69 6e 69 74 5f 5f 25 00 00 00 73 1f 00 00 00 80 00 dc 3b 44 bf 3e b9 3e d3 3b 4b 88 04 8c | __init__%...s.......;D.>.>.;K... |
| 06a0 | 0a d8 3b 3d 88 04 8c 0c d8 3b 3d 88 04 d5 08 18 f3 00 00 00 00 4e 63 05 00 00 00 00 00 00 00 00 | ..;=.....;=..........Nc......... |
| 06c0 | 00 00 00 06 00 00 00 03 00 00 01 f3 fc 01 00 00 97 00 64 01 64 02 6c 00 6d 01 7d 05 01 00 7c 03 | ..................d.d.l.m.}...|. |
| 06e0 | 72 1f 02 00 7c 05 7c 01 7c 02 64 03 ac 04 ab 03 00 00 00 00 00 00 7d 06 7c 04 72 10 74 05 00 00 | r...|.|.|.d...........}.|.r.t... |
| 0700 | 00 00 00 00 00 00 7c 04 ab 01 00 00 00 00 00 00 7c 06 5f 03 00 00 00 00 00 00 00 00 7c 06 53 00 | ......|.........|._.........|.S. |
| 0720 | 7c 01 7c 02 66 02 7d 07 7c 00 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 00 | |.|.f.}.|.j...................5. |
| 0740 | 01 00 7c 07 7c 00 6a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 01 72 3c 02 00 | ..|.|.j...................v.r<.. |
| 0760 | 7c 05 7c 01 7c 02 64 05 ac 04 ab 03 00 00 00 00 00 00 7d 06 7c 04 72 10 74 05 00 00 00 00 00 00 | |.|.|.d...........}.|.r.t....... |
| 0780 | 00 00 7c 04 ab 01 00 00 00 00 00 00 7c 06 5f 03 00 00 00 00 00 00 00 00 7c 06 7c 00 6a 0a 00 00 | ..|.........|._.........|.|.j... |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 07 3c 00 00 00 64 01 7c 00 6a 0c 00 00 00 00 | ................|.<...d.|.j..... |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 07 3c 00 00 00 6e 4d 7c 00 6a 0a 00 00 00 00 00 00 | ..............|.<...nM|.j....... |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 7c 07 19 00 00 00 7d 06 7c 04 72 3c 74 0f 00 00 00 00 00 00 | ............|.....}.|.r<t....... |
| 0800 | 00 00 7c 06 6a 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 | ..|.j........................... |
| 0820 | 7d 08 7c 04 44 00 5d 22 00 00 7d 09 7c 09 7c 08 76 01 73 01 8c 08 7c 06 6a 06 00 00 00 00 00 00 | }.|.D.]"..}.|.|.v.s...|.j....... |
| 0840 | 00 00 00 00 00 00 00 00 00 00 00 00 6a 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............j................... |
| 0860 | 7c 09 ab 01 00 00 00 00 00 00 01 00 8c 24 04 00 7c 00 6a 0c 00 00 00 00 00 00 00 00 00 00 00 00 | |............$..|.j............. |
| 0880 | 00 00 00 00 00 00 7c 07 78 02 78 02 19 00 00 00 64 06 7a 0d 00 00 63 03 63 02 3c 00 00 00 7c 06 | ......|.x.x.....d.z...c.c.<...|. |
| 08a0 | 63 02 64 07 64 07 64 07 ab 02 00 00 00 00 00 00 01 00 53 00 23 00 31 00 73 01 77 02 01 00 59 00 | c.d.d.d...........S.#.1.s.w...Y. |
| 08c0 | 01 00 01 00 79 07 78 03 59 00 77 01 29 08 7a f9 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 20 | ....y.x.Y.w.).z..........Return. |
| 08e0 | 61 20 73 68 61 72 65 64 20 41 72 64 75 69 6e 6f 4c 61 79 65 72 20 66 6f 72 20 28 70 6f 72 74 2c | a.shared.ArduinoLayer.for.(port, |
| 0900 | 20 62 61 75 64 29 2e 0a 20 20 20 20 20 20 20 20 43 72 65 61 74 65 73 20 6f 6e 65 20 69 66 20 69 | .baud)..........Creates.one.if.i |
| 0920 | 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 79 65 74 2e 0a 20 20 20 20 20 20 20 20 49 66 20 | t.doesn't.exist.yet..........If. |
| 0940 | 73 69 6d 75 6c 61 74 65 3d 54 72 75 65 2c 20 61 20 73 69 6d 75 6c 61 74 69 6f 6e 20 6c 61 79 65 | simulate=True,.a.simulation.laye |
| 0960 | 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 28 61 6c 77 61 79 73 20 73 65 70 61 72 61 74 65 2c 0a | r.is.returned.(always.separate,. |
| 0980 | 20 20 20 20 20 20 20 20 73 6f 20 73 69 6d 75 6c 61 74 65 64 20 64 65 76 69 63 65 73 20 64 6f 6e | ........so.simulated.devices.don |
| 09a0 | 27 74 20 73 68 61 72 65 20 73 74 61 74 65 20 77 69 74 68 20 65 61 63 68 20 6f 74 68 65 72 29 2e | 't.share.state.with.each.other). |
| 09c0 | 0a 20 20 20 20 20 20 20 20 72 02 00 00 00 29 01 da 0c 41 72 64 75 69 6e 6f 4c 61 79 65 72 54 29 | .........r....)...ArduinoLayerT) |
| 09e0 | 03 da 04 70 6f 72 74 da 04 62 61 75 64 da 08 73 69 6d 75 6c 61 74 65 46 e9 01 00 00 00 4e 29 09 | ...port..baud..simulateF.....N). |
| 0a00 | da 18 61 70 69 5f 6c 61 79 65 72 73 2e 61 72 64 75 69 6e 6f 5f 6c 61 79 65 72 72 17 00 00 00 da | ..api_layers.arduino_layerr..... |
| 0a20 | 04 6c 69 73 74 da 0b 61 6e 61 6c 6f 67 5f 70 69 6e 73 72 0e 00 00 00 72 0f 00 00 00 72 10 00 00 | .list..analog_pinsr....r....r... |
| 0a40 | 00 da 03 73 65 74 da 06 61 70 70 65 6e 64 29 0a 72 12 00 00 00 72 18 00 00 00 72 19 00 00 00 72 | ...set..append).r....r....r....r |
| 0a60 | 1a 00 00 00 da 0a 65 78 74 72 61 5f 70 69 6e 73 72 17 00 00 00 da 05 6c 61 79 65 72 da 03 6b 65 | ......extra_pinsr......layer..ke |
| 0a80 | 79 da 08 65 78 69 73 74 69 6e 67 da 01 70 73 0a 00 00 00 20 20 20 20 20 20 20 20 20 20 72 13 00 | y..existing..ps..............r.. |
| 0aa0 | 00 00 da 09 67 65 74 5f 6c 61 79 65 72 7a 16 50 6f 72 74 52 65 67 69 73 74 72 79 2e 67 65 74 5f | ....get_layerz.PortRegistry.get_ |
| 0ac0 | 6c 61 79 65 72 2a 00 00 00 73 01 01 00 00 80 00 f5 12 00 09 3a e1 0b 13 e1 14 20 a0 64 b0 14 c0 | layer*...s..........:.......d... |
| 0ae0 | 04 d4 14 45 88 45 d9 0f 19 dc 24 28 a8 1a d3 24 34 90 05 d4 10 21 d8 13 18 88 4c e0 0f 13 90 54 | ...E.E....$(...$4....!....L....T |
| 0b00 | 88 6c 88 03 d8 0d 11 8f 5a 89 5a f1 00 10 09 19 d8 0f 12 98 24 9f 2c 99 2c d1 0f 26 d9 18 24 a8 | .l......Z.Z.........$.,.,..&..$. |
| 0b20 | 24 b0 54 c0 45 d4 18 4a 90 05 d9 13 1d dc 28 2c a8 5a d3 28 38 90 45 d4 14 25 d8 24 29 90 04 97 | $.T.E..J......(,.Z.(8.E..%.$)... |
| 0b40 | 0c 91 0c 98 53 d1 10 21 d8 28 29 90 04 d7 10 20 d1 10 20 a0 13 d2 10 25 e0 18 1c 9f 0c 99 0c a0 | ....S..!.()............%........ |
| 0b60 | 53 d1 18 29 90 05 e1 13 1d dc 1f 22 a0 35 d7 23 34 d1 23 34 d3 1f 35 90 48 d8 1d 27 f2 00 02 15 | S..).......".5.#4.#4..5.H..'.... |
| 0b80 | 38 98 01 d8 1b 1c a0 48 d2 1b 2c d8 1c 21 d7 1c 2d d1 1c 2d d7 1c 34 d1 1c 34 b0 51 d5 1c 37 f0 | 8......H..,..!..-..-..4..4.Q..7. |
| 0ba0 | 05 02 15 38 f0 06 00 0d 11 d7 0c 1c d1 0c 1c 98 53 d3 0c 21 a0 51 d1 0c 26 d3 0c 21 d8 13 18 f7 | ...8............S..!.Q..&..!.... |
| 0bc0 | 21 10 09 19 f7 00 10 09 19 f2 00 10 09 19 fa 73 12 00 00 00 b8 41 3a 43 32 03 c2 33 35 43 32 03 | !..............s.....A:C2..35C2. |
| 0be0 | c3 32 05 43 3b 07 63 03 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 01 f3 84 01 00 00 | .2.C;.c......................... |
| 0c00 | 97 00 7c 01 7c 02 66 02 7d 03 7c 00 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..|.|.f.}.|.j................... |
| 0c20 | 35 00 01 00 7c 03 7c 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 01 72 0a | 5...|.|.j...................v.r. |
| 0c40 | 09 00 64 01 64 01 64 01 ab 02 00 00 00 00 00 00 01 00 79 01 7c 00 6a 02 00 00 00 00 00 00 00 00 | ..d.d.d...........y.|.j......... |
| 0c60 | 00 00 00 00 00 00 00 00 00 00 7c 03 78 02 78 02 19 00 00 00 64 02 7a 17 00 00 63 03 63 02 3c 00 | ..........|.x.x.....d.z...c.c.<. |
| 0c80 | 00 00 7c 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 03 19 00 00 00 64 03 | ..|.j...................|.....d. |
| 0ca0 | 6b 1a 00 00 72 4b 7c 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 07 00 00 | k...rK|.j...................j... |
| 0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 03 64 01 ab 02 00 00 00 00 00 00 7d 04 7c 00 | ................|.d.........}.|. |
| 0ce0 | 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 07 00 00 00 00 00 00 00 00 00 00 | j...................j........... |
| 0d00 | 00 00 00 00 00 00 00 00 7c 03 64 01 ab 02 00 00 00 00 00 00 01 00 7c 04 72 11 09 00 7c 04 6a 09 | ........|.d...........|.r...|.j. |
| 0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 01 00 64 01 64 01 | ............................d.d. |
| 0d40 | 64 01 ab 02 00 00 00 00 00 00 01 00 79 01 23 00 74 0a 00 00 00 00 00 00 00 00 24 00 72 03 01 00 | d...........y.#.t.........$.r... |
| 0d60 | 59 00 8c 14 77 00 78 03 59 00 77 01 23 00 31 00 73 01 77 02 01 00 59 00 01 00 01 00 79 01 78 03 | Y...w.x.Y.w.#.1.s.w...Y.....y.x. |
| 0d80 | 59 00 77 01 29 04 7a 83 0a 20 20 20 20 20 20 20 20 44 65 63 72 65 6d 65 6e 74 20 72 65 66 20 63 | Y.w.).z..........Decrement.ref.c |
| 0da0 | 6f 75 6e 74 20 66 6f 72 20 61 20 70 6f 72 74 2e 20 20 44 69 73 63 6f 6e 6e 65 63 74 73 20 61 6e | ount.for.a.port...Disconnects.an |
| 0dc0 | 64 20 72 65 6d 6f 76 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 6c 61 79 65 72 20 77 68 65 6e | d.removes.the.........layer.when |
| 0de0 | 20 6e 6f 20 64 65 76 69 63 65 73 20 61 72 65 20 75 73 69 6e 67 20 69 74 20 61 6e 79 20 6d 6f 72 | .no.devices.are.using.it.any.mor |
| 0e00 | 65 2e 0a 20 20 20 20 20 20 20 20 4e 72 1b 00 00 00 72 02 00 00 00 29 06 72 0e 00 00 00 72 10 00 | e..........Nr....r....).r....r.. |
| 0e20 | 00 00 72 0f 00 00 00 da 03 70 6f 70 da 0a 64 69 73 63 6f 6e 6e 65 63 74 da 09 45 78 63 65 70 74 | ..r......pop..disconnect..Except |
| 0e40 | 69 6f 6e 29 05 72 12 00 00 00 72 18 00 00 00 72 19 00 00 00 72 23 00 00 00 72 22 00 00 00 73 05 | ion).r....r....r....r#...r"...s. |
| 0e60 | 00 00 00 20 20 20 20 20 72 13 00 00 00 da 07 72 65 6c 65 61 73 65 7a 14 50 6f 72 74 52 65 67 69 | ........r......releasez.PortRegi |
| 0e80 | 73 74 72 79 2e 72 65 6c 65 61 73 65 4f 00 00 00 73 c8 00 00 00 80 00 f0 0a 00 10 14 90 54 88 6c | stry.releaseO...s............T.l |
| 0ea0 | 88 03 d8 0d 11 8f 5a 89 5a f1 00 0b 09 1d d8 0f 12 98 24 d7 1a 2a d1 1a 2a d1 0f 2a d8 10 16 f7 | ......Z.Z.........$..*..*..*.... |
| 0ec0 | 05 0b 09 1d f0 00 0b 09 1d f0 06 00 0d 11 d7 0c 1c d1 0c 1c 98 53 d3 0c 21 a0 51 d1 0c 26 d3 0c | .....................S..!.Q..&.. |
| 0ee0 | 21 d8 0f 13 d7 0f 1f d1 0f 1f a0 03 d1 0f 24 a8 01 d2 0f 29 d8 18 1c 9f 0c 99 0c d7 18 28 d1 18 | !.............$....).........(.. |
| 0f00 | 28 a8 13 a8 64 d3 18 33 90 05 d8 10 14 d7 10 20 d1 10 20 d7 10 24 d1 10 24 a0 53 a8 24 d4 10 2f | (...d..3.............$..$.S.$../ |
| 0f20 | d9 13 18 f0 02 03 15 1d d8 18 1d d7 18 28 d1 18 28 d4 18 2a f7 13 0b 09 1d f0 00 0b 09 1d f8 f4 | .............(..(..*............ |
| 0f40 | 14 00 1c 25 f2 00 01 15 1d d9 18 1c f0 03 01 15 1d fa f7 15 0b 09 1d f0 00 0b 09 1d fa 73 2f 00 | ...%.........................s/. |
| 0f60 | 00 00 91 10 42 36 03 aa 41 23 42 36 03 c2 0e 10 42 27 02 c2 27 09 42 33 05 c2 30 02 42 36 03 c2 | ....B6..A#B6....B'..'.B3..0.B6.. |
| 0f80 | 32 01 42 33 05 c2 33 03 42 36 03 c2 36 05 42 3f 07 63 01 00 00 00 00 00 00 00 00 00 00 00 06 00 | 2.B3..3.B6..6.B?.c.............. |
| 0fa0 | 00 00 03 00 00 01 f3 d4 00 00 00 97 00 7c 00 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............|.j................ |
| 0fc0 | 00 00 00 35 00 01 00 74 03 00 00 00 00 00 00 00 00 7c 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 | ...5...t.........|.j............ |
| 0fe0 | 00 00 00 00 00 00 00 6a 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 | .......j........................ |
| 1000 | 00 00 00 ab 01 00 00 00 00 00 00 7d 01 64 01 64 01 64 01 ab 02 00 00 00 00 00 00 01 00 7f 01 44 | ...........}.d.d.d.............D |
| 1020 | 00 5d 1f 00 00 7d 02 7c 02 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 01 8c | .]...}.|.j...................r.. |
| 1040 | 10 7c 02 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 01 | .|.j............................ |
| 1060 | 00 8c 21 04 00 79 01 23 00 31 00 73 01 77 02 01 00 59 00 01 00 01 00 8c 2e 78 03 59 00 77 01 29 | ..!..y.#.1.s.w...Y.......x.Y.w.) |
| 1080 | 02 7a 33 43 6f 6e 6e 65 63 74 20 61 6e 79 20 6c 61 79 65 72 73 20 74 68 61 74 20 68 61 76 65 6e | .z3Connect.any.layers.that.haven |
| 10a0 | 27 74 20 62 65 65 6e 20 63 6f 6e 6e 65 63 74 65 64 20 79 65 74 2e 4e 29 06 72 0e 00 00 00 72 1d | 't.been.connected.yet.N).r....r. |
| 10c0 | 00 00 00 72 0f 00 00 00 da 06 76 61 6c 75 65 73 da 0c 69 73 5f 63 6f 6e 6e 65 63 74 65 64 da 07 | ...r......values..is_connected.. |
| 10e0 | 63 6f 6e 6e 65 63 74 a9 03 72 12 00 00 00 da 06 6c 61 79 65 72 73 72 22 00 00 00 73 03 00 00 00 | connect..r......layersr"...s.... |
| 1100 | 20 20 20 72 13 00 00 00 da 0b 63 6f 6e 6e 65 63 74 5f 61 6c 6c 7a 18 50 6f 72 74 52 65 67 69 73 | ...r......connect_allz.PortRegis |
| 1120 | 74 72 79 2e 63 6f 6e 6e 65 63 74 5f 61 6c 6c 62 00 00 00 73 56 00 00 00 80 00 e0 0d 11 8f 5a 89 | try.connect_allb...sV.........Z. |
| 1140 | 5a f1 00 01 09 31 dc 15 19 98 24 9f 2c 99 2c d7 1a 2d d1 1a 2d d3 1a 2f d3 15 30 88 46 f7 03 01 | Z....1....$.,.,..-..-../..0.F... |
| 1160 | 09 31 e0 15 1b f2 00 02 09 20 88 45 d8 13 18 d7 13 25 d3 13 25 d8 10 15 97 0d 91 0d 95 0f f1 05 | .1.........E.....%..%........... |
| 1180 | 02 09 20 f7 05 01 09 31 f0 00 01 09 31 fa 73 0b 00 00 00 8d 24 41 1e 03 c1 1e 05 41 27 07 63 01 | .......1....1.s.....$A.....A'.c. |
| 11a0 | 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 01 f3 8c 00 00 00 97 00 7c 00 6a 00 00 00 | ..........................|.j... |
| 11c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 00 01 00 74 03 00 00 00 00 00 00 00 00 7c 00 | ................5...t.........|. |
| 11e0 | 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 07 00 00 00 00 00 00 00 00 00 00 | j...................j........... |
| 1200 | 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 63 02 64 00 64 00 64 00 | ........................c.d.d.d. |
| 1220 | ab 02 00 00 00 00 00 00 01 00 53 00 23 00 31 00 73 01 77 02 01 00 59 00 01 00 01 00 79 00 78 03 | ..........S.#.1.s.w...Y.....y.x. |
| 1240 | 59 00 77 01 72 0b 00 00 00 29 04 72 0e 00 00 00 72 1d 00 00 00 72 0f 00 00 00 72 2d 00 00 00 72 | Y.w.r....).r....r....r....r-...r |
| 1260 | 11 00 00 00 73 01 00 00 00 20 72 13 00 00 00 da 0a 61 6c 6c 5f 6c 61 79 65 72 73 7a 17 50 6f 72 | ....s.....r......all_layersz.Por |
| 1280 | 74 52 65 67 69 73 74 72 79 2e 61 6c 6c 5f 6c 61 79 65 72 73 6a 00 00 00 73 33 00 00 00 80 00 d8 | tRegistry.all_layersj...s3...... |
| 12a0 | 0d 11 8f 5a 89 5a f1 00 01 09 2f dc 13 17 98 04 9f 0c 99 0c d7 18 2b d1 18 2b d3 18 2d d3 13 2e | ...Z.Z..../...........+..+..-... |
| 12c0 | f7 03 01 09 2f f7 00 01 09 2f f2 00 01 09 2f fa 73 09 00 00 00 8d 23 3a 03 ba 05 41 03 07 63 01 | ..../..../..../.s.....#:...A..c. |
| 12e0 | 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 01 f3 42 01 00 00 97 00 7c 00 6a 00 00 00 | ....................B.....|.j... |
| 1300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 00 01 00 74 03 00 00 00 00 00 00 00 00 7c 00 | ................5...t.........|. |
| 1320 | 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 07 00 00 00 00 00 00 00 00 00 00 | j...................j........... |
| 1340 | 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 7d 01 7c 00 6a 04 00 00 | ........................}.|.j... |
| 1360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................j............... |
| 1380 | 00 00 00 00 ab 00 00 00 00 00 00 00 01 00 7c 00 6a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..............|.j............... |
| 13a0 | 00 00 00 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 | ....j........................... |
| 13c0 | 01 00 64 01 64 01 64 01 ab 02 00 00 00 00 00 00 01 00 7f 01 44 00 5d 13 00 00 7d 02 09 00 7c 02 | ..d.d.d.............D.]...}...|. |
| 13e0 | 6a 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 01 00 8c 15 | j............................... |
| 1400 | 04 00 79 01 23 00 31 00 73 01 77 02 01 00 59 00 01 00 01 00 8c 22 78 03 59 00 77 01 23 00 74 0e | ..y.#.1.s.w...Y......"x.Y.w.#.t. |
| 1420 | 00 00 00 00 00 00 00 00 24 00 72 03 01 00 59 00 8c 2e 77 00 78 03 59 00 77 01 29 02 7a 29 44 69 | ........$.r...Y...w.x.Y.w.).z)Di |
| 1440 | 73 63 6f 6e 6e 65 63 74 20 61 6e 64 20 72 65 6d 6f 76 65 20 61 6c 6c 20 6d 61 6e 61 67 65 64 20 | sconnect.and.remove.all.managed. |
| 1460 | 6c 61 79 65 72 73 2e 4e 29 08 72 0e 00 00 00 72 1d 00 00 00 72 0f 00 00 00 72 2d 00 00 00 da 05 | layers.N).r....r....r....r-..... |
| 1480 | 63 6c 65 61 72 72 10 00 00 00 72 29 00 00 00 72 2a 00 00 00 72 30 00 00 00 73 03 00 00 00 20 20 | clearr....r)...r*...r0...s...... |
| 14a0 | 20 72 13 00 00 00 72 36 00 00 00 7a 12 50 6f 72 74 52 65 67 69 73 74 72 79 2e 63 6c 65 61 72 6e | .r....r6...z.PortRegistry.clearn |
| 14c0 | 00 00 00 73 8c 00 00 00 80 00 e0 0d 11 8f 5a 89 5a f1 00 03 09 25 dc 15 19 98 24 9f 2c 99 2c d7 | ...s..........Z.Z....%....$.,.,. |
| 14e0 | 1a 2d d1 1a 2d d3 1a 2f d3 15 30 88 46 d8 0c 10 8f 4c 89 4c d7 0c 1e d1 0c 1e d4 0c 20 d8 0c 10 | .-..-../..0.F....L.L............ |
| 1500 | d7 0c 1c d1 0c 1c d7 0c 22 d1 0c 22 d4 0c 24 f7 07 03 09 25 f0 08 00 16 1c f2 00 04 09 15 88 45 | ........".."..$....%...........E |
| 1520 | f0 02 03 0d 15 d8 10 15 d7 10 20 d1 10 20 d5 10 22 f1 05 04 09 15 f7 09 03 09 25 f0 00 03 09 25 | ................".........%....% |
| 1540 | fb f4 0e 00 14 1d f2 00 01 0d 15 d9 10 14 f0 03 01 0d 15 fa 73 1e 00 00 00 8d 41 18 42 06 03 c1 | ....................s.....A.B... |
| 1560 | 33 10 42 12 02 c2 06 05 42 0f 07 c2 12 09 42 1e 05 c2 1d 01 42 1e 05 29 02 46 4e 29 0a 72 18 00 | 3.B.....B.....B.....B..).FN).r.. |
| 1580 | 00 00 da 03 73 74 72 72 19 00 00 00 da 03 69 6e 74 72 1a 00 00 00 da 04 62 6f 6f 6c 72 21 00 00 | ....strr......intr......boolr!.. |
| 15a0 | 00 7a 09 4c 69 73 74 5b 73 74 72 5d da 06 72 65 74 75 72 6e 7a 0e 27 41 72 64 75 69 6e 6f 4c 61 | .z.List[str]..returnz.'ArduinoLa |
| 15c0 | 79 65 72 27 29 06 72 18 00 00 00 72 37 00 00 00 72 19 00 00 00 72 38 00 00 00 72 3a 00 00 00 da | yer').r....r7...r....r8...r:.... |
| 15e0 | 04 4e 6f 6e 65 29 02 72 3a 00 00 00 72 3b 00 00 00 29 0a da 08 5f 5f 6e 61 6d 65 5f 5f da 0a 5f | .None).r:...r;...)...__name__.._ |
| 1600 | 5f 6d 6f 64 75 6c 65 5f 5f da 0c 5f 5f 71 75 61 6c 6e 61 6d 65 5f 5f da 07 5f 5f 64 6f 63 5f 5f | _module__..__qualname__..__doc__ |
| 1620 | 72 14 00 00 00 72 26 00 00 00 72 2b 00 00 00 72 32 00 00 00 72 34 00 00 00 72 36 00 00 00 a9 00 | r....r&...r+...r2...r4...r6..... |
| 1640 | 72 15 00 00 00 72 13 00 00 00 72 09 00 00 00 72 09 00 00 00 1f 00 00 00 73 46 00 00 00 84 00 f1 | r....r....r....r........sF...... |
| 1660 | 02 03 05 08 f2 0a 03 05 3e f0 0c 00 24 29 d8 2a 2e f0 05 23 05 19 d8 1c 20 f0 03 23 05 19 e0 1e | ........>...$).*...#.......#.... |
| 1680 | 27 f0 05 23 05 19 e0 33 41 f3 05 23 05 19 f3 4a 01 11 05 1d f3 26 06 05 20 f2 10 02 05 2f f4 08 | '..#...3A..#...J.....&......./.. |
| 16a0 | 0a 05 15 72 15 00 00 00 72 09 00 00 00 29 0b 72 3f 00 00 00 da 0a 5f 5f 66 75 74 75 72 65 5f 5f | ...r....r....).r?.....__future__ |
| 16c0 | 72 03 00 00 00 72 0c 00 00 00 da 06 74 79 70 69 6e 67 72 04 00 00 00 72 05 00 00 00 72 06 00 00 | r....r......typingr....r....r... |
| 16e0 | 00 72 07 00 00 00 72 09 00 00 00 da 0d 70 6f 72 74 5f 72 65 67 69 73 74 72 79 72 40 00 00 00 72 | .r....r......port_registryr@...r |
| 1700 | 15 00 00 00 72 13 00 00 00 fa 08 3c 6d 6f 64 75 6c 65 3e 72 44 00 00 00 01 00 00 00 73 2e 00 00 | ....r......<module>rD.......s... |
| 1720 | 00 f0 03 01 01 01 f1 02 17 01 04 f5 32 00 01 23 db 00 10 df 00 2e d3 00 2e f7 06 59 01 01 15 f1 | ............2..#...........Y.... |
| 1740 | 00 59 01 01 15 f1 7a 02 00 11 1d 93 0e 81 0d 72 15 00 00 00 | .Y....z........r.... |