Applets für Logitech G19 und G15 mit AdvanceLcd

Übersicht Sonstiges Projekte

Neue Antwort erstellen

 

ChristianK

Betreff: Applets für Logitech G19 und G15 mit AdvanceLcd

BeitragDo, März 18, 2010 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

Mit AdvanceLcd könnt ihr Applets für alle Logitech-Geräte mit LC-Display erstellen. Dazu gehören unter anderem die G19- und G15-Tastaturen sowie ein Lautsprecher-Modell und andere Eingabegeräte.

Features
- Automatisches Verbindungsmanagement
- Applets für Monochrom- und Farbdisplays in einem Programm
- Unterstützung für PNG, JPG, BMP, TIFF und GIF Bilddateien
- Zeichnen von geometrischen Formen mit Rotation und Anti-Aliasing
- Kompatibel mit BlitzMax, Blitz3D, BlitzPlus, C/C++ und C#

Inhalt
Das Archiv enthält die DLLs (x86 und x64), eine Dokumentation, 5 Beispiele in jeder Sprache, ein BlitzMax-Modul, eine Decls-Datei für Blitz3D, eine Header-Datei für C/C++ und C#-Assemblies (ebenfalls x86 und x64)

Hinweis
Um die Funktionen benutzen zu können, muss die neueste Treiberversion installiert sein.

Download
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
  • Zuletzt bearbeitet von ChristianK am Mi, Dez 29, 2010 14:24, insgesamt einmal bearbeitet

Pummelie

BeitragFr, März 19, 2010 7:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Dickes Lob Exclamation
Wieder mal eine perfecte Arbeit von dir, die BB und BM ein Stückchen besser macht.
AMD Phenom II X6 1090T 6x4,5 GHz | 4*AMD Radeon HD 7970 | 32GB DDR3-1866 | 5 TB Samsung Raid | 250 GB Intel SSD RAID | 1500 Watt Ultra Silent Modul NT | Windows 7 Ultimate 64 bit | DIY Wasserkühlung
CommantlessCoders - Kommentarlos gut

ozzi789

BeitragFr, März 19, 2010 7:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ich hatte die Hoffnung schon aufgegeben!
Werd ich gleich ausprobieren wenn ich zuhause bin, danke viel mals Very Happy

Hochachtungsvoll, Ozzi
 

Cyderic

BeitragDo, Dez 23, 2010 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollte das gerade mal ausprobieren...aber irgendwie komme ich nicht klar :/

Du hast da einen Ordner "Examples" und da gibts die B3D Beispiele. In dem Code steht
Code: [AUSKLAPPEN]
Include "advlcd.bb"


Das geht aber nicht da es keine advlcd.bb gibt. Wenn ich das auskommentiere dann sagt er mir allerdings UserLib not found obwohl ich die decls kopiert und die DLL sowohl in den B3d-userlib Ordnerals auch in den Example Ordner kopiert habe.

....was mache ich falsch? D:
Native ITler
 

Cyderic

BeitragSa, Dez 25, 2010 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir bitte irgendjemand helfen? Man muss ja garkeine G19/G15 haben um das zu testen. Einfach mal runterladen und ein example starten. Bei mir kommt UserLib not Found. Wenns bei jemand geht der keine G-Tastatur hat müsste dann eine andere Fehlermeldung kommen.

Würde nur gerne wissen ob es bei irgendjemanden geht. ich habe auch schon meinen userlib Ordner komplett leer geräumt und nur diese dll rein gelegt. Es geht trotzdem nicht.

Ich verstehe nicht was ich falsch mache Crying or Very sad
Native ITler
 

ChristianK

BeitragMi, Dez 29, 2010 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, die advlcd.bb hab ich vergessen, rein zu tun. Lad dir das Archiv einfach nochmal runter.
Hast du statt der DLL aus dem x86-Ordner vielleicht die aus dem x64-Order in userlibs kopiert? Das würde die Fehlermeldung erklären.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

Cyderic

BeitragMi, Dez 29, 2010 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht - ich liebe dich Very Happy
Native ITler
 

Cyderic

BeitragMi, Dez 29, 2010 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab noch eine Frage :/

Die Buttons sind wie folgt definiert:
Zitat:
Const LCD_BUTTON_1 = $0001
Const LCD_BUTTON_2 = $0002
Const LCD_BUTTON_3 = $0004
Const LCD_BUTTON_4 = $0008


Das mag bei der G15 usw ja stimmen, bei der G19 aber nicht mehr. Leider hast du kein Beispiel für Events auf der G19.

Woher weiß ich wie die Werte der Buttons bei der G19 sind? Da gibts ja 3 Knöpfe mehr, sehr sinnvolle vor allem :/
Gibt ja keine Funktion die den gerade gedrückten Button zurück gibt (was ich irgendwie viel sinnvoller fänd als eine Funktion die auf einen bestimmten Button prüft)

Ok sorry hat sich grad erledigt. Für alle die aber auch über dieses Problem stoßen:

Die G19 Buttons sind anders definiert:
Zitat:

Const LCD_BUTTON_LEFT = $0100
Const LCD_BUTTON_RIGHT = $0200
Const LCD_BUTTON_OK = $0400
Const LCD_BUTTON_CANCEL = $0800
Const LCD_BUTTON_UP = $1000
Const LCD_BUTTON_DOWN = $2000
Const LCD_BUTTON_MENU = $4000


Have Fun Very Happy
Native ITler
 

yps2k

Betreff: SetTarget Problem

BeitragFr, Jan 06, 2012 4:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ..
also advanceLCD ist ja der hammer für Logitech Produkte!
macht das erstellen von apps extrem einfach ..

eine sache ist mir noch nicht gelungen
vielleicht kann mir hier jmd helfen.

Prob:
Ich schaff es nicht in eine kreierte pixmap zu zeichnen, zu schreiben oder ein geladenes bild einzufügen.

1) ist das überhaupt vorgesehen??? (ich meine ja, wenn ich die beispiele anschaue. kann zwar keine der sprachen - benutze autoit)
2) der befehl LcdSetTarget soll doch genau das ermöglichen, oder?
3) was bewirkt eigentlich das LcdClear mit $DEDEDE (muss ich beim monochrome eine ganz bestimmte farbe wählen?)
4) vielleicht liegt es an der autoit-lib habe da schon 2 "fehler"/inkompatibilitäten mit MonochromeLCD's entdeckt, die ich aber durch ausprobieren hinbekoomen habe?

alles was ich zeichne, schreibe oder bilder lade liegt im "hintergrund". alle pixmaps die ich kreiere bleiben schwarz.

wäre dankbar für jeden tipp oder ein beispiel in egal welcher sprache, wo man die dll-calls genau sieht.
sitze da jetz schon nächtelang dran! also kurze antwort auf 1) - 3) wäre schon super hilfreich.


EDIT: hmmm also ich glaube das koennte ein autoit-bezogenes pointer-convert problem sein, denn LcdSetTarget bringt so ziemlich alles durcheinander (ganzer screen bleibt schwarz)
wenn ich aber den pointer direkt (ohne function return) setze und eine hex-string-hex umwandlung vollziehe, dann ist die pixmap zwar immer noch leer (schwarz) aber der screen wird nicht ganz schwarz.

gruss

Yps2k (mit Gimmick!!)
 

ChristianK

BeitragFr, Jan 06, 2012 11:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit AutoIt kenne ich mich nicht so gut aus. Falls der Fehler wirklich dort liegen sollte, kann ich dir da leider nicht weiter helfen. Aber ich versuche mal, deine Fragen zu beantworten. Smile

1) Vorgesehen ist das auf jeden Fall!
2) Genau, mit LcdSetTarget gibt man die Pixmap an, in die gezeichnet werden soll. Zwei Dinge muss man dabei beachten: Die Pixmap muss für das richtige Device (also Mono oder Color) erstellt worden sein und
wenn du in einem Applet sowohl ein Color- als auch ein Mono-Device verwendest, musst du vor LcdSetTarget noch LcdSelectDevice aufrufen, weil jedes Device sein eigenes Render-Target hat.
3) Damit wird das Render-Target mit der Farbe #DEDEDE (grau) gelöscht. Für die Farbe bei Mono-Displays gibt es zwei Konstanten LCD_COLOR_VISIBLE und LCD_COLOR_INVISIBLE, die aber nur den Farben Weiß bzw. Schwarz entsprechen.

Und hier noch ein Pseudo-Code-Beispiel:

Code: [AUSKLAPPEN]
Var applet = # Applet für Mono und Color erstellen. #

Var pixmap_mono = LcdCreatePixmap(100, 100, LCD_DEVICE_MONO)
Var pixmap_color = LcdCreatePixmap(100, 100, LCD_DEVICE_COLOR)

LcdSelectDevice(applet, LCD_DEVICE_MONO)
LcdSetTarget(applet, pixmap_mono)

# Hier wird gezeichnet (Mono). #

LcdSetTarget(applet, NULL)

LcdSelectDevice(applet, LCD_DEVICE_COLOR)
LcdSetTarget(applet, pixmap_color)

# Hier wird gezeichnet (Color). #

LcdSetTarget(applet, NULL)

Danach kannst du die beiden Pixmaps dann auf dem Display ausgeben.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

yps2k

BeitragFr, Jan 06, 2012 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wink funzt! Laughing

EDIT: sorry @dmin Cool meine euphorie hat mich manchmal im würgegriff
  • Zuletzt bearbeitet von yps2k am Fr, Jan 06, 2012 20:06, insgesamt 3-mal bearbeitet

BladeRunner

Moderator

BeitragFr, Jan 06, 2012 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
yps2k, ich wäre dir äußerst verbunden wenn du unsere Augen nicht mit so vielen Smileys bombardierst. Danke!
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Psike2k12

Betreff: Probleme mit der DLL in Visual C# 2010

BeitragMi, Mai 02, 2012 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Morgen,

ich habe ein Problem ich have versucht mal das test Programm zu kompilieren in C#
ABER ich scheine etwas falsch zu machen was für eine art Projekt soll ich nutzen?

Ich habe ein "Form" Projekt gestartet und den quellcode in den load teil gepackt wenn ich es dann kompilieren gehe bekomme ich einen Fehler!

Zitat:
Could not load file or assembly 'advlcd.Managed, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.


Hier mein Code:
Code: [AUSKLAPPEN]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AdvanceLcd;

namespace AdvanceLCD_Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Lcd.Initialize();

            // Create the applet.
            LcdApplet applet = new LcdApplet("Example - Shapes", LcdDevice.Color, false, false);

            // Display shapes using rotation and anti-aliasing.
            DateTime time = DateTime.Now;
            bool enable = false;

            while (true)
            {
                applet.WaitActivation();

                applet.Clear(Color.FromArgb(0xDEDEDE));

                // Change anti-aliasing mode every second.
                if (time.AddMilliseconds(1000) < DateTime.Now)
                {
                    time = DateTime.Now;
                    enable = !enable;
                }

                applet.AntiAlias = enable;

                // Draw a rotated rectangle.
                applet.SetRotation(30, 80, 60);
                applet.Color = Color.Red;
                applet.DrawRect(new Point(80, 60), new Size(120, 100), true);

                // Draw the outline of a circle.
                applet.SetRotation(0, 0, 0);
                applet.Color = Color.Blue;
                applet.LineWidth = 9;
                applet.DrawOval(new Point(200, 30), new Size(80, 80), false);

                // Draw a line.
                applet.Color = Color.Lime;
                applet.DrawLine(new Point(20, 220), new Point(300, 20));

                applet.Update();
            }
        }
    }
}


Mfg
Lars Goebels

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group