Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Apollon-Q PP Dataconverter in .js

Sie suchen die Apollon-Q T/R/TR Dataconverter in .js?

Hier finden Sie die Payload Beschreibung für den Apollon-Q T/R/TR.

// Up to Date Apollon decoder
function Decoder(bytes, port) {
 
    var decoded = {};
 
    if (port === 1) {
 
        // Attributes
        decoded.base_id         = bytes[0] >> 4;
        decoded.major_version   = bytes[0] & 0x0F;
        decoded.minor_version   = bytes[1] >> 4;
        decoded.product_version = bytes[1] & 0x0F;
 
        // Telemetry
        decoded.up_cnt               = bytes[2];
        decoded.battery_voltage      = ((bytes[3] << 8) | bytes[4]) / 1000.0;
        decoded.internal_temperature = bytes[5] - 128;
        var status = bytes[6];
 
        var i = 7;//Index of first byte containing status specific payload
        decoded.error = 0;
 
        if(status & 0xF0){
          decoded.error = status;
        } else if(status === 0){
          decoded.object_present = false;
        } else {
          decoded.object_present = true;
                decoded["object_status"] = bytes[i++];
                decoded["object_distance"] = bytes[i++] << 8 | bytes[i++];
                decoded["object_sigma"] = bytes[i++] << 8 | bytes[i++];
                decoded["object_signal"] = bytes[i++] << 8 | bytes[i++];
                decoded["object_ambient"] = bytes[i++] << 8 | bytes[i++];
                if(decoded.minor_version >= 2){
                    decoded["object_level"] = bytes[i++];
                }

        }
 
    }
    return decoded;
}