Quantcast ASUS G1S OLED display - I have found a way to set it :)

Closed Thread
Page 1 of 52 123451151 ... LastLast
Results 1 to 10 of 511
  1. #1
    Newbie
    Join Date
    Jun 2007
    Posts
    4
    Rep Power
    0

    Default ASUS G1S OLED display - I have found a way to set it :)

    Right, I wanted a way to get a warning of battery status whilst playing full screen games on my G1s. Since ASUS don't seem keen on giving us an API for it (grrr) I decided to do some monitoring of how the DirectConsole application actually addressed the oled under Vista in a debugger.

    [Usual 'its your own fault if you break it' caveats but there's nothing much in here that should cause problems. But if it does, don't come running to me!]

    Now, it turns out that if you set the type to be a custom display and put some text in then it actually converts that to a bitmap at that time and stores it in a file called USERMODE.BMP in c:\users\YOURNAME\AppData\Local\VirtualStore\Program Files\ASUS\ASUS Direct Console

    The important thing is that when the Direct Console application starts (LCMP.EXE) it reads the type of display from the registry so you need to have it set to 'my personal setting' for the following to work - if that is set it then READS THE USERMODE.BMP FILE FROM DISK. This means that if we change the file, kill/restart the process we get a new message on the display

    I'll explain what I've done to get the OLED display updated with the battery state of my G1s but of course you can customise these instructions for whatever you want. The only thing is that you need a BMP file in the right format on disk - so as yet there's no on the fly 'string to OLED' ability.
    (I may write a utility to take a text string and convert it to a compatible bitmap on the fly - if anyone has something, I'd very much appreciate a copy)

    Ok, on to the instrucations:

    To start with go into the Direct Console Direct Messenger utility and change it to 'my personal setting' put in the text 'Plugged in' and apply it so that you see that text on your OLED - you can play with the text until it displays how you like.

    Then copy USERMODE.BMP to pluggedin.bmp

    Now do the same for a message for 'battery fine' -> batteryfine.bmp and 'battery low' -> batterylow.bmp

    Now we have three files for the status which we can load when we detect the status has changed.

    The easiest way to kill the process is to download the sysinternals (now MS) pskill application - do that and store it somewhere on your disk.

    So, now we need to:

    Check for state - copy required BMP file to USERMODE.BMP
    Kill LCMP.EXE
    Start LCMP.EXE

    The only downside to this is you get an extra DirectConsole icon in the status tray area - it vanishes when you mouse over it so its no big deal, but with hundreds of kill/start there are an awful lot there! My attached app only does the kill/restart if something has changed, to minimise this.

    If you name the files as I've suggested then you can use the attached battmonitor.txt file to update your OLED. Remember to grab PSKILL.EXE and change the path to it in the script for where you've saved it to. Then just rename the file to battmonitor.vbs and run it using:

    cscript /nologo battmonitor.vbs

    [Note: you can programmatically change the registry key Computer\HKEY_CURRENT_USER\Software\ASUS\DirectMessenger\UserMode before doing a restart of the process and it will use the mode, as defined. So setting it to 0 you get the default display and 1 it loads the USERMODE.BMP file. You could use this to change from the time display to something else, and back again]

    Its possible I missed a step, or overlooked something as I've been mucking about with this for a while - any problems/questions post here and I'll answer what I can.

    I hope some of you find this useful - there are enough hits for questions of 'how do i change the OLED' without any solution that I figured it was worth posting my little hack for others to use

    kryten
    Attached Files Attached Files

  2. #2
    Notebook Enthusiast
    Join Date
    Dec 2007
    Posts
    26
    Rep Power
    14

    Default Re: asus g1s oled display - i have found a way to set it :)

    Good job, Kryteng! If someone finds a way to restart the LCMP.EXE so that there won't be any additional icons in the desktop status tray area, it is very easy to create a graphical bar indicatos, which will show how much charge there is left in the battery. All you have to do is create "a couple more" bar graphs using your favourite bit map editor to show "100%", 90%, 80%, 70%, 60%, 50%, 40%, 30, 20% and 10% charge and tweak Kryteng's script accordingly.

    Ps. I haven't got my G1S here at the moment to be able to test this, but could it be possible that LCMP.EXE provides already some command line parameters, which could be used to refresh the bitmap image from a given file?

  3. #3
    Newbie
    Join Date
    Jun 2007
    Posts
    4
    Rep Power
    0

    Default Re: asus g1s oled display - i have found a way to set it :)

    Yeah I know, but I couldn't be bothered to go to that much hassle

    Just needed to know when to run for the power adaptor so I don't go linkdead in EQ2 when the laptop shuts itself down!

    There's some work on the Linux based asusoled project that looks like it could be used to generate bitmaps for customised displays, I just haven't had the time!

    Couldn't find any cmdline options in LCMP which is why I went the KILL route - there's probably a way to tell Vista to refresh that display area as that's all it needs (its a Windows thing, not APP specific because the same thing happens if you kill/restart any application with a tray icon).

  4. #4
    Notebook Evangelist
    Join Date
    Dec 2006
    Location
    Baja, Mexico
    Posts
    362
    Rep Power
    17

    Default Re: asus g1s oled display - i have found a way to set it :)

    Great idea kryteng1!

    But is it possible for you to monitor with the debugger but when the MSN Messenger sends the new message screen to the OLED? I really doubt they are creating that new message with your approach.

    There must be a way of sending plain text to that little screen...

    I just sold my G1P but will order a new G1S real soon to test your approach!

    At least we have something new for our OLED screens!!!

    Cheers!
    Rayan
    MSI GT627-218US
    P8600 2.9GHz (OC)
    WSXGA+ (1680 x 1050) 15.4"
    NV GeForce 9800M GS 1GB DDR3 (9830 3DMark06 @620/850/1450 w/DOX 182.05)
    4 GB DDR2 RAM
    320 SATA HD (7200 RPM)

  5. #5
    Newbie
    Join Date
    Dec 2007
    Posts
    8
    Rep Power
    14

    Default Re: asus g1s oled display - i have found a way to set it :)

    Is it possible to just send the windows message for a mouse over event to the old icon? That would at least keep the icons from piling up in the systray.

    Though I agree, there has to be some hidden API at work here, and I would much rather use that than modifying files and killing and starting processes. I looked around in the device manager but couldnt find anything that looked like a generic controller. Theres gotta be some sort of motherboard driver that handles it. I will keep diggin.

  6. #6
    Notebook Enthusiast
    Join Date
    Jan 2008
    Posts
    24
    Rep Power
    14

    Default Re: asus g1s oled display - i have found a way to set it :)

    months have passed...

    Did anyone find out a way to customize that cool but almost useless oled display? Any utility? Any solution at all?

  7. #7
    Newbie
    Join Date
    Mar 2008
    Location
    Guadeloupe
    Posts
    6
    Rep Power
    13

    Default Re: asus g1s oled display - i have found a way to set it :)

    Hi everybody

    I'm new here, and I'm French, so sorry for my (not so bad... ) English

    If there is still someone interested in that tweak, I found that there is a little utility called "KWin.exe" located in "C:\Program Files\ASUS\ASUS Direct Console" whose purpose is to kill the Direct Messenger display by closing all running Direct Console software, (including Chkol.exe, D3DCheck.exe, and LCMP.exe) in a clean way (no tray icon left)

    So in kryteng1's script, by replacing the line :
    set oExec=WshShell.Exec ("c:\users\your_name\pskill.exe lcmp")
    with:
    set oExec=WshShell.Exec ("C:\Program Files\ASUS\ASUS Direct Console\KWin.exe")
    we can now have a clean refresh

    Voila, hope someone will find something else to make it better

  8. #8
    Notebook Evangelist
    Join Date
    Nov 2007
    Location
    Bulgaria
    Posts
    495
    Rep Power
    15

    Default Re: asus g1s oled display - i have found a way to set it :)

    Yeah, here is "something better"

    You have probably heard of LCDHype, for those who haven't - it's a freeware application for Windows that enables you to connect almost every type of LCD to your LPT or USB port (when talking about desktops). You can create scripts for whatever you want to visualize on the LCD, from core/GPU temperatures/voltages, fan speeds to winamp information, spectrum analyzers, graphics, wheather, news...just name it!

    I've recently bought myself G1S-B1, which has this OLED display, so I decided to write a driver for it

    Instructions
    Follow these steps to run this application with the G1S (and other G -series laptops):
    1. Download and install LCDHype from here
    2. Download the driver for Asus G-series OLED from here
    3. Extract the driver archive to C:\Program Files\LCDHype\Controller\ folder (where C:\Program Files\LCDHype is the folder you installed LCDHype at, may differ on your PC)
    4. Download Asus G1S Megascript for LCDHype from here and extract it to LCDHype\scripts\ folder
    5. You can find more scripts here
    6. Run LCDHype, you should already see the OLED showing a logo of LCDHype (which means my driver is initialized successfully).
    7. Open LCDHype main window, go to Configuration -> LCD Configuration, select "Asus G1S OLED Display".
    8. In LCDHype main window, go to Scripts -> Open File, navigate to the folder you extracted the script (above), select the script file.
    9. (Optional) In the Common settings of LCDHype, put checkmarks on the first 3 options and put LCDHype to autorun of your Windows.
    10. That's it! The rest is up to you, you can create your own script for whatever you want to visualize and add it to the Asus G1S Megascript (you can find intruction how to do it in the script download page)


    Use LCDHype's internal help to find out how to visualize variables on the LCD. You can find examples and cool scripts here.
    (check out this script, it creates a very cool animation - sheep running over some fences ).
    NOW - you can use your OLED to show you even kill/deaths/ping while playing ingame (there are many additional plugins like game query plugins also in this site). I would post up some of my examples, but I've written them on my old PC, where I used external LCD which was different resolution, so I must rewrite them to work with G1S' OLED.

    I'll post some screenshots and pictures of how this all looks on my Asus

    LCDHype and G-Series FAQ

    Q: My Network script doesn't show the network that I want, how to change the network adapter that it shows ?
    A: The "Network Simple" script may not run when you first start the script. To make it run properly, you must change this line in the header:
    %DefVar(N=7)
    The number 7 is the LAN network adapter of my computer, it differs on every single PC and Windows installation. Just start from 0 and increase this value untill you see your network adapter name scrolling on the top of the screen.
    ___
    Q: I don't temperature values, it says "no data available" on where a value should show, how to fix it ?
    A: Everest is required to be able to show temperatures with the Asus G1S Megascript. When you run Everest, go to Preferences -> External Applications and put a checkmark on "Enable shared memory", then down in the list put a checkmar ONLY on CPU and GPU temperatures.
    ___
    Q: CPU temperatures work fine, but GPU doesn't, why ?
    A: In the line that reads the GPU temperature (%UsePlugin(..., TGPU1) , instead of TGPU1 try TGPU1DIO, difference comes from Everest versions.
    ___
    Q: Winamp scripts don't visualize Winamp, why ?
    A: You need to install a plugin in Winamp which will send data to LCDHype. You can find the plugin in your LCDHype\stuff\Winamp folder. Copy all the files from there to your Winamp\plugins folder (and restart Winamp). Open winamp's preferences (Ctrl+P) and go to Plug-ins -> Visualization, select the "Winamp Data Collector" plugin and press Start.
    ___
    Q: I can't get anything to work, when I run LCDHype it says something like "No skin data" or/and errors come up on the screen. LCDHype seems messy.
    A: You have not correctly installed LCDHype. You have probably only installed an update of LCDHype. You need to get a basic version that has installer (for example LCDHype 0.6) and then upgrade by simply overwriting it with the files from the update archive. Regularly check for LCDHype updates on www.lcdhype.condense.de -> LCDHype releases.
    ___
    Q: Everything works! How to add my own scripts into the megascript ?
    A: Read the megascript details.
    ___
    Q: What to expect next ?
    A: New version of the Megascript for LCDHype with lots of improvements, globally working GPU/CPU temperature graphs, LED (Gaming LED, Mail LED) controls, Skype/MSN notification scripts... Be patient, it takes time, I have a lot of other work to do also


    Beta version of the Megascript 2.0

    Video
    Here's a small video of how it looks on my G1S (sorry for the poor quality):
    http://youtube.com/watch?v=Mcnd4_mMsc8

    A preview of the Asus G1S Megascript:
    Last edited by Predator_MF; 22nd November 2008 at 06:48 AM. Reason: added some more links, created a FAQ, FIXED LINKS

  9. #9
    Newbie
    Join Date
    Mar 2008
    Location
    Guadeloupe
    Posts
    6
    Rep Power
    13

    Default Re: asus g1s oled display - i have found a way to set it :)

    Great news Predator!!!

    Finally something really interesting for our oled screens

    I had nerver heard about LCDHype but I just tried it, and even if it does'nt seem too simple tu use, it offers great possibilities and I'm going to take time to study it
    Furthermore it is multilanguage (including French )

    Thanks a lot !
    Last edited by Mellow51; 12th March 2008 at 11:11 AM.

  10. #10
    Notebook Evangelist
    Join Date
    Nov 2007
    Location
    Bulgaria
    Posts
    495
    Rep Power
    15

    Default Re: asus g1s oled display - i have found a way to set it :)

    You are welcome!

    Btw I noticed there're no Battery-state commands, so I will write a plugin for LCDHype later, which will enable us to show battery status on the OLED in real time.

    LCDHype is nothing hard, you write your screen in a script, you have common commands like turning ON/OFF the LCD, loading graphic on it, writing text (with selected font and color), writing variables.

    The scripts are pretty much simple to write, there are two common areas in a script:
    1. Header - runs only when the script starts executing. You can declare your own variables there, clear the screen, whatever initialization of the script.
    2. LCD Area - there are two types, GfxMode and TxtMode, on this OLED driver I wrote, you can only use GfxMode (you can still write text of course, don't confuse it), TxtMode is for displays which only support outputing text (older and cheaper LCDs).

    Example for a script:
    Code:
    #Header
    #EndHeader
    
    #GfxMode
    'This is Asus G1S'
    #EndGfxMode
    This code will simply output the text 'This is Asus G1S' on the OLED. Read the LCDHype manual, I assure you - it's pretty easy!

    Here are some pictures, sorry for the poor quality - it's a webcam
    Attached Thumbnails Attached Thumbnails G1S_DollyClock.jpg   G1S_Network.jpg   G1S_Winamp.jpg  
    Last edited by Predator_MF; 12th March 2008 at 12:43 PM. Reason: added pictures

 

 
Page 1 of 52 123451151 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -4. The time now is 07:26 AM.
Powered by vBulletin® Version 4.2.0
Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.
SEO by vBSEO 3.6.0