Add functions to get Mx, My and Mz.
Dependents: 9DOF-Stick aigamozu_program_ver2 aigamozu_program_ver2_yokokawa aigamozu_auto_ver1 ... more
Revision 2:fdab96fc6fff, committed 2010-11-09
- Comitter:
- elrafapadron
- Date:
- Tue Nov 09 23:18:46 2010 +0000
- Parent:
- 1:65e41eb3c291
- Commit message:
- Add functions to get Mx, My and Mz.
Correct function declaration; readData function wasn\t visible
Changed in this revision
HMC5843.cpp | Show annotated file Show diff for this revision Revisions of this file |
HMC5843.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 65e41eb3c291 -r fdab96fc6fff HMC5843.cpp --- a/HMC5843.cpp Sat Oct 23 23:39:03 2010 +0000 +++ b/HMC5843.cpp Tue Nov 09 23:18:46 2010 +0000 @@ -1,6 +1,6 @@ /** * @author Jose R. Padron - *@author Used HMCHMC6352 library developed by Aaron Berk as template + * @author Used HMC6352 library developed by Aaron Berk as template * @section LICENSE * * Copyright (c) 2010 ARM Limited @@ -74,12 +74,6 @@ wait_ms(100); } -//void HMC5843::SelfTest() { - - //Future - -//} - void HMC5843::getAddress(char *buffer) { @@ -137,5 +131,46 @@ i2c_->read(HMC5843_I2C_READ,rx,2); readings[2]= (int)rx[0]<<8|(int)rx[1]; +} + +int HMC5843::getMx() { + + char tx[1]; + char rx[2]; + + + tx[0]=HMC5843_X_MSB; + i2c_->write(HMC5843_I2C_READ,tx,1); + i2c_->read(HMC5843_I2C_READ,rx,2); + return ((int)rx[0]<<8|(int)rx[1]); } + +int HMC5843::getMy() { + + char tx[1]; + char rx[2]; + + + tx[0]=HMC5843_Y_MSB; + i2c_->write(HMC5843_I2C_READ,tx,1); + i2c_->read(HMC5843_I2C_READ,rx,2); + return ((int)rx[0]<<8|(int)rx[1]); + +} + + +int HMC5843::getMz(){ + + char tx[1]; + char rx[2]; + + + tx[0]=HMC5843_Z_MSB; + i2c_->write(HMC5843_I2C_READ,tx,1); + i2c_->read(HMC5843_I2C_READ,rx,2); + return ((int)rx[0]<<8|(int)rx[1]); + +} + +
diff -r 65e41eb3c291 -r fdab96fc6fff HMC5843.h --- a/HMC5843.h Sat Oct 23 23:39:03 2010 +0000 +++ b/HMC5843.h Tue Nov 09 23:18:46 2010 +0000 @@ -1,6 +1,6 @@ /** * @author Jose R. Padron - *@author Used HMC5843 library developed by Aaron Berk as template + * @author Used HMC5843 library developed by Aaron Berk as template * @section LICENSE * * Copyright (c) 2010 ARM Limited @@ -139,15 +139,7 @@ */ void setDefault(); - - - /** - * Perform Self Test. - * - */ - // void SelfTest(); - - + /** * Read the memory location on the device which contains the address. * @@ -172,21 +164,46 @@ /** * Write to on the device. * - * @param address Address to write to. + * @param address Address to write to. * @param data Data to write. */ + void write(int address, int data); - /* Get the output of all three axes. + /** + * Get the output of all three axes. * * @param Pointer to a buffer to hold the magnetics value for the * x-axis, y-axis and z-axis [in that order]. */ void readData(int* readings); - /* Get the current operation mode. + /** + * Get the output of X axis. + * + * @return x-axis magnetic value + */ + int getMx(); + + /** + * Get the output of Y axis. * - * @return Staus register values + * @return y-axis magnetic value + */ + int getMy(); + + /** + * Get the output of Z axis. + * + * @return z-axis magnetic value + */ + int getMz(); + + + /** + * Get the current operation mode. + * + * @return Status register values */ int getStatus(void);