Forth Programming on Arduino Nano VI
Früher codierte worte hab ich im hinblick auf redundanz überarbeitet.
Das resultat ist:
- schlankerer code
- weniger speicher verbraucht
- bessere lesbarkeit
In beiden dateien wurden die motorbewegungen erst in sequenzen festgelegt und erst danach in den worten für eine ganze umdrehung verwertet.
Die version für den motor mit 48 schritten sowie für den motor mit 200 schritten werden jetzt nur noch 560 byte benötigt.
Im programm mit der tastensteuerung wurde der ganze blaue bereich eliminiert und anders gebaut.
Das menu wird ja nicht gebraucht weil da kein bildschirm vohanden sein wird. Nur als kommentar gibt es ein hinweis auf die bedienung.
Die worte runcw runccw und run sind neu in der definition run vereint.
Die richtung wird direkt in go angefragt.
Die alte version links verbrauchte 787 bytes wärend die neue links nur noch 438 bytes beansprucht.
Das programm gurkenwascher erhielt ebenfalls eine verbesserung.
Da im "motor-mit-array-b.txt" jetzt sequenzen zugänglich sind, lässt sich auch hier redundanz abbauen.
Einige unnötige speed-anweisungen wurden entfernt.
gurken-alt brauchte 928 bytes, gurken neu noch 694 bytes.
Mit dem bereits vorhandenen wort mem kann der noch verfügbare speicher angezeigt werden.
So lässt sich der speicherverbrauch eines wortes oder einer wortfamilie leicht errechnen indem man
mem vor und nach der kompilation ausführt und dann den zweiten wert vom ersten subtrahiert.
hermosos días