From: Demetris Z. <fgc...@cy...> - 2007-04-05 14:53:06
|
When will the website be online again? |
From: Don A. <do...@gu...> - 2007-04-05 15:05:20
|
try again now, sorry for the delay. Don At 5:52 PM +0300 4/5/07, Demetris Zavorotnichenko wrote: >When will the website be online again? > > > >------------------------------------------------------------------------- >Take Surveys. Earn Cash. Influence the Future of IT >Join SourceForge.net's Techsay panel and you'll get the chance to share your >opinions on IT & business topics through brief surveys-and earn cash >http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >_______________________________________________ >gumstix-users mailing list >gum...@li... >https://lists.sourceforge.net/lists/listinfo/gumstix-users ==================================================================== Don Anderson http://www.gumstix.com ==================================================================== -- |
From: <ad...@so...> - 2007-04-05 15:37:41
|
To All, I have coded about three quarters of my robotic software and think i may have hit a snag and wanted your advice. I will give a brief overview of our project and how I have so far coded it. Our project is the building of a lighter than air unmanned air vehicle used in the surveillance of buildings (indoor). We are using a gumstix connex 400xm with wifistix and roboaudiostix. We have connected another board to the roboaudiostix that has an Atmel AT90 on it, plus some motor controllers, battery management system etc. The UAV has 4 motors (runs off 4 PWM on Roboaudiostix), 5 servos (1 for controlling motor tilt, 2 for pan tilt of camera, 1 for Ultrasonic radar, 1 for our mass control system). 2 of these servos are run off the 2 remaining pwm lines on the roboaudiostix and the remaining 3 are run off the PWM lines of the AT90. The camera system transmits video and audio via radio (not wifi - issue with net going down but want 100% video coverage) but the UAV is controlled via the internet/lan. The roboaudiostix has a speaker attached which the user can speak into the host computer and it is played out of the roboaudiostix. (BTW thanks everyone for your help so far! It has been coming on leaps and bounds because of all your expertise :D ) At the moment, I was coding the motor control and servo control with AVR studio which all works perfectly. I set arguments over the net/LAN from the host computer, which is transferred into a hex file and transferred into the robostix eeprom. My program on the robostix takes the arguments and then sets the motors and servos etc. This all works perfectly. However I have just realised that this only works as I upload to the robostix eeprom via uisp. I have not set up the AT90 as I just tested my servo code for each individual servo task on the robostix, and realised that when I have 2 on the robostix and 3 on the AT90 I can no longer send arguments to the eeprom to be read by both. Also someone suggested that I mount a folder from the host computer and use player to stream the audio from the folder to the robostix speaker(I have read up about this and this seems the easiest way to do it). Both problems I can not do under my current set up. Can anyone suggest a way for me to control both microcontrollers (Robostix and AT90) to take arguments from a single location? I am sorry for the long email and can explain things in much greater depth if need be. Any help would be greatly appreciated, Alex |
From: Dave H. <dhy...@gm...> - 2007-04-05 16:08:49
|
Hi Alex, > Can anyone > suggest a way for me to control both microcontrollers (Robostix and AT90) > to take arguments from a single location? If I'm reading things correctly, you're reprogramming the EEPROM every time you want to move the servo? This doesn't seem like a good way of doing things. I would have thought you'd send commands over serial, or i2c, or spi or some such,and you'd just send commands to the robostix and also send commands to the AT90. If you didn't need acknowledgements you could connect both the robotix and AT90 to a single serial line coming from the gumstix - you.d connect just the Tx from the gumstix to the Rx of the robostix and the Rx of the AT90. Then any commands you sent out would go to both. -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: <ad...@so...> - 2007-04-05 21:11:51
|
Hey Dave, I do not require acknoledgements from the commands and need to send the commands over lan. I think I am confused about how to send commands to robostix. I thought the only way to do it was to store arguments on the eeprom. What other ways can I send commands (via lan)? If you have time can you show an example of how to do it please or send a link to a page that explains it. Thanks again Dave for all your help, Alex Quoting Dave Hylands <dhy...@gm...>: > Hi Alex, > > > Can anyone > > suggest a way for me to control both microcontrollers (Robostix and > AT90) > > to take arguments from a single location? > > If I'm reading things correctly, you're reprogramming the EEPROM every > time you want to move the servo? This doesn't seem like a good way of > doing things. > > I would have thought you'd send commands over serial, or i2c, or spi > or some such,and you'd just send commands to the robostix and also > send commands to the AT90. > > If you didn't need acknowledgements you could connect both the robotix > and AT90 to a single serial line coming from the gumstix - you.d > connect just the Tx from the gumstix to the Rx of the robostix and the > Rx of the AT90. Then any commands you sent out would go to both. > > -- > Dave Hylands > Vancouver, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > |
From: Dave H. <dhy...@gm...> - 2007-04-05 22:20:32
|
Hi Alex, > I do not require acknoledgements from the commands and need to send the > commands over lan. I think I am confused about how to send commands to > robostix. I thought the only way to do it was to store arguments on the > eeprom. What other ways can I send commands (via lan)? If you have time can > you show an example of how to do it please or send a link to a page that > explains it. You can send stuff to the robostix via i2c, serial, or spi. For using i2c-io, the following pages are useful: http://docswiki.gumstix.com/I2C_on_the_Gumstix http://docswiki.gumstix.com/Robostix_i2c_bootloader http://docswiki.gumstix.com/Robostix_i2c_load http://docswiki.gumstix.com/Robostix_i2c_io For serial, I don't have any direct sample code, but when you plug in the jumpers for programming via uisp, you're connecting STUART on the gumstix to UART-0 on the robostix. So you can write code that processes commands sent on the serial port. -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: <ad...@so...> - 2007-04-06 10:53:27
|
Hey Dave, At present I have a hex file running on the roboaudiostix, which takes argument commands and then decides what to do i.e. move servo arms to position x, run motors etc. If I use the i2c bootloader on the robostix,am I right in thinking that this is the only file I can have running on the robostix, therefore I wouldn't be able to have my written program on there aswell? Or should I be putting a program on the gumstix and manipulating the robostix by its register via the i2c lines? Kind Regards, Alex Quoting Dave Hylands <dhy...@gm...>: > Hi Alex, > > > I do not require acknoledgements from the commands and need to send the > > commands over lan. I think I am confused about how to send commands to > > robostix. I thought the only way to do it was to store arguments on the > > eeprom. What other ways can I send commands (via lan)? If you have time > can > > you show an example of how to do it please or send a link to a page > that > > explains it. > > You can send stuff to the robostix via i2c, serial, or spi. > > For using i2c-io, the following pages are useful: > > http://docswiki.gumstix.com/I2C_on_the_Gumstix > http://docswiki.gumstix.com/Robostix_i2c_bootloader > http://docswiki.gumstix.com/Robostix_i2c_load > http://docswiki.gumstix.com/Robostix_i2c_io > > For serial, I don't have any direct sample code, but when you plug in > the jumpers for programming via uisp, you're connecting STUART on the > gumstix to UART-0 on the robostix. > > So you can write code that processes commands sent on the serial port. > > -- > Dave Hylands > Vancouver, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > |
From: Dave H. <dhy...@gm...> - 2007-04-06 15:31:56
|
Hi Alex, > At present I have a hex file running on the roboaudiostix, which takes > argument commands and then decides what to do i.e. move servo arms to > position x, run motors etc. If I use the i2c bootloader on the robostix,am > I right in thinking that this is the only file I can have running on the > robostix, therefore I wouldn't be able to have my written program on there > aswell? First of all, lets differentiate between the bootloader and i2c-io. The i2c-bootloader can be used to load another program into memory (like Flash-LED, or i2c-io). The intention of writing i2c-io was just to provide an example that people could use to write their own program which use i2c, and provide something useful at the same time. > Or should I be putting a program on the gumstix and manipulating the > robostix by its register via the i2c lines? Manipulating the registers from the gumstix was only ever intended as a get your hands dirty type of exercise, and isn't particularly efficient. -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: <ad...@so...> - 2007-04-07 16:53:09
|
Hey Dave, I have looked through all the i2c code, thanks for the links. Can I just confirm a few things, sorry for being a newbie :S but we all start somewhere haha. Can I send arguments to my program running on robostix from the gumstix via i2c? Like at the moment I write to the EEPROM arguments like "MainMotorLeft=60" and "Pan=10" etc and then my program reads the eeprom systemstically to receive these messages. Can I send these style commands via i2c? As at the moment I can just send bits/bytes, do I instead change my commands to bit strings? And if so, where do I send them to so my program can read them? Sorry again, Alex |
From: Rohit C. <roh...@gm...> - 2007-04-07 17:16:13
|
I'm new to i2c myself, but pretty sure this is possible. Using Dave's i2c program, you can read write bytes to registers & memory locations on the slave device...will let Dave respond in further detail.... :). On 4/7/07, ad...@so... <ad...@so...> wrote: > Hey Dave, > > I have looked through all the i2c code, thanks for the links. Can I just > confirm a few things, sorry for being a newbie :S but we all start > somewhere haha. > > Can I send arguments to my program running on robostix from the gumstix via > i2c? Like at the moment I write to the EEPROM arguments like > "MainMotorLeft=60" and "Pan=10" etc and then my program reads the eeprom > systemstically to receive these messages. Can I send these style commands > via i2c? As at the moment I can just send bits/bytes, do I instead change > my commands to bit strings? And if so, where do I send them to so my > program can read them? > > Sorry again, > > Alex > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2007-04-07 17:23:01
|
Hi Alex, > I have looked through all the i2c code, thanks for the links. Can I just > confirm a few things, sorry for being a newbie :S but we all start > somewhere haha. > > Can I send arguments to my program running on robostix from the gumstix via > i2c? Like at the moment I write to the EEPROM arguments like > "MainMotorLeft=60" and "Pan=10" etc and then my program reads the eeprom > systemstically to receive these messages. Can I send these style commands > via i2c? As at the moment I can just send bits/bytes, do I instead change > my commands to bit strings? And if so, where do I send them to so my > program can read them? You can pretty much send arbitrary information. Currently, the amount of information in each message is limited to 32 bytes, plus a command byte, plus a length byte. I normally create a structure for each new command, and the structure contains all of the relevant fields. The ProcessCommand function (look inside robostix/i2c-io/i2c-io.c) is called for each Packet (or mesage) that is received. Currently there is a switch statement to deal with each command seperately, When ProcessCommand is called, packet->m_data[ 0 ] will contain the command, and packet->m_data[ 1 ] will contain the length (if the command requires it). packet->m_data[ 2 ] starts the payload. You'll see that most of the commands do stuff like this: I2C_IO_Get_ADC_t *req = (I2C_IO_Get_ADC_t *)&packet->m_data[ 2 ]; // +1 for cmd, +1 for len to map their particular structure onto the payload data, Each command that returns a response does so using the same packet structure, so it's important o read all of the data out before filling in the response. For the reponse, packet->m_data[ 0 ] contains the length of the response, and packet->m_data[ 1 ] starts the payload. The return value from processng the commad should be the total number of bytes that need to be written back (so for most of the commands this would be packet->m_data[ 0 ] + 1). For commands that don't return a response, then 0 should be returned. On the gumstix side, I normally create wrappers for each command I add. You can see these in the robostix/gumstix/Common/i2c-io-api.c file. -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |