Page 1 of 9 12345 ... LastLast
Results 1 to 10 of 84

Thread: newb alert. help me into this laser code writin' stuff please...

  1. #1
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default newb alert. help me into this laser code writin' stuff please...

    ok, i got me a brand new x-laser mobile beat mirage, an etherdream 2, and all the infernal cables.

    hardware - CHECK. it's software time.

    i've written a VERY weird midi sequencer for piano practice. http://pianocheetah.com
    I'm on win10 (argh), coding in c++ on win32 api.

    So has anybody ever compiled a list of public domain and open source software that a newb like me could
    hop into, compile, try out, and pick the one he likes best?

    I'd LIKE to learn everything there is to writing to a DAC and generating ILDA to the projector.
    I don't need 3D stuff. Just 2D. Just x,y,r,g,b,timedelay(?) list to the DAC?

    So I'd LIKE a nice read on how the heck you talk to a DAC and what the heck it DOES.
    Does it only turn the digital x,y,r,g,b into analog on the db25? Or is there something more to it?

    So throw all the links at me and tell me your story down this path.

    pleeeease

    I'll return the favor if I make any progress. And you can bet I'll make progress.
    This whole endeavor reminds me of when I met my FIRST computer. A commodore pet.
    Yep. I'm old. Alright. Help me out guys.

    ...Steve

  2. #2
    Join Date
    May 2007
    Location
    1 hr from everything in SoCal
    Posts
    2,753

    Default

    Definitely want to hit up user: JohnYayas, https://www.photonlexicon.com/forums...2753-JohnYayas. He has written some good laser software with support for multiple DACs. Not sure what language though. At any rate, he would be a good resource.

  3. #3
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,292

    Default

    Hi, my first computer was a TRS-80 Model I. So I know where you are coming from.

    I can help you with how to write to a DAC and that sort of thing. Actually, maybe we could collaborate a little on something. Hit me up on PM and I'll explain.

  4. #4
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    I will PM people later if I have to, but I'm hoping for links to code that'll help the next guys coming along.

    I'm surprised there's no demo code on the EtherDream website.
    I've found the firmware repository, but i need demo code, not how to build the DAC.
    I emailed their "contact page"'s address 2 days ago and have no reply.
    I'll try a PM to this j4cbo guy on here next. He wrote the whole thing I think.

    Kinda surprised to not find many github/sourceforge/etc projects about writing to a DAC.
    I've found some at least like LaserBoy, OpenLase, Ofx(is that the name??), liblzr, LFI Player.

    LFI doesn't seem to have source.
    OpenLase seems to use a weird DAC (just Jack linux api or SOMEthing).
    LaserBoy and liblzr look promising.

    I'm looking for a description of WTF a dac actually DOES.
    And how to use EtherDream.dll...

    I don't need any 3d stuff or super user friendly windows for putting on a whole PLAY.
    Just the basics stripped down hard.

    So John, what have you messed with so far? We can talk out here in public message, right?

    I'm also hoping to get in touch with the famous j4cboooo

  5. #5
    swamidog's Avatar
    swamidog is online now Jr. Woodchuckington Janitor III, Esq.
    Join Date
    Nov 2006
    Location
    santa fe, nm
    Posts
    1,545,752

    Default

    here:

    https://ether-dream.com/userguide.html

    i believe the the code and techniques for the ED 1 are exactly the same as the ED 2.


    Quote Originally Posted by stephenhazel View Post
    I will PM people later if I have to, but I'm hoping for links to code that'll help the next guys coming along.

    I'm surprised there's no demo code on the EtherDream website.
    I've found the firmware repository, but i need demo code, not how to build the DAC.
    I emailed their "contact page"'s address 2 days ago and have no reply.
    I'll try a PM to this j4cbo guy on here next. He wrote the whole thing I think.

    Kinda surprised to not find many github/sourceforge/etc projects about writing to a DAC.
    I've found some at least like LaserBoy, OpenLase, Ofx(is that the name??), liblzr, LFI Player.

    LFI doesn't seem to have source.
    OpenLase seems to use a weird DAC (just Jack linux api or SOMEthing).
    LaserBoy and liblzr look promising.

    I'm looking for a description of WTF a dac actually DOES.
    And how to use EtherDream.dll...

    I don't need any 3d stuff or super user friendly windows for putting on a whole PLAY.
    Just the basics stripped down hard.

    So John, what have you messed with so far? We can talk out here in public message, right?

    I'm also hoping to get in touch with the famous j4cboooo
    suppose you're thinkin' about a plate o' shrimp. Suddenly someone'll say, like, plate, or shrimp, or plate o' shrimp out of the blue, no explanation. No point in lookin' for one, either. It's all part of a cosmic unconciousness.

  6. #6
    Join Date
    Sep 2014
    Location
    Colorado USA
    Posts
    793

    Default

    I'm looking for a description of WTF a dac actually DOES.
    DAC=Digital-to-Analog-Converter
    They can be single or multiple channels wide, e.g. X, or X and Y, etc. and consists of a digital inputs for "selecting, also known as enabling" the device to receive a digital "word" (a word could be a 8, 10, 12, 16 or more bits long), different select lines for which output channel is receiving the digital word in the case of say, a dual DAC, and data bit lines that tie back to the device (ie. computer data bus) sending the data. Finally there are the "analog" ouput pins of the DAC. The "outputs" from the DAC are usually a current magnitude analogy of the "value" of the digital word written out to the DAC. This current is converted to an analogous voltage (typically by external or built-in op-amps and a few external resistors and capacitors). The op-amp outputs and external resistors set the current-to-voltage gain conversion (or voltage output scale, e.g. plus and minus 5V). BTW: Any DAC can be used at a lower bit resolution merely by using a subset of the available lower-order input bits. So, a 12-bit DAC could also be wired to behave as an 8-bit DAC if need be.

    How the D to A conversion is done is pretty cool as well, and many older DACs use what is called a R-2R resistor ladder https://en.wikipedia.org/wiki/Resistor_ladder to achieve this.

    So in a 65536 (16-bit) coordinate system (plus and minus 32768), a coordinate value of 0,0 yields an X,Y voltage value of 0v,0v and +32768, -32768 yields +5v,-5v.

    What is fed to the ED2 or Pangolin's FB3QS is a bit stream of X,Y,R,G,B values, plus other control line ON/OFF signals, like "Shutter".

    Hope this helps, as it is a very generalized explanation.
    Last edited by lasermaster1977; 01-03-2018 at 14:54.
    ________________________________
    Everything depends on everything else

  7. #7
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    ok, it's becoooming clearer.

    so really we only need DACs because the ILDA standard is by voltage instead of digital.
    if the ILDA standard was over a USB connection (a db25?? really??),
    the DAC could easily be built into the projector?

    this is all me just guessing. (Sure glad I didn't get an FB3 !!)

    Well, it is what it is. I've dealt with the midi "standard" plenty enough to know that standards can be =SO DUMB=.

    So i still need to get an API for EtherDream.dll
    which (i bet) just inits a udp socket to the DAC given some params. and procedes to send OSC packets.

    I don't understand why that ain't right in my face on the etherdream webpage.

    So who's got some demo code for me in c++ (or WHATever language/OS) that does an OpenLibrary ("EtherDream.dll", etc, etc)

    Or something similar. You know.

    thanks much,

    ...Steve

  8. #8
    Join Date
    Dec 2009
    Location
    Laurel, MD
    Posts
    368

    Default

    It used to be not uncommon to build the DAC into the projector and with network capable DACs it's still not uncommon, but with USB DACs you run into the issue of USB cable length, which is why most projectors in the wild use the DB25 cable from the DAC to the laser. This is changing quickly in favor of integrated network DACs like FB4, Etherdream and Moncha Go

  9. #9
    Join Date
    Nov 2017
    Location
    Seattle, WA
    Posts
    97

    Default

    it makes sense that usb wasn't used. but network capability has been brutally easy for the last oh forever-ish.

    i guess no wifi cuz of the safety police.

    Ok. At least I'm figuring out some whys.

    I'm gonna dig into every laser source code repository there is till i find sooooomethin.

    I appreciate the explanations fellow dudes !

    ...Steve

  10. #10
    Join Date
    Mar 2010
    Location
    Raleigh, NC
    Posts
    2,292

    Default

    Quote Originally Posted by stephenhazel View Post
    it makes sense that usb wasn't used. but network capability has been brutally easy for the last oh forever-ish.

    i guess no wifi cuz of the safety police.

    Ok. At least I'm figuring out some whys.

    I'm gonna dig into every laser source code repository there is till i find sooooomethin.

    I appreciate the explanations fellow dudes !

    ...Steve
    Networking becomes more difficult when the PC you want to use is already wired to some hidden switch or router. USB is just plug and play and PCs usually have a space USB port or they can be obtained with a hub. But technically, yea, it's probably easier to write some TCPIP/UDP code vs USB code. The ILDA IDN standard may (or may not) make networking more common but it doesn't seem to be moving very fast.

    I got your PM. Since you are mainly interested in getting the Etherdream working I can't help too much. I gave up on that one. It is one of the few that I don't support. For general info about how to send points to a DAC or understanding ILDA and that sort of thing I can help if you have specific questions. Once you understand the fundamentals I don't think you really need to be looking at other people's source code. It isn't difficult.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •