SAL LiDAR Plugin development

We’re developing a LiDAR decoder plugin based on the specifications in SDK version 0.6.54.

The two functions we’re using are _dwLidarDecoder_validatePacket and _dwLidarDecoder_decodePacket. Both provide a pointer to the byte array containing the packet (const uint_t * buffer) and the length of the array (const size_t length). The question I have is with “length”; this value is always the correct length of the byte array for validatePacket, but for decodePacket it is always 0 (zero), regardless of the size or content of the packet to be decoded. Is this a bug or is this something that hasn’t been implemented in the API fully yet?

CODE SNIPPET:

dwStatus _dwLidarDecoder_decodePacket(dwLidarDecodedPacket *output, const uint8_t *buffer, const size_t length,
                                      const dwLidarDecodeFormat decodeType)
{
    std::cout << "decodePacket : " << length << std::endl;
    return DW_SUCCESS;
}

dwStatus _dwLidarDecoder_validatePacket(const uint8_t *buffer, const size_t length)
{
    std::cout << "validatePacket : " << length << std::endl;
    return DW_SUCCESS;
}

t-wada,

Could you try to escape this issue/bug when implementing your own driver?