Jump to content

Keksdose_Stefan

Programmer
  • Posts

    9
  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling

Keksdose_Stefan's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

0

Reputation

  1. Werde die Tage neues berichten und auch eine Internetseite bereitstellen über mein Projekt. Das neuste sind die Touchsensoren die ich gebaut habe. Für die Jogwheels und berührungsempfindliche Tasten.
  2. Noch mache ich es per Midi Events. Ich steuere mein Gerät über Delphi und auch Blitz Basic 3D. Mein Gerät ist eigentlich eine DJ Console. ich kann es mal grob erklären. Mit dem Gerät habe ich die Möglichkeit: - 4 Decks direkt anzusteuern - 2 Touchsensitive Jogwheels (capazitiv) + Beleuchtung (32 Leds die den ungefähren Drehstatus anzeigen) - Patterneditor mit 16x8 LEDs ( sind mit 24 Tasten ansteuerbar 8 Reihe 16 Spalte) - eingebaute (The Maschine) - 33 Encoder (inklusive Tastfunktion) - 16 Touchsensitive Tasten (capazitiv) ich nenne sie Hotpads - 2 Displays - Sampleplayer - fast alle Tasten sind mit Leds bestückt - 2 Helligkeitssensoren - zusätzlich noch Beleuchtung mit warmweißen Ledstripsegmenten am Gerät Alle Ausgänge sind mit Transistoren versehen. Ich habe mal eine alte Konzeptgrafik hinzugefügt. Warscheinlich werde ich 10 Fader statt 5 verwenden. Zum Thema Grafik, ich möchte einfach alle Möglichkeiten ausschöpfen, die es gibt. Die Sysex schaue ich mir noch an, scheint aber einfach zu sein. Mit Hilfe eines virtuellen Midi Treibers kann ich die Console auch mit mehreren Programmen gleichzeitig betreiben. Achso ich verwende Windwos 7 Ultimate 64 Bit.
  3. Ja im Moment übertrage ich immer 4 Bit Werte für Grafik
  4. Ich frage mich wie man die Grafikausgabe noch beschleunigen kann für ein Bild sind ca. 1000 Midibefehle nötig. Ich weiß jetzt nur noch nicht woran es liegt. Midi Protokoll zu langsam, bin ja mit USB verbunden, sollte doch 100 mal schneller sein. Grafik an sich wenn ich es direkt mache geht ja sehr schnell. Wenn es nicht anders geht versuche ich die Grafiken so gut wie möglich schon in das Projekt mit reinzuspeichern, so das ich sie dann aufrufen kann und ich möglichst wenig Miditransfer habe für die Displays. Dann ist mir noch wichtig zu wissen wie ich die Specialchars erzeuge und wie ich sie ausgeben kann, bzw. welchen Ascii Code sie haben.
  5. Die Displays habe ich übrigens bei Pollin gekauft. Wenn ich Zuhause bin probiere ich mal nur ein APP_LCD_CMD(128+y) zu schreiben also X weglassen.
  6. Ja die Grafiksausgabe geht so. Mit den 2 Bytes habe ich auch gewußt. Auf debmn Displays ist noch die Folie drauf und wenn dann liegts an meiner Kamera.
  7. for (y=0; y<32; ++y) { APP_LCD_Cmd(128+y); APP_LCD_Cmd(128); APP_LCD_Data(0x01); APP_LCD_Data(0x02); APP_LCD_Data(0x04); APP_LCD_Data(0x08); APP_LCD_Data(0x10); APP_LCD_Data(0x20); APP_LCD_Data(0x40); APP_LCD_Data(0x80); } APP_LCD_Cmd(128); APP_LCD_Cmd(128); APP_LCD_Data(0x01); APP_LCD_Data(0x02); APP_LCD_Data(0x04); APP_LCD_Data(0x08); APP_LCD_Data(0x10); APP_LCD_Data(0x20); APP_LCD_Data(0x40); APP_LCD_Data(0x80); APP_LCD_Cmd(128); APP_LCD_Cmd(128); for (i=0; i<99; ++i) { APP_LCD_Data(0x01); APP_LCD_Data(0x02); APP_LCD_Data(0x04); APP_LCD_Data(0x08); APP_LCD_Data(0x10); APP_LCD_Data(0x20); APP_LCD_Data(0x40); APP_LCD_Data(0x80); } for (y=0; y<32; ++y) { APP_LCD_Cmd(128+y); APP_LCD_Cmd(128); for (i=0; i<3; ++i) { APP_LCD_Data(0x01); APP_LCD_Data(0x02); APP_LCD_Data(0x04); APP_LCD_Data(0x08); APP_LCD_Data(0x10); APP_LCD_Data(0x20); APP_LCD_Data(0x40); APP_LCD_Data(0x80); } } Am Anfang muß man nur APP_LCD_CMD(54) schreiben um Grafikdmodus anschhalten wenn man sendet APP_LCD_CMD(48) kann man wieder Texte schreiben. Bild und Text verschmelzen dann. Also Grafik und Text bleiben auf dem Bildschirm erhalten. Per Midibefehl kann ich jetzt Grafik und Text übertragen und ausgeben.
  8. Also mit APP_LCD_CMD(54) geht Grafik an APP_LCD_CMD(128+Y); APP_LCD_CMD(128+X); APP_LCD_DATA(BilddatenByte);APP_LCD_DATA(BilddatenByte);APP_LCD_DATA(BilddatenByte);APP_LCD_DATA(BilddatenByte); er fängt dann wieder links an wenn er rechts raus geht aber in der gleichen Reihe also muß man dann immer neu setzen wenn man tiefer zeichnen will APP_LCD_Cmd(54); // Grafikmodus for (y=0; y<32; ++y) // Y=32 Pixel { APP_LCD_Cmd(128+y); APP_LCD_Cmd(128); for (i=0; i<18; ++i) //X=140 Pixel/8=17,5 { APP_LCD_Data(bitmap_array); b++; } } APP_LCD_Cmd(48);/Textmdous MIOS32_LCD_CursorSet(0, 0); MIOS32_LCD_PrintFormattedString("Stefan"); Dieser Code gibt die Grafik aus und schreibt meinen Text darüber.
  9. Hallo, ich suche nach einem Treiber für meine Midibox 128. Ich besitze 2 Displays mit einem ST7920 Controller. (DATA-VISION14032 Display) Sie haben eine Auflösung von 140 x 32 Pixel und bieten Text und Grafikmodus. Die Textausgabe läuft einwandfrei. Wechsel des Displays über MIOS32_LCD_DeviceSet(xXx); Aber will ich Grafik ausgeben mit dem Befehl BitmapPrint, kommt da leider nichts sinnvolles. Habe schon die verfügbaren Treiber durchgetestet, bei manchen kommt wildes Zeug auf dem Bildschirm an. Allerdings dann auch nur der erste. lcdbitmap1 = MIOS32_LCD_BitmapInit(bitmap_array, 140, 32, 140, 1); lcdwerte.lcd_type=MIOS32_LCD_TYPE_GLCD_SSD1306 ; <war der letzte Type den ich getestet habe lcdwerte.num_x=18; lcdwerte.num_y=2; lcdwerte.width=140; lcdwerte.height=32; lcdwerte.colour_depth=1; MIOS32_LCD_DeviceSet(0); MIOS32_LCD_ParametersSet (lcdwerte); MIOS32_LCD_DeviceSet(1); MIOS32_LCD_ParametersSet (lcdwerte); Ausgabe: MIOS32_LCD_DeviceSet(0); //LCD 1 MIOS32_LCD_GCursorSet(0, 0); MIOS32_LCD_CursorSet(0, 0); //for (i=0; i<560; ++i) MIOS32_LCD_BitmapPixelSet(lcdbitmap1,i,i>5,1); for (i=0; i<560; ++i) bitmap_array=85; //Fülle Bild mit 01010101 Muster. MIOS32_LCD_BitmapPrint(lcdbitmap1); MIOS32_LCD_DeviceSet(1); // LCD 2 MIOS32_LCD_GCursorSet(0, 0); MIOS32_LCD_CursorSet(0, 0); MIOS32_LCD_BitmapPrint(lcdbitmap1); Aber ich brauche jetzt einen LCD Treiber für ST7920. Mfg Stefan. Mein Projekt besteht aus: 1 x LPC1769, 4 x DOUT, 4 x DIN, 1 x AINSER 64, 2 x LCD.
×
×
  • Create New...