[OpenTRV-dev] stats outs
Damon Hart-Davis
dhd at exnet.com
Sat May 30 08:38:22 BST 2015
> On 30 May 2015, at 07:31, Bo Herrmannsen <bo.herrmannsen at gmail.com> wrote:
>
> btw in what file are the non json output nade up? have an idea i want to try
They are converted to ASCII in Control.cpp for now, but those messages are populated from a structure, and have a particular on-wire format.
Rgds
Damon
// Look for binary-format message.
FullStatsMessageCore_t stats;
getLastCoreStats(&stats);
if(stats.containsID)
{
// Dump (remote) stats field '@<hexnodeID>;TnnCh[P;]'
// where the T field shows temperature in C with a hex digit after the binary point indicated by C
// and the optional P field indicates low power.
serialPrintAndFlush(LINE_START_CHAR_RSTATS);
serialPrintAndFlush((((uint16_t)stats.id0) << 8) | stats.id1, HEX);
if(stats.containsTempAndPower)
{
serialPrintAndFlush(F(";T"));
serialPrintAndFlush(stats.tempAndPower.tempC16 >> 4, DEC);
serialPrintAndFlush('C');
serialPrintAndFlush(stats.tempAndPower.tempC16 & 0xf, HEX);
if(stats.tempAndPower.powerLow) { serialPrintAndFlush(F(";P")); } // Insert power-low field if needed.
}
if(stats.containsAmbL)
{
serialPrintAndFlush(F(";L"));
serialPrintAndFlush(stats.ambL);
}
if(0 != stats.occ)
{
serialPrintAndFlush(F(";O"));
serialPrintAndFlush(stats.occ);
}
serialPrintlnAndFlush();
}
More information about the OpenTRV-dev
mailing list