Tuesday 11 September 2012

Monday 10 September 2012

The plane, the plane. Master the plane

Recently I upgraded my mill to use a new 1W 808nm laser diode from that
which was removed from a DVD laser burner and I must say its great to
now be marking out my wooden templates for my scale glider at 200mm/min.
The old one just didn't cut it (no pun intended) as it could just barely
make it to 40mm/min.

Marking out now looks like

The problem here is that there were small gaps in the CAD DXF file and
so the laser stopped and burnt holes :(

Once that was sorted I continued and now have the central wing done, all
800mm, and have the remaining 3.2m to go.





I have also done the body frame and feel that I can now do wicker work
as well

Saturday 1 September 2012

Revival of a Raspberry PI

One of my work mates had a ROI that had no working USB or network. He sold.it to me for a small sum.
So when I got home I started to investigate and forms plenty of info on the net about bad joints on the 25Mhz crystal that drives the net/USB chip.

A quick touching with a soldering iron fixed the issue.

I so found that the old "A" series jumper is on the board so that you can just place a pair of solder.shorts and get back to having a single USB port to work with

Sunday 12 August 2012

Building a Plane for OpenRelief

Lately there has been a bit of a buzz about a new UAV project called OpenRelief. The goal of the project it to be able to deploy a drone to a devastated area and perform recon work allowing resources to be targeted to where they are needed.

As i live in Australia and most of our emergencies cover vast distances I have decided to build a glider for the body and thus give the maximum air time for the recon work.

This has lead to me re-building my home made milling machine that was unable to handle the lateral forces of a rotating cutting head to now be a laser cutter/pattern maker. I have hacked a 2003 DVD burner into a laser assembly that I had from an old Varityper VT600 photo type setter. I find that this allows me to burn the balsa frames at ~60mm/min which makes for easier cutting.

Sunday 13 May 2012

Buildbot and mutliple SVN projects

So as you all know by now I have been using buildbot to compile and upload code to my arduino.

This took so work as my SVN repo is laed out as follows;
SVN / Project 1 / branches
                / tags
                / trunk
    / Project 2 / branches
                / tags
                / trunk
 
So how do you make buildbot "see" the change in a project and compile just that project? You use a file splitter.

In the master.cfg you place a file splitter like the following one
########## Custom file spliter

def my_file_splitter(path):
    print "path " +  path
    pieces = path.split('/')
    if pieces[0] == 'trunk':
        branch = None
        pieces.pop(0) # remove 'trunk'
    elif pieces[0] == 'branches':
        pieces.pop(0) # remove 'branches'
        # grab branch name
        branch =  None
        projectname = None
        return
    elif pieces[0] == 'RETIRED':
        branch = None
        projectname = None
        return
    else:
        branch = pieces.pop(0)
    projectname = pieces.pop(0)
    print branch
    print projectname
    return (branch, '/'.join(pieces))
This splits the path to find where the change is and ignores any change but trunk.

This splitter is called by the Poller on the repo like like the following

SVNPoller(
         "svn://localhost/data/svn/arduino/"
         , cachepath="/tmp/arduino"
         , pollinterval=30
         , split_file=my_file_splitter
         )
Once this is all time it time to setup the build factory to use the properties of the splitter.
arduino = BuildFactory()
arduino.addStep(ShellCommand(command=["pwd"],workdir= WithProperties("build/%s", 'branch'), usePTY=True))
arduino.addStep(ShellCommand(command=["rm","-fr",WithProperties("%s*", 'branch')],workdir="build/",usePTY=True))
arduino.addStep(ShellCommand(command=["svn", "co",  WithProperties("svn://localhost/data/svn/arduino/%s" ,'branch') , Property('branch')],workdir="build/",usePTY=True))
arduino.addStep(ShellCommand(command=["pwd"],workdir= WithProperties("build/%s", 'branch'), usePTY=True))
arduino.addStep(ShellCommand(command=["ls", "-l"],workdir= WithProperties("build/%s", 'branch'),usePTY=True))
arduino.addStep(ShellCommand(command=["trunk/build.sh"],workdir= WithProperties("build/%s", 'branch'), usePTY=True))

Saturday 28 April 2012

Globelock SVN is now working correctly

So I plan on using my Galaxy Tab to do the code development on for the Arduino code.
I located a a nice little utility called Anjedi.It allows for checkout, editing and commit back.

I found that it did not support the way I had setup Apache + SVN on the server.
Found a few changes and now it works.

If you want to place projects on the server and have write access I can set it up under this configuration :)

Sunday 22 April 2012

More Arduino X10 work

So I have now made an subversion repository available for the X10 work I have been doing as I am looking forward to returning to development and extending the libraries that it uses. Access is via the following url (hosted on EC2 servers) and all feedback is welcomed.

https://globelock.dyndns.info/svn/arduino/

Any changes can be posted back as a comment to the blog and I will incorporate them for you :)

Sunday 4 March 2012

Scenery Generation time

Ok so its been a while since my last post but I have finally reached a
place at work where I can start to commit a bit more time back into a
few projects.

My plan is to start to look at the whole scenery generation again with
Flightgear. I wish to start using more and more shapefile data to build
scenery with.

One of the first things will be to pull the contour layers out of the
shape file and use than as they are more "organic" than what can be
achieved with SRTM data.

SRTM is ok for any North American location but down here in Oz its just
not of high enough quality. I also find that it lacks due to its grided
nature.