Code Restrukturierung - 2009
Version vom 7. April 2009, 01:12 Uhr von Rayofhope (Diskussion | Beiträge) (clock in services eingefügt)
Verzeichnisebenen
Vorschlag vom Rayofhope. Editieren erwünscht (mit Signatur wäre klasse) ;)
ethersex.c (Hauptschleife)
contrib/... control6/... doc/... vfs/... crypto/...
core/ eeprom.c spi.c portio.c periodic.c (jetzt: timer.c) usart.c setbaud.h soft_uart.c timer.h (Timer Abstraktion: erstmal nur Präpro./Makros) pinning.c portio/ watchcat/... named_pin/... (evtl umbennen in named_pins?)
hardware/ infrared/ rc5/... (hier senden und empfangen von rc5) adc/ kty/... ic2/ master/... (vorher: ic2_master) slave/... (vorher: ic2_slave) onewire/... input/ ps2 io_expander/ hc165 hc595 clock/ dcf77/... net/ enc28j60.c radio/ rfm12/... fs20/.. camera/... storage/ dataflash/... sd_reader/...
protocols/ clock/... uip/... ipv6/ipv6.c usb/... zbus/... yport/... bootp/... mysql/... modbus/... msdns_sd/... ecmd/... (vorher: ecmd_parser+ecmd_serial; allerdings wirklich nur der parser mit seriell+net Anbindung. Modul spezisches sollte in den jeweiligen Modulordnern untergracht sein.)
services/ cron dns dyndns httpd ntp jabber snmp stella pwm tftp
- Der net Ordner wird aufgelöst.
- pt: Header Datei auflösen und in Core Dateien eingliedern
- mcuf: Aufsplitten in service/hardware/protocols Teile?
- pinning und scripts evtl in einen "build" Verzeichnis?
- Keine Ahnung wofür das hier da ist: ipchair
Modular
Imho sollte darauf hin gearbeitet werden, dass zumindest alle Dateien im Core keine Abhängigkeiten zu Modulen außerhalb haben, d.h. keine #ifdef MODUL_IRGENDWAS mehr. Ob sich das realisieren lässt ist noch die Frage. Rayofhope