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 51 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 Offline
    honey the codewitchH Offline
    honey the codewitch
    wrote on last edited by
    #1

    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

    Greg UtasG D P F 4 Replies 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

      Greg UtasG Offline
      Greg UtasG Offline
      Greg Utas
      wrote on last edited by
      #2

      Can't you just rotate it 3 times to get 90 degrees? Inelegant, but I must be missing something.

      Robust Services Core | Software Techniques for Lemmings | Articles
      The fox knows many things, but the hedgehog knows one big thing.

      <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
      <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

      honey the codewitchH 1 Reply Last reply
      0
      • Greg UtasG Greg Utas

        Can't you just rotate it 3 times to get 90 degrees? Inelegant, but I must be missing something.

        Robust Services Core | Software Techniques for Lemmings | Articles
        The fox knows many things, but the hedgehog knows one big thing.

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

        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 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

          D Offline
          D Offline
          den2k88
          wrote on last edited by
          #4

          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 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

            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