Цитата:
Сообщение от Eprinter
Я так понимаю, программа пишется в среде Ардуино?
|
Да, прога пишется на C++, который стандартный для Ардуино.
Очень много, да почти весь функционал, вынесен в библиотеку и оформлен в виде объектов. Один объект - на одну функцию(например
В основном же скетче, выполняется связывание всех компонентов воедино. Например, ниже обработчик сработок от ОС, который поддерживает три режима - отправку сенсора, отправку стрелочной команды или все вместе:
Код:
...
void notifyFBSensor(uint8_t index, uint8_t State){
Serial.print("U FB:");
Serial.print(index);
Serial.print(" s:");
Serial.println(State);
switch (lncv[CV_FB_MODE_CH0 + index]) {
case FB_MODE_FB_ONLY:
CmdQueue.PushCmd(CMD_FEEDBACK, lncv[CV_ADDR + index], State, 0);
break;
case FB_MODE_TR_ONLY:
CmdQueue.PushCmd(CMD_TURNOUT, lncv[CV_TRN_ADDR_CH0 + index], State, 0);
break;
case FB_MODE_FB_TR:
CmdQueue.PushCmd(CMD_FEEDBACK, lncv[CV_ADDR + index], State, 0);
CmdQueue.PushCmd(CMD_TURNOUT, lncv[CV_TRN_ADDR_CH0 + index], State, 0);
default:
break;
}
...
}
---------- Сообщение добавлено в 13:00 ---------- Предыдущие сообщение было в 12:56 ----------
Цитата:
Сообщение от Eprinter
Если да, то со временем (и при желании) можно будет переписать на "чистом" Си, или даже на Асме, тогда всё поместится )))
|
Этого как раз хочется избежать - переписывания.