Beginners: please read this post and this post before posting to the forum.
0 Members and 1 Guest are viewing this topic.
On the plus side - whilst it may be a loss for the US/Navy then it can still be a plus for the rest of the world
Make everyone use Project Designer whereby the pre-compiled code can also be MUCH smaller and may even run on ATtiny chips.
Are you familiar with Jakarta Ant - thats what I use to compile my libs. ie 'ant release' will rebuild my lib for all platforms, create ZIP files, etc. Rather than a 'make file' it just has a 'build.xml' file to drive it. Its not 100% brilliant for C in its dependency checks so normally I 'clean' then 'rebuild'. Perhaps I should set you up as a 'contributor' on the project page. Then you can edit/rebuild/check-in changes which I can always 'veto' on lib style ;-)...There's the benefit of using 'ant'- as command line order is written once in the 'makefile'. Every time I do a release it also recompiles all my 'test' examples - to make sure they compile. So its like a makefile of makefiles. None of this flakey IDE stuff....go here http://ant.apache.org/bindownload.cgiIn the 'Current Release of Ant' section click on the link for .zip archive: apache-ant-1.7.1-bin.zipDownload the zip file and unpack to c:\ as all the files will go to 'c:\apache-ant-1.7.1Only thing left to do is to add: C:\apache-ant-1.7.1\bin to your PATH - guess you know how to do that.Test by launching a DOS box and typing: ant -versionYou should see the version number. If not then Ant is not on your PATH.If all is well: then in the DOS box - change to the folder for Webbot library.Copy the attached build.xml file to that directoryType: ant -projecthelpYou should see:Main targets:ATMega168 ATMega168 libraryATMega2560 ATMega2560 libraryATMega32 ATMega32 libraryATMega640 ATMega640 libraryATMega8 ATMega8 librarybuild-lib Make all librariesclean clean everythingclean-examples Clean the examplesclean-lib Clean the libraryexamples Examplesmake-example internal use onlymakeone internal use onlyrelease Create releaseDefault target: build-libThis means that just typing:antwill do 'build-lib' as the default - ie 'Make all libraries'.To just rebuld the ATMega640 library type: ant ATMega640etcIf in doubt then clean everything by typing: ant cleanHopefully that all works.PS Decided to use ANT because it is far more friendly than those C make files.PPS You commented about debugging. I use and test against -Os to make the code small. This knackers AVRStudio. So if you want a non-optimeised version of the library then edit 'build.xml' and change -Os to -O0 then do a clean and build.
> Only thing left to do is to add: C:\apache-ant-1.7.1\bin to your PATH -> guess you know how to do that.> Test by launching a DOS box and typing: ant -version> You should see the version number. If not then Ant is not on your PATH.I get this:C:\apache-ant-1.7.1\bin>ant -versionUnable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jarApache Ant version 1.7.1 compiled on June 27 2008> If all is well: then in the DOS box - change to the folder for Webbot> library.> Copy the attached build.xml file to that directory> Type: ant -projecthelpI put the xml file in WebbotLib. But I get this:Z:\code2009\WebbotLib>ant -projecthelp'ant' is not recognized as an internal or external command,operable program or batch file.
Although for other reasons I see it as a good thing, there is a contradiction with your logic here . . .Of course you don't like running mysterious pre-compiled code for security/reliability reasons, but Project Designer itself is mysterious pre-compiled code that connects to a server transferring who-knows-what every time you run it
Trust that all the hardware and software drivers installed on your computer are 'made in America'. And that you also only ever run programs at work that are shipped as source code and compiled-by-you.
"Can I just change WebbotLib to only use .h files" ? - No.For the same reason that even AVRlib uses C files rather than doing everything via H files.
To coworkers of madsci: at some point you just got to trust other people and their code.
You seem to have taken offense to this. That was not my intention.
I don't understand, what the reason I can't just compile directly with WinAVR? It uses avr-gcc and i could set the same optimization options in my makefile, no?
I would have thought you would have been more likely to help. Since if i did get it too work and used webbotlib, you could turn around and say your library was used on million dollar DoD robots. How cool would that be?
Instead, I've had to resort to Arduino for the time being. Oddly and thankfully enough, the Arduino IDE is approved for use.
The rules for the DoD is we can only use proprietary software that has had it's source code 'inspected' by the government. Or, open source code where the code is accessible. And yes, there is a division is some secret mountain where all they do is inspect source from propriety vendors, compile it for themselves and run hashes to confirm it matches the machine code the vendor distributes. Then it enters a database of 'approved' software DoD wide; and i get to use it on my computer at work. Even the millions of lines of linux source has to be analyzed for each distro before we can use it. Our Pcs are scanned every night for un-approved software.
How bizarre! They authorise an IDE which is just a glorified text editor or developer environment. Presumably they then let you integrate code from anywhere in the world !! If the DoD is as 'strict' as you suggest then someone should be fired over the Arduino IDE thing.
just give the WebbotLib zip file to your guys in some secret mountain. everything they need is in the .zip.i'm sure they have *lots* of experience building from source code.
I think I'm just going to have to write this off as I don't have the required understanding to get this. I still don't see how gcc through ant would be different then gcc through WinAVR.
Ant just lets you create a much simpler 'make file' using a different syntax. The one I ship with the library allows you to build the library for 12 different processors. Doing this in a traditional makefile would be a nightmare.
That said, it may be worth it to Webbot and Madsci to get WebbotLib approved for DoD use.
Quote from: Admin on September 04, 2010, 01:57:39 PM That said, it may be worth it to Webbot and Madsci to get WebbotLib approved for DoD use. Like I said earlier, that would cost out program big $$ to do. Also, i'm envious you get USB drives, and avoid all these headaches.