From: Allan M. <all...@gm...> - 2006-07-14 22:56:08
|
Hello, I'm trying to use the function I2C_IO_WriteReg16 to write a value to one of the PWM ports to control a servo. I'm trying to follow the method in i2c-io.c, which as far as I can tell is to open the i2c device, write a value, and then close the device. This is, of course, done after configuring the timer and necessary pins. When i use i2c-io this works just fine, but when I try to use WriteReg in my code the servo does nothing. Any suggestions? Thanks. -Allan -- Allan Matthew Graduate Student, Aeronautics and Astronautics Distributed Space Systems Laboratory University of Washington |
From: Ben F. <be...@fi...> - 2006-07-14 23:06:15
|
Take a look at i2c-io-api.c, it's a library for i2c-io! Ben Allan Matthew wrote: > Hello, > > I'm trying to use the function I2C_IO_WriteReg16 to write a value to one > of the PWM ports to control a servo. I'm trying to follow the method in > i2c-io.c, which as far as I can tell is to open the i2c device, write a > value, and then close the device. This is, of course, done after > configuring the timer and necessary pins. When i use i2c-io this works > just fine, but when I try to use WriteReg in my code the servo does > nothing. Any suggestions? Thanks. > > -Allan > > -- > Allan Matthew > Graduate Student, Aeronautics and Astronautics > Distributed Space Systems Laboratory > University of Washington > > > ------------------------------------------------------------------------ > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > ------------------------------------------------------------------------ > > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users -- Ben Firshman be...@fi... http://www.phatmonkey.org.uk/ |
From: Dave H. <dhy...@gm...> - 2006-07-14 23:11:59
|
Hi Allan, > I'm trying to use the function I2C_IO_WriteReg16 to write a value to one of > the PWM ports to control a servo. I'm trying to follow the method in > i2c-io.c, which as far as I can tell is to open the i2c device, write a > value, and then close the device. This is, of course, done after > configuring the timer and necessary pins. When i use i2c-io this works just > fine, but when I try to use WriteReg in my code the servo does nothing. Any > suggestions? Thanks. You're probably missing the call to I2cSetSlaveAddress() The complete sequence of calls is: if (( i2cDev = open( "/dev/i2c-0", O_RDWR )) < 0 ) { ... error occurred ... } I2cSetSlaveAddress( i2cDev, 0x0B, I2C_USE_CRC ); if ( !I2C_IO_WriteReg16( i2cDev, regMap.reg, regVal16 )) { ... error occurred ... } -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: Cliff L. B. <cl...@bi...> - 2006-07-15 17:21:13
|
On Jul 14, 2006, at 3:56 PM, Allan Matthew wrote: > I'm trying to use the function I2C_IO_WriteReg16 to write a value > to one of the PWM ports to control a servo. I'm trying to follow > the method in i2c-io.c, which as far as I can tell is to open the > i2c device, write a value, and then close the device. This is, of > course, done after configuring the timer and necessary pins. When > i use i2c-io this works just fine, but when I try to use WriteReg > in my code the servo does nothing. Any suggestions? Thanks. If you're wanting higher-level servo and ADC controls, I actually have a forked version of i2c-io I could send you. It can keep track of servo center points and ranges, and set offsets within the ranges, etc. I've got high-level control code in Java for handling the I2C communications, too, if that might come in handy. It's pretty specific to my project right now, but I can clean it up. -Cliff L. Biffle |