Hi, I have recently encountered an issue when using the unsollicited response parser from the Legato AT client.
When reading the debug logs I see the following:
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c CheckUnsolicited() 397 | Start checking unsolicited
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c CheckUnsolicited() 411 | unsol found
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c CheckUnsolicited() 447 | Stop checking unsolicited
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c ResetRxBuffer() 565 | 36 sizeToCopy 2 from 34
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c ResetRxBuffer() 577 | new idx 2, startLine 2
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c RxNewData() 653 | read finished
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c RxNewData() 627 | Start read
Jun 9 15:35:00 swi-mdm9x28-wp user.info Legato: INFO | atClientDaemon[888]/atClient T=atCommandClient-7 | le_dev.c le_dev_Read() 293 | /proc/888/fd/13, /legato/systems/current/appsWriteable/MyApp/dev/ttyHS0 [248, 0], (u: appMyApp, g: ap
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_dev.c PrintBuffer() 216 | '/legato/systems/current/appsWriteable/MyApp/dev/ttyHS0' -> +INDICATE:0,5,1,13,^Fn^A��^G^D^X '^B<CR><LF>
Jun 9 15:35:00 swi-mdm9x28-wp user.debug Legato: DBUG | atClientDaemon[888]/atClient T=atCommandClient-7 | le_atClient.c RxNewData() 643 | Parsing received data: ^M +INDICATE:0,5,1,13,^Fn^A
The le_dev_c PrintBuffer() function reports the correct string. RxNewData() only parses 22 bytes, the rest are all lost. This issue only occurs with this specific command. It also appears it is not due to size, since bigger responses are parsed successfully.
Is there a known issue with characters that are not readable? Could it be something else?