Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   ADXL345_I2C Help (http://www.chiefdelphi.com/forums/showthread.php?t=89065)

ekapalka 23-01-2013 20:08

Re: ADXL345_I2C Help
 
bump. We're having the same issue. Here's ou code:
Code:

#include <WPILib.h>
class DefaultRobot : public SimpleRobot
{       
        ADXL345_I2C *acc;                     
public:
        DefaultRobot(void)
        {       
                acc = new ADXL345_I2C (4, ADXL345_I2C::kRange_2G);
        }
        void Autonomous(void)
        {
                        while(IsAutonomous())
                        {
                        }                               
        }
        void OperatorControl(void)
        {
                DriverStationLCD *dsLCD = DriverStationLCD::GetInstance();
                while (IsOperatorControl())
                {       
                        while (true)
                        {
                                float x = acc->GetAcceleration(ADXL345_I2C::kAxis_X);
                                float y = acc->GetAcceleration(ADXL345_I2C::kAxis_Y);
                                float z = acc->GetAcceleration(ADXL345_I2C::kAxis_Z);
                                dsLCD->PrintfLine((DriverStationLCD::Line) 1, "x=%f  y=%f  z=%f", x, y, z);
                                dsLCD->UpdateLCD();
                                Wait(1.0);
                        }
                }
        }
};

START_ROBOT_CLASS(DefaultRobot);

We're not experts. This is our first year programming in C++, and were a little short on time, so there wasn't much time for testing.... If anyone happens to know how to fix it (without any extra effort), we'd love to hear about it. Thanks!

tandeson 10-02-2013 23:58

Re: ADXL345_I2C Help
 
We've been using the ADX345_SPI class, and we tried to use ADXL345_I2C without any luck.

however, I was reading though the part datasheet tonight, and I think the issue is that you have to hold the Chip Select line high to select I2C mode.

See page 18 of the part datasheet:
http://www.analog.com/static/importe...ts/ADXL345.pdf

We'll probably stick to the SPI mode because we've got it working. Though we're considering modifying the class slightly from what WPI provides. (We'd like to add a calibration function, as described in the User's Guide).

If you get it to work in I2C mode, I'd be interested in hearing about it.


All times are GMT -5. The time now is 04:12.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi