[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