Имея готовый слой работы с железом программист пишуший главную прослойку всегда имеет возможность убедиться , не мудак ли он.Большинству здравомыслящих этого достаточно.Например имея функцию принимающую по NMEA сырой поток трудно подозревать что модуль "завис".А такое(чета у меня приемник сломался)бывает сплошь и рядом.
Но ...
Несовершенство аппаратуры основа изящных алгоритмов . /Мстислав Келдыш /