-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
hello Karl!
i haven't had time to dig into this much, but one thing stuck out to me
in how you're using the FTDI content and functions.
here you initialize the ftdi_content, but are using a local structure variable:
https://github.com/xloem/brainflow/blob/ecd1049f3a4146bd24a0b21f50b5267eb1d6190d/src/utils/libftdi_serial.cpp#L40
once you return from LibFTDISerial::is_libftdi () function, the ftdi_context will be destroyed.
you'll notice that this context must live as long as the process, otherwise
references to it will become invalid, leading to stack / heap corruption.
for example, this usage calls from main(), where the ftdi_context will
exist as long as the program is running:
https://github.com/punyal/Contiki_3-IPsec/blob/93130cd1123f362594e915283dbf7f2783eeea43/platform/mulle/tools/scan_ftdi/scan_ftdi.c#L17
you could solve this by declaring a static (global) ftdi_context, however,
this entails locking / concurrency concerns.
i hope this helps. perhaps later this weekend i dig in depth into your problems.
best regards,
-----BEGIN PGP SIGNATURE-----
iNUEAREKAH0WIQRBwSuMMH1+IZiqV4FlqEfnwrk4DAUCYDksRF8UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0NDFD
MTJCOEMzMDdEN0UyMTk4QUE1NzgxNjVBODQ3RTdDMkI5MzgwQwAKCRBlqEfnwrk4
DJSNAP4/21OaXu96TS2w7kZGQhurSOQilGQ+ZA4g6TllSIKUVgEAzbeQ7/hmf3Nw
eZfqr5al/5d5LZF3bFcfKqJ1E1fmh8s=
=EkrV
-----END PGP SIGNATURE-----