highaltitude.log.20060820

[00:24] icez (n=icez@ip68-3-56-121.ph.ph.cox.net) joined #highaltitude.
[04:00] Tiger^ (i=tygrys@tangerine.dream.art.pl) got netsplit.
[04:06] Tiger^ (i=tygrys@tangerine.dream.art.pl) returned to #highaltitude.
[07:52] icez (n=icez@ip68-3-56-121.ph.ph.cox.net) left irc: "Lost terminal"
[10:06] jcoxon (n=jcoxon@85-210-21-200.dsl.pipex.com) joined #highaltitude.
[11:09] <jcoxon> hey phatmonkey, I've removed the front battery pack, running both the gumstix and radio modem off the same power pack
[11:10] <jcoxon> and i've put the bonnet on the car now - looks a hell of a lot better!
[11:10] <jcoxon> there is a pic on the site.
[13:23] malgar (n=malgar@adsl-ull-107-255.47-151.net24.it) joined #highaltitude.
[15:39] <phatmonkey> hey jcoxon
[15:40] <jcoxon> hey ben
[15:44] malgar (n=malgar@adsl-ull-107-255.47-151.net24.it) left irc: "*** E' solo l'urto con un iceberg, che vuoi che sia, questa è una nave inaffondabile. *** 75$/barile"
[15:54] <jcoxon> phatmonkey, to tell you the truth I'm not sure how to go about coding this software
[15:54] <phatmonkey> alright
[15:54] <phatmonkey> the code in the repository at the moment will steer a car around a set of waypoints, i just need to add throttle control now
[15:54] <jcoxon> oh right
[15:54] <jcoxon> i'll update then
[15:54] <phatmonkey> well, i haven't even tried compiling it yet
[15:54] <jcoxon> :-)
[15:54] <phatmonkey> i'll hook up the gumstix to my car too
[15:54] <phatmonkey> i'm wondering how good the heading readings are from the gps
[15:54] <jcoxon> gonna require testing
[15:54] <phatmonkey> it will obviously have to drive forwards for a bit to get an initial heading
[15:54] <jcoxon> yup
[15:54] <phatmonkey> then what i might do is store the heading seperately
[15:54] <jcoxon> i've got lots of space :-)
[15:54] <phatmonkey> so once the car stops and the heading goes, it'll still know what orientation it's in
[15:54] <jcoxon> yes thats sensible
[15:54] <phatmonkey> i've figured out a sensible way to control throttle too
[15:54] Weiss (i=taw27@student.cusu.cam.ac.uk) joined #highaltitude.
[15:54] Weiss_ (i=taw27@student.cusu.cam.ac.uk) left irc: Read error: 104 (Connection reset by peer)
[15:54] <phatmonkey> the speed will be changed suddenly rather than gradually
[15:54] <phatmonkey> so there will be a cut off point as the car approaches a waypoint
[15:54] <phatmonkey> where it will cut the throttle and hit the brakes if they are available
[15:54] <jcoxon> thats sounds fine
[15:54] <jcoxon> it'll take a lot more work before we can do any more
[15:54] <phatmonkey> yes
[15:54] <phatmonkey> then if the car doesn't have any brakes, like yours, it can just drift
[15:54] <phatmonkey> but a problem... hmm
[15:54] <phatmonkey> if the car stops before the waypoint
[15:55] <phatmonkey> maybe some sort of minimum speed based on how tight the corner is needed
[15:55] <jcoxon> hmmm
[15:55] <jcoxon> again i think we need to see it in action to decide how it reacts
[15:55] <phatmonkey> so it'll brake at a certain distance from the waypoint, based on it's speed
[15:56] <phatmonkey> down to a certain speed, where it'll then just try to maintain that speed
[15:56] <phatmonkey> yes
[15:56] <phatmonkey> i guess it needs to maintain a speed doesn't it
[15:56] <phatmonkey> i'll do it based on that
[15:57] <phatmonkey> and adjusting speed could have the brake built in
[15:57] <phatmonkey> so all the waypoint controller would have to say is... maintain this speed
[15:58] <phatmonkey> when its coming up to a waypoint, it'll say, ok, i need to go at speed X around the corner, so i need to change the desired speed to X at Y metres away from the waypoint
[15:58] <phatmonkey> hmm
[15:59] <phatmonkey> i suppose we'll have to have estimates as to how quickly it can lose speed
[15:59] <phatmonkey> the nice thing with this method... it's scalable
[15:59] <phatmonkey> so it'll work on yours at low speeds as well as it'll work on mine at fast speeds
[16:00] <phatmonkey> maintaining a speed like this can be merged back into the glider
[16:00] <phatmonkey> i haven't actually written that bit
[16:02] <jcoxon> hmmm i'm reading this chromicro code
[16:02] <jcoxon> it seems that when you press a button on hte controller
[16:03] <jcoxon> it just sends (an adapted) int over bluetooth to the device file
[16:03] <jcoxon> and as long as you send that int the servo maintains that position
[16:19] <jcoxon> steering1.c:51: warning: passing arg 2 of `write' makes pointer from integer without a cast
[16:19] <jcoxon> what does that mean?
[16:21] <phatmonkey> what's the code?
[16:21] <jcoxon> if ( write(fd, msg, nr) < 0 ) fatal("write");
[16:21] <jcoxon> fd is the open device file
[16:21] <jcoxon> msg is that data
[16:22] <jcoxon> and nr is the sizeof(msg)
[16:22] <phatmonkey> dunno
[16:22] <phatmonkey> pointers are crazy things
[16:22] <phatmonkey> where did you set msg?
[16:22] <jcoxon> google seems to helping :-p
[16:22] <jcoxon> i haven't
[16:22] <jcoxon> yet
[16:22] <phatmonkey> freddie will know
[16:22] <jcoxon> this is just an experiment
[16:22] <phatmonkey> uuhhhh
[16:22] <phatmonkey> that might be your problem then :P
[16:22] <phatmonkey> where did you decalre msg?
[16:23] <jcoxon> oooo wait a sec
[16:23] <jcoxon> i think i'm on to it
[16:23] <phatmonkey> you might need to pass it as *msg
[16:23] EvilGuru (n=evilguru@margaret2708.plus.com) joined #highaltitude.
[16:23] <phatmonkey> freddie'll know
[16:23] <phatmonkey> stick the code up in a pastebin
[16:24] <jcoxon> one sec
[16:24] <EvilGuru> ok
[16:24] <jcoxon> just to warn i'm rubbish at programming hehe
[16:25] <jcoxon> i can do most things
[16:25] <jcoxon> just not programming
[16:25] <phatmonkey> where is this write function from?
[16:25] <EvilGuru> I can do programming, just not most things
[16:25] <EvilGuru> you mean, write()?
[16:25] <phatmonkey> yuuuh, i thought it was fwrite()
[16:26] <EvilGuru> fwrite is working on FILE streams
[16:26] <EvilGuru> a high level, portable lib
[16:26] <EvilGuru> you want `man 2 write'
[16:26] <phatmonkey> write() isn't even in my grumpy cow book
[16:26] <EvilGuru> it should not be
[16:26] <phatmonkey> No manual entry for write in section 2
[16:27] <phatmonkey> kekeke
[16:27] <EvilGuru> it is there
[16:27] <EvilGuru> write is not part of the C standard
[16:27] <EvilGuru> it is part of the POSIX and SUS standards
[16:28] <jcoxon> pastebin is being weird
[16:28] <jcoxon> http://www.pegasushabproject.org.uk/nomad/steering.c
[16:28] <jcoxon> basically i'm trying to write 200 to the device file /dev/mpwm0
[16:29] <jcoxon> i've stolen the code though
[16:29] <EvilGuru> 404
[16:29] <jcoxon> steering1.c
[16:29] <jcoxon> oops
[16:31] <jcoxon> steering1.c:52: warning: passing arg 2 of `write' makes pointer from integer without a cast
[16:32] <EvilGuru> an & will fix it
[16:32] <phatmonkey> hehe
[16:32] <EvilGuru> write takes the address of the memory to write; not the memory itself
[16:32] <phatmonkey> i thought is was either * or &
[16:32] <phatmonkey> *it
[16:32] <jcoxon> ooo okay
[16:32] <phatmonkey> so & references... * dereferences?
[16:33] <EvilGuru> freddie.c line 1: Answering dumb questions makes mush from brain cells without an explicit cast
[16:33] <EvilGuru> indeed
[16:33] <phatmonkey> crazy fred
[16:33] <jcoxon> hehe
[16:34] <jcoxon> thanks EvilGuru ( i did warn up ;-p )
[16:34] <phatmonkey> god, all these annoying characters
[16:34] <phatmonkey> it reminds me of perl
[16:34] <jcoxon> warn you*
[16:34] <EvilGuru> next you do not close(fd);
[16:34] <jcoxon> oh i know that
[16:35] <jcoxon> just saw it
[16:36] <EvilGuru> main is defined K&R style
[16:36] <EvilGuru> yet returns an int
[16:37] <EvilGuru> while select should not modify tv it has been known to on certain systems
[16:37] <EvilGuru> (worth watching out for)
[16:38] <jcoxon> okay
[16:39] <EvilGuru> printf ("%s\n",msg); --- msg is of type int yet %s infers a string, %d will fix it
[16:39] <phatmonkey> aargghh
[16:39] <phatmonkey> why oh why do AQA use pascal for computing
[16:39] <phatmonkey> it's mind boggling
[16:40] <EvilGuru> pascal - you mean the devil
[16:41] <phatmonkey> no. i mean pascal.
[16:41] <phatmonkey> D:
[16:41] <EvilGuru> but why do uni's always teach Java?
[16:42] <phatmonkey> because it's a far better language than pascal
[16:42] <phatmonkey> ... whoosh
[16:42] <phatmonkey> well, it's a language that people actually use
[16:42] <EvilGuru> sure that pascal has been replaced by delphi
[16:49] tiluki (n=tim@host-84-9-234-139.bulldogdsl.com) joined #highaltitude.
[16:49] <jcoxon> hi tiluki
[16:50] <tiluki> Hi all!
[16:50] <phatmonkey> hi!
[16:50] <tiluki> Just stumbled on your UK HAS web page.
[16:50] <tiluki> Looks tremendous fun!
[16:50] <jcoxon> :-)
[16:50] <tiluki> Anybody doing the like up Edinburgh way?
[16:51] <jcoxon> not that we know of
[16:51] <jcoxon> no reason not to start :-p
[16:51] <tiluki> Indeed!
[16:52] <tiluki> I've played around with gumsticks once before (doing robotics).
[16:52] <tiluki> How do you find them?
[16:52] <jcoxon> i'm a quite a big fan
[16:52] <jcoxon> for me its mainly the presence of linux
[16:53] <tiluki> Have you ever considered doing it *real* cheap - like using an old Psion 5 mx off eBay?
[16:53] <jcoxon> yup
[16:53] <jcoxon> lack serial ports
[16:53] <phatmonkey> or a slug ;)
[16:53] <tiluki> Ah true...
[16:53] <phatmonkey> http://www.arduino.cc/
[16:53] <phatmonkey> that would be good for a tiny, cheap balloon
[16:53] <jcoxon> in theory you could do it with a phone with built in gps
[16:53] <phatmonkey> i bought one myself
[16:54] <EvilGuru> so when will work on the glider resume
[16:54] <tiluki> Interesting... especially I guess all the new phones with such megapixel cameras...
[16:54] <EvilGuru> as I can not see it its first voyage being until next year
[16:55] <phatmonkey> EvilGuru, now?!
[16:55] <phatmonkey> some of this code for the car is being put back into the trunk
[16:55] <jcoxon> not sure how accessible the features of phones are from the software
[16:55] <phatmonkey> and i've been working over the past few days on the thermopiles
[16:55] <phatmonkey> we will definitely have an uncontrolled launch in november sometime
[16:55] <phatmonkey> i would like to have a test before that, maybe before the holidays end
[16:55] <phatmonkey> doubt it somehow though
[16:56] <phatmonkey> i need radio comms before we do that sort of thing
[16:59] <tiluki> What again is the actual range of a mobile phone anyway?
[16:59] <jcoxon> in what way?
[16:59] <EvilGuru> jcoxon: not sure if it is of interest, but your useage of select appears to be wrong
[16:59] <jcoxon> altitude?
[17:00] <tiluki> I guess so.
[17:00] <jcoxon> EvilGuru, oh i've scrapped that now
[17:00] <jcoxon> tiluki, 2000ft
[17:00] <jcoxon> EvilGuru, thanks though
[17:00] <tiluki> Oh, so I suppose you lose contact for a good while.
[17:00] <jcoxon> oh yes
[17:00] <jcoxon> its actually not a loss of range
[17:01] <jcoxon> more that the phone sees to many phone masts and gets confused
[17:01] jcoxon (n=jcoxon@85-210-21-200.dsl.pipex.com) got netsplit.
[17:01] jcoxon (n=jcoxon@85-210-21-200.dsl.pipex.com) returned to #highaltitude.
[17:01] <jcoxon> oops
[17:02] <tiluki> Heh!
[17:02] <tiluki> And you can't do radio, right?
[17:02] <jcoxon> well you can
[17:02] <tiluki> Excuse all the newbie Q's :-)
[17:02] <jcoxon> 434mhz at 10mW
[17:02] <jcoxon> but we haven't perfected the system yet
[17:03] <tiluki> Ah...
[17:03] <jcoxon> but its on its way :-D
[17:03] <tiluki> Fantastic!
[17:03] <jcoxon> Pegasus III flew with a beacon
[17:03] <jcoxon> and the signal was very good
[17:03] <jcoxon> so its now a matter of getting it to transmit data
[17:04] <tiluki> Hmm... seems like the right way to go. Just how much telemetry (if that is the term) do you need to send?
[17:04] <jcoxon> at the minimum long, lat
[17:04] <tiluki> Video rate?
[17:04] <jcoxon> i reckon the plan is just gps data first
[17:05] <jcoxon> and then if possible go up from there
[17:05] <tiluki> Aye, I guess finding it's location first is the priority:-)
[17:06] <tiluki> Well, I'm certainly fairly inspired by all this.
[17:06] <tiluki> May well have a deeper browse of your projects.
[17:06] <jcoxon> well if you need any help get in touch
[17:07] <tiluki> Thanks! I'll certainly hope to try for something!
[17:07] <tiluki> Cheers now!
[17:08] tiluki (n=tim@host-84-9-234-139.bulldogdsl.com) left #highaltitude.
[17:39] icez (n=icez@ip68-3-56-121.ph.ph.cox.net) joined #highaltitude.
[18:26] malgar (n=malgar@adsl-ull-191-247.47-151.net24.it) joined #highaltitude.
[19:46] Freddie (n=evilguru@margaret2708.plus.com) joined #highaltitude.
[19:51] EvilGuru (n=evilguru@margaret2708.plus.com) left irc: Connection timed out
[20:13] Freddie (n=evilguru@margaret2708.plus.com) left irc: Connection timed out
[20:17] <jcoxon> hey phatmonkey
[20:23] phatmonkey (i=nobody@firshman.co.uk) left irc: Read error: 110 (Connection timed out)
[20:38] phatmonkey (i=nobody@firshman.co.uk) joined #highaltitude.
[20:39] <jcoxon> wb ben
[21:38] phatmonkey (i=nobody@firshman.co.uk) left irc: Read error: 110 (Connection timed out)
[21:41] phatmonkey (i=nobody@firshman.co.uk) joined #highaltitude.
[22:16] <jcoxon> hey all
[22:23] <icez> hey jcoxon
[22:23] <jcoxon> hey icez
[22:23] <icez> how are ya?
[22:23] <jcoxon> good thanks
[22:23] <jcoxon> though am struggling with this PWM code
[22:25] <jcoxon> how about you?
[22:27] <icez> well
[22:27] <icez> starting college tomorrow
[22:27] <icez> *shakes*
[22:28] <jcoxon> sounds exciting :-p
[22:28] <icez> the best part is i have to bicycle 2.8 miles to get there
[22:28] <icez> haha
[22:28] <jcoxon> is the terrain flat?
[22:29] <jcoxon> or hilly?
[22:29] <icez> flat.
[22:29] <icez> across streets
[22:29] <icez> and inside house complexes
[22:29] <icez> and across parkings
[22:30] <icez> at least i only have 1 to 2 classes on location :)
[22:30] <jcoxon> what courses are you taking?
[22:31] <icez> intro to CS, physics 101, precalc and english.
[22:31] <jcoxon> wow
[22:31] <jcoxon> i much prefer our system of only doing one subject :-p
[22:32] <icez> yeah
[22:32] <icez> i have to take what they call
[22:32] <icez> 'liberal studies classes'
[22:32] <icez> :/
[22:32] <jcoxon> so i've got one whole year of Biological Anthropology
[22:32] <icez> ah lucky
[22:32] <jcoxon> hich will be a nice step down
[22:32] Action: icez 's moving to the UK!
[22:32] <icez> :P
[22:32] <jcoxon> from 5 lectures a day to 6 a week
[22:32] <icez> are you a graduate or undergraduate?
[22:32] <icez> or they don't have that
[22:32] <jcoxon> undergrad
[22:32] <jcoxon> nah they do
[22:33] <icez> in biological anthropology?
[22:33] <jcoxon> i'm an undergrad medic doing my intercalated BA
[22:33] <icez> oh cool
[22:33] <jcoxon> its an "old school" system
[22:33] <icez> which year are you in?
[22:33] <jcoxon> go into my 3rd in october
[22:34] <jcoxon> thats when term starts
[22:34] <icez> ah cool
[22:34] <icez> still 4 more years here
[22:34] <icez> :P
[22:34] <jcoxon> oh i've got 4 years as well :-p
[22:35] <icez> and you go to cambridge university right?
[22:35] <jcoxon> yup
[22:35] <icez> mine's only a community college for 2 years for $$$
[22:36] <icez> and then i plan to go to flagstaff at Northern Arizona Uni.
[22:36] <icez> which is also like geology/astronomy paradise too
[22:36] <jcoxon> oo that sounds cool
[22:37] <icez> yeah that's where they discovered pluto and stuff
[22:37] <jcoxon> v. cool
[22:38] <jcoxon> its nice when unis have a bit of history
[22:38] <icez> well the uni didn't discover pluto
[22:39] <icez> the lowell observatory 2 mile away
[22:39] <icez> they also have the Naval Observatory and USGS headquarters there
[22:39] <icez> it's cool
[22:41] rocketboy (n=steve@217.47.75.184) joined #highaltitude.
[22:42] <jcoxon> evening rocketboy
[22:42] <rocketboy> hi
[22:43] <rocketboy> juts trying to work out how to drive my old NOKIA phones via serial (MBUS)
[22:43] <jcoxon> well the gnokii software apparently is well documented
[22:44] <rocketboy> guess its all worked out for you with gnokii
[22:44] <jcoxon> yup
[22:44] <rocketboy> I'm trying to drive it from a PIC
[22:44] Action: jcoxon prefers to take the easy way out
[22:44] <jcoxon> well Tiger^ has done it before
[22:44] <jcoxon> and so has Henry
[22:45] <rocketboy> ah - thats a help - Ill drop him a line
[22:46] <rocketboy> actually I'm wondering if its worth moving up to a gumstix - the PIC is pretty limited (that what makes it fun sumtimes)
[22:47] <jcoxon> hmmm ho
[22:47] <jcoxon> you probably know where i stand
[22:47] <rocketboy> I want to do some floating point calculateions - while possible with the PIC its just about as far as it can go
[22:47] <rocketboy> yeh
[22:47] <jcoxon> http://www.acmesystems.it/
[22:48] <jcoxon> i like theses boards though as well
[22:48] <rocketboy> I have a lot of experiance programming UNIX in the past
[22:48] <jcoxon> right so you'll feel right at home with a linux embedded board
[22:48] <rocketboy> mind you PICs are way cheap
[22:49] <jcoxon> well with every successfull mission gumstixs get cheaper :-p
[22:49] <jcoxon> oh and i got mine for free :-P
[22:49] <rocketboy> oh yes - linux no probs
[22:50] <jcoxon> yay
[22:51] <jcoxon> finally got sent some code to control my servos in C
[22:51] <jcoxon> its now so much clearer
[22:51] <rocketboy> is that PWM control?
[22:51] <jcoxon> yup
[22:51] <jcoxon> actually my code wasn't far off
[22:52] <jcoxon> but i emailed the guy who wrote the driver and he sent me some example code
[22:53] <jcoxon> phatmonkey, are you around?
[22:53] <phatmonkey> ooh, yes, sort of
[22:54] <jcoxon> if you are busy don't worry!
[22:54] <phatmonkey> i might start writing some throttle code
[22:54] <phatmonkey> nope!
[22:54] <jcoxon> right well i understand how to do the pwm code now
[22:56] <rocketboy> so the ACME fox board is about 129 EUR (no tax) vs the Gumxtix at $99 + tax, import etc. ??
[22:56] <jcoxon> yup
[22:56] <phatmonkey> great
[22:56] <rocketboy> what the pros and cons?
[22:56] <jcoxon> and its a fair amount to get a gumstix across
[22:56] <jcoxon> well ACME has usb
[22:56] <jcoxon> but is slower
[22:57] <jcoxon> not sure about the community around them
[22:57] <rocketboy> 100Mips(ACME) vs 200MIPS?(GUMSTIX) right?
[22:58] <phatmonkey> do you think you can put your code into servos.c?
[22:58] <jcoxon> phatmonkey, yeah
[22:58] <jcoxon> but what gets passed to it?
[22:58] <phatmonkey> create your own device variable if it isn't an int
[22:58] <phatmonkey> um
[22:58] <phatmonkey> one sec
[22:59] <jcoxon> rocketboy, gumstixs are either 200 or 400 mhz
[23:00] <jcoxon> rocketboy, the robostix is pretty usefull as well
[23:00] <jcoxon> though the acme does have a lot of functions on the basic board
[23:01] <jcoxon> phatmonkey, basically i need to input between 0 and 255 into hte driver
[23:03] <phatmonkey> it is completely irrelevant what values you need to use
[23:03] <phatmonkey> it's just any integer
[23:03] <phatmonkey> see config.h
[23:03] <jcoxon> but an interger is passed
[23:03] <phatmonkey> #define THROTTLE_NEUTRAL 1500
[23:03] <phatmonkey> #define THROTTLE_REVERSE 1000
[23:03] <phatmonkey> #define THROTTLE_BRAKE 1000
[23:03] <phatmonkey> #define THROTTLE_HIGH 2000
[23:03] <phatmonkey> my values will be between 1000 and 2000
[23:03] <phatmonkey> but you can edit them to be 0 to 255
[23:03] <jcoxon> right okay
[23:03] <jcoxon> cool
[23:03] <phatmonkey> they can just be any integer you want
[23:04] <phatmonkey> the auto, er, driver doesn't mind what values they are
[23:04] <jcoxon> well then this shouldn't be to difficult
[23:33] <rocketboy> night guys
[23:33] rocketboy (n=steve@217.47.75.184) left irc: "Leaving"
[23:51] <jcoxon> phatmonkey, is there an issue if I have a sleep for 1 second in the code?
[23:52] <phatmonkey> what place? init or set position?
[23:52] <jcoxon> set position
[23:52] <phatmonkey> yes, it isn't threaded
[23:52] <phatmonkey> why do you need to?
[23:53] <jcoxon> well now i'm not sure its necessary
[23:53] <jcoxon> basically you pass an int to the driver
[23:54] <jcoxon> and in my little test program
[23:54] <jcoxon> if you don't have a sleep then actually nothing happens
[23:54] malgar (n=malgar@adsl-ull-191-247.47-151.net24.it) left irc: "*** E' solo l'urto con un iceberg, che vuoi che sia, questa è una nave inaffondabile. *** 75$/barile"
[23:55] <jcoxon> the servos need time to move before the program closes
[23:55] <phatmonkey> well that's... odd
[23:55] <phatmonkey> a sleep where?
[23:55] <jcoxon> if ( write(fd, chans, nchans) != nchans ) return 1;
[23:55] <jcoxon> sleep(1);
[23:55] <jcoxon> return 0;
[23:55] <phatmonkey> it's probably because it's closing the device isn't it
[23:55] <jcoxon> yeah
[23:55] <phatmonkey> the driver might stop the PWM signal once the device is closed
[23:55] <jcoxon> thats was the conclusion i was coming to
[23:55] <phatmonkey> well
[23:55] <phatmonkey> might as well try it and see
[23:56] <phatmonkey> if not, we might be able to fork or thread it somehow
[23:56] <jcoxon> well i can test it
[23:56] <jcoxon> i'll get my test program not to sleep
[23:56] <phatmonkey> don't see why that would be an issue if you left the device open though
[23:56] <jcoxon> but do soemthing else
[23:58] <jcoxon> yeah its fine
[00:00] --- Mon Aug 21 2006