Hi,
I would like to post a question regarding registers locations in e-puck.
If i want to obtain current/voltage readings, what registers should i connect
to be able to read the values? because i would like to connect a I2C device to
my e-puck device to measure current/voltage level in the e-puck during motion.
Lastly, I would like to know assuming i already know what registers to connect
to, how do i locate the register locations in order to connect the probes of
i2c devices to the robot? do i have to open up the robot?
PS: this is the continuation of the question i posted earlier on, which was
posted to the wrong person.
Regards,
Hao Ran
________________________________
From: #LIEW HAO RAN#
Sent: Wednesday, November 06, 2013 5:37 PM
To: Fabien Rohrer
Subject: RE: [E-puck-user] Connecting I2C devices to e-puck
Hi,
>From what you say, i believe i just have to add in relevant libraries like
>"#include <I2C/e_I2C_protocol.h>" and relevant statements like
//
#ifdef FLOOR_SENSORS
e_i2cp_enable();
for (j=0; j<3; ++j) {
buffer[i++] = e_i2cp_read(0xC0,2*j+1);
buffer[i++] = e_i2cp_read(0xC0,2*j);
}
e_i2cp_disable();
#else
for(j = 0; j < 6; j++) buffer[i++] = 0;
#endif
//
into my current program to read the value , did i get your meaning correctlly?
Also, how do we know what registers to read? for example in this example, we
read 0xc0 to obtain ground sensor value, but what if i want to obtain
current/voltage readings, what registers should i connect to?
Lastly, to connect I2C devices, i believe we have to connect the probes of the
I2C devices to the mobile robot, given that i know what registers to connect
to, how do i know where the register is?
do i have to open up the robot?
Sorry for my novice questions.
Regards,
Hao Ran
________________________________
From: [email protected] <[email protected]> on behalf of Fabien
Rohrer <[email protected]>
Sent: Wednesday, November 06, 2013 4:06 PM
To: [email protected]
Cc: #LIEW HAO RAN#
Subject: Re: [E-puck-user] Connecting I2C devices to e-puck
Hi Hao Ran,
Some extensions implemented in Webots such as the ground
sensors<http://www.e-puck.org/index.php?option=com_content&view=article&id=17&Itemid=18>
are accessible by reading I2C.
If you take a look at the Webots firmware
(WEBOTS/transfer/e-puck/firmware/firmware.c), the ground sensor values are read
like this:
e_i2cp_enable();
for (j=0; j<3; ++j) {
buffer[i++] = e_i2cp_read(0xC0,2*j+1);
buffer[i++] = e_i2cp_read(0xC0,2*j);
}
e_i2cp_disable();
This file can be extended/recompiled to implement new features/device support.
If you're interested in extending the cross-compilation mode rather the
remote-control mode, please look at this file
WEBOTS/transfer/e-puck/libepuck/libepuck.c.
I hope this helps,
Sincerely,
--
Fabien Rohrer
Responsible in software development
Cyberbotics S?rl<http://www.cyberbotics.com/>
PSE C - EPFL
1015 Lausanne
Switzerland
--
2013/11/5 #LIEW HAO RAN# <[email protected]<mailto:[email protected]>>
Hi,
I would like to ask if it is possible to connect I2C devices to e-puck and read
that device through my program? Btw, I'm using webots edu.
Hao Ran
Sent using OWA for iPhone
_______________________________________________
E-puck-user mailing list
[email protected]<mailto:[email protected]>
https://mail.gna.org/listinfo/e-puck-user
_______________________________________________
E-puck-user mailing list
[email protected]
https://mail.gna.org/listinfo/e-puck-user