2.4" / 3.2" Touch und TFT lib

OP #2709792
Lesenswert?

Moin,
ich hab im laufe meines derzeiten Projekts mal die TFT Library von 
Henning Karlsen fuer Arduino umgebaut auf C (wer braucht schon die 
Arduino libs?).

Ich weiss, dass mein Programierstyle zu wuenschen uebrig laesst, aber 
ich komm damit klar.
Im Source ist ein Beispiel (GUI) drin, wie man das ganze nutzen kann.

Waere schoen, wenn ich ein Feedback bekommen wuerde. Aber bitte nur 
Konstruktives und keine unqualifizierten Bemerkungen, dass ein Ire 
schlechte Rechtschreibung hat, oder so einen Muell.

Die Lib laueft mit verschiedenen Display Typen und Arduino Boards, 
laesst sich aber auch auf andere Megas umstricken.

Infos finden sich auf der Webseite von Henning Karlsen.
http://www.henningkarlsen.com/electronics/library.php?id=51

Wer Bock hat, kann ja mal den Rest Arduino Hype entfernen. Ausserdem 
fehlen fuer ein vernuenftiges Gui noch diverse Elemente, wie Listen, 
Eingabefelder, usw.

Ansonsten viel Spass damit.

P.S.: Sollten Fragen aufkommen, bin ich grade zufaellig im Urlaub :-)
Angehängte Dateien:
Gast #2709871
Lesenswert?

Auf welchen Display controller bzw. Welches display bezieht sich diese 
lib? Ebay tfts mit hxwhatever Chips? Welche ansteuerung spi 16bit 
parallel? Für avr? Bitte etwas präzisieren, hätte Interesse!!
OP #2709949
Lesenswert?

Steht alles bei Henning auf der Webseite. Die lib unterstuetzt folgende 
Controller:
HX8340-B(N) - Serial
HX8340-B(T) - 8bit
HX8347-A    - 16bit
ILI9325C    - 8bit
ILI9325D    - 8/16bit
ILI9327     - 16bit
PCF8833     - Serial
SSD1289     - 16bit
ST7735      - Serial

Die lib funktioniert mit AVR. Fuer Microchip muesste man die io.c 
aendern, oder die funktionen, die von da verwendet werden austauschen.
OP #2709956
Lesenswert?

Ich seh grade, dass man fuer microchip noch die Hardware-Zuordnungen in 
der tft.h aendern muesste. Fuer PIC32 muesste das dann so aussehen:
1
// *** Hardwarespecific defines ***
2
#define cbi(reg, bitmask) (*(reg + 1)) = bitmask
3
#define sbi(reg, bitmask) (*(reg + 2)) = bitmask
4
#define pulse_high(reg, bitmask) sbi(reg, bitmask); cbi(reg, bitmask);
5
#define pulse_low(reg, bitmask) cbi(reg, bitmask); sbi(reg, bitmask);
6

7
#define cport(port, data) port &= data
8
#define sport(port, data) port |= data
9

10
#define swap(type, i, j) {type t = i; i = j; j = t;}
11

12
#define fontbyte(x) cfont.font[x]  
13

14
#define PROGMEM
15
#define regtype volatile uint32_t
16
#define regsize uint16_t
17
#define bitmapdatatype unsigned short*
#3069898
Lesenswert?

Hey,

Danke, genau das habe ich gesucht :-)

Leider stellt sich mir eine Frage... für welchen Atmega ist denn dein 
Code ausgerichtet?

Ich habe hier ein eigenes Board mit einem AtXmega128A1 und müsste die 
IO.c umschreiben, aber dafür müsste ich erstmal wissen was die bewirkt 
oder wofür gedacht ist?

die ersten DB0-7 hängen bei mir an einem kompletten Port
sowohl die letzten DB8-15 auch auf einem kompletten Port...



Danke für deine Rückinfo ;-)

Grüße,
Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren