Hi TI expert,
While doing the labs of `vital_signs_with_people_tracking` and `3D_people_counting_demo`, we find some mismatch in TLV definition. We have two questions below:
=============================================
- Header Frame Structure Issue:
When I used `vital_signs_tracking_6843AOP_demo.bin` in `radar_toolbox_1_00_01_07\source\ti\examples\Medical\Vital_Signs_With_People_Tracking\prebuilt_binaries`, read the serial output data from COM6, which is the data port,
and I got a byte array as below:
b'\x02\x01\x04\x03\x06\x05\x08\x07\x04\x00\x05\x03\x98\x00\x00\x00Ch\n\x00\x1b\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xfc\x03\x00\x00\\\x00\x00\x00\n\xd7#<\n\xd7#<\xf7\xcc\x929o\x12\x839\n\xd7#=\x02\xa0\xf0`\xdd\n\x80\x00\xff\xa0\xd0\x08\xd9\x0b\x80\x00\x04\xa2\xf0`\xdd\n\x86\x00\xff\xa2\xd0\x08\xd9\x0b\x86\x00\x04\xa3\xf0`\xdd\n\x8d\x00\xff\xa3\xd0\x08\xd9\x0b\x8d\x00\x04\xa5\xf0`\xdd\n\x90\x00\x02\xa5\xd0\x08\xd9\x0b\x90\x00\x02\xa7\xd0\x08\xd9\x0b\x93\x00\xfd\x03\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00'
According to the definition of header frame structure in below demo projects: `vital_signs_with_people_tracking` and `3D_people_counting_demo`:
- Because the length of header frame defined in vital signs with people tracking user guide is 48 bytes, the first tlv type will locate in 49 ~ 52th byte,
then, the tlv type data should be `\n\xd7#<` (convert to int is 1008981770) - Because the length of header frame defined in 3d people counting demo implementation user guide is 40 bytes, the first tlv type will locate in 41 ~ 44th byte,
then, the tlv type data should be `\xfc\x03\x00\x00` (convert to int is 1020)
So, the first question is, why my first result does not match to any type described in user guide? (% TlV Type: 06 = Point cloud, 07 = Target object list, 08 = Target index )
=============================================
- GUI Tool Issue: Visualizer with demo code:
By following the step of Quickstart Section 4. in vital_signs_with_people_tracking_user_guide (see below captured picture),
>
I find the function, `parseStandardFrame()`, which is in charge of processing UART output data,
def parseStandardFrame(frameData):
headerStruct = 'Q8I'
frameHeaderLen = struct.calcsize(headerStruct)
header frame is regarded as 40 bytes length for all cases.
So, the second question is, why is the header struct 'Q8I' instead of 'Q9I2H`?
=============================================