Viperpit(s).org
September 03, 2010, 02:37:36 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Do you realise that all this new glitter and glamour DOES cost money every month ?
Do VP a favour and click on the PayPal button to your left ! Wink
 
  Home   Forum   AUCTIONS GALLERY DOWNLOADS MEMBER MAP Login Register Help   **
Recent Posts
[Today at 02:31:16 PM]

by gus
[Today at 02:17:26 PM]

[Today at 12:53:04 PM]

[Today at 10:57:51 AM]

[Today at 10:41:28 AM]

[Today at 01:09:50 AM]

[Today at 12:49:54 AM]

[September 02, 2010, 01:47:00 PM]

[September 02, 2010, 12:30:03 PM]

by KK
[September 02, 2010, 08:41:57 AM]

[September 02, 2010, 07:26:05 AM]

[September 01, 2010, 04:50:46 PM]
Forum Donations
Help us keep Viperpit alive !
Feeds
Atom feed RSS/RDF feed RSS 0.91 Feed RSS 2.0 Feed
Pages: 1 2 [3] 4 5 6   Go Down
  Add bookmark  |  Print  
Author Topic: Open-source macro programming library  (Read 10627 times)
lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #30 on: March 06, 2008, 06:00:48 AM »

My new project workspace containing all the tools in the Lightning's Tools & Utilities thread, is now live on my Assembla project site.


For programmers:

The workspace includes an online Subversion/Trac code repository.  All my source code is in there, from all ViperPits-related projects, including officially-unreleased stuff.  You can use TortoiseSVN to browse the entire Subversion source control repository, or just use your browser to get at stuff via the Trac link.

All the end-user application releases can be found under the /tags/End User Applications folder. 

All the source code releases can be found under the /tags/Programming Tools and Source Code folder. 

The other folders, /branches and /trunk, contain unstable, in-progress code. 

If you want the stable stuff, better stick to the /tags/Programming Tools and Source Code folder.
« Last Edit: March 11, 2008, 01:20:14 AM by lightning » Logged

lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #31 on: March 11, 2008, 01:17:43 AM »

The first pieces of the macro programming toolkit are live in the /trunk on my Assembla project site. 

The primary goal of this little project is to bring Cougar-like programming capabilities to all DirectInput devices.  The concept, for now, is to preserve, as much as possible, the familiarity of the Cougar macro language, while keeping the ability to introduce new features, as needed. 


Now that the basic primitives are pretty much done and out of the way, the next step is to create an EBNF attributed grammar file that describes a Cougar-like programming language built on top of all this stuff.  Then, using that attributed grammar, I can generate a lexer/parser and a compiler for this new programming language. 

When the compiler's released, you'll be able to create your own custom macro files (much like you can do today with the Cougar).  You'll feed those macro files into the compiler, and it will spit out a real .NET program that you can run on your system, in much the same way as you load macro files onto your Cougar today. 

The only thing I won't have, any time soon, is a nice graphical editor like Nutty's Foxy tools, athough, if I keep the language similar enough to the Cougar language, you could probably get away with using Foxy to create these types of macro files as well....
« Last Edit: March 11, 2008, 01:41:22 AM by lightning » Logged

lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #32 on: March 15, 2008, 05:37:45 AM »

I finally got all the PHCC hardware that Jay lent me up and running (the core PHCC motherboard and a single keymatrix module), and with that, I've coded the first version of the PHCC interface library for .NET and COM.  I should have that code checked into my Subversion repository by Monday for anyone that wants it.  The documentation on the PHCC project website was incomplete, and I found some variation between the official docs and the actual protocol implementations in the PHCC's firmware (specifically, for reading the analog axes map), but I found what I was looking for after trawling through the PHCC forums for a while.  This code should support analog and keymatrix inputs, I2C send & receive, Prioritized and non-prioritized analog inputs, and both Digital Output types (A [low-current] and B [high-current]). 

I've not had a chance to extensively test this code, as I don't have anything hooked up to the PHCC hardware yet, and I don't have a lot of the PHCC modules to test with, but the raw interfacing code should work if the docs are correct...and if not, it should just be some simple code modifications to get anything working that we find is broken in the initial set of code that I'll be checking in over the weekend.

I'll add in convenience methods for making it painless to use the various PHCC daughterboards including:

* 7-Seg display driver daughterboards
  - DOA_7seg  Rev.1 (up to 256 daughterboards, each with up to 32 7-seg displays or 256 LEDs)
  - DOA_7seg_2803 (up to 256 daughterboards, each with up to 32 7-seg displays or 256 LEDs)
  - DOA_7seg_2981 (up to 256 daughterboards, each with up to 32 7-seg displays or 256 LEDs)
  - DOA_877_4067 (up to 256 daughterboards, each with up to 48 7-seg displays or 384 LEDs)

* Key matrix/switch input daughterboards
 - KEY64D_PH (up to 16 daughterboards, each with 64 digital inputs [pin headers])
 - KEY64D_SC35 (up to 16 daughterboards, each with 64 digital inputs [screw terminals])

* Digital/analog output boards
 - DOA_AnOut1 (up to 256 daughterboards, each with 16 channels of 8-bit DAC/PWM, <=45 volt)
 - DOB_74595+T (up to 256 daughterboards, each with 16 channels of 8-bit DAC/PWM, <=80 volt,  1 amp)
 - DOA_40DO (up to 256 daughterboards, each with 40 channels of 8-bit DAC/PWM, <=50 volt, 125 milliamps)

* Servo controller boards
 - DOA_8servo (up to 256 daughterboards, each board supporting 8 individual servos with 8-bit resolution)

For any I2C peripherals, it's still on you to implement the device-specific data protocol, but sending and receiving the actual I2C datagrams is supported directly by this software. 

Once this is published this weekend, I'll start integrating this set of code into the JoyMapper product for its next release so that JoyMapper can read the analog and digital inputs from the PHCC hardware, where they'll be passed on to PPJoy, where they'll then be available directly to Falcon as regular old DirectInput buttons & axes.
« Last Edit: March 15, 2008, 08:51:26 AM by lightning » Logged

kdittyr
Brig.General
*****
Offline Offline

United States United States

Grant award..
Posts: 264



« Reply #33 on: March 17, 2008, 12:55:28 PM »

Great work!  Thanks for the time and effort you are putting into this.  Cheerleader
Logged

________________________
kdittyr -aka- "PoppaSmoke"

lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #34 on: November 13, 2008, 05:34:35 AM »

Next up in the series: (yet another) Falcon Shared Memory Mirror tool. 



edit: Removed direct download link.  Latest version can be downloaded from my Assembla project site.
« Last Edit: January 28, 2009, 11:50:25 AM by lightning » Logged

Squid
-=VP Donor=-
General
*
Offline Offline

France France

Grant award..
Posts: 655



WWW
« Reply #35 on: November 13, 2008, 05:49:30 AM »

I ll have to try that one
Logged

Still in search of something to say ...
bnepethomas
-=VP Donor=-
LT. General
*
Offline Offline

Australia Australia

Awards:

Grant award..
Posts: 456


« Reply #36 on: November 13, 2008, 07:10:49 AM »

Thanks for yet another great utility!
Logged
lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #37 on: December 08, 2008, 08:40:01 PM »

I've updated the BetaInnovations USB SDK Wrapper for .NET on my Assembla project site.  I'd actually updated this back in March but had somehow overlooked posting the distributable to my project site's front page. 

edit:Removed direct download link.  You can download the latest version from my Assembla project site.

NOTE:You only need this if you're writing your own code and you want to use the BetaInnovations USB Software Development Kit from within .NET languages like C# or VB.NET.  For other languages you can use the native SDK from BetaInnovations.
« Last Edit: January 28, 2009, 11:49:41 AM by lightning » Logged

lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #38 on: December 13, 2008, 02:30:16 PM »

Updated the Beta Innovations USB SDK wrapper one more time; thanks J35 for testing.  Download and version information has been updated in the previous post.
Logged

lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #39 on: January 28, 2009, 11:38:08 AM »

I've updated nearly all the code projects on my Assembla project site

Updates:
 BetaInnovations USB SDK Wrapper Library v2.0.0 for .NET
    -- Updated to match the January 2009 BetaInnovations USB SDK
    -- Now includes API documentation in Sandcastle/.CHM help file format

  Falcon Keyfile Library v1.2 for .NET & COM
    -- Several bug fixes

  Falcon Shared Memory Reader Library v2.0 for .NET & COM 
   -- Additional sharedmem values

  Falcon Textures Shared Memory Reader Library v1.4 for .NET & COM   
    -- Minor update to support upcoming MFD Extractor release

  PHCC Interface Library v0.2.1.0 for .NET & COM 
    -- Releases all bug fixes implemented during the construction of the PHCC Test Tool
    -- Updated API documentation in Sandcastle/.CHM help file format

  Falcon 4 Shared Memory Mirror v0.3.1.0
    -- Prevents second instances from launching if an instance is already running
    -- Uses latest shared memory reader and writer code

 
« Last Edit: May 20, 2009, 03:00:39 AM by lightning » Logged

Kukki
-=VP Veteran Donor=-
General
*
Online Online

Denmark Denmark

Awards:

Grant award..
Posts: 1701



WWW
« Reply #40 on: January 28, 2009, 11:45:16 AM »

something is wrong with the link ?

kukki
Logged

Kukki - (Skype: kukki87th)
872nd Fighter Squadron Scandinavia
87th Stray Dogs VFW
My F-16 Cockpit Project
lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #41 on: January 28, 2009, 11:57:26 AM »

Fixed -- accidentally quoted the URL in the link tag.
Logged

Kukki
-=VP Veteran Donor=-
General
*
Online Online

Denmark Denmark

Awards:

Grant award..
Posts: 1701



WWW
« Reply #42 on: January 28, 2009, 01:06:44 PM »

Damn its a noce vid.

Im speechless  Thumbs up Thumbs up Thumbs up

Kukki

Logged

Kukki - (Skype: kukki87th)
872nd Fighter Squadron Scandinavia
87th Stray Dogs VFW
My F-16 Cockpit Project
bubba
Lt. Col
*****
Offline Offline

United States United States

Grant award..
Posts: 89


« Reply #43 on: January 28, 2009, 06:54:56 PM »

I have not been keeping up on this for a while as my new computer is not yet built.
And my old one was to slow for Falcon OF, F4 Glass, and Falcon gauges.
But I have a question. Does the memory reader replace F4 Glass?

Thanks,
Joe
Logged

Bubba
lightning
-=VP Donor=-
General
*
Offline Offline

United States United States

Awards:

Grant award..
Posts: 2126


Topic starter

WWW
« Reply #44 on: January 28, 2009, 08:20:13 PM »

No,

The shared memory *reader library* on my site is just a bunch of code that makes it easier for other programmers to develop their own software that can read information from Falcon's shared memory, without having to write that part for themselves. 

The shared memory *mirror* tool on my site is built using the reader library.  The mirror tool just copies raw data from Falcon's shared memory, over a network to a second computer, so that tools like F4 Glass or Falcon Gauges can read that data even when they're not running on the same computer as Falcon is running on. 

So, in short, neither of those tools is in any way a replacement for Falcon Gauges or F4 Glass. 

However, the shared memory *mirror* tool can be *used* with either Falcon Gauges or F4 Glass, if you want to run Falcon Gauges or F4 Glass on a second computer (which is what many builders are doing).

Maybe what you are referring to, though, is the Center Pedestal Display software on my site, which is quite a different beast altogether.  That program (the CPD software) doesn't attempt to replace F4 Glass or Falcon Gauges, since it does not do all the same things as those programs. 

The CPD software (which is currently in early beta testing) is designed only to simulate the Raytheon F-16 Center Pedestal Display unit, which is currently being evaluated for replacing the F-16's aging electromechanical center pedestal instruments.   Since the real Raytheon CPD unit replaces only the center pedestal instruments, my software (which attempts to replicate the Raytheon look and feel) does not implement any other instrumentation such as the round "steam gauges", nor does it replace any other other avionics such as the DED, PFD, caution panel, etc. 

To make a long story short, even if you chose to implement your Center Pedestal instrumentation by using my CPD software, you'd still need to use Falcon Gauges or F4 Glass to render your steam gauges and other instrumentation.  So in fact there's no competition between the products, they are actually all quite complementary to each other.
Logged

Pages: 1 2 [3] 4 5 6   Go Up
  Add bookmark  |  Print  
 
Jump to:  

Your local time
VP Time
19:37 UTC
September 03,2010
Today's Birthdays
Members
Total Members: 2374
Latest: bjviper
Stats
Total Posts: 79162
Total Topics: 5545
Online Today: 20
Online Ever: 459
(November 02, 2009, 09:46:32 PM)
Users Online
Users: 7
Guests: 14
Total: 21
Top 10 Posters
Ka-Bar03 (5074)
AiRdAncE (3955)
Crease-Guard (2725)
Nigel (2387)
Red Dog (2330)
Kneeling Warrior (2326)
Nikolas_A (2148)
lightning (2126)
101-Douxx (2024)
Flareless (1708)
Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC
TinyPortal v0.9.8 © Bloc
Valid XHTML 1.0! Valid CSS!
Page created in 0.243 seconds with 37 queries.