Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. RA8875 has ridiculous registers

RA8875 has ridiculous registers

Scheduled Pinned Locked Moved The Weird and The Wonderful
15 Posts 7 Posters 50 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • honey the codewitchH honey the codewitch

    The RA8875 is a controller for an 800x480 display I am using in a project. You can rotate the screen via setting some registers. There is no option to rotate 90 degrees, only 270, leaving the X axis, and thus text and bitmaps mirrored. Whoever designed this should be forced to use it.

    Real programmers use butterflies

    P Offline
    P Offline
    PIEBALDconsult
    wrote on last edited by
    #5

    "Rotate" doesn't exist -- there are only flips, on three axes. :-D Odd that they provide only two bits when you need three.

    honey the codewitchH 1 Reply Last reply
    0
    • P PIEBALDconsult

      "Rotate" doesn't exist -- there are only flips, on three axes. :-D Odd that they provide only two bits when you need three.

      honey the codewitchH Offline
      honey the codewitchH Offline
      honey the codewitch
      wrote on last edited by
      #6

      Call it what you want. You know what I was talking about so I did my part. Prescriptivism is annoying.

      Real programmers use butterflies

      1 Reply Last reply
      0
      • D den2k88

        Because you can mirror the x axis yourself reading the lines backwards.

        GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

        honey the codewitchH Offline
        honey the codewitchH Offline
        honey the codewitch
        wrote on last edited by
        #7

        Yeah, no. Because then you can't send bitmap data using DMA, and you need to generate a lot more bus traffic. The device should have been designed correctly.

        Real programmers use butterflies

        1 Reply Last reply
        0
        • honey the codewitchH honey the codewitch

          The RA8875 is a controller for an 800x480 display I am using in a project. You can rotate the screen via setting some registers. There is no option to rotate 90 degrees, only 270, leaving the X axis, and thus text and bitmaps mirrored. Whoever designed this should be forced to use it.

          Real programmers use butterflies

          F Offline
          F Offline
          Fueled By Decaff
          wrote on last edited by
          #8

          Could you do the rotation and then use the horizontal and vertical scan direction registers to mirror the display (and get an extra 180 degrees of rotation)?

          honey the codewitchH 1 Reply Last reply
          0
          • F Fueled By Decaff

            Could you do the rotation and then use the horizontal and vertical scan direction registers to mirror the display (and get an extra 180 degrees of rotation)?

            honey the codewitchH Offline
            honey the codewitchH Offline
            honey the codewitch
            wrote on last edited by
            #9

            It doesn't have registers for mirroring aside from the two bits it uses, and I need three.

            Real programmers use butterflies

            F 1 Reply Last reply
            0
            • honey the codewitchH honey the codewitch

              It doesn't have registers for mirroring aside from the two bits it uses, and I need three.

              Real programmers use butterflies

              F Offline
              F Offline
              Fueled By Decaff
              wrote on last edited by
              #10

              Register 20H instead of 40H/45H? Or is that the wrong controller I am looking at? It might be something completely different or not do what you need. I agree, it does need three bits to get all of the rotations/mirrors that are possible and they have a spare bit, so why didn't they just give all eight options?

              honey the codewitchH 2 Replies Last reply
              0
              • F Fueled By Decaff

                Register 20H instead of 40H/45H? Or is that the wrong controller I am looking at? It might be something completely different or not do what you need. I agree, it does need three bits to get all of the rotations/mirrors that are possible and they have a spare bit, so why didn't they just give all eight options?

                honey the codewitchH Offline
                honey the codewitchH Offline
                honey the codewitch
                wrote on last edited by
                #11

                Fueled By Decaff wrote:

                Register 20H instead of 40H/45H?

                Nice catch! I guess my eyes are glazing over it after poring over it for a day while writing a driver for it. I'll see if it works. I don't know why they didn't use 3 bits. It's just weird.

                Real programmers use butterflies

                P 1 Reply Last reply
                0
                • F Fueled By Decaff

                  Register 20H instead of 40H/45H? Or is that the wrong controller I am looking at? It might be something completely different or not do what you need. I agree, it does need three bits to get all of the rotations/mirrors that are possible and they have a spare bit, so why didn't they just give all eight options?

                  honey the codewitchH Offline
                  honey the codewitchH Offline
                  honey the codewitch
                  wrote on last edited by
                  #12

                  You're my friggin hero today. :thumbsup::thumbsup::thumbsup: It worked. It's weird reversing both reads and writes, but it worked. Woo! Thank you so much!

                  Real programmers use butterflies

                  1 Reply Last reply
                  0
                  • honey the codewitchH honey the codewitch

                    It's not quite 5am and my spatial reasoning may not be entirely on point right now. Basically when I rotate it, it goes 90 degrees with the X axis inverted. You cannot rotate it 3 times nor flip the X axis because they only use 2 bits to store the rotation. These are the directions you can set the memory write order: LRTD RLTD TDLR DTLR (T=Top, R=Right, D=Down, L=Left)

                    Real programmers use butterflies

                    J Offline
                    J Offline
                    Jorgen Andersson
                    wrote on last edited by
                    #13

                    I'm missing the TLDR option ;P

                    Wrong is evil and must be defeated. - Jeff Ello

                    1 Reply Last reply
                    0
                    • honey the codewitchH honey the codewitch

                      Fueled By Decaff wrote:

                      Register 20H instead of 40H/45H?

                      Nice catch! I guess my eyes are glazing over it after poring over it for a day while writing a driver for it. I'll see if it works. I don't know why they didn't use 3 bits. It's just weird.

                      Real programmers use butterflies

                      P Offline
                      P Offline
                      Peter Adam
                      wrote on last edited by
                      #14

                      Probably their use case is flipping the image for projectors. [how do i flip the projector image upside down](https://www.justprojectors.com.au/blog/flipping\_the\_projected\_image\_upside\_down\_for\_ceiling\_installation.htm)

                      honey the codewitchH 1 Reply Last reply
                      0
                      • P Peter Adam

                        Probably their use case is flipping the image for projectors. [how do i flip the projector image upside down](https://www.justprojectors.com.au/blog/flipping\_the\_projected\_image\_upside\_down\_for\_ceiling\_installation.htm)

                        honey the codewitchH Offline
                        honey the codewitchH Offline
                        honey the codewitch
                        wrote on last edited by
                        #15

                        Usually these IoT display controllers allow you to rotate any direction due to the screen orientation being unknown in advance. In any case, thanks to FueledByDecaf I worked it out by adjusting both the write order and the scan direction both.

                        Real programmers use butterflies

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups