Re: 1-wire "správně"

Pablo na xpablo.cz Pablo na xpablo.cz
Pondělí Leden 8 09:52:05 CET 2024


Dobry den,

nevim, jestli to delam "spravne", ale mam to udelane tak, ze mam abstraktni 
tridu OneWireBase, ktera obsahuje virtualni metody pro obsluhu sbernice a 
podpurne metody pro prohledavani. Nad touto abstraktni tridou mam napsane 
potomky pro OneWireGPIO a OneWireDS2482 (v obou variantach -100, -800), 
ktere realizuji obsluhu fyzickeho rozhrani (BTW: v GPIO variante preruseni 
zakazuji jen pri generovani bitu a cteni bitu, v zadnem pripade ne behem 
cele sbernicove transakce). No a pak mam napsany ovladac pro DS18B20, ktery 
jako rozhrani pro OW pouziva prave tu abstraktni tridu OneWireBase na kterou
pri vytvareni dostane referenci, takze je mu sumak, jestli bezi po GPIO, 
nebo I2C, nebo cokoliv, co me v budoucnosti napadne. Cely to je jeste 
okoreneny tim, ze obsluha te sbernice i cidla je neblokujici, takze tam jsou
semafory kvuli cekani na dokonceni prevodu teploty, schopnosti detekovat 
parazitne napajene teplomery (kvuli pouziti SPU), moznost swarmove prace 
teplomeru (start prevodu pro vsechny pripojene teplomery naraz) atd... Je 
toho celkem dost a asi nemam odladene uplne vsechno, protoze jsem se sice 
snazil to podporit obecne, ale dosud jsem nektere kombinace nemusel resit, 
tak nejsou podrobne otestovane a co jsem potreboval, tak to splnilo.



-- 
Pavel Brychta
http://www.xpablo.cz

---------- Původní e-mail ----------
Od: Petr Zapadlo <zapik na email.cz>
Komu: hw-list na list.hw.cz
Datum: 8. 1. 2024 8:38:20
Předmět: 1-wire "správně"
"Zdravím, 

příspěvek pana Hudečka o tom, že nemá rád 1-wire neb musí zakazovat 
přerušení a své vlastní úvahy,  nad spolehlivostí sběrnice s čidly, 
která je přímo připojená na pin procesoru mě vedou k úvahám jak to 
"dělat správně". 

prošel jsem si na AnalogDevices obvody pro řízení 1-wire a víceméně 
jeden z použitelných a dostupných je DS2482 převodník i2c na 1-wire. 
Porozhlédl jsem se po netu a skoro to tak vypadá, že ho nikdo nepoužívá, 
minimálně Arduino komunita ho skoro nezmiňuje. 

nejběžnější knihovna pro obsluhu 1-wire:  PaulStoffregen/OneWire ho 
nijak nezmiňuje a pokud jsem něco nepřehlídl tak s ním nepočítá,  Dále 
jsem našel několik starších kníhoven (nevím jestli už nejsou opuštěné) 
které by měly suplovat OneWire s komunikací přes i2c - například 
cybergibbons/DS2482_OneWire. Jestli jsem to správně pochopil, tak by 
měla fungovat i DallasTemperature, kterou masivně používám ve svých 
projektech. 

Jak to děláte vy? 

Pokud máte rozsáhlejší topologii 1-wire, používáte nějaké budiče, nebo 
to jedete "na surovo" jen z pinu CPU? 

Díky 

Petr 

_______________________________________________ 
HW-list mailing list - sponsored by www.HW.cz 
Hw-list na list.hw.cz 
http://list.hw.cz/mailman/listinfo/hw-list 
"
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240108/a2201bca/attachment.htm>


Další informace o konferenci Hw-list