Code Restrukturierung - 2009
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/ 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/ clock/... 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