If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Well, I've been around for a while too. I learned C and C++ in 95 and 96. ...
People will probably move toward Android.

Well i think we kinda think alike.

I've written my own MFC basically on top of win32. But I'm also a web dev at work.
I used to be a back end perl and oracle guy.
Then i got a new job and my boss forced me into web front end.
I mean, it is super convoluted. But you can make a web front end a hell of a lot prettier than a win32 app.

I think microsoft has just locked up win32. no one is allowed in. you can only write stuff on top.
None of the control panel programs use caching any more. You see the stupid spinning dots everywhere.
There are duplicate UIs everywhere. It's just a mess.

So you think Android, eh? I used to think that too.
But I just got a chromebox, a chromebit, and a chromebook. (overkill, but i don't care)
If you're willing to write a web app in javascript, you can do a LOT of stuff with modern browser APIs.
Angular seems pretty cool for a framework. I'm starting to learn that so i can free myself from php.

So I kinda think chrome os will take off more than android.
It boots in 7 seconds into a chrome browser. But underneath is Linux.
And you can install a Linux container. It is protected from the main linux os of chrome os.
For security reasons i guess? Those things also run android apps.
They run great with 4 gigs of RAM and chrome screams compared to win10.

From what I read, google is working on a new os called Fuchsia.
It's supposed to replace both android and chrome os.
I have my doubts about it tho. It's not based on linux. some realtime os called Zircon - wtf??
And chrome os is getting a lot of market share.
Stores are selling it and people are buying it.
No viruscheckers cuz it's built in. Updates happen niiiicely.
And chrome os is Linux. Patched and supported by google.
I hooked my chromebox to my hubs and it recognized ALLLLLL my midi devices, not to
mentions screens, keyboards, mice, etc. No drivers like windows would need.

In the old days we called them blanking points, guide points, and corner points. If you had a long dark jump between lit points, you added blanked points to guide the galvos so they landed smoothly at the net lit section. If you had a lit segment between two distant points you ADDED guide points that were lit. If you have a right angle turn you added a few points at the vertex of the corner to give the galvo time to de-accelerate , a typical setting in Pangolin for 30K galvos is to automatically add 3 or 4 corner points. We used to do that BY HAND, and distorted the image by "Pulling Points" by hand to fit a given set of Galvos. The ILDA test pattern and modern software ended that.
~
Oh, Some Galvo Math, Or "Why I just love the ILDA test Pattern and Learned to Live with the Bomb". (parody of famous movie script)
~http://www.academia.edu/6503978/Opti...turing_Systems
~
I can tune my galvos for peak performance using Bode plots by injecting square waves and measuring the galvo response in the time domain. Perhaps less then 0.5 % of Galvo owners for laser shows have the equipment and training to do this. Hence the concept of the ILDA test pattern and the KPPS measurement. Guido knows how to do this too. He and I would agree that it is an engineering exercise requiring considerable skill. So the ILDA pattern is a nice compromise.
~
To do it the old way, You'd need a way of understanding Bode Plots and PID loops before tuning, and that requires some electronics and physics education or you incinerate your galvos during tuning.
~
Hence the ILDA pattern and tuning methodology. Some really skilled people worked this out, but since the process was NOT well documented, so many people are skeptical about what they DON'T understand. Generally they don't have access to professional show software, nor the oscilloscope and waveform generator to sweep the galvo amp at small signal state and make measurements. (Not recommended for Galvo Beginners anyways)
~
Mr. Hazel, Drop me an email and I'll send you a very clear academic paper on the difference between point oriented graphics and vector optimized graphics.. I'll forward it to James so he can guide you in the software. I cant post it here, copyright... Your DAC uses point mode, but the paper should help you get some of the concepts. James does some similar things in Laserboy...
~
Ah, never mind, found it for free:
~
see: https://core.ac.uk/download/pdf/144248935.pdf

I really don't care about what distribution Linux is. It's all about the kernel. I used Red Hat for many years, but now I'm using Ubuntu.

Ubuntu has a huge user community and if you need to know how to do something or to find an app it's all out there.

I've done tons of web development using my own C++ CGI API. I also wrote ezfb that is a nice little API for the Linux Frame Buffer (video card) in C.

I don't have much experience with GUI APIs, but if I had to pick one to use I would probably go with FLTK. Anything I would want to do should be something that can compile in any OS.

I have to get LaserBoy ready for a new release soon. It does so much more stuff now! The new version has even more stuff that no other laser app can do (that's in addition to all of the stuff it does now that no other laser app can do!)

Quite honestly, my favorite place to be on a computer is in a BASH shell at the command prompt. If I'm using ssh into a far away machine, that's ok too.

In the old days we called them blanking points, guide points, and corner points. ...
~
Steve

Holy smokes Steve / gaslight that is some goooooooooood STUFF !!

I will be a readin'...
But although i can algebra with the best of em... Higher math is kiiiiinda hard fer mee.
I learned about PID in my son's high school robotics. It's also pretty dang calculus-y if i remember.

I do get the jist of the pid stuff, but not all the way down...

So I'll do me some readin. Thank you so much, dude !

Your name, by the way... Excellent choice by your folks. (I guess you can tell i'm a dad now)

I really don't care about what distribution Linux is....
Quite honestly, my favorite place to be on a computer is in a BASH shell at the command prompt.

I love this plaaaace. I wish i could have a beer with all yall.

Sooo, you gotta web front end on a linux os with a CGI thing that hits your laser's audio-ish DAC thingyyy ?

So is there a laserboy.app that does this stuff?

I like the linux prompt way better than windows. that's for damn sure.
But I'm usually on windows mousin' windows explorer to kick my NEd (text editor).
Then wait a million years for visual studio to boot (and crash) and compile my dang cpp.

LaserBoy uses libSDL-1.2.15. It's a very well established cross-platform gaming API.

As I said, all I use it for is to give me a window in any OS and let me know the address of the first pixel of that display area. It also tells me what key just got hit.

When I first wrote LaserBoy, it only ran in Linux and the kernel had to be built with frame buffer support. I wrote ezfb, which is an API for the Linux frame buffer (video card RAM). So it ran in a Linux console, but it latched onto the video card and took over the whole display.

Someone on this forum, who is also a Linux user, told me about libSDL. I found out that it can also use the Linux frame buffer for display, but it can also open a window in all of the GUI operating systems out there too.

So that was a pretty easy switch.

I manage my own bitmap memory objects in my code. Everything you see in the LaserBoy display is a bitmap that I render in memory and copy to the display area every time you tap a key.

Just DL the LaserBoy_Current.zip in my signature line, unzip it at C:\LaserBoy\ and start using it in Windows.

LaserBoy uses libSDL-1.2.15. It's a very well established cross-platform gaming API.

Ok. So your window just shows a bitmap and you draw eeeverything in it.
Interestin. Well, for now I'm probably stickin with ole win32.
In the future I'm gonna tryyy to get a web front end on toppa this stuff.
Weeeee'll see.

Some background on me - my main app is pianocheetah - a weird midi sequencer.

Once a year, my neighbors have "Hogmanay". That's what they call new years in Scottland.
One of us grew up there. We have it Feb 23 in between Christmas and Spring when nobody
is doin NOTHin. It involves kind of what it involves in Scottland - a lot of drinking, going to peoples' houses.

We carry around a huge paper mache herring so that people really know we can party.
Even at our age.

Anyways, its 4 weeks away so I gotta show off my laser. At least I'm almost to the point of
rifling thru ilda files to the beat of some dang midi files i find.
Eventually it'll tie in to the music a LOT better. But i only got 4 weeks.

Last year the theme was LASER OLYMPICS.
All i managed to do was some rotating shrinking triangles, random dots, random lines, and
other kiiiiiinda boring stuff. Lots of distortion going onto my ceiling.
Oh and the olympic rings.
I did get the optimising pretttttty ok. But imperfect.
I set off the smoke alarms in my house and a LOT of drunk people got VERY annoyed ha ha.

So things can only be better this year. We'll see how it goes.

The reason i wanna write this stuff is cuz i can.
And so it'll tie into my midi sequencer. soooome day.

Ok. Glad I'm on the right track.

Thanks yall.

Spaghetti is C++/Win32/MFC. I avoid a lot of MFC, though. Microsoft exects everyone to use WPF for frontends for C++ apps I guess. WPF and Winforms will be coming to .net core 3.0 which will make it cross platform. Interesting, but I would still like a nice C++ UI toolkit. No one seems to care about that use case anymore. Professionally, I am working on a web app and it sucks trying to get decent performance out of a browser app. That's progress I guess.

IS IT TRUE that the DAC takes that pps of 30,000 and goes...
OK! My ONE job is to send these x,y,r,g,b things to the laser ONE at a time in analog.
So every 1/30000 of a second I'm gonna pop a new x,y,r,g,b in analog voltages onto my output wires.
That -absolutely- means that every 1/30 of a millisec, a new pixel is given to the galvo circuitry.

If the DAC is operating in streaming mode (where it's not doing any optimization of the points in the frame itself), then yes, more or less, this is how it works. This is exactly how a sound card DAC works, with the caveat that you can run it at whatever output frequency you want (such as the 48KHz example that James mentioned).

However, in this case it is the *software* that must add points to an image to compensate for the large jump from corner to corner, to use your example. Some controllers (like the Pangolin QM-2000 board) have built-in optimization hardware on the card that can also add points as needed to limit the distance between points in a frame.

But either way, if you actually try to send the galvos from lock to lock in 1/30,000th of a second, they're not going to get anywhere close to their intended destination before you send the next point!

I kinda need to know that max speed.
Then I kinda need to know a minimum and maximum "freak recovery" speed.

Yup. There's been a lot of research into this, even outside the laser industry, as galvos have been around for quite a long time. Also, some companies have a leg up simply because of their in-house experience. Example: Bill Benner over at Pangolin has done a ton of work with Cambridge to improve their scanners over the years, and of course now Pangolin produces their own scanners, so they have a great deal of real-world experience to draw from when designing these limits into their software. But if you're just starting out, you'll want to read what others have published about the limits of scanner response.

that test pattern...
It's not sinking in for me...

See if this post helps. The last section describes what is going on with that center circle that just touches the square.