Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • 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 (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Time to dust off this thread!

Time to dust off this thread!

Scheduled Pinned Locked Moved Uncategorized
30 Posts 6 Posters 0 Views
  • 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.
  • cato@chaosfurs.socialC cato@chaosfurs.social

    I added a "line flags" feature to my software - basically a uint8_t with up to 8 flag bits per line of text that can be used for the indicators or whatever else a display might hold in the future. My web frontend automatically renders these as checkboxes based on the display configuration.

    Link Preview Image
    cato@chaosfurs.socialC This user is from outside of this forum
    cato@chaosfurs.socialC This user is from outside of this forum
    cato@chaosfurs.social
    wrote last edited by
    #4

    Since this display is using mosaic segmented LCDs, creating the font data would be a huge pain in the butt to do by just writing down raw bytes. So I made a quick and dirty little tool by tracing a photo of the LCD layout in Inkscape, using this in a HTML file with some JavaScript to make it interactive and having that spit out the correct bytes for the drawn character.

    cato@chaosfurs.socialC 1 Reply Last reply
    0
    • cato@chaosfurs.socialC cato@chaosfurs.social

      Since this display is using mosaic segmented LCDs, creating the font data would be a huge pain in the butt to do by just writing down raw bytes. So I made a quick and dirty little tool by tracing a photo of the LCD layout in Inkscape, using this in a HTML file with some JavaScript to make it interactive and having that spit out the correct bytes for the drawn character.

      cato@chaosfurs.socialC This user is from outside of this forum
      cato@chaosfurs.socialC This user is from outside of this forum
      cato@chaosfurs.social
      wrote last edited by
      #5

      Fun fact! This thing is using 60 bits per character. No, it doesn't use any padding in between. I had to do some annoying bit shifting to get a nice data stream.

      cato@chaosfurs.socialC 1 Reply Last reply
      0
      • cato@chaosfurs.socialC cato@chaosfurs.social

        Fun fact! This thing is using 60 bits per character. No, it doesn't use any padding in between. I had to do some annoying bit shifting to get a nice data stream.

        cato@chaosfurs.socialC This user is from outside of this forum
        cato@chaosfurs.socialC This user is from outside of this forum
        cato@chaosfurs.social
        wrote last edited by
        #6

        Font done, bootup shows the hostname and IP (as much as fits on a single module at least). Exactly as it should be!

        cato@chaosfurs.socialC 1 Reply Last reply
        0
        • cato@chaosfurs.socialC cato@chaosfurs.social

          Font done, bootup shows the hostname and IP (as much as fits on a single module at least). Exactly as it should be!

          cato@chaosfurs.socialC This user is from outside of this forum
          cato@chaosfurs.socialC This user is from outside of this forum
          cato@chaosfurs.social
          wrote last edited by
          #7

          The alternating blinker control also works!

          cato@chaosfurs.socialC 1 Reply Last reply
          0
          • cato@chaosfurs.socialC cato@chaosfurs.social

            The alternating blinker control also works!

            cato@chaosfurs.socialC This user is from outside of this forum
            cato@chaosfurs.socialC This user is from outside of this forum
            cato@chaosfurs.social
            wrote last edited by
            #8

            Aaaand I'm in integration hell

            cato@chaosfurs.socialC 1 Reply Last reply
            0
            • cato@chaosfurs.socialC cato@chaosfurs.social

              Aaaand I'm in integration hell

              cato@chaosfurs.socialC This user is from outside of this forum
              cato@chaosfurs.socialC This user is from outside of this forum
              cato@chaosfurs.social
              wrote last edited by
              #9

              There seems to be some sort of problem once more than 4 LCD buses are plugged in. But measuring the shared signal lines, the signal levels and edges as well as the power rails look totally fine, so it's not just the driver being too weak...?
              It fails in a repeatable, consistent way too, so random glitches seem very unlikely.
              Even at a comically slow 5 kHz clock it still fails.
              But enough for today, I really need to sleep

              foxotronic@anubis.socialF cato@chaosfurs.socialC 2 Replies Last reply
              0
              • cato@chaosfurs.socialC cato@chaosfurs.social

                There seems to be some sort of problem once more than 4 LCD buses are plugged in. But measuring the shared signal lines, the signal levels and edges as well as the power rails look totally fine, so it's not just the driver being too weak...?
                It fails in a repeatable, consistent way too, so random glitches seem very unlikely.
                Even at a comically slow 5 kHz clock it still fails.
                But enough for today, I really need to sleep

                foxotronic@anubis.socialF This user is from outside of this forum
                foxotronic@anubis.socialF This user is from outside of this forum
                foxotronic@anubis.social
                wrote last edited by
                #10

                @cato without knowing the circuity; do they may interfere via ground/chassis?
                Where do you measure the signals: next to the source or next to the sink?
                Are the glitches also present while measuring?
                How do you even measure? What propes do you use?

                (Don't expect an expert discussion from me – those are merely ideas where i would suspected sources of errors while not knowing anything)

                cato@chaosfurs.socialC 1 Reply Last reply
                0
                • foxotronic@anubis.socialF foxotronic@anubis.social

                  @cato without knowing the circuity; do they may interfere via ground/chassis?
                  Where do you measure the signals: next to the source or next to the sink?
                  Are the glitches also present while measuring?
                  How do you even measure? What propes do you use?

                  (Don't expect an expert discussion from me – those are merely ideas where i would suspected sources of errors while not knowing anything)

                  cato@chaosfurs.socialC This user is from outside of this forum
                  cato@chaosfurs.socialC This user is from outside of this forum
                  cato@chaosfurs.social
                  wrote last edited by
                  #11

                  @Foxotronic yeah I measured at the source because it's easier but I was pretty tired, I'll do some more measurements today. Can't say if it happens while measuring yet

                  1 Reply Last reply
                  0
                  • cato@chaosfurs.socialC cato@chaosfurs.social

                    There seems to be some sort of problem once more than 4 LCD buses are plugged in. But measuring the shared signal lines, the signal levels and edges as well as the power rails look totally fine, so it's not just the driver being too weak...?
                    It fails in a repeatable, consistent way too, so random glitches seem very unlikely.
                    Even at a comically slow 5 kHz clock it still fails.
                    But enough for today, I really need to sleep

                    cato@chaosfurs.socialC This user is from outside of this forum
                    cato@chaosfurs.socialC This user is from outside of this forum
                    cato@chaosfurs.social
                    wrote last edited by
                    #12

                    New insights: It must be a signal integrity issue where the LCDs can't get the data quite right. See this capture. Red is clock, blue is data input, brown is data output, green is latch (irrelevant here). I am sending the same data across the whole display so even thouth the output lags behind 10 characters (600 bits), it SHOULD be the same pattern. Every group of HIGH bits is shortened by one bit.

                    Link Preview Image
                    cato@chaosfurs.socialC 2 Replies Last reply
                    0
                    • cato@chaosfurs.socialC cato@chaosfurs.social

                      New insights: It must be a signal integrity issue where the LCDs can't get the data quite right. See this capture. Red is clock, blue is data input, brown is data output, green is latch (irrelevant here). I am sending the same data across the whole display so even thouth the output lags behind 10 characters (600 bits), it SHOULD be the same pattern. Every group of HIGH bits is shortened by one bit.

                      Link Preview Image
                      cato@chaosfurs.socialC This user is from outside of this forum
                      cato@chaosfurs.socialC This user is from outside of this forum
                      cato@chaosfurs.social
                      wrote last edited by
                      #13

                      (also yay, finally managed to get my PicoScope to work in Linux. One less reason to boot up the old Windows install)

                      1 Reply Last reply
                      0
                      • cato@chaosfurs.socialC cato@chaosfurs.social

                        New insights: It must be a signal integrity issue where the LCDs can't get the data quite right. See this capture. Red is clock, blue is data input, brown is data output, green is latch (irrelevant here). I am sending the same data across the whole display so even thouth the output lags behind 10 characters (600 bits), it SHOULD be the same pattern. Every group of HIGH bits is shortened by one bit.

                        Link Preview Image
                        cato@chaosfurs.socialC This user is from outside of this forum
                        cato@chaosfurs.socialC This user is from outside of this forum
                        cato@chaosfurs.social
                        wrote last edited by
                        #14

                        pretty sure the clock (red) shouldn't have hiccups like this

                        Link Preview Image
                        cato@chaosfurs.socialC 1 Reply Last reply
                        0
                        • cato@chaosfurs.socialC cato@chaosfurs.social

                          pretty sure the clock (red) shouldn't have hiccups like this

                          Link Preview Image
                          cato@chaosfurs.socialC This user is from outside of this forum
                          cato@chaosfurs.socialC This user is from outside of this forum
                          cato@chaosfurs.social
                          wrote last edited by
                          #15

                          let's play around with some series termination

                          cato@chaosfurs.socialC 1 Reply Last reply
                          0
                          • cato@chaosfurs.socialC cato@chaosfurs.social

                            let's play around with some series termination

                            cato@chaosfurs.socialC This user is from outside of this forum
                            cato@chaosfurs.socialC This user is from outside of this forum
                            cato@chaosfurs.social
                            wrote last edited by
                            #16

                            330R on both data and clock - data is acceptable, but clock is way too weak. It still registers though! Still showing garbage anyway. But now the data out doesn't keep losing bits 😄
                            Gonna try 100R on clock and leave it at 330R for data.

                            Link Preview Image
                            cato@chaosfurs.socialC 1 Reply Last reply
                            1
                            0
                            • R relay@relay.infosec.exchange shared this topic
                            • cato@chaosfurs.socialC cato@chaosfurs.social

                              330R on both data and clock - data is acceptable, but clock is way too weak. It still registers though! Still showing garbage anyway. But now the data out doesn't keep losing bits 😄
                              Gonna try 100R on clock and leave it at 330R for data.

                              Link Preview Image
                              cato@chaosfurs.socialC This user is from outside of this forum
                              cato@chaosfurs.socialC This user is from outside of this forum
                              cato@chaosfurs.social
                              wrote last edited by
                              #17

                              I extended my font generator thingy to allow the reverse operation, i.e. entering bytes and showing what they would look like on the LCD. I then added a function to shift the data bit by bit, and tried it with the character I am trying to send (5), and of course - one left shift and I get exactly the garbled characters I am seeing on the display. So that is what's happening. Somehow there is a single bit shift in all of the data

                              cato@chaosfurs.socialC 1 Reply Last reply
                              0
                              • cato@chaosfurs.socialC cato@chaosfurs.social

                                I extended my font generator thingy to allow the reverse operation, i.e. entering bytes and showing what they would look like on the LCD. I then added a function to shift the data bit by bit, and tried it with the character I am trying to send (5), and of course - one left shift and I get exactly the garbled characters I am seeing on the display. So that is what's happening. Somehow there is a single bit shift in all of the data

                                cato@chaosfurs.socialC This user is from outside of this forum
                                cato@chaosfurs.socialC This user is from outside of this forum
                                cato@chaosfurs.social
                                wrote last edited by
                                #18

                                I did confirm with the oscilloscope that what the LCD is receiving is valid data now and that the data matches what it should be. So the bit shift must have occurred outside of the timeframe I sampled with the scope

                                cato@chaosfurs.socialC 1 Reply Last reply
                                0
                                • cato@chaosfurs.socialC cato@chaosfurs.social

                                  I did confirm with the oscilloscope that what the LCD is receiving is valid data now and that the data matches what it should be. So the bit shift must have occurred outside of the timeframe I sampled with the scope

                                  cato@chaosfurs.socialC This user is from outside of this forum
                                  cato@chaosfurs.socialC This user is from outside of this forum
                                  cato@chaosfurs.social
                                  wrote last edited by
                                  #19

                                  i.

                                  i switched the clock phase (SPI mode 1 instead of 0)

                                  and it works

                                  i can't

                                  cato@chaosfurs.socialC 1 Reply Last reply
                                  0
                                  • cato@chaosfurs.socialC cato@chaosfurs.social

                                    i.

                                    i switched the clock phase (SPI mode 1 instead of 0)

                                    and it works

                                    i can't

                                    cato@chaosfurs.socialC This user is from outside of this forum
                                    cato@chaosfurs.socialC This user is from outside of this forum
                                    cato@chaosfurs.social
                                    wrote last edited by
                                    #20

                                    why?? I tested with Arduino's shiftOut weeks ago and it worked?? Isn't shiftOut also mode 0?

                                    cato@chaosfurs.socialC 1 Reply Last reply
                                    0
                                    • cato@chaosfurs.socialC cato@chaosfurs.social

                                      why?? I tested with Arduino's shiftOut weeks ago and it worked?? Isn't shiftOut also mode 0?

                                      cato@chaosfurs.socialC This user is from outside of this forum
                                      cato@chaosfurs.socialC This user is from outside of this forum
                                      cato@chaosfurs.social
                                      wrote last edited by
                                      #21

                                      Link Preview Image
                                      citali@fellies.socialC mist@chaosfurs.socialM thiccpaws@tech.lgbtT cato@chaosfurs.socialC sam@shonk.sam.axS 5 Replies Last reply
                                      0
                                      • cato@chaosfurs.socialC cato@chaosfurs.social

                                        Link Preview Image
                                        citali@fellies.socialC This user is from outside of this forum
                                        citali@fellies.socialC This user is from outside of this forum
                                        citali@fellies.social
                                        wrote last edited by
                                        #22

                                        @cato happy eating :3

                                        cato@chaosfurs.socialC 1 Reply Last reply
                                        0
                                        • citali@fellies.socialC citali@fellies.social

                                          @cato happy eating :3

                                          cato@chaosfurs.socialC This user is from outside of this forum
                                          cato@chaosfurs.socialC This user is from outside of this forum
                                          cato@chaosfurs.social
                                          wrote last edited by
                                          #23

                                          @Citali thanks 😄

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


                                          • Login

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