Véleményem szerint ez valami szörnyszülött tákolmány!
Én kidobnám az egészet!
Próbáltak összepréselni mindent egy helyre, de nem figyeltek alapvető szabályokra!
Már a Mysensor. h-ban kiragadot példa a rengetegből ilyenek vannak:
Kód: Egész kijelölése
#include "core/MyCapabilities.h" <<< ez OK
#include "core/MyMessage.cpp" <<< Ilyet nem csinálunk!
#include "core/MySensorsCore.cpp" <<< Ilyet nem csinálunk!
Ellenben a C, Cpp állományok nem rendelkeznek ilyen védelemmel, és többszörös meghívás esetén többszörösen betöltődnek!
Ezért azoknak az elérési útját szoktuk megadni a fordítónak.
Más.
A változókat mindig a függvények elején deklaráljuk!
Kód: Egész kijelölése
bool _processInternalMessages() {
uint8_t type = _msg.type; <<< Ez JÓ
…
else if (type == I_DEBUG) {
#if defined(MY_DEBUG) || defined(MY_SPECIAL_DEBUG)
char debug_msg = _msg.data[0]; <<< ilyet a legtöbb fordító elsem fogad!!
…
Most ennek a „debug_msg” területe vajon felfog szabadulni a függvényből való kilépéskor?
Vagy majd hosszabb futás után (párnap?) veremtúlcsordulást fog okozni?
Keres puritánabb megoldást, amik csak az éppen alkalmazót HW-ket kezelik le.
Nem pedig a fiókban fellehető őszeset egyben.