In [1]:
import serial
import pipecat.utility
import pipecat.device.charger
import pipecat.store
import pipecat.limit

import logging
logging.basicConfig(level=logging.DEBUG)

In [2]:
pipe = pipecat.utility.readline(serial.serial_for_url("/dev/cu.SLAB_USBtoUART", baudrate=128000))
pipe = pipecat.utility.trace(pipe, "readline")
pipe = pipecat.device.charger.icharger208b(pipe)
pipe = pipecat.utility.trace(pipe, "charger")
pipe = pipecat.utility.add_timestamp(pipe)
pipe = pipecat.utility.trace(pipe, "add_timestamp")
pipe = pipecat.limit.timeout(pipe, timeout=pipecat.quantity(10, pipecat.units.seconds))
pipe = pipecat.utility.trace(pipe, "limit.timeout")
pipe = pipecat.limit.until(pipe, ("charger", "mode"), "finished")
pipe = pipecat.utility.trace(pipe, "limit.until")
pipe = pipecat.store.cache(pipe)
pipe = pipecat.utility.trace(pipe, "store.cache")
#pipe = pipecat.limit.count(pipe, 3)
#pipe = pipecat.utility.trace(pipe, "limit.count")

for index, record in enumerate(pipe):
    if index == 1:
        pipe.close()


DEBUG:pipecat:store.cache started
DEBUG:pipecat:limit.until started
DEBUG:pipecat:limit.timeout started
DEBUG:pipecat:add_timestamp started
DEBUG:pipecat:charger started
DEBUG:pipecat:readline started
DEBUG:pipecat:readline record: {'string': '$1;11;;12242;0;0;0;0;0;0;0;0;0;0;289;264;0;42\r\n'}
DEBUG:pipecat:charger record: {('charger', 'temperature', 'external'): <Quantity(26.4, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:add_timestamp record: {('charger', 'temperature', 'external'): <Quantity(26.4, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:14.777816+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:limit.timeout record: {('charger', 'temperature', 'external'): <Quantity(26.4, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:14.777816+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:limit.until record: {('charger', 'temperature', 'external'): <Quantity(26.4, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:14.777816+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:store.cache record: {('charger', 'temperature', 'external'): <Quantity(26.4, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:14.777816+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:readline record: {'string': '$1;11;;12242;0;0;0;0;0;0;0;0;0;0;289;265;0;43\r\n'}
DEBUG:pipecat:charger record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:add_timestamp record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:16.779371+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:limit.timeout record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:16.779371+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:limit.until record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:16.779371+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:store.cache record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:16.779371+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:store.cache finished
DEBUG:pipecat:limit.until finished
DEBUG:pipecat:limit.timeout finished
DEBUG:pipecat:readline record: {'string': '$1;11;;12242;0;0;0;0;0;0;0;0;0;0;289;265;0;43\r\n'}
DEBUG:pipecat:charger record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:add_timestamp record: {('charger', 'temperature', 'external'): <Quantity(26.5, 'degC')>, ('battery', 'voltage'): <Quantity(0.0, 'volt')>, ('charger', 'mode'): 'info', ('charger', 'temperature', 'internal'): <Quantity(28.9, 'degC')>, ('battery', 'charge'): <Quantity(0.0, 'hour * milliampere')>, 'timestamp': <Arrow [2017-01-08T05:56:18.781520+00:00]>, ('battery', 'current'): <Quantity(0.0, 'milliampere')>, ('charger', 'supply'): <Quantity(12.242, 'volt')>}
DEBUG:pipecat:add_timestamp finished
DEBUG:pipecat:charger finished
DEBUG:pipecat:readline finished

In [ ]: