Quantcast

I2C problem when using IMU.py on RoboVero

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

I2C problem when using IMU.py on RoboVero

thomasccp
This post was updated on .
Hello all,

I am using a RoboVero board mounted on Overo. I tried to talk to the boards using the example Python scripts.

When I run IMU.py, the command line just hang there and I cannot even kill the program. On the RoboVero board, the LED heartbeat stop flashing once I run the script. To restore control, I need to restart the RoboVero board and the connection.

After a closer look into IMU.py, I found that problem is caused by this function:
I2C_MasterTransferData()

which is called when the program wants to write/read register values (writeReg/readReg). Since accessing the sensors (accelerometer, compass, gyro) needs to go through this procedure, the program halts.

I tried connecting through USB and SSH. For adc.py, callback.py and DSP.py, they work as expected (turning the LED on/off by pushing button, reading adc values, etc). I believe I have configured the boards correctly, but there should be some issues within the I2C routine.

Can anyone shed a light on the problem? Does anyone experience similar problem? How can I look into the I2C problem?
Any help would be appreciated.

Many thanks,
Thomas
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: I2C problem when using IMU.py on RoboVero

Neil MacMunn
Hi Thomas,

What revision is your RoboVero board? There may be a change to the RoboVero library for newer revisions that hasn't made it upstream yet.

-
Neil


On Thu, May 16, 2013 at 4:57 AM, thomasccp <[hidden email]> wrote:
This post was updated on May 16, 2013; 10:26am.
Hello all,

I am using a RoboVero board mounted on Overo. I tried to talk to the boards
using the example Python scripts.

When I run IMU.py, the command line just hang there and I cannot even kill
the program. On the RoboVero board, the LED heartbeat stop flashing once I
run the script. To restore control, I need to restart the RoboVero board and
the connection.

After a closer look into IMU.py, I found that problem is caused by this
function:
I2C_MasterTransferData()

which is called when the program wants to write/read register values
(writeReg/readReg). Since accessing the sensors (accelerometer, compass,
gyro) needs to go through this procedure, the program halts.

I tried connecting through USB and SSH. For adc.py, callback.py and DSP.py,
they work as expected (turning the LED on/off by pushing button, reading adc
values, etc). I believe I have configured the boards correctly, but there
should be some issues within the I2C routine.

Can anyone shed a light on the problem? Does anyone experience similar
problem? How can I look into the I2C problem?
Any help would be appreciated.

Many thanks,
Thomas



--
View this message in context: http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274.html
Sent from the Gumstix mailing list archive at Nabble.com.

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users


------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: I2C problem when using IMU.py on RoboVero

thomasccp
Hi Neil,

The RoboVero board is R3902. I got the Python scripts from GitHub.
Should I try to update the firmware?

Thanks,
Thomas

On 16 May 2013 17:17, Neil MacMunn [via Gumstix]
<[hidden email]> wrote:

> Hi Thomas,
>
> What revision is your RoboVero board? There may be a change to the RoboVero
> library for newer revisions that hasn't made it upstream yet.
>
> -
> Neil
>
>
> On Thu, May 16, 2013 at 4:57 AM, thomasccp <[hidden email]> wrote:
>>
>> This post was updated on May 16, 2013; 10:26am.
>> Hello all,
>>
>> I am using a RoboVero board mounted on Overo. I tried to talk to the
>> boards
>> using the example Python scripts.
>>
>> When I run IMU.py, the command line just hang there and I cannot even kill
>> the program. On the RoboVero board, the LED heartbeat stop flashing once I
>> run the script. To restore control, I need to restart the RoboVero board
>> and
>> the connection.
>>
>> After a closer look into IMU.py, I found that problem is caused by this
>> function:
>> I2C_MasterTransferData()
>>
>> which is called when the program wants to write/read register values
>> (writeReg/readReg). Since accessing the sensors (accelerometer, compass,
>> gyro) needs to go through this procedure, the program halts.
>>
>> I tried connecting through USB and SSH. For adc.py, callback.py and
>> DSP.py,
>> they work as expected (turning the LED on/off by pushing button, reading
>> adc
>> values, etc). I believe I have configured the boards correctly, but there
>> should be some issues within the I2C routine.
>>
>> Can anyone shed a light on the problem? Does anyone experience similar
>> problem? How can I look into the I2C problem?
>> Any help would be appreciated.
>>
>> Many thanks,
>> Thomas
>>
>>
>>
>> --
>> View this message in context:
>> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274.html
>> Sent from the Gumstix mailing list archive at Nabble.com.
>>
>>
>> ------------------------------------------------------------------------------
>> AlienVault Unified Security Management (USM) platform delivers complete
>> security visibility with the essential security capabilities. Easily and
>> efficiently configure, manage, and operate all of your security controls
>> from a single console and one unified framework. Download a free trial.
>> http://p.sf.net/sfu/alienvault_d2d
>> _______________________________________________
>> gumstix-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
>
>
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> gumstix-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274p4967275.html
> To unsubscribe from I2C problem when using IMU.py on RoboVero, click here.
> NAML
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: I2C problem when using IMU.py on RoboVero

Neil MacMunn
Hi Thomas,

The problem is that in the latest revision of RoboVero there is a change to the IMU circuit. It's power is now under control of a LPC1769 GPIO. You can see the latest schematic here:


Someone put together a patch but seems to have forgotten to push it up and is on vacation this week. I haven't tried, but you should be able to get it working but pulling P1.0 low at the start of your program.

Sorry about the error. We'll try to get upstream updated ASAP.

-
Neil




On Thu, May 16, 2013 at 10:44 AM, thomasccp <[hidden email]> wrote:
Hi Neil,

The RoboVero board is R3902. I got the Python scripts from GitHub.
Should I try to update the firmware?

Thanks,
Thomas

On 16 May 2013 17:17, Neil MacMunn [via Gumstix]
<[hidden email]> wrote:

> Hi Thomas,
>
> What revision is your RoboVero board? There may be a change to the RoboVero
> library for newer revisions that hasn't made it upstream yet.
>
> -
> Neil
>
>
> On Thu, May 16, 2013 at 4:57 AM, thomasccp <[hidden email]> wrote:

>>
>> This post was updated on May 16, 2013; 10:26am.
>> Hello all,
>>
>> I am using a RoboVero board mounted on Overo. I tried to talk to the
>> boards
>> using the example Python scripts.
>>
>> When I run IMU.py, the command line just hang there and I cannot even kill
>> the program. On the RoboVero board, the LED heartbeat stop flashing once I
>> run the script. To restore control, I need to restart the RoboVero board
>> and
>> the connection.
>>
>> After a closer look into IMU.py, I found that problem is caused by this
>> function:
>> I2C_MasterTransferData()
>>
>> which is called when the program wants to write/read register values
>> (writeReg/readReg). Since accessing the sensors (accelerometer, compass,
>> gyro) needs to go through this procedure, the program halts.
>>
>> I tried connecting through USB and SSH. For adc.py, callback.py and
>> DSP.py,
>> they work as expected (turning the LED on/off by pushing button, reading
>> adc
>> values, etc). I believe I have configured the boards correctly, but there
>> should be some issues within the I2C routine.
>>
>> Can anyone shed a light on the problem? Does anyone experience similar
>> problem? How can I look into the I2C problem?
>> Any help would be appreciated.
>>
>> Many thanks,
>> Thomas
>>
>>
>>
>> --
>> View this message in context:
>> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274.html
>> Sent from the Gumstix mailing list archive at Nabble.com.

>>
>>
>> ------------------------------------------------------------------------------
>> AlienVault Unified Security Management (USM) platform delivers complete
>> security visibility with the essential security capabilities. Easily and
>> efficiently configure, manage, and operate all of your security controls
>> from a single console and one unified framework. Download a free trial.
>> http://p.sf.net/sfu/alienvault_d2d
>> _______________________________________________
>> gumstix-users mailing list
>> [hidden email]

>> https://lists.sourceforge.net/lists/listinfo/gumstix-users

>
>
>
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> gumstix-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274p4967275.html
> To unsubscribe from I2C problem when using IMU.py on RoboVero, click here.
> NAML


View this message in context: Re: I2C problem when using IMU.py on RoboVero

Sent from the Gumstix mailing list archive at Nabble.com.

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users



------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: I2C problem when using IMU.py on RoboVero

Neil MacMunn
In IMU.py add this import at the top:

  from robovero.lpc17xx_gpio import GPIO_SetDir, GPIO_ClearValue

Then, after roboveroConfig()

  GPIO_SetDir(1, 1, 1)
  GPIO_ClearValue(1, 1)


Worked for me.

-
Neil


On Thu, May 16, 2013 at 4:42 PM, Neil MacMunn <[hidden email]> wrote:
Hi Thomas,

The problem is that in the latest revision of RoboVero there is a change to the IMU circuit. It's power is now under control of a LPC1769 GPIO. You can see the latest schematic here:


Someone put together a patch but seems to have forgotten to push it up and is on vacation this week. I haven't tried, but you should be able to get it working but pulling P1.0 low at the start of your program.

Sorry about the error. We'll try to get upstream updated ASAP.

-
Neil




On Thu, May 16, 2013 at 10:44 AM, thomasccp <[hidden email]> wrote:
Hi Neil,

The RoboVero board is R3902. I got the Python scripts from GitHub.
Should I try to update the firmware?

Thanks,
Thomas

On 16 May 2013 17:17, Neil MacMunn [via Gumstix]
<[hidden email]> wrote:

> Hi Thomas,
>
> What revision is your RoboVero board? There may be a change to the RoboVero
> library for newer revisions that hasn't made it upstream yet.
>
> -
> Neil
>
>
> On Thu, May 16, 2013 at 4:57 AM, thomasccp <[hidden email]> wrote:

>>
>> This post was updated on May 16, 2013; 10:26am.
>> Hello all,
>>
>> I am using a RoboVero board mounted on Overo. I tried to talk to the
>> boards
>> using the example Python scripts.
>>
>> When I run IMU.py, the command line just hang there and I cannot even kill
>> the program. On the RoboVero board, the LED heartbeat stop flashing once I
>> run the script. To restore control, I need to restart the RoboVero board
>> and
>> the connection.
>>
>> After a closer look into IMU.py, I found that problem is caused by this
>> function:
>> I2C_MasterTransferData()
>>
>> which is called when the program wants to write/read register values
>> (writeReg/readReg). Since accessing the sensors (accelerometer, compass,
>> gyro) needs to go through this procedure, the program halts.
>>
>> I tried connecting through USB and SSH. For adc.py, callback.py and
>> DSP.py,
>> they work as expected (turning the LED on/off by pushing button, reading
>> adc
>> values, etc). I believe I have configured the boards correctly, but there
>> should be some issues within the I2C routine.
>>
>> Can anyone shed a light on the problem? Does anyone experience similar
>> problem? How can I look into the I2C problem?
>> Any help would be appreciated.
>>
>> Many thanks,
>> Thomas
>>
>>
>>
>> --
>> View this message in context:
>> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274.html
>> Sent from the Gumstix mailing list archive at Nabble.com.

>>
>>
>> ------------------------------------------------------------------------------
>> AlienVault Unified Security Management (USM) platform delivers complete
>> security visibility with the essential security capabilities. Easily and
>> efficiently configure, manage, and operate all of your security controls
>> from a single console and one unified framework. Download a free trial.
>> http://p.sf.net/sfu/alienvault_d2d
>> _______________________________________________
>> gumstix-users mailing list
>> [hidden email]

>> https://lists.sourceforge.net/lists/listinfo/gumstix-users

>
>
>
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> gumstix-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://gumstix.8.x6.nabble.com/I2C-problem-when-using-IMU-py-on-RoboVero-tp4967274p4967275.html
> To unsubscribe from I2C problem when using IMU.py on RoboVero, click here.
> NAML


View this message in context: Re: I2C problem when using IMU.py on RoboVero

Sent from the Gumstix mailing list archive at Nabble.com.

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users




------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
gumstix-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gumstix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: I2C problem when using IMU.py on RoboVero

thomasccp
Thanks Neil. It works now!

Thomas
Loading...