HDMI 4-Channel Oscilloscope Demo

1235»

Comments


  • It'll be revision C.

    We have the vastness of the internet and yet billions of people decided to spend most of their time within a horribly designed, fake-news emporium of a website that sucks every possible piece of personal information out of you so it can sell it to others. And they see nothing wrong with that.
  • Hi Chip!

    I have a question about the HDMI specifically. Is the image buffered? I can see that it's 640x480@60Hz - how many bits/pixel? Can the p2 do a full image buffer where a user could set/address individual pixels? If so, it wouldn't be that difficult to apply a graphics engine like we used with the OLED display and allow users to draw shapes/text/etc.
    Matthew Matz
    STEM/Robotics Educator
    Parallax Inc.
  • RaymanRayman Posts: 9,945
    edited 2019-12-10 - 17:57:00
    I'm not Chip but...

    Yes, images is buffered in HUB RAM. At 8bpp or less, the full image fits in HUB RAM.
    Yes, graphics engines can be done.

    I've actually done some already for the FPGA version... Have to dust those off soon...

    BTW, HDMI works the same as VGA under the hood, so it's easy to make a driver that works for both.

    BTW2, HyperRam should enable 24-bit color (and higher resolutions for VGA).
    Prop Info and Apps: http://www.rayslogic.com/
  • When questions can be answered by people other than Chip (like Rayman just did) we will all benefit. We have to externally manage his time, where possible.

    We need him focused on Spin2 right now.

    Thanks,

    Ken Gracey
  • It'd be interesting to see XY mode scope mode with the various DAC output modes...
    Prop Info and Apps: http://www.rayslogic.com/
  • AJLAJL Posts: 218
    edited 2019-12-12 - 23:47:46
    Rayman wrote: »
    It'd be interesting to see XY mode scope mode with the various DAC output modes...


    Why stop at XY? Why not have XYZ mode with the Z axis represented by colour?

    Addit: I'm open to ideas for representing the fourth channel too. I guess two sets of XY with different colours to differentiate the sets would work.
  • Neat idea, XYZ mode, I like it

    You could have the Z axis fade as it recedes like they do in some games ("fog"). Intensity cue the signal as it comes forward towards the viewer.

    Alternatively you could do like they do in Rhino cad, where there are typically 4 views on the screen at once - one from arbitrary angle (eg iso), then plan and a couple of elevations (XY, XZ, YZ).

    P2 is going to be great for such visualisation

  • You could do Hue and Saturation (or brightness) as well as X,Y, making four channels.
  • Peter JakackiPeter Jakacki Posts: 8,799
    edited 2019-12-13 - 04:44:43
    MattMatz wrote: »
    Hi Chip!

    I have a question about the HDMI specifically. Is the image buffered? I can see that it's 640x480@60Hz - how many bits/pixel? Can the p2 do a full image buffer where a user could set/address individual pixels? If so, it wouldn't be that difficult to apply a graphics engine like we used with the OLED display and allow users to draw shapes/text/etc.

    I did this last year with the VGA 640x480x8 in TAQOZ with ploting, rendering fonts, drawing lines and boxes etc as well as displaying bmp graphics and 320x240 movies scaled to 640x480.
    To draw a red panel at 40 x 40 y by 200 wide and 100 high, this is the syntax I use:
    40 x 40 y 200 w 100 h red panel
    

    But no, it's not buffered as the VGA 80bit color requires 300kB, however if you drop the bpp or introduce color tiles then you can certainly have it buffered.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    P2 --- The LOT --- TAQOZ INTRO & LINKS --- P2 SHORTFORM DATASHEET --- TAQOZ RELOADED - 64kB binary with room to spare
    P1 --- Latest Tachyon with EASYFILE --- Tachyon Forth News Blog --- More
    paypal.png PayPal me
    Brisbane, Australia
    phone.png
  • @MattMatz If you have access to external HyperRAM and a P2 you should very soon have a full screen full bit depth frame buffer with VGA/DVI outputs that other COGs can access for doing interactive frame buffer based graphics. That is being developed right now.

    Also even though you can still get or set individual pixels in external memory the latency is far higher than HUB RAM so wherever possible in your application the accesses to external memory can also be done in bursts for higher performance. For example a circle fill graphics routine could transfer blocks of suitable size/colours to each affected scan line in the frame buffer at the appropriate start and end x co-ordinates of the circle on that scan line. Once it gets going the burst fill to HyperRAM can be very fast, though not quite as fast as to HUB if setq is used with longs. That's as fast as things get.

    I think adding a fill routine (i.e. write with a single value) as part of the HyperRAM driver makes sense too. That way the calling COG doesn't need to setup its own line of that size and pre-fill it to do a simple block fill in external RAM. Same goes for block copy between HyperRAM regions, though that may need a dedicated scratch area of say 128 or 256 bytes.
  • MattMatz wrote: »
    Hi Chip!

    I have a question about the HDMI specifically. Is the image buffered? I can see that it's 640x480@60Hz - how many bits/pixel? Can the p2 do a full image buffer where a user could set/address individual pixels? If so, it wouldn't be that difficult to apply a graphics engine like we used with the OLED display and allow users to draw shapes/text/etc.

    It's 8 bits per pixel. There are a few streamer modes, luma8 and rgbi8, where no pallet is necessary in the LUT, in order to produce 256 or 32 shades of 8 different colors.

    Yes, you could make shape and line-drawing routines to display whatever you want in the 640x480 pixel array.
Sign In or Register to comment.