в этом случае возможно получить только булево значение, показатель того, что сигнал больше или меньше напряжения vcc/2 ?
уже не помню какой диапазон показывал мультиметр, но что то не более 1В,
получается, что в "массиве" "оперативки" dma будет очень быстро по-кругу записывать данные из ацп.
есть ли способ подключить датчик, выставить "уровень нуля" для ацп и отдавать данные только пиковых значений сигнала без использования дополнительных алгоритмических ухищрений?
next_handler
будет всегда последним, можно закешировать его в отдельном поле. Можно вывернуть список: передавать следующий хендлер в конструктор текущего:Handler* handler = nullptr;
handler = new ConcreteHandler1(handler);
handler = new ConcreteHandler2(handler);
handler = new ConcreteHandler3(handler);
handler->HandleRequest(data);
Handler(Handler *next_handler = nullptr): next(next_handler) {};
vector<std::function<void, int>>
. Потому что, рано или поздно вам захочется убрать один хендлер из середины. Я уж не говорю про попытку написать нормальный деструктор для этого чуда.