PDA

View Full Version : Propeller Tool feature request - defining of folder paths



Timothy D. Swieter
01-16-2008, 02:44 PM
I have used the Propeller Tool for several projects and little bits an bobs of coding.· I setup a directory structure for each project to contain the schematics, mechanical designs, notes, and of course the software.

I would like to see the ability to define a project and a project path in the Propeller Tool.· Right now the Propeller Tool remembers a couple file paths that it learns from the last few piecs of code worked on.· Also it only displays the last few words of a file path, which if the files are in a standard directory·structure all the wording looks the same.· In other words my little drop down shows the Propeller library and examples, but then all I see is three or four lines of "C:\...\Design-software" and that doesn't help when I am jumping between projects.· I can't identify which is which.

It would also be nice to be able to define our own libarary path for the software to search in when "compiling".· With each new install of the Propeller Tool a new folder is created (if you use the default install).· Then any past objects placed in the library of the now old·Propeller·Tool·must be moved to the new Propeller Tool·library.· Being able to define the library path or to define additional libarary paths would resolve this nusiance.

In addition, when a project is defined I would like to define the top object too.· So many times I hit ctrl + F10 and ctrl + F11 and the worng project compiles.



▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com (http://www.tdswieter.com/)
------------------------------------------------------------
One little spark of imagination is all it takes for an idea to explode

simonl
01-16-2008, 05:22 PM
Very nicely described Timothy, and I'd like to second the request - these little usability issues are a real annoyance.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,

Simon
-------------------------------
www.norfolkhelicopterclub.co.uk (http://www.norfolkhelicopterclub.co.uk)
You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
BTW: I type as I'm thinking, so please don't take any offense at my writing style http://forums.parallax.com/images/smilies/smile.gif

Timothy D. Swieter
01-16-2008, 05:41 PM
Thank simonl!

Another request or bug. Scrolling my means of a mouse wheel. I have a laptop with a track pad. In all other programs when I scroll on my track pad rightside it scrolls the window as expected. In Propeller Tool it doesn't always do this, but I think I found a bug. Can someone else confirm this? I'm using Propeller Tool 1.05.8.

Propeller Tool open. I have the code window split into two panes - a file open on top and a file open on the bottom. When my cursor is in the code on the top pane the mouse scroll does not work. When my cursor is in the bottom code pane it works. Now, if I move my cursor over the tabs for the top pane I can scroll teh code window (oddly enough). So - I think the bug is that I can't scroll in the top pane when my cursor is in the code.

I hope I explained it clearly.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com (http://www.tdswieter.com/)
------------------------------------------------------------
One little spark of imagination is all it takes for an idea to explode

CardboardGuru
01-16-2008, 08:12 PM
Re the project file with project directories thing. That's how most IDEs work. But I think it might contradict the design aims for Prop tool. See page 35 of the manual, Using the Propeller Tool: Concept.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Help to build the Propeller wiki - propeller.wikispaces.com (http://propeller.wikispaces.com)
Play Defender - Propeller version of the classic game (http://forums.parallax.com/showthread.php?p=685888)
Prop Room Robotics - my web store for Roomba spare parts (http://www.proproomrobotics.co.uk) in the UK

steve_b
01-16-2008, 08:39 PM
re: mouse wheel...

I believe mine works in all other apps on my PC except for PBasic and Proptool (not sure about SX/B).


Cheers

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
<FONT>Steve



What's the best thing to do in a lightning storm? "take a one iron out the bag and hold it straight up above your head, even God cant hit a one iron!"
Lee Travino after the second time being hit by lightning!

hippy
01-16-2008, 09:07 PM
I've asked for that "library path" as well in the past, the F10/F11 of a sub-object was also mentioned recently.

I still think there should be a sticky where people can put compiler enhancement requests, but the feedback I got last time was that Parallax preferred to receive emails of such suggestions.

Proper 'bug / enhancement request tracking' would be even better. It just seems that many enhancement requests simply get ignored, go unanswered, until someone brings up the issue again, and the cycle repeats.

I seem to have occasional problems when PropTool loses keyboard focus, sometime application focus, but I haven't mentioned it because it on past experience I may as well write that on a piece of paper and throw it in a bottomless chasm. Pressures on Parallax staff and lack of resources seem to mean that there's little enthusiasm for enhancements or changes, often not even official feedback on the merits of proposals.

Phil Pilgrim (PhiPi)
01-16-2008, 11:30 PM
There's a lot of necessary "backfilling" that's gotten left behind, possibly in the rush to proceed with the Prop II. My preference would be to see the design team make perfecting what they've already got a priority. I can wait an extra year or three for the Prop II, but I won't be so patient with needed improvements to the Prop I compiler/IDE. It's not enough that it simply be bug-free.

Sorry, guys: I don't mean to add to the crescendo of grumbling; but there are some valid issues that need to be addressed. Some feedback on the forum about what's being worked on would be a plus.

-Phil

simonl
01-16-2008, 11:40 PM
To be fair, Paul has clearly demonstrated that the IDE _is_ being developed further (see http://forums.parallax.com/showthread.php?p=695493), it's just a case of too much to do - so little time!

So Paul; after Jeff's done COM port management, then debug window integration, where in the list will the above be?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,

Simon
-------------------------------
www.norfolkhelicopterclub.co.uk (http://www.norfolkhelicopterclub.co.uk)
You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
BTW: I type as I'm thinking, so please don't take any offense at my writing style http://forums.parallax.com/images/smilies/smile.gif

Phil Pilgrim (PhiPi)
01-16-2008, 11:58 PM
simonl said...
To be fair, Paul has clearly demonstrated that the IDE _is_ being developed further...

I've never really doubted that, and I know the developers are extremely busy. It's more a question of where the compiler/IDE ranks among other priorities. And it's quite possible that Windows Vista has thrown an unwelcome wrench into the works, so I'm keeping an open mind. Regular progress updates would be helpful.

-Phil

hippy
01-17-2008, 12:11 AM
It's really the lack of feedback, knowledge of what's on the list of coming changes, what's accepted as needing change and what's been rejected ( and why ), and apparent slow progress of change which IMO is really the root of any grumbling.

I can put up a good argument for the need of an "@" token which returns current hub address much like "$" returns current cog address, is it worth doing so, or just a waste of breath ?

I think we all appreciate the pressures on Parallax staff and resourcing issues, but it does feel a little like being treated as a mushroom when kept in the dark. We all here have some degree of commitment to Parallax and the Propeller and act with intent of making both a success, but sometimes it feels like a relationship where one gives more than one gets.

The peasants aren't revolting, just a little frustrated.

Ken Peterson
01-17-2008, 12:31 AM
I thought I read that the IDE was going to be on the chip with Prop II. Not sure how that would work...no PC required?? Where would you store your libraries then??

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


The more I know, the more I know I don't know.· Is this what they call Wisdom?

Paul Baker
01-17-2008, 01:19 AM
Development of the next chip is not hindering the further development of the tool for the current chip, having to fix various problems with many different products is what has held up the Tool development. We have an update to the Tool we are presently evaluating, once we have put it though some tests and fixed any bugs we can find, we will release it. Estimated time is 1-2 weeks. The new feature: COM port selection, and before you ask how it's been implemented, you will have to see it for yourself, but it should please everyone looking for this functionality.

The first revision of the next chip will not have an integrated IDE, development of it would take a while and we don't want to delay it's release due to non-essential firmware. We will try to leave enough undefined space in the ROM mask to later add the IDE.

The reason why we don't release frequent progress reports is twofold, first development of the IDE is sporatic, there can be months where there is no change typically because something has gone wrong with a product (a substantial amount of time was spent last year getting the Stamps back to passing industrial ratings because the RoHS compliant resonators we chose were failing inside the range), but then there are times when he will get vast amounts of coding done (typically over the weekend when noone is here to bug him). Second, we're not really keen on playing a game of "are we there yet", and before you say you won't do that, someone else will, and when you combine these two factors, the first exponentialy aggrevates the second. On occasion, if someone asks, and there enough progress already done, I will state what the next feature is and a timeframe if I have one (I ussually don't until we have it in the can).

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Post Edited (Paul Baker (Parallax)) : 1/16/2008 7:32:46 PM GMT

CardboardGuru
01-17-2008, 01:20 AM
Ken Peterson said...
I thought I read that the IDE was going to be on the chip with Prop II. Not sure how that would work...no PC required?? Where would you store your libraries then??


The intention seems to be to have developer tools on the chip, but to continue with the PC version of PropTool as well. The first P2 chips might not even have the on chip developer tools, they may arrive later.

I can see two possible approaches to where the files are stored:

1) Dev board have SD cards or equivalent to store source files.
2) Development is done symbiotically with a PC. The PC supplies the source files, the P2 Chip compiles them. Either side could be in control of the process.

Number 2 might seem pointless in that you still need a PC, but the PC end might be very simple, easy to port between OSs, and even open source, whilst still allowing Parallax to keep control over it's compiler.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Help to build the Propeller wiki - propeller.wikispaces.com (http://propeller.wikispaces.com)
Play Defender - Propeller version of the classic game (http://forums.parallax.com/showthread.php?p=685888)
Prop Room Robotics - my web store for Roomba spare parts (http://www.proproomrobotics.co.uk) in the UK

Ken Peterson
01-17-2008, 01:29 AM
Cool... Anything that would allow me to develop in Linux would be a plus.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


The more I know, the more I know I don't know.· Is this what they call Wisdom?

Chris Savage
01-17-2008, 01:56 AM
Timothy D. Swieter said...(trimmed)
Another request or bug. Scrolling my means of a mouse wheel. I have a laptop with a track pad. In all other programs when I scroll on my track pad rightside it scrolls the window as expected. In Propeller Tool it doesn't always do this, but I think I found a bug. Can someone else confirm this? I'm using Propeller Tool 1.05.8.
Propeller Tool open. I have the code window split into two panes - a file open on top and a file open on the bottom. When my cursor is in the code on the top pane the mouse scroll does not work. When my cursor is in the bottom code pane it works. Now, if I move my cursor over the tabs for the top pane I can scroll teh code window (oddly enough). So - I think the bug is that I can't scroll in the top pane when my cursor is in the code.
Timothy,

·· If you click into the top code window, does the top then work and the bottom not when mouse over the code and trying to scroll?· Is suspect this is not a bug, but more a windows thing...I think only the "active" screen will scroll, however it is over-ridden by being on the scroll pane.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support

Phil Pilgrim (PhiPi)
01-17-2008, 01:57 AM
Paul,

Much obliged for the clarification. It's always easy to jump to conclusions when communication is lacking, so every little bit helps. It would also be helpful if the developers weighed in occasionally on the merit/lack-of-merit of the various suggestions floated in the forum, so at least we'd know whether further whining is in vain. This needn't entail a constant dialog, which would obviously be a time-sucking drain. But throwing the occasional bone would be appreciated: maybe a monthly developer's log or newsletter.

Thanks,
Phil

Ken Gracey
01-17-2008, 02:16 AM
Phil and others,

I've summoned Jeff to participate in this thread if he's around right now. Just so you all know - his wife is expecting a child any minute so we'll need to play second fiddle to his personal needs for a few weeks. We have one person who maintains the IDE for Parallax. In time we'll be able to provide support for third parties.

Ken Gracey
Parallax, Inc.

Phil Pilgrim (PhiPi)
01-17-2008, 02:28 AM
Oh, heavens! 'Sounds like Jeff's got more important things to attend to right now than this thread. We can surely wait a few weeks for his input! http://forums.parallax.com/images/smilies/smile.gif

-Phil

Timothy D. Swieter
01-17-2008, 06:10 AM
Wow - quite a conversation has pursued over night while I was sleeping.

I second the improved communication with the developer and I think this is because mayn of us here on the forum feel like we are a part of the Propeller. Many of us have been here since the beginning of the Propeller revolution and have seen the user numbers grow and we all remember when the Prop Tool was <V1.0 and there was no manual! I fully understand a baby on the way, good fortune be with you Jeff and your wife!

Chris - I can't seem to get the top code pane to scroll when I am in the code, only when my mouse is over the tabbed bar for the top pane. When in the bottom pane code window the mouse scrolls just as expected. When over the tabs of the bottom pane the mouse also scrolls as expected. If the IDE is open with only one full view pane and the mouse is in the code the window still does not scroll - only when the mouse is over the tab bar. I hope this helps to clarify my experience so we can test if it is an IDE issue or a WinXP issue. Any other Prop Tool users able to concur the scrolling results? I believe steve_b seconded that his mouse wheel scrolling also doesn't work.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com (http://www.tdswieter.com/)
------------------------------------------------------------
One little spark of imagination is all it takes for an idea to explode

Fred Hawkins
01-17-2008, 07:45 AM
I can't duplicate your scrolling problem -- both the touchpad's sidebar and my mouse's scrolling wheel scroll the active window. Selecting an active code window requires clicking the tab or actually placing the text cursor - selecting (and even using) the vertical scroll bar is not sufficient to make a code window active.

Control-tab also swaps between the code windows.

(system: vista laptop)

simonl
01-17-2008, 04:37 PM
@Timothy: I can't reproduce your problem either I'm afraid. I'm on WinXP SP2.

BTW: Thanks for bringing this ability to light - I'd completely missed that in the manual!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,

Simon
-------------------------------
www.norfolkhelicopterclub.co.uk (http://www.norfolkhelicopterclub.co.uk)
You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
BTW: I type as I'm thinking, so please don't take any offense at my writing style http://forums.parallax.com/images/smilies/smile.gif

Timothy D. Swieter
01-17-2008, 05:47 PM
Thanks for double checking me guys.· From the informal survey, maybe it is a WinXP problem with my system and not a particular bug with the Propeller Tool.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com (http://www.tdswieter.com/)
------------------------------------------------------------
One little spark of imagination is all it takes for an idea to explode

hippy
01-18-2008, 01:13 AM
Rather than just whinge there was no fixed place to catalogue Propeller Tool enhancement requests, or to tell potential third-party developers of tools for the Propeller what was deemed desirable for Propeller developers, I created a "universal sticky" for that -

propeller.wikispaces.com/Propeller+Tool+-+Enhancement+Requests (http://propeller.wikispaces.com/Propeller+Tool+-+Enhancement+Requests)

I sincerely hope no one is offended or annoyed by that as it is little more than a list of proposed enhancements which have already been made in public on this forum.

I've added those enhancements I desire and those I know others have requested and those I found through forum searches. Everyone is able to amend that list however they wish to. One thing I wouldn't personally like to see though is the page becoming a "criticise Parallax and the Propeller Tool" page; suggesting positive improvements rather than negative criticism would be far preferable.

Phil Pilgrim (PhiPi)
01-18-2008, 01:35 AM
Hippy,

Nicely done! And I like your selection of feature requests. If they were all implemented, I'd be a very happy camper, indeed.

So as not to clutter the main page with long-winded explanations, is it possible to add hyperlinks pointing to forum posts or other articles on the web? Also, in case any errant editing really fouls things up, is it possible to roll back to prior instances of the page? (As you can probably tell, I'm not all that familiar with wikis, behond just reading them.)

Thanks,
Phil

hippy
01-18-2008, 01:45 AM
Yes, links can be added ... double open square brackets, url, vertical bar, text description, double close square brackets ... example here with spacing added to keep this forum renderer happy ...

[[ http://forums.parallax.com/forums/default.aspx?f=25&m=243449 | here ]]

Vandalism can be undone and previous pages rolled-back ( might take CardboardGuru's involvement as Wiki owner but can be done ).

Over-enthusiastic entries can be moved to sub-pages and linked to to remove page clutter.

[[ sub-page-name | description ]]

Creates a sub-page.

Post Edited (hippy) : 1/17/2008 6:52:24 PM GMT

Phil Pilgrim (PhiPi)
01-18-2008, 02:08 PM
Hippy,

I hate to ask, but I'm even more reluctant to mess with it myself: Would it be possible to reorganize the wiki page into two sections, one for the compiler proper (e.g. syntax, semantics, portability, etc.), and one for the IDE? The reason I ask is that (so far as I know) Chip is still in charge of language matters and the compiler (written in 808x assembler), and Jeff is in charge of the IDE (written in Delphi). Segregating thus into two sections would make things easier for their intended audience.

Thanks,
Phil

Paul Baker
01-18-2008, 02:27 PM
good point Phil, compiler stuff won't get done until perhaps after the next chip, since all non-critical compiler stuff has lower priority than chip development.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Phil Pilgrim (PhiPi)
01-18-2008, 03:06 PM
Hmm. That threshold of criticality: is it well-defined? Can it be described in 25 words or less? http://forums.parallax.com/images/smilies/smile.gif

Seriously, I think a great many language issues and desires at this point could be addressed by the users themselves, given flexible-enough pre-processor hooks — a feature which falls on the IDE side of the fence. One possible exception would be Hippy's quite reasonable request for a "here" symbol (@) for hub memory. Considering the speed at which the "$" symbol was added for cog memory, this would appear to be an easy request to fulfill. Anyway, preprocessor hooks could unleash a wealth of pent-up creativity among the user base and add some fresh insights (and a way to prove them out) to the future direction of Spin. In other words, Spin's intelligent design has gotten us quite far; but the time is nigh to give evolution a chance.

-Phil

Timothy D. Swieter
01-18-2008, 08:10 PM
Here here on the preprocessor hooks. Another thought too for the IDE, Sometimes I am working on several objects/prgrams. I would find it convenient if I could reorder the tabs once they are open. Where is that wikipage to update.....

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com (http://www.tdswieter.com/)
------------------------------------------------------------
One little spark of imagination is all it takes for an idea to explode

hippy
01-18-2008, 09:35 PM
The requests could be split between compiler and IDE and in some cases the division is obvious ( "@" for hub address is compiler, re-ordering tabs is IDE ) but what of pre-processing ?

Is this a part of the compiler's parsing, or should the compiler take files which have already been pre-processed, is that pre-processing part of the IDE or another separate component ?

It can be argued both ways, and we have a real-world issue to deal with for the PropTool; Chip is the compiler writer and it's accepted he's busy on other things, so the less that needs to be added in the compiler the better.

I'm personally happy with a split between "New Feature Requests" (IDE/Compiler) and "Propeller Tool Improvement Requests" with the later being more diplomatic language than "IDE bug fixes needed".

Paul Baker
01-19-2008, 12:21 AM
Assume that if it can be done in the IDE, if it is done, it will be done in the IDE.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Phil Pilgrim (PhiPi)
01-19-2008, 01:02 AM
Hippy,

Pre-processing is definitely an IDE thing. It could work this way:

1. Edit the program.
2. Hit F9., F10, whatever.
3. IDE sends the first object with a PRE section to the preprocessor designated therein (via STDIN, perhaps).
4. User preprocessor massages the program (removing the PRE section, which could also contain parameters) and outputs the results in standard Spin and assembly (to STDOUT, perhaps), or errors that it found (to STDERR).
5. IDE writes the results to a temporary file.
6. Repeat 3-5 for each object that has a PRE section, unless an error was reported (using a defined protocol), in which case the error is displayed in the IDE window where it occurred.
7. Send preprocessed files to compiler.
8. The compiled results can then be uploaded, if requested.

What to do about compiler errors? The simplest would be just to display the error in the processed code. Presumably, the preprocessor would have preceeded each group of processed code lines with a comment line containing the original code, as a context hint. More complex would be to come up with a specification for the comment line (to distinguish it from other comments), so the error could be displayed in the orignal code. Here, the IDE would find the error in the processed file, back up to the designated comment (containing the line number from the original file), and display the error there.

In any event, I don't see why the compiler itself needs to be involved with (or even know about) a user preprocessor. Nor is there any reason for the IDE to have knowledge about how the preprocessor works, beyond the I/O interface and, perhaps, the error protocol.

-Phil

Post Edited (Phil Pilgrim (PhiPi)) : 1/18/2008 6:08:10 PM GMT

hippy
01-19-2008, 03:09 AM
I've done it both ways, pre-processing in the IDE and as part of the Compiler. It doesn't really matter as long a the pre-processing is smart. For example, a HashString("Hello",CR,LF) macro may have had CR and LF defined in a CON so when pre-processing HashString to deliver a long constant it needs to be aware of not just #define substitutions but also CON constants. As those CON's could be object#name it has to be a bit smarter than a linear line-by-line pre-processor.

I prefer IDE to sub-executables to be via command line with just the path and name of a temporary file given which holds all parameters as that allows plug-ins to be in any language and not have to worry about the complexities of handling STDIN and STDOUT, it avoids that worry as well for others trying to use them. For example VB6 can run perfectly well as a hidden process but doesn't do STDIN/STDOUT easily. No matter how poor a person's choice of programming language may be, cutting them off causes grumbles and may even mean they don't deliver the killer pre-processing application.


There's an additional step in pre-processing, and that is for edited files in the IDE which haven't actually been saved to disk when the pre-processor wants files on disk. That's reasonably easy to overcome.

Taking Paul's comment into account, I'll update the Wiki page and add an explanation of the categories there.

Phil Pilgrim (PhiPi)
01-20-2008, 06:00 AM
Here's a tutorial on using STDIN, STDOUT, and STDERR with VB6. It doesn't seem overly complicated. But I don't use VB, so maybe I'm missing something.

The nice thing about using STDIO is that its application transcends platform differences, since most OSes support it transparently. Also, for people who want to use a preprocessor with the compiler from the command line, say, it's a simple matter to pipe output from one program into another.

But, heck, I'd take preprocessor hooks in almost any form at this point!

-Phil

Chuck Rice
03-08-2008, 04:37 AM
Just added this request to the Wiki:


Chuck said...
Compiler output
Add option to always generate the .BINARY and .EEPROM files (instead of running the internal loader). This would allow the use of external loaders for linux and mac users. It would also allow two propellers (or more) propellers to be attached via USB and programmed by the external loader (for example, you could run two copies of Loader.py in watch mode, watching different binary files and connected to two different USB ports) by just compiling the appropriate top level object.



.