Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for ZSTD compression for all LUTs files #1062

Merged
merged 3 commits into from
Jan 23, 2025
Merged

Conversation

awawa-dev
Copy link
Owner

@awawa-dev awawa-dev commented Jan 21, 2025

Recommended usage:

Fork of 7-zip with a support of ZSTD compression https://github.com/mcmilk/7-Zip-zstd

Use 7-zip ZS. Right click on the uncompressed LUT file: 7-zip ZSAdd to archive...
You should see the 7-zip compression settings.

  1. Select zstd compression.
  2. Recommended compression level is 17 - maximum.
  3. Do not change the proposed filename.
  4. After creating the compressed LUT, delete the uncompressed LUT file.

HyperHDR should automatically recognize that the uncompressed file does not exist and will try to find a compressed file with the additional .zst extension.

@awawa-dev
Copy link
Owner Author

Hi @satgit62
Sorry to bother you but I came up with a new improvement 😄 that may solve the problem of lack of space with several LUTs: XZ compression. You don't have to change anything on the backend side, because if uncompressed LUTs don't exist then HyperHDR will try to find compressed LUTs with an additional .xz extension. So all you have to do is compress your LUTs and then delete the old uncompressed LUTs.

Let me know if there are any memory issues when using compressed LUTs (problems may only manifest themselves when decompressing them during LUT change). I expect decompression to take about 1 sec but you will find it in your logs as it depends on your hardware.

@satgit62
Copy link

Hi @satgit62 Sorry to bother you but I came up with a new improvement 😄 that may solve the problem of lack of space with several LUTs: XZ compression. You don't have to change anything on the backend side, because if uncompressed LUTs don't exist then HyperHDR will try to find compressed LUTs with an additional .xz extension. So all you have to do is compress your LUTs and then delete the old uncompressed LUTs.

Let me know if there are any memory issues when using compressed LUTs (problems may only manifest themselves when decompressing them during LUT change). I expect decompression to take about 1 sec but you will find it in your logs as it depends on your hardware.

Hello,
That sounds good.
I will build and test for webOS. One second for unpacking the LUT would be acceptable. This also corresponds to a channel change.
I'll let you know when I've tested it.

@satgit62
Copy link

satgit62 commented Jan 22, 2025

Hi @awawa-dev
I have implemented this and it works. However, with my older devices, the decompression takes about 12 seconds.

53:20.252Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/lut_lin_tables.3d.xz (compressed)
2025-01-22T08:53:20.252Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-22T08:53:31.867Z [FLATBUFSERVER] Decompression took 11.615000 seconds
2025-01-22T08:53:31.872Z [FLATBUFSERVER] Found and loaded LUT: '/media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/lut_lin_tables.3d'

However, once decompressed, and you only watch channels that require decompressed LUT, such as SDR, HDR or DV, there is no delay at all. Only when switching between the LUTs. I think this is okay, and I believe that the newer devices with more powerful CPUs/SoC need less time for this.

@awawa-dev
Copy link
Owner Author

Hmm..on x64 it's a split of second :-( Maybe I can add support for zstd too https://community.centminmod.com/threads/compression-comparison-benchmarks-zstd-vs-brotli-vs-pigz-vs-bzip2-vs-xz-etc.12764/

@awawa-dev
Copy link
Owner Author

Or I can use multithreaded version lzma_stream_decoder_mt for xz let me check it

@awawa-dev awawa-dev force-pushed the compressed_lut branch 3 times, most recently from c3b3023 to ea30d4c Compare January 22, 2025 21:07
@awawa-dev awawa-dev changed the title Add support for XZ compression for all LUTs file Add support for ZSTD compression for all LUTs file Jan 22, 2025
@awawa-dev
Copy link
Owner Author

@satgit62 I finally migrated XZ to ZSTD. The compression is slightly worse but it's much faster. I've also updated the manual. 7-zip does not have full ZSTD support so under Windows you must use its fork 7-Zip-zstd.

@satgit62
Copy link

satgit62 commented Jan 23, 2025

Hello @awawa-dev
great work!
Look at the result. I can live with that very well. I'm sure the newer devices will be able to decompress even faster.
Thanks for that. Yes, the compression is worse, but the three LUTs together have the same size as a single LUT (approx. 150 MB).
I'll share the good news with the people who haven't switched to NV12 due to space constraints.

2025-01-23T09:27:01.088Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-23T09:27:01.088Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-23T09:27:04.066Z [FLATBUFSERVER] Decompression took 2.977000 seconds
2025-01-23T09:27:04.089Z [FLATBUFSERVER] Found and loaded LUT: '/media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/lut_lin_tables.3d'
2025-01-23T09:27:04.090Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1

@awawa-dev
Copy link
Owner Author

Thank you for the feedback @satgit62 You can experiment with the compression level as it does not have negative impact on the decompression speed (diffent story than XZ). 20 shoul be safe because archlinux use it on default, 22 also should be fine but it will take very long time to compresss each LUT. To be safe verify decompression speed on your device for LUT with higher compression level.

@satgit62
Copy link

Thank you for the feedback @satgit62 You can experiment with the compression level as it does not have negative impact on the decompression speed (diffent story than XZ). 20 shoul be safe because archlinux use it on default, 22 also should be fine but it will take very long time to compresss each LUT. To be safe verify decompression speed on your device for LUT with higher compression level.

I will experiment with level 20 or 22 and report back.

@awawa-dev awawa-dev changed the title Add support for ZSTD compression for all LUTs file Add support for ZSTD compression for all LUTs files Jan 23, 2025
@satgit62
Copy link

@awawa-dev
Hallo,

Experimenting with levels 20 and 22 creates an additional 40MB of free storage space. However, the times remain almost unchanged, which is a good thing. See log with compression level 22.
Starting from watching an HDR content and switching to a normal SDR content. In my case, satellite channel UHD-HDR to HD-SDR on Astra 19.2 degrees East.

UHD-HDR

2025-01-23T17:10:11.272Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables_hdr.3d'
2025-01-23T17:10:11.273Z [FLATBUFSERVER] Tone mapping: 1
2025-01-23T17:10:11.273Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables_hdr.3d
2025-01-23T17:10:11.277Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables_hdr.3d.zst (compressed)
2025-01-23T17:10:11.277Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-23T17:10:14.778Z [FLATBUFSERVER] Decompression took 3.501000 seconds
2025-01-23T17:10:14.793Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables_hdr.3d'
2025-01-23T17:10:14.793Z [COMPONENTCTRL0] HDR (global): enabled
2025-01-23T17:10:14.794Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1

Content switch from UHD-HDR to HD-SDR
 
2025-01-23T17:11:04.233Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-23T17:11:04.233Z [FLATBUFSERVER] Tone mapping: 0
2025-01-23T17:11:04.233Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-23T17:11:04.233Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-23T17:11:04.233Z [FLATBUFSERVER] (LutLoader.cpp:89) Index 2 for YUV
2025-01-23T17:11:09.581Z [FLATBUFSERVER] Decompression took 5.348000 seconds
2025-01-23T17:11:09.600Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-23T17:11:09.600Z [COMPONENTCTRL0] HDR (global): disabled
2025-01-23T17:11:09.601Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1

@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 23, 2025

Yes switching to NV12 Index 2 for YUV is the most costly because HyperHDR needs first to decompress table 0 and 1 to skip them and finally decompress table 2 (each 50MB). But on webOS tone mapping for calibrated NV12 should be always enabled (even for SDR input) so this would be a typical situation:

2025-01-23T17:10:11.277Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-23T17:10:14.778Z [FLATBUFSERVER] Decompression took 3.501000 seconds

Seems everything is fine so far so I merge the changes into the master branch.

@awawa-dev
Copy link
Owner Author

If you were to prepare a ready distribution package for the described conditions, you could even zero out (e.g. with Linux dd command) the unused first and last table, which would significantly reduce the zstd archive size. And it would probably also speed up the decompression of table no. 1 by about a second, since table no. 0 would be a trivial zero. But I don't know if it's worth messing around with.

@awawa-dev awawa-dev merged commit 1ce4c3a into master Jan 23, 2025
18 checks passed
@awawa-dev awawa-dev deleted the compressed_lut branch January 23, 2025 17:12
@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 23, 2025

Hi @satgit62
Could you try to execute these 2 commands (Windows command line) for each uncompressed LUT file?

fsutil file setzerodata offset=0 length=50331648 <filename>
fsutil file setzerodata offset=100663296 length=50331648 <filename>

The effect is spectacular when you compress it later 😃

@satgit62
Copy link

satgit62 commented Jan 24, 2025

Hello @awawa-dev, you are right, the effect is spectacular if you compress the LUT files later. The files are then under 10 MB.
But when I compress then, both the lut_lin_tables_hdr.3d.zst and the lut_lin_tables_dv.3d.zst work as expected, and the decompression happens almost in real time (1.x seconds).
The lut_lin_tables.3d.zst for SDR does not work. Only after I have switched on HDR Global manually does it work.
Normally, HDR Global should switch on automatically.
See: https://github.com/satgit62/hyperion-webos/blob/main/src/json_rpc_client.c#L202

I then deleted the lut_lin_tables.3d.zst, which I had previously prepared with “fsutil file setzerodata”, and created a new file without first compressing it again with “fsutil file setzerodata” (the resulting file size is approx. 50 MB) and lo and behold, it works.

I don't know what's wrong here.

@awawa-dev
Copy link
Owner Author

The lut_lin_tables.3d.zst for SDR does not work. Only after I have switched on HDR Global manually does it work.
Normally, HDR Global should switch on automatically.

That means that there is still something wrong with the backend.Either it turns off tone mapping and loads the table with index 2 (with NV12 enabled) or tone mapping is active but turns off NV12 and loads the table with index 0. You will have the answer in the logs. Both tables with indexes 0 and 2 are zeroed by these commands, so the effect will be a black screen.

@satgit62
Copy link

satgit62 commented Jan 24, 2025

Hi @awawa-dev, I have attached one for you . Yes, it is index 2 for YUV, and HDR Global is deactivated

logs
)2025-01-24T14:23:03.711Z [CORE] TTY is not attached to the log output
2025-01-24T14:23:03.741Z [MAIN] Database path: '/home/root/.hyperhdr/db/hyperhdr.db', readonlyMode = disabled
2025-01-24T14:23:03.741Z [MAIN] Starting HyperHdr - 21.0.0.0beta1, master (GitHub-2e88559/1ce4c3a-1737652341), built: Jan 24 2025:08:48:31
2025-01-24T14:23:03.741Z [MAIN] Set user data path to '/home/root/.hyperhdr'
2025-01-24T14:23:03.742Z [INSTANCE_CFG] Loading instance configuration
2025-01-24T14:23:03.747Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T14:23:03.896Z [INSTANCE_CFG] Settings database initialized
2025-01-24T14:23:03.913Z [SOUND_GRABBER] Sound device is disabled
2025-01-24T14:23:03.944Z [DAEMON] The AVF grabber can not be instantiated, because it has been left out from the build
2025-01-24T14:23:03.944Z [DAEMON] The MF grabber can not be instantiated, because it has been left out from the build
2025-01-24T14:23:03.944Z [DAEMON] !The v4l2 grabber can not be instantiated, because it has been left out from the build
2025-01-24T14:23:03.959Z [DAEMON] The USB grabber was disabled during build. FlatbufferServer now controlls the HDR state.
2025-01-24T14:23:03.959Z [JSONSERVER] (JsonServer.cpp:26) Created new instance
2025-01-24T14:23:03.961Z [JSONSERVER] Started on port 19444
2025-01-24T14:23:03.962Z [SSDP] (SSDPHandler.cpp:31) SSDPHandler is initialized
2025-01-24T14:23:03.946Z [HYPERHDR0] Starting the instance
2025-01-24T14:23:03.946Z [INSTANCE_CFG0] Loading instance configuration
2025-01-24T14:23:03.947Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T14:23:04.219Z [INSTANCE_CFG0] Settings database initialized
2025-01-24T14:23:04.219Z [COMPONENTCTRL0] (ComponentController.cpp:27) ComponentController is initialized. Components are ENABLED
2025-01-24T14:23:04.261Z [MUXER0] (Muxer.cpp:54) Muxer initialized
2025-01-24T14:23:04.261Z [BLACKBORDER] Set mode to: default
2025-01-24T14:23:04.262Z [COMPONENTCTRL0] Blackborder detector: enabled
2025-01-24T14:23:04.271Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:192) Set LED mapping type to weighted
2025-01-24T14:23:04.271Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:176) setSparseProcessing to 0
2025-01-24T14:23:04.272Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:103) ImageToLedManager initialized
2025-01-24T14:23:04.275Z [COLORSPACE_CALIBRATION0] classicMode: yes, gammas:[1.50, 1.50, 1.50], saturation: 1.50, luminance: 1.00, backLight: [enabled, threshold: 0, colored: no]
2025-01-24T14:23:04.275Z [LED_CALIBRATION0] (LedCalibration.cpp:101) Calibration config '0' for LED segment: [0, 265]
2025-01-24T14:23:04.297Z [HYPERHDR0] Led strip RGB order is: rgb
2025-01-24T14:23:04.299Z [SMOOTHING0] High resolution clock is NOT STEADY!
2025-01-24T14:23:04.299Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T14:23:04.299Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:04.299Z [COMPONENTCTRL0] Smoothing: enabled
2025-01-24T14:23:04.299Z [SMOOTHING0] Creating config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T14:23:04.299Z [SMOOTHING0] Clearing queued colors before: enabling. Smoothing configuration changed: restarting timer.
2025-01-24T14:23:04.299Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:04.299Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T14:23:04.299Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] Start LedDevice 'adalight'.
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:336) deviceConfig: [{"awa_mode":true,"colorOrder":"rgb","currentLedCount":266,"espHandshake":true,"forceSerialDetection":true,"maxRetry":0,"output":"ttyACM0","rate":2000000,"refreshTime":17,"smoothingRefreshTime":17,"type":"adalight","white_channel_blue":150,"white_channel_calibration":true,"white_channel_green":255,"white_channel_limit":70,"white_channel_red":255}]
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] Ignoring user LED refresh rate. Forcing smoothing refresh rate = 58.82 Hz
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:422) Refresh rate = 58.82 Hz
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:372) Device is not ready to start a timer
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:432) Refresh interval updated to 17ms
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:50) DeviceType   : adalight
2025-01-24T14:23:04.301Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:51) LedCount     : 266
2025-01-24T14:23:04.302Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:52) RefreshTime  : 17
2025-01-24T14:23:04.302Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:67) Device name   : ttyACM0
2025-01-24T14:23:04.302Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:68) Auto selection: 0
2025-01-24T14:23:04.302Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:69) Baud rate     : 2000000
2025-01-24T14:23:04.302Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:70) ESP handshake : ON
2025-01-24T14:23:04.302Z [HYPER_MANAGER] HyperHDR instance 'Ambilight_WZ' has been started
2025-01-24T14:23:04.302Z [HYPERHDR0] The instance is running
2025-01-24T14:23:04.303Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:71) Force ESP/Pico Detection : ON
2025-01-24T14:23:04.303Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:72) Delayed open  : 0
2025-01-24T14:23:04.303Z [MUXER0] Register new input 'System/VIDEOGRABBER' with priority 240 as inactive
2025-01-24T14:23:04.303Z [COMPONENTCTRL0] Video capture device: enabled
2025-01-24T14:23:04.303Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:73) Retry limit   : 0
2025-01-24T14:23:04.303Z [LEDDEVICE0_ADALIGHT] The refresh timer is enabled ('Refresh time' > 0) and may limit the performance of the LED driver. Ignore this error if you set it on purpose for some reason (but you almost never need it).
2025-01-24T14:23:04.303Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:78) Adalight driver with activated high speeed & data integration check AWA protocol
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:87) Adalight header for 266 leds: AwA 0x01 0x09 0x5d
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:44) White channel limit: 179, red: 255, green: 255, blue: 150
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T14:23:04.304Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:04.304Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T14:23:04.304Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:23:04.304Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T14:23:04.304Z [WEBSERVER] Initialize Webserver
2025-01-24T14:23:04.304Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T14:23:04.459Z [WEBSERVER] Apply Webserver settings
2025-01-24T14:23:04.459Z [WEBSERVER] Set document root to: :/www
2025-01-24T14:23:04.460Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTP)' on port: 8090
2025-01-24T14:23:04.460Z [SSDP] (SSDPHandler.cpp:93) The local address is empty
2025-01-24T14:23:04.460Z [WEBSERVER] Initialize Webserver
2025-01-24T14:23:04.460Z [WEBSERVER] Apply Webserver settings
2025-01-24T14:23:04.460Z [WEBSERVER] Set document root to: :/www
2025-01-24T14:23:04.475Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T14:23:04.476Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T14:23:04.476Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T14:23:04.476Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T14:23:04.476Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T14:23:04.476Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T14:23:04.477Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T14:23:04.483Z [WEBSERVER] Setup SSL certificate
2025-01-24T14:23:04.484Z [WEBSERVER] Setup private SSL key
2025-01-24T14:23:04.484Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTPS)' on port: 8092
2025-01-24T14:23:04.484Z [SSDP] (SSDPHandler.cpp:42) SSDPHandler is initializing
2025-01-24T14:23:04.486Z [SSDP] (SSDPHandler.cpp:196) The local address is: 192.168.2.81
2025-01-24T14:23:04.486Z [SSDP] (SSDPServer.cpp:94) Initialize the SSDP server
2025-01-24T14:23:04.487Z [SSDP] Starting the SSDP server
2025-01-24T14:23:04.499Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T14:23:04.504Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2025-01-24T14:23:04.504Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (RGBW => Gain: 255/255, red: 160, green: 160, blue: 160  Welcome! Awa driver 9.) at 4 msec
2025-01-24T14:23:04.505Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T14:23:04.505Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T14:23:04.505Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T14:23:04.505Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T14:23:04.506Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:23:04.523Z [MUXER0] Set visible priority to 255
2025-01-24T14:23:04.524Z [HYPERHDR0] New priority[255], previous [255]
2025-01-24T14:23:04.524Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T14:23:04.524Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T14:23:04.524Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:04.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T14:23:04.524Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T14:23:04.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T14:23:04.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T14:23:04.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T14:23:04.536Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T14:23:04.553Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232
' (94)
2025-01-24T14:23:04.555Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T14:23:04.556Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T14:23:04.743Z [FLATBUFSERVER] Decompression took 0.437000 seconds
2025-01-24T14:23:04.745Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T14:23:04.745Z [COMPONENTCTRL0] HDR (global): enabled
2025-01-24T14:23:04.745Z [FLATBUFSERVER] Started on port 19400
2025-01-24T14:23:04.745Z [FLATBUFSERVER] Started local domain socket server: 'hyperhdr-domain'
2025-01-24T14:23:04.745Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T14:23:04.745Z [FLATBUFSERVER] NV12 quarter of frame mode: 0
2025-01-24T14:23:04.746Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:04.746Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:04.746Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:23:04.746Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T14:23:04.913Z [FLATBUFSERVER] Decompression took 0.167000 seconds
2025-01-24T14:23:04.916Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T14:23:04.917Z [NETFORWARDER] Forwarder has changed state to disabled
2025-01-24T14:23:05.725Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T14:23:05.738Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:05.738Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T14:23:05.738Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:23:05.738Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-24T14:23:05.978Z [SERVICE_mDNS] Starting the network discovery thread
2025-01-24T14:23:06.121Z [NET_DISCOVERY] Found Home Assistant at 192.168.2.75:8123 (2bc480e9f8fd48388121a6c0882e7cf2.local)
2025-01-24T14:23:06.911Z [FLATBUFSERVER] Decompression took 1.173000 seconds
2025-01-24T14:23:06.913Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T14:23:06.913Z [FLATBUFSERVER] (FlatBuffersServer.cpp:370) Received first NV12 frame. First plane size: 36864 (stride: 256). Second plane size: 18432 (stride: 256). Image size: 55296 (256 x 144)
2025-01-24T14:23:06.914Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T14:23:06.914Z [MUXER0] Priority 150 is now active
2025-01-24T14:23:06.914Z [MUXER0] Set visible priority to 150
2025-01-24T14:23:06.914Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T14:23:06.914Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-24T14:23:06.914Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T14:23:06.914Z [FLATBUFSERVER] Tone mapping: 0
2025-01-24T14:23:06.914Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T14:23:06.914Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:06.914Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-24T14:23:06.914Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T14:23:06.914Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T14:23:06.914Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T14:23:06.914Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T14:23:06.914Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:23:06.914Z [FLATBUFSERVER] (LutLoader.cpp:89) Index 2 for YUV
2025-01-24T14:23:06.915Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:23:06.947Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T14:23:06.947Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T14:23:06.947Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T14:23:06.947Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T14:23:06.948Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T14:23:06.948Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T14:23:06.948Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T14:23:06.955Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T14:23:06.961Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232 RGBW => Gain: 179/255, red: 255, green: 255, blue: 150  Welcome! Awa driver 9.) at 4 msec
2025-01-24T14:23:06.961Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T14:23:06.961Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T14:23:06.961Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T14:23:06.961Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T14:23:06.962Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:23:06.996Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T14:23:08.091Z [FLATBUFSERVER] Decompression took 1.177000 seconds
2025-01-24T14:23:08.093Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T14:23:08.093Z [COMPONENTCTRL0] HDR (global): disabled
2025-01-24T14:23:08.097Z [FLATBUFSERVER] (FlatBuffersServerConnection.cpp:245) Socket Closed
2025-01-24T14:23:08.097Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T14:23:08.098Z [MUXER0] Removed source priority 150
2025-01-24T14:23:08.098Z [MUXER0] Set visible priority to 255
2025-01-24T14:23:08.098Z [HYPERHDR0] New priority[255], previous [150]
2025-01-24T14:23:08.098Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T14:23:08.098Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T14:23:08.098Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:08.098Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T14:23:08.098Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T14:23:08.098Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T14:23:08.098Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T14:23:08.098Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T14:23:08.106Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T14:23:08.106Z [MUXER0] Priority 150 is now active
2025-01-24T14:23:08.106Z [MUXER0] Set visible priority to 150
2025-01-24T14:23:08.106Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:23:08.106Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T14:23:08.106Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T14:23:08.106Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T14:23:08.106Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:08.106Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T14:23:08.107Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:23:08.110Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T14:23:08.127Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232
' (94)
2025-01-24T14:23:08.129Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T14:23:08.130Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T14:23:08.130Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T14:23:08.130Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T14:23:08.130Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T14:23:08.148Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T14:23:08.156Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 179/255, red: 255, green: 255, blue: 150'
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 9.) at 2 msec
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T14:23:08.159Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T14:23:08.159Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T14:23:08.194Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T14:23:08.227Z [NET_DISCOVERY] Found Hue bridge at 192.168.2.29:443 (001788a970b3.local)
2025-01-24T14:23:22.613Z [WEBSOCKET] (WebSocketClient.cpp:40) New connection from ::ffff:192.168.2.61
2025-01-24T14:23:27.914Z [WEBSOCKET] (HyperAPI.cpp:946) log streaming activated for client ::ffff:192.168.2.61
2025-01-24T14:23:51.474Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables_hdr.3d'
2025-01-24T14:23:51.474Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T14:23:51.474Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables_hdr.3d
2025-01-24T14:23:51.481Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables_hdr.3d.zst (compressed)
2025-01-24T14:23:51.482Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-24T14:23:52.799Z [FLATBUFSERVER] Decompression took 1.317000 seconds
2025-01-24T14:23:52.803Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables_hdr.3d'
2025-01-24T14:23:52.804Z [COMPONENTCTRL0] HDR (global): enabled
2025-01-24T14:23:52.824Z [FLATBUFSERVER] (FlatBuffersServerConnection.cpp:245) Socket Closed
2025-01-24T14:23:52.825Z [MUXER0] Removed source priority 150
2025-01-24T14:23:52.825Z [MUXER0] Set visible priority to 255
2025-01-24T14:23:52.825Z [HYPERHDR0] New priority[255], previous [150]
2025-01-24T14:23:52.825Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T14:23:52.825Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T14:23:52.825Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:52.826Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T14:23:52.826Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T14:23:52.826Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T14:23:52.826Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T14:23:52.826Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T14:23:52.836Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T14:23:52.853Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232
RGBW => Gain: 179/255, red: 255, green: 255, blue: 150
HyperHDR frames: 59 (FPS), receiv.: 59, good: 59, incompl.: 0, mem1: 0, mem2: 450, heap: 123232
' (247)
2025-01-24T14:23:52.862Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T14:23:52.862Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T14:23:53.468Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T14:23:53.481Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T14:23:53.481Z [MUXER0] Priority 150 is now active
2025-01-24T14:23:53.481Z [MUXER0] Set visible priority to 150
2025-01-24T14:23:53.481Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T14:23:53.481Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T14:23:53.481Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T14:23:53.481Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:23:53.481Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T14:23:53.481Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T14:23:53.481Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T14:23:53.481Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T14:23:53.509Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T14:23:53.521Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T14:23:53.523Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232'
2025-01-24T14:23:53.523Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 179/255, red: 255, green: 255, blue: 150'
2025-01-24T14:23:53.523Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 9.) at 2 msec
2025-01-24T14:23:53.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T14:23:53.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T14:23:53.524Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T14:23:53.525Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T14:23:53.527Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:23:53.558Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T14:23:53.574Z [IMAGETOLED_MNG0] Total index number is: 4768 (memory: 4768). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:23:54.322Z [IMAGETOLED_MNG0] Total index number is: 4424 (memory: 4424). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:23:55.598Z [IMAGETOLED_MNG0] Total index number is: 3236 (memory: 3236). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:23:56.798Z [IMAGETOLED_MNG0] Total index number is: 4080 (memory: 4080). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:23:57.874Z [IMAGETOLED_MNG0] Total index number is: 4392 (memory: 4392). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:00.527Z [IMAGETOLED_MNG0] Total index number is: 4080 (memory: 4080). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:02.924Z [IMAGETOLED_MNG0] Total index number is: 4392 (memory: 4392). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:06.348Z [IMAGETOLED_MNG0] Total index number is: 4112 (memory: 4112). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:06.864Z [IMAGETOLED_MNG0] Total index number is: 4392 (memory: 4392). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:08.005Z [IMAGETOLED_MNG0] Total index number is: 4830 (memory: 4830). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T14:24:10.197Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-24T14:24:10.197Z [FLATBUFSERVER] Tone mapping: 0
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (LutLoader.cpp:89) Index 2 for YUV
2025-01-24T14:24:11.480Z [FLATBUFSERVER] Decompression took 1.282000 seconds
2025-01-24T14:24:11.482Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T14:24:11.484Z [COMPONENTCTRL0] HDR (global): disabled
2025-01-24T14:24:11.506Z [FLATBUFSERVER] (FlatBuffersServerConnection.cpp:245) Socket Closed
2025-01-24T14:24:11.508Z [MUXER0] Removed source priority 150
2025-01-24T14:24:11.508Z [MUXER0] Set visible priority to 255
2025-01-24T14:24:11.508Z [HYPERHDR0] New priority[255], previous [150]
2025-01-24T14:24:11.508Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T14:24:11.508Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T14:24:11.508Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:24:11.508Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T14:24:11.508Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T14:24:11.508Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T14:24:11.508Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T14:24:11.509Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T14:24:11.519Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T14:24:11.537Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 59 (FPS), receiv.: 59, good: 59, incompl.: 0, mem1: 0, mem2: 448, heap: 123232
' (97)
2025-01-24T14:24:11.540Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T14:24:11.540Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T14:24:12.188Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T14:24:12.197Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T14:24:12.197Z [MUXER0] Priority 150 is now active
2025-01-24T14:24:12.197Z [MUXER0] Set visible priority to 150
2025-01-24T14:24:12.197Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T14:24:12.197Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T14:24:12.197Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T14:24:12.198Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T14:24:12.198Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T14:24:12.198Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T14:24:12.198Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T14:24:12.198Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T14:24:12.224Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T14:24:12.225Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T14:24:12.233Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T14:24:12.236Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 448, heap: 123232'
2025-01-24T14:24:12.236Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (RGBW => Gain: 179/255, red: 255, green: 255, blue: 150  Welcome! Awa driver 9.) at 2 msec
2025-01-24T14:24:12.236Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T14:24:12.236Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T14:24:12.236Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T14:24:12.237Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T14:24:12.239Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T14:24:12.275Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T14:24:17.199Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266

@awawa-dev
Copy link
Owner Author

Yes, it's backend. Maybe there is other place that enables/disables tone mapping or changing lut filename in the backend that needs to be fixed.

Here "SDR" lut_lin_tables.3d was passed as filename with tone mapping disabled (via JSON command):

2025-01-24T14:24:10.197Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-24T14:24:10.197Z [FLATBUFSERVER] Tone mapping: 0
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T14:24:10.198Z [FLATBUFSERVER] (LutLoader.cpp:89) Index 2 for YUV

HDR has tone mapping enabled correctly (via JSON command):

2025-01-24T14:23:51.474Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables_hdr.3d'
2025-01-24T14:23:51.474Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T14:23:51.474Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables_hdr.3d
2025-01-24T14:23:51.481Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables_hdr.3d.zst (compressed)
2025-01-24T14:23:51.482Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV

@awawa-dev
Copy link
Owner Author

Or the default tone mapping is disabled in HyperHDR (in webos build configuration) and JSON sets the filename but doesnt set tone mapping state.

@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 24, 2025

No, it must be a backend. Filename and HDR state is set in the same method:

void HyperAPI::handleVideoModeHdrCommand(const QJsonObject& message, const QString& command, int tan)

Are you sure you have installed fixed backend?

@satgit62
Copy link

No, it must be a backend. Filename and HDR state is set in the same method:

void HyperAPI::handleVideoModeHdrCommand(const QJsonObject& message, const QString& command, int tan)

Are you sure you have installed fixed backend?

Yes, the hyperon-webos backend has been fixed by sundermann and NV12 has been implemented. See commits: webosbrew/hyperion-webos@289ca60

@satgit62
Copy link

Or should I enter in line 202: jobject_set(post_body, j_cstr_to_buffer(“HDR”), jnumber_create_i32(range == SDR ? 1 : 1)); ?

@awawa-dev
Copy link
Owner Author

No, it's fine.

Could you add these 3 lines before

if (message.contains("flatbuffers_user_lut_filename"))
and recompile HyperHDR. It should output details to the logs.

	QJsonDocument doc(message);
	QString strJson(doc.toJson(QJsonDocument::Compact));
	Debug(_log, "Received new command for HDR mode: %s", QSTRING_CSTR(strJson));

@satgit62
Copy link

Yes, I will do that.

@satgit62
Copy link

satgit62 commented Jan 24, 2025

Hi @awawa-dev,
I have made the change and recompiled. Here is the log:

logs
2025-01-24T17:17:06.772Z [CORE] TTY is not attg output
2025-01-24T17:17:06.812Z [MAIN] Database path: '/home/root/.hyperhdr/db/hyperhdr.db', readonlyMode = disabled
2025-01-24T17:17:06.812Z [MAIN] Starting HyperHdr - 21.0.0.0beta1, master (GitHub-f241612/14570b0-1737729264), built: Jan 24 2025:14:43:21
2025-01-24T17:17:06.812Z [MAIN] Set user data path to '/home/root/.hyperhdr'
2025-01-24T17:17:06.813Z [INSTANCE_CFG] Loading instance configuration
2025-01-24T17:17:06.820Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T17:17:06.986Z [INSTANCE_CFG] Settings database initialized
2025-01-24T17:17:07.005Z [SOUND_GRABBER] Sound device is disabled
2025-01-24T17:17:07.042Z [DAEMON] The AVF grabber can not be instantiated, because it has been left out from the build
2025-01-24T17:17:07.042Z [DAEMON] The MF grabber can not be instantiated, because it has been left out from the build
2025-01-24T17:17:07.042Z [DAEMON] !The v4l2 grabber can not be instantiated, because it has been left out from the build
2025-01-24T17:17:07.058Z [DAEMON] The USB grabber was disabled during build. FlatbufferServer now controlls the HDR state.
2025-01-24T17:17:07.059Z [JSONSERVER] (JsonServer.cpp:26) Created new instance
2025-01-24T17:17:07.061Z [JSONSERVER] Started on port 19444
2025-01-24T17:17:07.063Z [SSDP] (SSDPHandler.cpp:31) SSDPHandler is initialized
2025-01-24T17:17:07.046Z [HYPERHDR0] Starting the instance
2025-01-24T17:17:07.046Z [INSTANCE_CFG0] Loading instance configuration
2025-01-24T17:17:07.046Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T17:17:07.200Z [INSTANCE_CFG0] Settings database initialized
2025-01-24T17:17:07.200Z [COMPONENTCTRL0] (ComponentController.cpp:27) ComponentController is initialized. Components are ENABLED
2025-01-24T17:17:07.215Z [MUXER0] (Muxer.cpp:54) Muxer initialized
2025-01-24T17:17:07.216Z [BLACKBORDER] Set mode to: default
2025-01-24T17:17:07.216Z [COMPONENTCTRL0] Blackborder detector: enabled
2025-01-24T17:17:07.217Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:192) Set LED mapping type to weighted
2025-01-24T17:17:07.217Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:176) setSparseProcessing to 0
2025-01-24T17:17:07.217Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:103) ImageToLedManager initialized
2025-01-24T17:17:07.219Z [COLORSPACE_CALIBRATION0] classicMode: yes, gammas:[1.50, 1.50, 1.50], saturation: 1.50, luminance: 1.00, backLight: [enabled, threshold: 0, colored: no]
2025-01-24T17:17:07.220Z [LED_CALIBRATION0] (LedCalibration.cpp:101) Calibration config '0' for LED segment: [0, 265]
2025-01-24T17:17:07.235Z [HYPERHDR0] Led strip RGB order is: rgb
2025-01-24T17:17:07.237Z [SMOOTHING0] High resolution clock is NOT STEADY!
2025-01-24T17:17:07.237Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T17:17:07.237Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:07.237Z [COMPONENTCTRL0] Smoothing: enabled
2025-01-24T17:17:07.238Z [SMOOTHING0] Creating config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T17:17:07.238Z [SMOOTHING0] Clearing queued colors before: enabling. Smoothing configuration changed: restarting timer.
2025-01-24T17:17:07.238Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:07.238Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T17:17:07.238Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T17:17:07.239Z [LEDDEVICE0_ADALIGHT] Start LedDevice 'adalight'.
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:336) deviceConfig: [{"awa_mode":true,"colorOrder":"rgb","currentLedCount":266,"espHandshake":true,"forceSerialDetection":true,"maxRetry":0,"output":"ttyACM0","rate":2000000,"refreshTime":17,"smoothingRefreshTime":17,"type":"adalight","white_channel_blue":150,"white_channel_calibration":true,"white_channel_green":255,"white_channel_limit":70,"white_channel_red":255}]
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] Ignoring user LED refresh rate. Forcing smoothing refresh rate = 58.82 Hz
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:422) Refresh rate = 58.82 Hz
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:372) Device is not ready to start a timer
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:432) Refresh interval updated to 17ms
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:50) DeviceType   : adalight
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:51) LedCount     : 266
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:52) RefreshTime  : 17
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:67) Device name   : ttyACM0
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:68) Auto selection: 0
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:69) Baud rate     : 2000000
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:70) ESP handshake : ON
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:71) Force ESP/Pico Detection : ON
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:72) Delayed open  : 0
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:73) Retry limit   : 0
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] The refresh timer is enabled ('Refresh time' > 0) and may limit the performance of the LED driver. Ignore this error if you set it on purpose for some reason (but you almost never need it).
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:78) Adalight driver with activated high speeed & data integration check AWA protocol
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:87) Adalight header for 266 leds: AwA 0x01 0x09 0x5d
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:44) White channel limit: 179, red: 255, green: 255, blue: 150
2025-01-24T17:17:07.240Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T17:17:07.241Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T17:17:07.241Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T17:17:07.243Z [HYPER_MANAGER] HyperHDR instance 'Ambilight_WZ' has been started
2025-01-24T17:17:07.244Z [HYPERHDR0] The instance is running
2025-01-24T17:17:07.244Z [MUXER0] Register new input 'System/VIDEOGRABBER' with priority 240 as inactive
2025-01-24T17:17:07.244Z [COMPONENTCTRL0] Video capture device: enabled
2025-01-24T17:17:07.250Z [WEBSERVER] Initialize Webserver
2025-01-24T17:17:07.252Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T17:17:07.257Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:07.257Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:07.258Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T17:17:07.258Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T17:17:07.290Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T17:17:07.324Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T17:17:07.327Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2025-01-24T17:17:07.328Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 255/255, red: 160, green: 160, blue: 160'
2025-01-24T17:17:07.328Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 9.) at 2 msec
2025-01-24T17:17:07.328Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T17:17:07.328Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T17:17:07.328Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T17:17:07.328Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T17:17:07.329Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T17:17:07.334Z [WEBSERVER] Apply Webserver settings
2025-01-24T17:17:07.334Z [WEBSERVER] Set document root to: :/www
2025-01-24T17:17:07.334Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTP)' on port: 8090
2025-01-24T17:17:07.334Z [SSDP] (SSDPHandler.cpp:93) The local address is empty
2025-01-24T17:17:07.335Z [WEBSERVER] Initialize Webserver
2025-01-24T17:17:07.335Z [WEBSERVER] Apply Webserver settings
2025-01-24T17:17:07.335Z [WEBSERVER] Set document root to: :/www
2025-01-24T17:17:07.348Z [WEBSERVER] Setup SSL certificate
2025-01-24T17:17:07.348Z [WEBSERVER] Setup private SSL key
2025-01-24T17:17:07.349Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTPS)' on port: 8092
2025-01-24T17:17:07.349Z [SSDP] (SSDPHandler.cpp:42) SSDPHandler is initializing
2025-01-24T17:17:07.350Z [SSDP] (SSDPHandler.cpp:196) The local address is: 192.168.2.81
2025-01-24T17:17:07.350Z [SSDP] (SSDPServer.cpp:94) Initialize the SSDP server
2025-01-24T17:17:07.352Z [SSDP] Starting the SSDP server
2025-01-24T17:17:07.362Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T17:17:07.476Z [MUXER0] Set visible priority to 255
2025-01-24T17:17:07.477Z [HYPERHDR0] New priority[255], previous [255]
2025-01-24T17:17:07.477Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T17:17:07.477Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T17:17:07.477Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:07.477Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T17:17:07.477Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T17:17:07.477Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T17:17:07.477Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T17:17:07.477Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T17:17:07.487Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T17:17:07.505Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232
' (94)
2025-01-24T17:17:07.508Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T17:17:07.508Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T17:17:07.528Z [FLATBUFSERVER] Decompression took 0.271000 seconds
2025-01-24T17:17:07.530Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T17:17:07.530Z [COMPONENTCTRL0] HDR (global): enabled
2025-01-24T17:17:07.531Z [FLATBUFSERVER] Started on port 19400
2025-01-24T17:17:07.531Z [FLATBUFSERVER] Started local domain socket server: 'hyperhdr-domain'
2025-01-24T17:17:07.531Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T17:17:07.531Z [FLATBUFSERVER] NV12 quarter of frame mode: 0
2025-01-24T17:17:07.531Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:07.532Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:07.532Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T17:17:07.532Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T17:17:07.685Z [FLATBUFSERVER] Decompression took 0.154000 seconds
2025-01-24T17:17:07.688Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T17:17:07.689Z [NETFORWARDER] Forwarder has changed state to disabled
2025-01-24T17:17:08.866Z [SERVICE_mDNS] Starting the network discovery thread
2025-01-24T17:17:08.939Z [NET_DISCOVERY] Found Hue bridge at 192.168.2.29:443 (001788a970b3.local)
2025-01-24T17:17:08.958Z [NET_DISCOVERY] Found Home Assistant at 192.168.2.75:8123 (2bc480e9f8fd48388121a6c0882e7cf2.local)
2025-01-24T17:17:09.006Z [WEBSOCKET] (WebSocketClient.cpp:40) New connection from ::ffff:192.168.2.61
2025-01-24T17:17:09.258Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T17:17:09.281Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:09.281Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T17:17:09.281Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T17:17:09.281Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-24T17:17:09.465Z [HTTPJSONRPC] (HyperAPI.cpp:981) Received new command for HDR mode: {"HDR":0,"command":"videomodehdr","flatbuffers_user_lut_filename":"lut_lin_tables.3d"}
2025-01-24T17:17:10.543Z [FLATBUFSERVER] Decompression took 1.262000 seconds
2025-01-24T17:17:10.544Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T17:17:10.545Z [FLATBUFSERVER] (FlatBuffersServer.cpp:370) Received first NV12 frame. First plane size: 36864 (stride: 256). Second plane size: 18432 (stride: 256). Image size: 55296 (256 x 144)
2025-01-24T17:17:10.547Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T17:17:10.547Z [MUXER0] Priority 150 is now active
2025-01-24T17:17:10.547Z [MUXER0] Set visible priority to 150
2025-01-24T17:17:10.547Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T17:17:10.547Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-24T17:17:10.547Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T17:17:10.547Z [FLATBUFSERVER] Tone mapping: 0
2025-01-24T17:17:10.547Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T17:17:10.547Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:10.547Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-24T17:17:10.547Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T17:17:10.547Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T17:17:10.547Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T17:17:10.547Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T17:17:10.547Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T17:17:10.547Z [FLATBUFSERVER] (LutLoader.cpp:89) Index 2 for YUV
2025-01-24T17:17:10.548Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T17:17:10.549Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T17:17:10.583Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T17:17:10.583Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T17:17:10.583Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T17:17:10.584Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T17:17:10.584Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T17:17:10.584Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T17:17:10.584Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T17:17:10.596Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T17:17:10.599Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232'
2025-01-24T17:17:10.599Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (RGBW => Gain: 179/255, red: 255, green: 255, blue: 150  Welcome! Awa driver 9.) at 2 msec
2025-01-24T17:17:10.599Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T17:17:10.599Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T17:17:10.599Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T17:17:10.599Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T17:17:10.600Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T17:17:10.635Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T17:17:11.697Z [FLATBUFSERVER] Decompression took 1.149000 seconds
2025-01-24T17:17:11.699Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T17:17:11.699Z [COMPONENTCTRL0] HDR (global): disabled
2025-01-24T17:17:11.706Z [FLATBUFSERVER] (FlatBuffersServerConnection.cpp:245) Socket Closed
2025-01-24T17:17:11.706Z [MUXER0] Removed source priority 150
2025-01-24T17:17:11.706Z [MUXER0] Set visible priority to 255
2025-01-24T17:17:11.706Z [HYPERHDR0] New priority[255], previous [150]
2025-01-24T17:17:11.706Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T17:17:11.706Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T17:17:11.706Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:11.706Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T17:17:11.706Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T17:17:11.706Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T17:17:11.706Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T17:17:11.706Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T17:17:11.707Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T17:17:11.714Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T17:17:11.714Z [MUXER0] Priority 150 is now active
2025-01-24T17:17:11.714Z [MUXER0] Set visible priority to 150
2025-01-24T17:17:11.714Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T17:17:11.714Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T17:17:11.714Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T17:17:11.714Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T17:17:11.715Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T17:17:11.715Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T17:17:11.715Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T17:17:11.721Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T17:17:11.745Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232
' (94)
2025-01-24T17:17:11.748Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T17:17:11.748Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T17:17:11.748Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T17:17:11.748Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T17:17:11.750Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName:          ttyACM0
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation:    /dev/ttyACM0
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:       
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:      
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier:  0x0
2025-01-24T17:17:11.767Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:      
2025-01-24T17:17:11.774Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232'
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 179/255, red: 255, green: 255, blue: 150'
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 9.) at 2 msec
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T17:17:11.777Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T17:17:11.777Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T17:17:11.812Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T17:17:17.158Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T17:17:20.027Z [WEBSOCKET] (WebSocketClient.cpp:189) send close: 1000 
2025-01-24T17:17:20.400Z [WEBSOCKET] (WebSocketClient.cpp:40) New connection from ::ffff:192.168.2.61
2025-01-24T17:17:22.291Z [WEBSOCKET] (HyperAPI.cpp:946) log streaming activated for client ::ffff:192.168.2.61
2025-01-24T17:19:06.750Z [PERFORMANCE] [INSTANCE0: FPS = 119.73, processed = 7184], [LED0: FPS = 58.82, send = 3529, processed = 3529, dropped = 0]ached to the lo

@awawa-dev
Copy link
Owner Author

As you can see something set tone mapping to disabled via JSON API:

Received new command for HDR mode: {"HDR":0,"command":"videomodehdr","flatbuffers_user_lut_filename":"lut_lin_tables.3d"}

Nothing else comes to my mind but the old not-fixed backend.

@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 24, 2025

For testing you can rename lut_lin_tables.3d in the backend to: lut_lin_tables_sdr.3d, upload changed backend, reset the device and see if the changes has been applied: HyperHDR should receive lut_lin_tables_sdr.3d for SDR. Maybe the old backend is installed somewhere and is still active?

@satgit62
Copy link

Hi @awawa-dev,
I have found the error.
Sundermann has put a 0 instead of 1 in json_rpc_client.c line 181.
I have now replaced it with 1 and it works.

I think the log is OK now.

2025-01-24T19:31:01.501Z [CORE] TTY is not attached to the log output
2025-01-24T19:31:01.533Z [MAIN] Database path: '/home/root/.hyperhdr/db/hyperhdr.db', readonlyMode = disabled
2025-01-24T19:31:01.533Z [MAIN] Starting HyperHdr - 21.0.0.0beta1, master (GitHub-f241612/14570b0-1737729264), built: Jan 24 2025:14:43:21
2025-01-24T19:31:01.533Z [MAIN] Set user data path to '/home/root/.hyperhdr'
2025-01-24T19:31:01.534Z [INSTANCE_CFG] Loading instance configuration
2025-01-24T19:31:01.540Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T19:31:01.699Z [INSTANCE_CFG] Settings database initialized
2025-01-24T19:31:01.715Z [SOUND_GRABBER] Sound device is disabled
2025-01-24T19:31:01.752Z [DAEMON] The AVF grabber can not be instantiated, because it has been left out from the build
2025-01-24T19:31:01.752Z [DAEMON] The MF grabber can not be instantiated, because it has been left out from the build
2025-01-24T19:31:01.753Z [DAEMON] !The v4l2 grabber can not be instantiated, because it has been left out from the build
2025-01-24T19:31:01.771Z [DAEMON] The USB grabber was disabled during build. FlatbufferServer now controlls the HDR state.
2025-01-24T19:31:01.771Z [JSONSERVER] (JsonServer.cpp:26) Created new instance
2025-01-24T19:31:01.774Z [JSONSERVER] Started on port 19444
2025-01-24T19:31:01.776Z [SSDP] (SSDPHandler.cpp:31) SSDPHandler is initialized
2025-01-24T19:31:01.755Z [HYPERHDR0] Starting the instance
2025-01-24T19:31:01.755Z [INSTANCE_CFG0] Loading instance configuration
2025-01-24T19:31:01.755Z [DB] Database opened: /home/root/.hyperhdr/db/hyperhdr.db
2025-01-24T19:31:01.903Z [INSTANCE_CFG0] Settings database initialized
2025-01-24T19:31:01.904Z [COMPONENTCTRL0] (ComponentController.cpp:27) ComponentController is initialized. Components are ENABLED
2025-01-24T19:31:01.918Z [MUXER0] (Muxer.cpp:54) Muxer initialized
2025-01-24T19:31:01.919Z [BLACKBORDER] Set mode to: default
2025-01-24T19:31:01.919Z [COMPONENTCTRL0] Blackborder detector: enabled
2025-01-24T19:31:01.920Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:192) Set LED mapping type to weighted
2025-01-24T19:31:01.920Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:176) setSparseProcessing to 0
2025-01-24T19:31:01.920Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:103) ImageToLedManager initialized
2025-01-24T19:31:01.922Z [COLORSPACE_CALIBRATION0] classicMode: yes, gammas:[1.50, 1.50, 1.50], saturation: 1.50, luminance: 1.00, backLight: [enabled, threshold: 0, colored: no]
2025-01-24T19:31:01.922Z [LED_CALIBRATION0] (LedCalibration.cpp:101) Calibration config '0' for LED segment: [0, 265]
2025-01-24T19:31:01.934Z [HYPERHDR0] Led strip RGB order is: rgb
2025-01-24T19:31:01.935Z [SMOOTHING0] High resolution clock is NOT STEADY!
2025-01-24T19:31:01.935Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T19:31:01.935Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:01.935Z [COMPONENTCTRL0] Smoothing: enabled
2025-01-24T19:31:01.936Z [SMOOTHING0] Creating config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T19:31:01.936Z [SMOOTHING0] Clearing queued colors before: enabling. Smoothing configuration changed: restarting timer.
2025-01-24T19:31:01.936Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:01.936Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T19:31:01.936Z [SMOOTHING0] Selecting config (0) => type: Alternative, pause: false, settlingTime: 150ms, interval: 17ms (58Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] Start LedDevice 'adalight'.
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:336) deviceConfig: [{"awa_mode":true,"colorOrder":"rgb","currentLedCount":266,"espHandshake":true,"forceSerialDetection":true,"maxRetry":0,"output":"ttyACM0","rate":2000000,"refreshTime":17,"smoothingRefreshTime":17,"type":"adalight","white_channel_blue":150,"white_channel_calibration":true,"white_channel_green":255,"white_channel_limit":70,"white_channel_red":255}]
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] Ignoring user LED refresh rate. Forcing smoothing refresh rate = 58.82 Hz
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:422) Refresh rate = 58.82 Hz
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:372) Device is not ready to start a timer
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:432) Refresh interval updated to 17ms
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:50) DeviceType : adalight
2025-01-24T19:31:01.937Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:51) LedCount : 266
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:52) RefreshTime : 17
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:67) Device name : ttyACM0
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:68) Auto selection: 0
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:69) Baud rate : 2000000
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:70) ESP handshake : ON
2025-01-24T19:31:01.938Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:71) Force ESP/Pico Detection : ON
2025-01-24T19:31:01.938Z [HYPER_MANAGER] HyperHDR instance 'Ambilight_WZ' has been started
2025-01-24T19:31:01.938Z [HYPERHDR0] The instance is running
2025-01-24T19:31:01.938Z [MUXER0] Register new input 'System/VIDEOGRABBER' with priority 240 as inactive
2025-01-24T19:31:01.938Z [COMPONENTCTRL0] Video capture device: enabled
2025-01-24T19:31:01.939Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:72) Delayed open : 0
2025-01-24T19:31:01.939Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:73) Retry limit : 0
2025-01-24T19:31:01.939Z [LEDDEVICE0_ADALIGHT] The refresh timer is enabled ('Refresh time' > 0) and may limit the performance of the LED driver. Ignore this error if you set it on purpose for some reason (but you almost never need it).
2025-01-24T19:31:01.940Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:78) Adalight driver with activated high speeed & data integration check AWA protocol
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:87) Adalight header for 266 leds: AwA 0x01 0x09 0x5d
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] (DriverSerialAdalight.cpp:44) White channel limit: 179, red: 255, green: 255, blue: 150
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T19:31:01.940Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T19:31:01.940Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T19:31:01.940Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:01.941Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T19:31:01.941Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T19:31:01.941Z [WEBSERVER] Initialize Webserver
2025-01-24T19:31:02.037Z [WEBSERVER] Apply Webserver settings
2025-01-24T19:31:02.037Z [WEBSERVER] Set document root to: :/www
2025-01-24T19:31:02.037Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTP)' on port: 8090
2025-01-24T19:31:02.038Z [SSDP] (SSDPHandler.cpp:93) The local address is empty
2025-01-24T19:31:02.038Z [WEBSERVER] Initialize Webserver
2025-01-24T19:31:02.038Z [WEBSERVER] Apply Webserver settings
2025-01-24T19:31:02.038Z [WEBSERVER] Set document root to: :/www
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName: ttyACM0
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation: /dev/ttyACM0
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier: 0x0
2025-01-24T19:31:02.050Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:
2025-01-24T19:31:02.063Z [WEBSERVER] Setup SSL certificate
2025-01-24T19:31:02.066Z [WEBSERVER] Setup private SSL key
2025-01-24T19:31:02.066Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T19:31:02.066Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTPS)' on port: 8092
2025-01-24T19:31:02.066Z [SSDP] (SSDPHandler.cpp:42) SSDPHandler is initializing
2025-01-24T19:31:02.067Z [SSDP] (SSDPHandler.cpp:196) The local address is: 192.168.2.81
2025-01-24T19:31:02.067Z [SSDP] (SSDPServer.cpp:94) Initialize the SSDP server
2025-01-24T19:31:02.069Z [SSDP] Starting the SSDP server
2025-01-24T19:31:02.069Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2025-01-24T19:31:02.069Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (RGBW => Gain: 255/255, red: 160, green: 160, blue: 160 Welcome! Awa driver 9.) at 3 msec
2025-01-24T19:31:02.070Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T19:31:02.070Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T19:31:02.071Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T19:31:02.071Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T19:31:02.072Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T19:31:02.106Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T19:31:02.180Z [MUXER0] Set visible priority to 255
2025-01-24T19:31:02.180Z [HYPERHDR0] New priority[255], previous [255]
2025-01-24T19:31:02.181Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T19:31:02.181Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T19:31:02.181Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:02.181Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T19:31:02.181Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T19:31:02.181Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T19:31:02.181Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T19:31:02.181Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T19:31:02.190Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T19:31:02.213Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232
' (94)
2025-01-24T19:31:02.216Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T19:31:02.216Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T19:31:02.291Z [FLATBUFSERVER] Decompression took 0.350000 seconds
2025-01-24T19:31:02.292Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T19:31:02.293Z [COMPONENTCTRL0] HDR (global): enabled
2025-01-24T19:31:02.293Z [FLATBUFSERVER] Started on port 19400
2025-01-24T19:31:02.293Z [FLATBUFSERVER] Started local domain socket server: 'hyperhdr-domain'
2025-01-24T19:31:02.293Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T19:31:02.293Z [FLATBUFSERVER] NV12 quarter of frame mode: 0
2025-01-24T19:31:02.293Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:02.294Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:02.294Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T19:31:02.294Z [FLATBUFSERVER] (LutLoader.cpp:94) Index 0 for HDR RGB
2025-01-24T19:31:02.454Z [FLATBUFSERVER] Decompression took 0.160000 seconds
2025-01-24T19:31:02.456Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T19:31:02.457Z [NETFORWARDER] Forwarder has changed state to disabled
2025-01-24T19:31:03.580Z [SERVICE_mDNS] Starting the network discovery thread
2025-01-24T19:31:03.659Z [WEBSOCKET] (WebSocketClient.cpp:40) New connection from ::ffff:192.168.2.61
2025-01-24T19:31:03.660Z [NET_DISCOVERY] Found Hue bridge at 192.168.2.29:443 (001788a970b3.local)
2025-01-24T19:31:03.978Z [WEBSOCKET] (HyperAPI.cpp:946) log streaming activated for client ::ffff:192.168.2.61
2025-01-24T19:31:04.089Z [NET_DISCOVERY] Found Home Assistant at 192.168.2.75:8123 (2bc480e9f8fd48388121a6c0882e7cf2.local)
2025-01-24T19:31:04.908Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T19:31:04.925Z [FLATBUFSERVER] LUT file is not found here: /home/root/.hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:04.925Z [FLATBUFSERVER] LUT file is not found here: /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.loader.service/hyperhdr/flat_lut_lin_tables.3d
2025-01-24T19:31:04.925Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T19:31:04.925Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-24T19:31:05.119Z [HTTPJSONRPC] (HyperAPI.cpp:981) Received new command for HDR mode: {"HDR":1,"command":"videomodehdr","flatbuffers_user_lut_filename":"lut_lin_tables.3d"}
2025-01-24T19:31:06.156Z [FLATBUFSERVER] Decompression took 1.231000 seconds
2025-01-24T19:31:06.158Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T19:31:06.158Z [FLATBUFSERVER] (FlatBuffersServer.cpp:370) Received first NV12 frame. First plane size: 36864 (stride: 256). Second plane size: 18432 (stride: 256). Image size: 55296 (256 x 144)
2025-01-24T19:31:06.159Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T19:31:06.159Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-24T19:31:06.159Z [FLATBUFSERVER] Tone mapping: 1
2025-01-24T19:31:06.159Z [MUXER0] Priority 150 is now active
2025-01-24T19:31:06.159Z [MUXER0] Set visible priority to 150
2025-01-24T19:31:06.159Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-24T19:31:06.159Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T19:31:06.160Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T19:31:06.160Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-24T19:31:06.160Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T19:31:06.160Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-24T19:31:06.160Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:06.160Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T19:31:06.160Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T19:31:06.160Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T19:31:06.160Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T19:31:06.161Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T19:31:06.162Z [IMAGETOLED_MNG0] Total index number is: 5648 (memory: 5648). User sparse processing is: disabled, image size: 256 x 144, area number: 266
2025-01-24T19:31:06.191Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName: ttyACM0
2025-01-24T19:31:06.192Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation: /dev/ttyACM0
2025-01-24T19:31:06.193Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:
2025-01-24T19:31:06.193Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:
2025-01-24T19:31:06.194Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T19:31:06.194Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier: 0x0
2025-01-24T19:31:06.195Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:
2025-01-24T19:31:06.205Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T19:31:06.209Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 460, heap: 123232'
2025-01-24T19:31:06.210Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (RGBW => Gain: 179/255, red: 255, green: 255, blue: 150 Welcome! Awa driver 9.) at 3 msec
2025-01-24T19:31:06.210Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T19:31:06.211Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T19:31:06.211Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T19:31:06.211Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T19:31:06.213Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T19:31:06.247Z [SMOOTHING0] Using alternative smoothing procedure (0)
2025-01-24T19:31:07.175Z [FLATBUFSERVER] Decompression took 1.016000 seconds
2025-01-24T19:31:07.177Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d'
2025-01-24T19:31:07.181Z [FLATBUFSERVER] (FlatBuffersServerConnection.cpp:245) Socket Closed
2025-01-24T19:31:07.181Z [FLATBUFSERVER] (FlatBuffersServer.cpp:178) New connection from ::ffff:127.0.0.1
2025-01-24T19:31:07.182Z [MUXER0] Removed source priority 150
2025-01-24T19:31:07.182Z [MUXER0] Set visible priority to 255
2025-01-24T19:31:07.182Z [HYPERHDR0] New priority[255], previous [150]
2025-01-24T19:31:07.182Z [HYPERHDR0] No source left -> switch LED-Device off
2025-01-24T19:31:07.182Z [SMOOTHING0] Clearing queued colors before: disabling
2025-01-24T19:31:07.182Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:07.182Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 0
2025-01-24T19:31:07.183Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:296) Disable the device
2025-01-24T19:31:07.183Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:380) Stopping refresh timer
2025-01-24T19:31:07.183Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:89) Switch off
2025-01-24T19:31:07.183Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:543) Set LED strip to black/power off
2025-01-24T19:31:07.186Z [MUXER0] Register new input 'webos@::ffff:127.0.0.1/FLATBUFSERVER' with priority 150 as inactive
2025-01-24T19:31:07.186Z [MUXER0] Priority 150 is now active
2025-01-24T19:31:07.186Z [MUXER0] Set visible priority to 150
2025-01-24T19:31:07.186Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T19:31:07.186Z [HYPERHDR0] New priority[150], previous [255]
2025-01-24T19:31:07.186Z [HYPERHDR0] New source available -> switch LED-Device on
2025-01-24T19:31:07.186Z [SMOOTHING0] Clearing queued colors before: enabling
2025-01-24T19:31:07.186Z [SMOOTHING0] Smoothing queue is cleared
2025-01-24T19:31:07.187Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:224) setBackLightEnabled: 1
2025-01-24T19:31:07.188Z [SMOOTHING0] Using alternative smoothing input (0)
2025-01-24T19:31:07.198Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:146) Flush was successful
2025-01-24T19:31:07.215Z [LEDDEVICE0_ADALIGHT] Received goodbye: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232
' (94)
2025-01-24T19:31:07.217Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:164) Serial port is closed: ttyACM0
2025-01-24T19:31:07.217Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:246) Enable the device
2025-01-24T19:31:07.217Z [LEDDEVICE0_ADALIGHT] Opening UART: ttyACM0
2025-01-24T19:31:07.217Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:209) _serialPort.open(QIODevice::ReadWrite): ttyACM0, Baud rate [2000000]bps
2025-01-24T19:31:07.218Z [COMPONENTCTRL0] LED device: disabled
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:214) portName: ttyACM0
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:215) systemLocation: /dev/ttyACM0
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:216) description:
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:217) manufacturer:
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:218) productIdentifier: 0x0
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:219) vendorIdentifier: 0x0
2025-01-24T19:31:07.236Z [LEDDEVICE0_ADALIGHT] (ProviderSerial.cpp:220) serialNumber:
2025-01-24T19:31:07.242Z [LEDDEVICE0_ADALIGHT] Force ESP/Pico detection override enabled. HyperHDR skips the reset. State: 1, 1
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] ESP sent: 'HyperHDR frames: 0 (FPS), receiv.: 0, good: 0, incompl.: 0, mem1: 0, mem2: 450, heap: 123232'
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] ESP sent: 'RGBW => Gain: 179/255, red: 255, green: 255, blue: 150'
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] DETECTED DEVICE USING HyperSerialEsp8266/HyperSerialESP32/HyperSerialPico FIRMWARE (Welcome! Awa driver 9.) at 2 msec
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:63) Switch on
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:139) Power On
2025-01-24T19:31:07.245Z [LEDDEVICE0_ADALIGHT] (LedDevice.cpp:366) Starting timer with interval = 17ms
2025-01-24T19:31:07.245Z [COMPONENTCTRL0] LED device: enabled
2025-01-24T19:31:07.279Z [SMOOTHING0] Using alternative smoothing procedure (0)

@satgit62
Copy link

satgit62 commented Jan 24, 2025

@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 24, 2025

I think it's not related, that value returns status: 0 = OK
If it is not 0 then you will get an error written in the backend log
https://github.com/webosbrew/hyperion-webos/blob/f45cff0cd39e9c908a22362f8bdf10a3246c08de/src/service.c#L459
Anyway now it's working fine.

@satgit62
Copy link

I think it's not related, that value returns status: 0 = OK If it is not 0 then you will get an error written in the backend log https://github.com/webosbrew/hyperion-webos/blob/f45cff0cd39e9c908a22362f8bdf10a3246c08de/src/service.c#L459 Anyway now it's working fine.

Yes, this works perfectly and the compressed LUTs are loaded in real time. No idea why it works with this value.
However, this means that the Sundermann must also change this in the hyperion-webos.

@awawa-dev
Copy link
Owner Author

To be sure, I suggest checking the backend logs now to see if they are littered with false errors (sending the command was successful but now the method returns status 1). And additionally changing this value ("ret") back to 0 and compiling and installing this version to be sure that this value was the problem and not the old backend. I simply have no idea where this effect is coming from 😃

@satgit62
Copy link

satgit62 commented Jan 25, 2025

To be sure, I suggest checking the backend logs now to see if they are littered with false errors (sending the command was successful but now the method returns status 1). And additionally changing this value ("ret") back to 0 and compiling and installing this version to be sure that this value was the problem and not the old backend. I simply have no idea where this effect is coming from 😃

Hi, it's not the backend, it works even if the value stays at 0. “int ret = 0;”
I have recompiled HyperHDR the master branch, and it works without any changes to the backend. Maybe it was also because I only did reboots and no cold start.
I also built a new PiCap NV12 IPK version, and it also works as it should.
The results are perfect:

2025-01-25T12:33:09.958Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables_hdr.3d'
2025-01-25T12:33:09.958Z [FLATBUFSERVER] Tone mapping: 1
2025-01-25T12:33:09.959Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables_hdr.3d
2025-01-25T12:33:09.963Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables_hdr.3d.zst (compressed)
2025-01-25T12:33:09.963Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-25T12:33:11.384Z [FLATBUFSERVER] Decompression took 1.421000 seconds
2025-01-25T12:33:11.387Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables_hdr.3d'
2025-01-25T12:33:11.388Z [FLATBUFSERVER] Setting user LUT filename to: 'lut_lin_tables.3d'
2025-01-25T12:33:11.388Z [FLATBUFSERVER] Tone mapping: 1
2025-01-25T12:33:11.388Z [FLATBUFSERVER] (FlatBuffersServer.cpp:301) Adding user LUT file for searching: /home/root/.hyperhdr/lut_lin_tables.3d
2025-01-25T12:33:11.389Z [FLATBUFSERVER] (LutLoader.cpp:73) LUT file found: /home/root/.hyperhdr/lut_lin_tables.3d.zst (compressed)
2025-01-25T12:33:11.389Z [FLATBUFSERVER] (LutLoader.cpp:84) Index 1 for HDR YUV
2025-01-25T12:33:12.866Z [FLATBUFSERVER] Decompression took 1.477000 seconds
2025-01-25T12:33:12.870Z [FLATBUFSERVER] Found and loaded LUT: '/home/root/.hyperhdr/lut_lin_tables.3d

@awawa-dev
Copy link
Owner Author

Yes, webos could be tricky especially with that cold restarts (Quick start I think). Hopefully this isn't due to an older backend version in the repository, but newer compressed LUTs should clear this up for users quickly. Decompression time is very good on your device.

@satgit62
Copy link

satgit62 commented Jan 25, 2025

Hi, @awawa-dev,

I barely slept to find out before recommending it to someone with webOS. I have no idea why it didn't work out in the end. But everything is fine now. I also completely reset both my LG devices and lo and behold, they are working fine again. So the HyperHDR master branch is running and the new PicCap v0.5.0 with the NV12 backend I built is also running.

https://github.com/satgit62/piccap/tree/NV12
https://github.com/satgit62/piccap/actions/runs/12904947120/artifacts/2466755834
One more question: Are you planning to merge the ZigBee branch as well?

@awawa-dev
Copy link
Owner Author

awawa-dev commented Jan 25, 2025

Yes, support ZigBee is probably last change before beta2. A matter of days or one week maybe. I will restore dynamic brightness there, but I have to significantly modify my fork zigbee2mqtt and test it. In the meantime zigbee2mqtt released version 2.0.0 which changes a lot and additionally I was discouraged by this non-working touchlink in Silicone Labs. Unfortunately, Internet opinions that Zigbee-E is not such a good replacement for Zigbee-P have been confirmed in practice. Hardware alone is not everything.

@satgit62
Copy link

Yes, support ZigBee is probably last change before beta2. A matter of days or one week maybe. I will restore dynamic brightness there, but I have to significantly modify my fork zigbee2mqtt and test it. In the meantime zigbee2mqtt released version 2.0.0 which changes a lot and additionally I was discouraged by this non-working touchlink in Silicone Labs. Unfortunately, Internet opinions that Zigbee-E is not such a good replacement for Zigbee-P have been confirmed in practice. Hardware alone is not everything.

I can then do testing of all your changes in the webOS branch.

@awawa-dev
Copy link
Owner Author

OK, @satgit62 HyperHDR 21.0.0.0beta2 is ready for testing (master branch)

@awawa-dev
Copy link
Owner Author

@satgit62 while testing I found a bug in HA wizard :-( Please rebuild it, the master branch is fixed now.

asturel pushed a commit to asturel/HyperHDR that referenced this pull request Feb 4, 2025
* Add support for XZ compression for all LUTs file

* Replace XZ with ZSTD

* Update 3RD_PARTY_LICENSES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants