Re: Furlouogh 40 Goes Color - Arduino FFT Display Module #arduino #fft


Jack, W8TEE
 

Thanks Dean...kindred spirits!! Keep us posted...

Jack, W8TEE

On Friday, June 5, 2020, 10:14:13 AM EDT, Dean Souleles <dsouleles@...> wrote:


Thank you Jack - that is great advice from a true code wizard..... I have followed your lead and built the project header file per your example.  Works perfectly.  

I haven't been an active programmer(as in writing software all day long for a living) in over 20 years.  I've been an executive who "used to do stuff".  But prior to that I spent 20 years programming full time.  With 10 years at NASA JPL I was able to try out and use all of the latest technology before it hit the mainstream.  That means I have probably forgotten more programing techniques than many people know. But there was a day when I was pretty good a it!  Your post reminded me that I used to use that technique all the time when work on large C program libraries and later C++.  I was one the first Ada programmers when I was JPL in the 80's - and I loved, loved, that I no longer needed to worry about that kind of thing - since it was built in to the very strong object orientation of the language. (Oh yeah and no more dang pointers that let a simple programming error make a hash of your runtime.)  Many of those ideas made there way in to C++ and other more modern languages, but most of those have the fortunate (and unfortunate) problem of being derivatives of C - good for its time, but why are we still using it nearly 50 years later?   Ada had many other failings, but in many ways it implemented best practices that have been lost along the way.  

Your Doc.h looks suspiciously like the header file for my Furlough 40 build - so it is reassuring that I haven't forgotten as much as I thought.  By coincidence, I also recently included CAT functionality into my F40 build.  I found a terrific library by Pavel, C07WT -  https://github.com/pavelmc/FT957d, which makes adding FT857 style CAT to a rig almost a snap. I later found that folks on this board (Farhan, Ian, et al) had used it also. This is a terrific community.  

One of my goals, as I know is yours, is to demystify this for the many excellent hams who have no software background.  So much of the code that gets passed around the internet is pretty atrocious (your 10,000 lines in a single file is a great example of worst practice).  Often, the code mostly works, but figuring out why it works can be a challenge, and modding or maintaining it nearly impossible.  So a few best practices, information hiding, object orientation, meaningful variable names, liberal use of named constants and your good guidance about managing declarations, definitions and globals could go a long way to improving people's code.

Thanks again and 73,
Dean
KK4DAS



Dean

--
Jack, W8TEE

Join BITX20@groups.io to automatically receive all group messages.