+ p_float + c \
    + p_float + c \
    + p_TimeStamp \
    + r)
p_PolarImage.setParseAction(lambda x: messaging.PolarImage(*x[0]))
p_GeminiTemperatures << pp.Group(l \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float \
    + r)
p_GeminiTemperatures.setParseAction(lambda x: messaging.GeminiTemperatures(*x[0]))
p_MotorDemand << pp.Group(l \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float \
    + r)
p_MotorDemand.setParseAction(lambda x: messaging.MotorDemand(*x[0]))
p_Line << pp.Group(l \
    + p_floatXYZ + c \
    + p_float + c \
    + p_float \
    + r)
p_Line.setParseAction(lambda x: messaging.Line(*x[0]))
p_Circle << pp.Group(l \
    + p_float + c \
    + p_TimeStamp \
    + r)
p_PolarImage.setParseAction(lambda x: messaging.PolarImage(*x[0]))
p_GeminiTemperatures << pp.Group(l \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float \
    + r)
p_GeminiTemperatures.setParseAction(
    lambda x: messaging.GeminiTemperatures(*x[0]))
p_MotorDemand << pp.Group(l \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float + c \
    + p_float \
    + r)
p_MotorDemand.setParseAction(lambda x: messaging.MotorDemand(*x[0]))
p_Line << pp.Group(l \
    + p_floatXYZ + c \
    + p_float + c \
    + p_float \
    + r)
p_Line.setParseAction(lambda x: messaging.Line(*x[0]))
p_Circle << pp.Group(l \