Code Restrukturierung - 2009

Aus Ethersex_Wiki
Version vom 6. April 2009, 23:17 Uhr von Rayofhope (Diskussion | Beiträge) (Die Seite wurde neu angelegt: == Verzeichnisebenen == Vorschlag vom ~~~. Editieren erwünscht (mit Signatur wäre klasse) ;) ethersex.c (Hauptschleife) contrib/... control6/... doc/... v...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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/
 		clock.c
 		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/
 	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