Jump to content

New LCD device support: Samsung SPF Digital Photo Frames


Fiery

Recommended Posts

On another note: The "Hot-plug" thing you did  seems to be working.

I do not need to turn on the frame before starting AIDA64, altho when turning the frame on and off or disconnecting the cable sometimes the picture will get scrambled and I need to open Aida64 and click on preferences to get the picture working again.

Still an improvement over Aida64 freezing and/or needing to restart the software completely :D

The latest AIDA64 beta may fix the occasional scrambled picture issue after a hot-plug situation:

http://www.aida64.com/downloads/latesta64xebeta

Link to comment
Share on other sites

I requested than also.

I thought it could be done in the same or similar fashion as Windows date formatting.

Having the day of the week at least would be nice.

 

Or you could skip the sophisticated part and add something like "Windows Date" or "System Date" and pull the info from Windows directly and let the user format it there.

 

Another question: where does Aida64 render the image to be displayed on the LCD?

Link to comment
Share on other sites

Are you planning to add text presentation of "month" and "day of week" in LCD Items?

I'm afraid we're not planning to do that. The problem is: it's not like any other sensor items where you can display a value using a fixed formatting method. Everyone would like to customize every bits of the date display, and the hardware monitoring module of AIDA64 doesn't support such deep customizations on a measured/detected value.

Analog clock will be also nice.

It would indeed be nice, but the AIDA64 LCD/SensorPanel rendering engine wouldn't be capable of rendering a really nice analog clock, with a properly rendered needle. That's the reason behind not supporting classic analog gauges as well.

Link to comment
Share on other sites

... AIDA64 LCD/SensorPanel rendering engine wouldn't be capable of rendering a really nice analog clock, with a properly rendered needle...

It's not needed really very nice. Simplified version will be enough. I make needles as white boxes (3 pixels hour, 2 pix - minute & 1 pix - second) with 1 pixel black contour (to be viewed well on different dials). In C# it looks so:

            Graphics g = Graphics.FromImage(bmp);
            //Smoothing
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;


            //Here we get current time
            DateTime _time = new DateTime();
            _time = DateTime.Now;

            //Pens
            Pen hourPen = new Pen(Color.Azure, 4);
            Pen minPen = new Pen(Color.Azure, 2);
            Pen hourPen_ = new Pen(Color.Black, 6);
            Pen minPen_ = new Pen(Color.Black, 4);
            Pen secPen = new Pen(Color.Red, 1);

            //Needle length
            int halfClockWidth = 100;
            int hourLength = Convert.ToInt32(halfClockWidth * 3 / 6);
            int minLength = Convert.ToInt32(halfClockWidth * 4 / 6);
            int secLength = Convert.ToInt32(halfClockWidth * 5 / 6);
            int secLength2 = Convert.ToInt32(halfClockWidth * 1 / 6);

            //Rotate angles of needles 
            float secAngle = (Convert.ToSingle(_time.Second + 15) / 60) * 360;
            float secAngle2 = secAngle - 180;
            float minAngle = (Convert.ToSingle(_time.Minute + 15) / 60) * 360 - 2;
            float hrAngle = (Convert.ToSingle(_time.Hour - 12 + 3) / 12) * 360 - 8;

            if (!_independentHands)
                minAngle += (secAngle / 60);
            if (!_independentHands)
                hrAngle += (minAngle / 12);

            //Center point
            Pen pointPen = new Pen(Color.DarkRed, 8);
            Rectangle pointRect = new Rectangle(centrePoint.X - 2, centrePoint.Y - 2, 4, 4);

            //Drawing the dial 
            Bitmap b = new Bitmap("Dial\\" + DialName);
            Image Dial = (Image)b;
            Dial.RotateFlip(RotateFlipType.Rotate270FlipXY);
            g.DrawImage(Dial, 799, 25, 200, 200);

            //Drawing the needles
            g.DrawLine(hourPen_, centrePoint, GetPoint2(centrePoint, hrAngle, hourLength + 1));
            g.DrawLine(hourPen, centrePoint, GetPoint2(centrePoint, hrAngle, hourLength));
            g.DrawLine(minPen_, centrePoint, GetPoint2(centrePoint, minAngle, minLength + 1));
            g.DrawLine(minPen, centrePoint, GetPoint2(centrePoint, minAngle, minLength));
            g.DrawLine(secPen, centrePoint, GetPoint2(centrePoint, secAngle, secLength));
            g.DrawLine(secPen, centrePoint, GetPoint2(centrePoint, secAngle2, secLength2));

It looks so: 968f1ce94204t.jpg

The user may choose dial http://rghost.ru/6TMY7qdS9  or make himself.  

Link to comment
Share on other sites

Those simple 1, 2 or 3 pixel width lines, without anti-aliasing don't look all that great IMHO :) And even if we did that the simple (easy) way, customizations on needle length (and/or dial diameter), needle colour and needle width would still be necessary -- of course for all 3 needles separately :) Users would also expect us to bundle various dial images (in multiple sizes, of course), and that could easily raise IP (copyright) issues. Not to mention the issues about frame updates: even with a digital clock many users complain about the irregular updating of the clock, ie. the update pace is not exactly following the clock's 1 second pace. The occasionally missed seconds would look even worse with an analog clock.

Link to comment
Share on other sites

In example anti-aliasing is present:

g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

As for the rest, it is possible to find a reasonable compromise.
- Clock without "second" needle will be useful too : 821a915e1a33t.jpg - meaning that analog clock is graphical - no need to think about digits. So "minute" & "hour" needles may be rotated one time in 15...60 sec.
- To avoid problems with dial copyright, we can create 2-3 own basic dials (with AIDA logo). User can make own one.
- Sizes of dials may be only 3 - as in gauge.
Link to comment
Share on other sites

It definitely sounds an interesting idea, but would also involve a lot of development efforts on our end, if we wanted to implement this in the right way. We wouldn't be satisfied with a quick & sirty solution for sure :) We would also have to implement anti-aliasing in the rendering engine to make the needles look best. I cannot promise anything right now, but we will try to make this happen sometime.

Link to comment
Share on other sites

In the new latest Beta version of Aida64 the frame glitches again and sometimes stops responding.

The software itself is sluggish and also freezes sometimes.

What SPF LCD do you have? (please post the USB device ID as well if you know it) What JPEG compression quality do you have configured? Have you tried to lower the JPEG compression quality?

Link to comment
Share on other sites

SPF-105P

 

Okay, compression fixed it. I did not know that compression does not work on-the-fly anymore and the device was working flawlessly on 99.
Now it is set to 90 and it works. Also did a Reboot, still working.

 

Maybe I overkilled it, I'll try and compress down the images used for the frame (background etc.)

20150812_125526_zpsu7rgtxgq.jpg

 

Doesn't Aida64's compression add more strain on the CPU when used?

 

Also, any chance of getting the FPS info from RivaTunerStatisticsServer?

Having MSI afterburner, Rivatuner and Fraps seems a bit too much.

Link to comment
Share on other sites

SPF-105P

 

Okay, compression fixed it. I did not know that compression does not work on-the-fly anymore and the device was working flawlessly on 99.

Now it is set to 90 and it works. Also did a Reboot, still working.

 

Maybe I overkilled it, I'll try and compress down the images used for the frame (background etc.)

[...]

The more complex layout you design, the lower you have to set the JPEG compression quality to stay below the "red line", ie. the maximum JPEG image size your SPF device accepts.

 

Doesn't Aida64's compression add more strain on the CPU when used?

Yes and no :) SPF devices only accept compressed JPEG images, so AIDA64 has to compress the rendered bitmaps anyway, regardless of the JPEG compression quality you choose to configure. We've also implemented a trick to automatically lower the JPEG compression quality, but it has to be enabled on a one-by-one case basis, since it requires user testing on every SPF variants. If you could help us test your device's capabilities (about accepted frame size limit), we can add your device to the JPEG file size limiter module. All you have to do is:

1) Close AIDA64

2) Open AIDA64.INI file (in the AIDA64 installation folder), and find the line:

HWMonSPLCDRandomImg=0

3) Change 0 to 1 to enable sending random image to the SPF device.

4) Also change the following line in the AIDA64.INI file:

HWMonSPLCDJPEGQual=99

Make sure to have it configured to 99

5) Save the AIDA64.INI file, and launch AIDA64 again.

6) AIDA64 will now display a fully random image, and place it as a JPEG file on your Windows Desktop as well. Make a photo of the output (the image you can see on your SPF device) using your mobile phone or a digital camera.

7) Send us the JPEG file placed on your Windows Desktop, the photo that you took of the SPF, and the USB device ID of your SPF device (or an USB Dump if you don't know it by heart).

 

Also, any chance of getting the FPS info from RivaTunerStatisticsServer?

Having MSI afterburner, Rivatuner and Fraps seems a bit too much.

We'll check how it works ;)

Link to comment
Share on other sites

I just moved to windows 10,

the samsung lcd freezes more often than under windows 8.1.

Compression is set to 70%.

Can you please perform the same test that I've explained 1 post above? By adding your device to the JPEG file size limiter module, you may be able to avoid LCD issues. Although, considering the conservative (read: low) JPEG quality you have configured, I'm not sure if your issue is really due to the JPEG image size limit of your SPF device...

Link to comment
Share on other sites

Hi, Where is the       device to the JPEG file size limiter module ?

It's built in AIDA64 latest beta. You don't have to, or can activate it, it works automatically. But it can only work on such devices where we can test and set the actual limit in the AIDA64 code. The only way to find that out is to put a very large JPEG image on the display (that's where the random pixel JPEG image comes into play), and check out how much of the file is properly displayed. If e.g. a 1024x600 pixel random JPEG image is for example 1100 KB sized, and your display can show 47% of it, then we have to set the JPEG image size limiter for your particular device to 1100*0.47 = 517 KB. We've already done that to three SPF variants, but your device may be a 4th that the limiter module doesn't yet cover.

Link to comment
Share on other sites

HWMonSPLCDRandomImg is not present in my config file, I added it after the present HWMonSPLCDJPEGQual=99

 
HWMonSPLCDJPEGQual=99
HWMonSPLCDRandomImg=1
 
Doing this change in the ini does not add random pictures on my lcd.
 
 
I'm sure the ini is modified because I added the write access to it and can reload it being modified with my changes.
 
Wait i have latest stable and not beta.
 
I have to figure out where to get latest beta again.
 
Ok got it.
 
Screen jpg is only dumped on lcd at about 33%.

No picture present on windows 10 desktop (I use fixed black background by default).

Here is the LCD photo:

 

random_jpg_test.jpg

Link to comment
Share on other sites

Screen jpg is only dumped on lcd at about 33%.

No picture present on windows 10 desktop (I use fixed black background by default).

Here is the LCD photo:

[...]

Thank you, but we need the file that was put on your Windows Desktop. It must be there :) Its filename is SPF LCD Random.jpg. Please also post a USB Dump to let us know about the USB device ID of your SPF. I suppose it will be 04E8-200D ;) In the next AIDA64 beta we'll add the USB device ID to the Preferences / Hardware Monitoring / LCD / Samsung page to ease the job of bug hunting.

Link to comment
Share on other sites

about the

right-click on the bottom status bar of AIDA64 main window --> System Debug --> USB Dump. Copy-paste the full results into this topic.

the problem is that under windows 10 there is no bottom bar anymore in aida64 ^^

 

But as you said it should be the same as under win 8.1:

 

------[ LibUsb0 Devices ]------

 
Device Description      : \\.\libusb0-0001--0x04e8-0x200d
Device ID               : 04E8-200D
Device Number           : 1
Device Class            : FF / 00
Device Protocol         : 00
Manufacturer            : SAMSUNG
Product                 : SAMSUNG Digital Photo Frame
Serial Number           : MP612B
Supported USB Version   : 2.00
 
 
What is your strategy to limit the data send to the lcd ?
Do you compress with other pourcentage on the flight ?
Are you using jpg target size ?
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...