element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Single-Board Computers
  • Products
  • Dev Tools
  • Single-Board Computers
  • More
  • Cancel
Single-Board Computers
Forum Multifunction instrument based on BeagleBone Black
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Single-Board Computers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 45 replies
  • Subscribers 59 subscribers
  • Views 4331 views
  • Users 0 members are here
  • beaglebone_black
  • bbb
  • bb_black
  • beagle_bone_black
Related

Multifunction instrument based on BeagleBone Black

shabaz
shabaz over 12 years ago

Hi Brian,

 

We're thinking on the same track. I'm interested to hear what your cape is like, and ideas you're considering for it's use and how good the touchscreen is. It looks like a very high quality screen. I've been experimenting with connecting up a larger LCD with the same resolution too, it may be the same model maybe, although I just have the bare LCD, not a cape, so I have a bit of interworking to do currently. I was undecided if I wanted to hook into the dedicated LCD pins (full color) like your cape, or go the PRU route (with reduced 256 or 65k color initially), since both methods could be useful depending on the application. I'd be interested to know if it works with the current release software, and what gets configured in Linux to set the correct timings (I've not really experimented with display drivers in Linux before, so I'm not sure where to look). I think it will be really neat if we can get several different sizes of LCDs working using both methods to cover a few different scenarios.

LCDs are so expensive though.

  • Sign in to reply
  • Cancel

Top Replies

  • bwelsby
    bwelsby over 12 years ago +2
    Hi shabaz, Yes I do have some ideas for its use, my 4ch scope died a while back, thick black smoke and all. I have been tinkering with high speed ADCs and FPGAs running currently at 60Mhz and transferring…
  • bwelsby
    bwelsby over 12 years ago in reply to Former Member +1
    selsinork wrote: Brian Welsby wrote: I think a user interface re-write is needed for low resolution LCD usability though. That's probably common to just about everything. It always annoys me when assumptions…
  • bwelsby
    bwelsby over 12 years ago in reply to shabaz +1
    Back in the late 80's early 90's I worked on a number of products based on the TI TMS34010 / TMS34020 gsp (now obsolete) and produced various terminal emulations and also a display list driven device.…
  • Former Member
    Former Member over 12 years ago in reply to bwelsby

    Brian Welsby wrote:

     

    I think a user interface re-write is needed for low resolution LCD usability though.

    That's probably common to just about everything. It always annoys me when assumptions are made that forces whatever button you need to click off-screen, there's no keyboard shortcut and they've pointlessly, but deliberately made the window or dialog box non-resizable.

     

    One trick that sometimes works is to try to force the system to use a smaller default font to get buttons back on-screen, but that definately doesn't help small screen useability

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 12 years ago in reply to Former Member

    Here it is  http://hipstercircuits.com/ scroll down to "MAY 8" and the links are there.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to Former Member

    selsinork wrote:

     

    Still, it seems that you can do 1920x1080x30 with audio, and the full 1920x1080x60 without audio - at least in theory. There's more work on the driver needed to enable it though.

     

    https://groups.google.com/forum/?fromgroups#!topic/beagleboard/4vge3Zs8dYE

     

    Awesome!  More crispness in display is never bad, even if it's just to make the instrument have nicer text.

     

    Audio can always be handled in some other way instead of being multiplexed onto HDMI, for example by tapping into the I2S header signals, or using a separate audio device on USB, or using network audio.

     

    For use outside of instruments, some will bemoan the lack of video decoding in comparison with Pi, but given our focus on engineering applications and not media consumerism, that "lack" may well be an asset.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to bwelsby

    Brian Welsby wrote:

     

    Here it is  http://hipstercircuits.com/ scroll down to "MAY 8" and the links are there.

     

    HipsterCircuit's "A working display" in the June 1 post shows the monitor's EDID as having the same max resolution as the BBB has as shipped, so it's probably an edge case, ie. an exact match of capabilities.  Just for reference, my BBB is running into a Dell 2408 and shows, as one might expect:

     

    root@bbb:/#  parse-edid /sys/class/drm/card0/card0-HDMI-A-1/edid

    parse-edid: parse-edid version 2.0.0

    parse-edid: EDID checksum passed.

     

            # EDID version 1 revision 3

    Section "Monitor"

            # Block type: 2:0 3:ff

            # Block type: 2:0 3:fc

            Identifier "DELL 2408WFP"

            VendorName "DEL"

            ModelName "DELL 2408WFP"

            # Block type: 2:0 3:ff

            # Block type: 2:0 3:fc

            # Block type: 2:0 3:fd

            HorizSync 30-83

            VertRefresh 56-76

            # Max dot clock (video bandwidth) 170 MHz

            # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

     

            Mode    "1920x1200"     # vfreq 59.950Hz, hfreq 74.038kHz

                    DotClock        154.000000

                    HTimings        1920 1968 2000 2080

                    VTimings        1200 1203 1209 1235

                    Flags   "-HSync" "+VSync"

            EndMode

            # Block type: 2:0 3:ff

            # Block type: 2:0 3:fc

            # Block type: 2:0 3:fd

    EndSection

     

    This is an example of the more generic case then, with the BBB noting that the monitor is capable of more but correctly limiting its output to the best that it can do that is still compatible, or in my case 1280x1024@60Hz.  All working as expected.

     

    PS. For fuller test coverage of EDID handling, one would also need to check operation into a display of lower resolution than the BBB's max --- quite likely to be relevant to instruments.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago

    This thread was a world of help. I can't wait to get mine. The implacation are endless! Thank you.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 12 years ago in reply to Former Member

    selsinork wrote:

     

    Brian Welsby wrote:

     

    I think a user interface re-write is needed for low resolution LCD usability though.

    That's probably common to just about everything. It always annoys me when assumptions are made that forces whatever button you need to click off-screen, there's no keyboard shortcut and they've pointlessly, but deliberately made the window or dialog box non-resizable.

     

    One trick that sometimes works is to try to force the system to use a smaller default font to get buttons back on-screen, but that definately doesn't help small screen useability

    The photo below is the client running on an LCD4.  This is with a "Test Device" selected.

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 12 years ago in reply to bwelsby

    That's great, seeing OBLS on the LCD. I suppose the code could be reworked to use on-board buttons if desired rather than touching through the menus too. Another idea is to have a rotary encoder that apps are able to use to perform the action in context, e.g. scroll left/right in OBLS, unless (say) a button was pressed to go into zoom mode.

    The link you posted (about interfacing LCDs through HDMI) is interesting too, I'd still been working on trying to interface the large LCD throgh PRU by serializing the data. I haven't got very far yet, waiting on some ICs.

    I got a bit further with the 1.8" LCD (ideal for status displays on smaller instruments, etc), and basically the PRU now waits for a 'graphics' instruction from the ARM-hosted app (a single byte instruction using shared mem), and currently it recognises just one command, which is to fill the screen based on a buffer of RAM that is populated by the application, as shown here.

    image

    The buffer is 80kbyte currently because I've not taken any effort to pack 16-bit pixels better (it could be reduced to 40kbyte).

    However, although the PRU can access the entire address space, since the app has virtual address space, I need to have some pre-allocated fixed chunk of memory (that I can mmap), and there is such an area, but it's not much (and I couldn't figure out how to increase it, perhaps it's another device tree parameter). So, for now, I just write to the screen split into 8 smaller chunks and have some handshaking using the single byte. It works fast anyway.

    The very unoptimized code currently takes a cairo drawn buffer, converts to the buffer used by the LCD, and then sends the 8 chunks. The cairo rendering of the shaded spheres and background in the photo is near-instantaneous, and that plus the sending of the chunks all occurs in less than a tenth of a second at a guess, and most of that time is the sending of the 8 chunks. So, I can't do video until I can learn to resize the memory, but I'm not very interested in that anyway.

    More interesting would be to add some more graphics instructions to the PRU, for (say) sending a smaller image-fill to only a portion of the screen, or to draw basic boxes and text (I don't want to spend too much time on it, because there is only so much a tiny LCD is good for). I'll tidy the code a bit and post it in a day or two. (by the way I used the 27th May image, and enabling the PRU via the fragment .dtbo work first time - so hopefully this is more reliable in this build, although I didn't reattempt).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 12 years ago in reply to shabaz

    Back in the late 80's early 90's I worked on a number of products based on the TI TMS34010 / TMS34020 gsp (now obsolete) and produced various terminal emulations and also a display list driven device. They were great processors to work with but I don't have access to any of the code now.  image

     

    I have an Olymex MOD-LCD6610 which I was thinking of trying out, it has an SPI interface. The links to Documents and Software on the Olymex site give you some basic algorithms written in C which I am sure can easily be implemented in PRU assembly.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to bwelsby

    Brian Welsby wrote:

    The photo below is the client running on an LCD4.  This is with a "Test Device" selected.

    Really nice to see it working, shame about the silly big icons and all the other wasted screen space. Legacy of assuming 'desktop' and a relatively large display.

     

    What's needed is a physically small but still high resolution display, sadly those aren't common with useable interfaces - as that person on the hipstercircuits.com blog found out.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 12 years ago in reply to Former Member

    Yes, but at the moment only half working. The openjdk packaged for Angstrom has some issues so I am leaving that for now and seeing if Debian, Ubuntu or Arch are better. 

     

    It is possible to hide the X top and bottom bars and reduce font sizes which gives a more usable display but as you say a higher resolution would be better, they do exist but are quite expensive. 

     

    Progress is a little slow as I am making the most of the sunshine whilst we have it. image

     

    Brian

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube