ADICON Support Forum Applied Digital, Inc.
Page 2 of 2 <12
Topic Options
#22135 - 10/04/10 06:52 AM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
2 weeks and no problems nor oddities :-)
Max concurrent use: 5 clients (more realistic)
CPUXA (Ocelot) latency - 11.93 seconds
INET latency - 1.83 seconds
---
Have had a bit of time to work on C++Max. Am in unit test, but conversion not complete. So, maybe halfway there. The "Contractor's Toolbox" should not add any complexity to the compiler as it introduces no new syntactical elements. What it adds is a bit of semantic double checking {making sure that all of the component's inputs and outputs are present and defined appropriately}

Top
#22146 - 10/05/10 07:02 PM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
Unit test of the Dmax in Python complete. So I guess I am ~80% there. Need to more testing. Have added error messages.
---
To compile my "home automation program" it takes less than 5 seconds. Not as fast as the ANSI "C" version, but it's portable and lot easier to integrate into things like the "contractors toolbox". Statistics are: 84475 state transitions, 141340 actions, 1768 lines processed,
in pass 1 with 519 C-Max PGM lines generated.
---
No changes to pxa_client & pxa_server. Seems to be stable.

Top
#22153 - 10/11/10 09:52 AM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
The pxa components have been stable for over two weeks. The Google code repository has been updated.
---
The D-Max macro assembler has been successfully converted to 100% Python.
---
The C++Max compiler is well underway. Whats working:
- It adds the indent / undent (dedent) lexical level recognition of Python to the D-Max core.
- The "skip" type of "when" & "else" C-Max functions.
- meanings for "skip K" where K is < 1 laid in. When used at lex level "N" it skips to the next occurrence of an instruction at lex level "N + K"
===
Things in evaluation:
--- auto skip
Which uses the lex level to automatically inject "skips" and "force trues" to work in a more compiler like fashion. It works, but is not a good thing. It almost doubles the size of PGM file (yes, I know that it is fixed length; but, you know what I mean). I think I am going to add a pragma to turn the feature off and on.
---
The manual form looks quite promising, so I will drive that to completion. I will finish implementing the "auto skip" feature later.

Top
#22162 - 10/13/10 01:50 PM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
The pxa components are still working to expectations.
---
The C++Max compiler is finished, in the sense that all language enhancements are working.
---
The new '_compiler' pragma is a godsend. It switches the compiler between assembler (default) and compiler modes.
---
Now, to focus on the C++Max UI and preprocessor. I separated the "sense of direction" document into the language direction and the UI + preprocessor direction. Moving C++Max pxa support from integrated to plugin is one of my most brilliant, accidental, ideas. Almost as good as the "contractor toolbox". It's going to save oodles of my time. The C++Max UI is to be an Integrated Deployment Environment, and not a development environment.
---
All C++Max application code can be recyclable from project to project. The deployment specific CPUXA codes of a project are generated, on the fly, by the C++Max preprocessor.
---
Somehow, I have managed to achieve all of the goals of an object oriented language. Who would have guessed?
---
The best way to reduce development costs is to stop doing development :-)
---
Still looking for collaboration, even if it is of the "rock throwing" kind.

Top
#22167 - 10/17/10 02:35 PM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
The C++Max preprocessor is coming along. Parts of the GUI are already working.
--- Some refinement in direction has occurred:
- CPUXA component support is being implemented as a mandatory plugin - just like the optional pxa component plugin.
- The CPUXA interface definitions are to be implemented in the C++Max language - new statements, internal values, etc. The CPUXA preprocessor will use the same compiler engine as the compiler but will use a different state-transition-matrix (different language recognition). Motivation: Physically separating the CPUXA interface definition from the CPUXA code makes the programming effort much more confusing. Also, quite a few property definitions involve macro expansions, most notably time-of-day and date properties.
---
pxa_client and pxa_server still stable. No crashes, misbehavior's, nor code revisions.

Top
#22175 - 10/23/10 04:59 PM Re: Python [Re: bvnoldguy]
bvnoldguy Offline
journeyman


Registered: 07/20/10
Posts: 50
The Panther projects are designed to run unmodified on Windows, Linux, and Mac. I have been migrating to Fedora and Red Hat Enterprise Linux from Windows over many years. My house server was getting quite old and it's replacement will never, ever, run Windows, which is getting more difficult to administer and maintain with each new release. It's not a matter of cost, as I have six unused Windows 7 licenses.
---
PXA (done) replaces the VB6 code of Hyena with portable Python code.
- pxa_server (done) replaces the VB6 Hyena server with a Python plug-in equivalent. Initial testing was done on Windows. It has platform awareness it it's serial port support.
- pxa_client (done) a wxGlade oriented framework for developing client side GUI's. wxGlade is written in wx Python and generates wx Python from it's drag and drop GUI development environment. The pxa_client framework uses the wxGlade generated Python code without modification. Works with both pxa_server and the original Hyena VB equivalent.
---
C+Max (done) replaces the D-Max assembler and supports the C-Max upgrades as of 2010. Like it's predecessor, it is a command line tool without a GUI. C+Max is more compiler like than D-Max.
---
C++Max (done) is a preprocessor extension to C+Max that adds OOP (Object Oriented Properties) to the C+Max language.
---
Panther (mothballed, due to lack of interest) is a GUI for C++Max that is oriented towards automating the deployment of recycled PXA and CPUXA code.
---
As everything has been converted to Python and it all runs on Windows, and Linux; I have met my personal objectives.
--- TTFN


Edited by bvnoldguy (10/23/10 05:00 PM)

Top
#23537 - 05/12/13 03:53 PM Re: Python [Re: bvnoldguy]
Richard_Cooke Offline
newbie


Registered: 09/06/07
Posts: 10
Loc: Toronto, ON, Canada, eh?
Is the project still up?

I wrote a Python monitor utility back in 2007. And I would like to get away from running the C-MAX program I wrote to manage my house lights.

You can see my contribution from back in 2007:
http://www.appdigusers.com/forums/ubbthreads.php/ubb/showflat/Main/3150/Number/18718#Post18718

Rich.


Edited by Richard_Cooke (05/12/13 03:56 PM)
_________________________
Regards, Richard Cooke, Turnkey Automation Inc.

Top
Page 2 of 2 <12


Moderator:  Dan Smith, Monte G, ADI Tech Support, Guy Lavoie 
Hop to:
Who's Online
0 registered and 46 anonymous users online.
Recent Posts
Shout Box

Newest Members
brigiel, vevevie, zhutree, 416, saiqul
3003 Registered Users
Forum Stats
3003 Members
19 Forums
3998 Topics
23424 Posts

Max Online: 132 @ 11/13/16 10:07 AM
April
Su M Tu W Th F Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30