Shop OBEX P1 Docs P2 Docs Events
"Blitzen 24" E1.31 Pixel Light Controller Updates thread. - Page 4 — Parallax Forums

"Blitzen 24" E1.31 Pixel Light Controller Updates thread.

124»

Comments

  • ke4pjwke4pjw Posts: 994
    edited 2023-11-16 23:44

    Here is a quick video with about 90% of my lights up. This is a Halloween Sequence. Every light you see here is controlled by a P2 or a P1.

  • Cool stuff.

    I admire the work that went to this effect.
    While I'm not much into lights I am very much in favour of, your words exacltly, "controlled buy" :D .

  • @Maciek said:
    Cool stuff.

    I admire the work that went to this effect.
    While I'm not much into lights I am very much in favour of, your words exacltly, "controlled buy" :D .

    LOL. I never won the spelling contest :)

  • RaymanRayman Posts: 13,484
    edited 2023-11-23 19:02

    @ke4pjw I'm using your OLED code for the Parallax OLED display. Thanks for posting that!

    I did just find one thing that might be an error? Or, at least threw me off...

    Had to modify these functions as shown below to get the oled to show an image correctly:

    PUB R24bitColor(RGB): rt
        return (((RGB & $F800) >> 11))<<1' * 527 + 23 ) >> 6
    
    PUB G24bitColor(RGB): rt
        return (((RGB & $7E0) >> 5))'  * 259 + 33 ) >> 6
    
    PUB B24bitColor(RGB): rt
        return ((RGB & $1F) )<<1'* 527 + 23 ) >> 6
    
  • Hey Ray! It has been a while since I actually tested a 24bit image. I usually convert to a raw 565 16bit format. The repo is here: https://griswoldfx.visualstudio.com/P2 SSD1331

    I must have forgot to comment that at some point. I remember someone helping me do a better job of the 24bit RGB to 565 format. I will get this updated in the repo this weekend. I am glad you found that code useful. I first did that on the P1 like 10 years ago.

    @Rayman said:
    @ke4pjw I'm using your OLED code for the Parallax OLED display. Thanks for posting that!

    I did just find one thing that might be an error? Or, at least threw me off...

    Had to modify these functions as shown below to get the oled to show an image correctly:

    PUB R24bitColor(RGB): rt
        return (((RGB & $F800) >> 11))<<1' * 527 + 23 ) >> 6
    
    PUB G24bitColor(RGB): rt
        return (((RGB & $7E0) >> 5))'  * 259 + 33 ) >> 6
    
    PUB B24bitColor(RGB): rt
        return ((RGB & $1F) )<<1'* 527 + 23 ) >> 6
    
  • JonnyMacJonnyMac Posts: 8,798
    edited 2023-11-26 17:17

    I remember someone helping me do a better job of the 24bit RGB to 565 format.

    Ada told me about the rgbsqz instruction that handles 24-bit (8:8:8) to 16-bit 5:6:5.

    pub rgb24to565(rgb) : result
    
    '' Create 16-bit (5:6:5) value from 24-bit rgb ($00RRGGBB)
    
      org
                            mov       result, rgb
                            shl       result, #8
                            rgbsqz    result
      end
    
  • So I have started on version 2 of the light controller. There were problems with my layout in V1 Specifically, there were problems with crosstalk. Another problem with V1 of the light controller is burn-in of the OLED. I am going to add a quadrature encoded knob that has a push switch. This will allow navigation of a menu on the OLED as well as allowing the OLED to go to sleep and be awakened when the knob manipulated.

    Additionally, there were problems with the hardware reset and the use of the SD card. I will be modifying the reset circuit as outlined below. I wanted to get feedback from other forum members if they see any issues going this route. It should allow for power cycling the SD card during brownout and pressing the reset button, while also placing the P2 into a reset condition.

    Thanks,
    --Terry

Sign In or Register to comment.