[hpsdr] Flynn

Jeremy McDermond mcdermj at xenotropic.com
Wed Mar 23 12:11:59 PDT 2011


On Mar 23, 2011, at 6:41 AM, Kevin Wheatley wrote:

> ***** High Performance Software Defined Radio Discussion List *****
> 
> Jeremy thanks for the youtube upload of Flynn,
> 
> A demonstration of Flynn, an alternative to the HPSDRProgrammer.
> 
> I'll have to grab myself a copy :)
> 
> Here's a link for those who haven't subscribed to Jeremy's channel:
> 
> http://www.youtube.com/watch?v=7zrBUEXhYVU&feature=uploademail

Well, I was kinda waiting on the announcement for this until I got a couple of other things in place.  That's what I get for trying to be low key and sneaky and put things into place before I pull the trigger. I didn't think I was popular enough to have YouTube subscribers. :)

Since the cat's out of the bag already, though...

I'm happy to announce Flynn.  Flynn is an alternative to HPSDRProgrammer.  It's design goals were to be as simple as possible for the user and to utilize the advantages of the Mac platform.  To accomplish these goals I've had to make tradeoffs in cross-platform compatibility and flexibility.  Flynn is a Mac only program supported on MacOS 10.5 and above on Intel processors.

Flynn has quite a few design changes over HPSDRProgrammer:
	*  Uses native Cocoa and is written in Objective C.  The helper applications are in straight C.
	*  Uses a "helper" application that obtains a raw socket.  This is the only part of the program that actually runs
           in privileged mode.  This reduces the chance that anything bad will happen during that privilege escalation.
           I'm using the Apple provided "Better Authentication Sample" library to provide the security code.
	*  Instead of using the libpcap/bpf system on the Mac, I'm using a type of socket called PF_NDRV on the Mac. This
           allows me to talk directly to the Ethernet driver to send and receive raw packets.  This also incidentally
	   works with wireless interfaces.
	*  I use the "Get MAC Address" function of the Metis bootloader as a discovery packet to find all the Metis boards 
	   with the JP1 jumper set.  I send this packet and wait for replies out all of the interfaces on the Mac 
           simultaneously.  Currently the first Metis to respond wins.  This shouldn't be a problem because there shouldn't 
           be a bunch of Metis boards sitting on the network with JP1 set.
	*  "Live" updating of Metis isn't supported, only bootloader mode.  My thoughts are that "live" updating will
	   be added to the Metis driver of Heterodyne sometime in the future.

Flynn is open sourced under GPLv2 except for the pieces which I borrowed from Apple, which have a more or less BSD license on them.  The source is available on my SVN at https://www.xenotropic.com/ham-svn/Flynn

I will be making a binary release within the next couple of days.  There are still a couple of features that need to be added before final release, the main one being the inclusion of the Sparkle Updater so it can receive automatic updates.

Please feel free to let me know of any comments or questions.

I'd like to publicly thank Phil for working with John and I on the JTAG programmer procedure.  It took a lot of tearing through Altera's sample code and figuring out little niggly details to make it work.  Phil's patience with my misreading of the code and general procrastination was pretty amazing.  I'd also like to thank John for working on the reference implementation of the programmer.  It really helps to have something that works out there and is a starting point for other things.  John has produced this code for me on a number of occasions and it provides an immense service to the community.

Again, as Kevin said, for those that don't know the glory of Mac ownership, you can see a short demonstration of Flynn setting Metis to a static IP address, programming Metis, and programming Penelope on my YouTube page at http://www.youtube.com/watch?v=7zrBUEXhYVU

> 73's
> Kevin

--
Jeremy McDermond (NH6Z)
Xenotropic Systems
mcdermj at xenotropic.com




 1300907519.0


More information about the Hpsdr mailing list