Примерно придумал, как можно сделать, но надо уточнить насчет триггеров.
1. Нужны триггеры старта записи лога и окончания записи или только один из них (какой)?
2. Если нужны триггеры старта и окончания записи, то они должны быть в разных каналах? Для примера запись лога можно начать по первой записи в память, следующие записи в память (надеюсь) ничего не перетриггерят, а стоп записи лога можно сделать по чтению порта. Но можно и не так, начинать запись вручную, а стоп по триггеру.