Well several tries and I am still not getting data out of the meter. I need to put a scope on the output to see if maybe it is not working properly.
Below is the sketch file from the Arduino that I was using as a starting point.
void readTriMetric(uint8_t inByte) {
if (inByte == char('%')) { // check for '%' character:
if (tm_scan_37) { // check for second '%' character:
tm_scan_37 = false; // second '%' character found, so reset for next message:
++tm_buffer_index; // increment buffer index:
tm_buffer[tm_buffer_index] = '\0'; // put NULL at end:
processTriMetricBuffer();
for (uint8_t i = 0; i < 128; i++)
{
tm_buffer = '\0'; // clear the buffer by filling with NULLS:
}
} else
{
tm_scan_37 = true; // set flag:
}
tm_buffer_index = 0; // reset buffer index to start of buffer:
tm_buffer[tm_buffer_index] = inByte; // put % into correct location at index:
} else {
++tm_buffer_index; // increment buffer index:
tm_buffer[tm_buffer_index] = inByte; // put % into correct location at index:
}
}