04:13
Опять ошибки передачи!
Продолжение истории про FTDI.
Но дело оказалось в другом.
Итак, всё настроил, дописал новую фичу в модуль приёма, начинаю тестировать. На моём компе (вин7) работает. На втором компе (вин10) работает. А на третьем компе (тоже вин10) не работает. Ошибки передачи!
После некоторых экспериментов удалось установить, что ошибки есть только в последней версии, где я встроил новую фичу. А в предыдущих всё работает на всех компах. То есть, виноват был я сам.
Но новая фича влезала в самые низовые алгоритмы приёма и передачи, и отлаживать мне это всё очень не хотелось. Я решил воспользоваться "долгим и вдумчивым взглядом".
Обнаружил кусок, который выводит отладочные сообщения (в файл) почти после каждого значения. Отключил вывод сообщений. Всё заработало.
Проблема, казалось бы, решена? Да. Но был один нюанс. Я вспомнил, что эти отладочные сообщения были закомментированы давно. И пребывали в таком состоянии пару лет.
Я их раскомментировал именно с целью отладки новой фичи. Но при этом я забыл, что пару лет назад я их закомментировал не просто так. А в такой же точно ситуации.
После этого инцидента я понял, что если и оставлять закомментированный код, то надо к нему дописывать, почему он был закомментирован. Я сделал надпись об этом, причём так, чтобы при открытии комментария код не компилировался, пока надпись не будет убрана.
Но дело оказалось в другом.
Итак, всё настроил, дописал новую фичу в модуль приёма, начинаю тестировать. На моём компе (вин7) работает. На втором компе (вин10) работает. А на третьем компе (тоже вин10) не работает. Ошибки передачи!
После некоторых экспериментов удалось установить, что ошибки есть только в последней версии, где я встроил новую фичу. А в предыдущих всё работает на всех компах. То есть, виноват был я сам.
Но новая фича влезала в самые низовые алгоритмы приёма и передачи, и отлаживать мне это всё очень не хотелось. Я решил воспользоваться "долгим и вдумчивым взглядом".
Обнаружил кусок, который выводит отладочные сообщения (в файл) почти после каждого значения. Отключил вывод сообщений. Всё заработало.
Проблема, казалось бы, решена? Да. Но был один нюанс. Я вспомнил, что эти отладочные сообщения были закомментированы давно. И пребывали в таком состоянии пару лет.
Я их раскомментировал именно с целью отладки новой фичи. Но при этом я забыл, что пару лет назад я их закомментировал не просто так. А в такой же точно ситуации.
После этого инцидента я понял, что если и оставлять закомментированный код, то надо к нему дописывать, почему он был закомментирован. Я сделал надпись об этом, причём так, чтобы при открытии комментария код не компилировался, пока надпись не будет убрана.