Selbstbau-Taschenrechner
========================

Dateien:
--------
tarech2.cc                Dies ist jetzt die Version fuer den Atmega2560 (tarech.cc war fuer Atmega1284P)
mgkernf2.c, mgkern.h      Teil fuer Molekulargewichts-Rechner (MGW-Rechner)
fliesszahlklasse.cc       Fliesszahlen mit guter Praezision, in aktueller Version 9 Bytes lang
int48.cc                  Rechnen mit 48-Bit grossen Integer-Zahlen. Fuer Fliesszahlen benoetigt.
rtc.c, rtc.h              Realtime Clock = Echtzeituhr
i2c.c, i2c.h              I2C-Kommunikation, benoetigt fuer Echtzeituhr
lcd_treiber.c, -.h        Treiber fuer Grafik-LCD

schaltschema/tarech2.png  Schaltschema des aktuellen Prototyps
schaltschema/tarech2.sch  Eagle-Datei des Schemas (aktualisiert)
schaltschema/tarech2.brd  Eagle-Datei des Boards (aktualisiert)

tastenbeschriftung-hoch.ps  Entsprechend aktuellem Prototyp


Compilieren:
------------
Unter Linux:
> make

Auf MacOSX: makefile editieren und entsprechende Zeilen aus/ein-kommentieren
> make clean_all
> make

Austesten mit LCD-Simulator auf Linux oder MacOSX:
> simulator1
Es wird dabei nicht der gesamte Atmega2560 simuliert, sondern nur das Grafik-LCD
und die Tastaturmatrix.
Im Gegensatz zum wirklichen Geraet reagiert der Simulator ziemlich traege.


Installieren:
-------------
Wenn das Programm samt Daten kleiner 64KB ist oder wenn avrdude korrekt funktioniert:
> make install2

Bei mehr als 64KB und fehlerhaftem avrdude:
> make install2k
Bei fehlendem hexsplit das Paket hex.tar.gz downloaden und installieren:
http://www.rolfp.ch/elektronik/avr/mk3/avrdude64k-problem.html

Installation mit Bootloader:
> make install2b
http://www.rolfp.ch/elektronik/avr/mk3/index.html#bootloader

Installation auf dem MK3-Testboard:
> make install1   # wenn kleiner 64KB oder avrdude korrekt funktioniert
> make install1k  # bei mehr als 64KB und fehlerhaftem avrdude
> make install1b  # bei Verwendung des Bootloaders


Benutzen des Rechners:
---------------------
Beim Einschalten wird Versionsnummer, Batteriespannung, und Uhrzeit und Datum angezeigt.
Im wirklichen Geraet solange die Einschalttaste gehalten wird, beim Simulator und in der
MK3-Testversion solange bis die Gold-Taste gedrueckt wird.

Dann wird der Taschenrechner-Modus eingeschaltet. Dies ist ein naturwissenschaftlicher
Rechner mit UPN-Bedienung. Die meisten Tasten haben 2 Zusatzfunktionen, die mit den
Tasten "Gold" und "Blue" erreicht werden. Die ueblichen Funktionen wie Sin (Sinus),
Asin (Umkerfunktion zum Sinus), Cos, Acos, Tan, Atan, ln (natuerlicher Logarithmus),
e^x, log, 10^x, y^x, Wurzel(x), x^2, 1/x brauchen nicht weiter erklaert zu werden.
Fuer die Winkelfunktionen wird in der Voreinstellung mit Grad gerechnet, mit "Rad"
kann auf Radiant umgeschaltet werden, mit "Deg" kann man dann wieder auf Grad
zurueckgeschalten.
Als Besonderheit gibts noch Zahlendarstellung in Hexadezimal. Dies funktioniert
auch mit Fliesszahlen. Kein kaeuflicher Taschenrechner kann das.
Mit "Hex" kann man also auf die Hexadezimaldarstellung, mit "Dez" wieder auf die
normale Dezimale Darstellung umschalten.
Einige Konstanten sind auch schon vorprogrammiert: Pi (3.14...), NA (Avogadrozahl,
Anzahl Teilchen in einem Mol), g (Erdbeschleunigung), c (Lichtgeschwindigkeit).
Weitere Konstanten koennte man sich ueber die Rote Funktion "Konst" programmieren.
Mit der Taste "Red" kann man auf die Roten Zusatz-Funktionen umschalten.
(Es sind noch nicht alle auf dem Tastenlayout angeschriebenen programmiert.)

Die bisher groesste (komplexeste) Zusatzfunktion ist "MGW", der Molekulargewichts-Rechner.
Damit koennen Chemische Formeln eingegeben und die entsprechenden Molekulargewichte
berechnet werden. Dabei gibts jeweils 2 Ergebnisse, das durchschnittliche Molekulargewicht
und das Molekulargewichte mit Isotopenreiner Substanz. Dies ist in der Massenspektroskopie
von Bedeutung. Im MGW-Modus ist die Gruene Tastenbelegung fuer Buchstaben und Sonderzeichen
voreingestellt. Mit Dig/Let kann man auf die Zahlen umschalten (und wieder zurueck), mit
Caps kann zwischen Gross- und Klein-Buchstaben gewechselt werden. Bei einmaligem Druecken
gilt die Umschaltung nur gerade fuer die naechste Taste, bei zweifachem Druecken bleibt
es umgeschaltet. Die Tasten "<=" und "=>" sind da um den Cursor innerhalb der Formel
bewegen zu koennen. Damit kann man dann Aenderungen in der Formel vornehmen. Mit "POP"
kann man zwischen 4 verschiedenen Formeln wechseln. Diese werden alle beim Ausschalten
jeweils im EEPROM gespeichert.
Mit der Gold-Taste kommt man vom MGW-Rechner wieder auf den normalen Taschenrechner
zurueck. Mit Gold-MW und Gold-Iso kann man dann direkt mit den im MGW-Rechner
berechneten Werten im Taschenrechner weiterrechnen.

Eine weitere Zusatzfunktion ist "Kalend", ein erst provisorisch programmierter
Terminkalender: Mit + und - kann man jeweils 1 Woche weiter oder zurueck schalten,
mit * und / jeweil etwa 1 Monat weiter und zurueck. Mit "Entr" kommt man wieder
zum aktuellen Datum, mit "Gold" gehts zum Taschenrechner zurueck.

Die Zusatzfunkton "Elemente" ist noch nicht vorhanden.
Die Zusatzfunktonen Run/Stop, Learn, LBL, BRNE ... BREQ sind fuer Tastenprogrammierung
vorgesehen, aber bisher noch nicht verwendet. Die Funktioen |x| und Int sind
auch fuer Tastenprogrammierung vorgesehen, und gehen auch schon. (|x| ergibt den
Betrag, Int ergibt auf ganze Zahl abgerudeter Wert)


noch zu machen:
---------------
- Tastenprogrammierung des Taschenrechners einbauen
- Formeln von MGW-Rechner speichern/laden auf/von MicroSD-Karte
- Weitere Konstanten (eventuell benutzerdefiniert im EEPROM)


Letzte Aenderung: 29.10.2012
