Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for (int x,y,z;;) {
- constexpr uint8_t raddr = LSM303_REGISTER_MAG_OUT_X_H_M;
- int ret {};
- char redout[6] {};
- periph::blk::trx_transfer tran(&raddr,readout,sizeof raddr,sizeof readout);
- do {
- ret=i2c1.transaction(LSM303_ADDRESS_MAG,tran);
- if(ret<0){
- dbg_err("Transaction fail : %i",ret);
- break;}
- } while(0);
- x=(readout[0]<<8)|readout[1];
- y=(readout[0]<<8)|readout[1];
- z=(readout[0]<<8)|readout[1];
- if(ret){
- dbg_err("LMS orientation error: %i",ret);
- return;
- }
- dbg_info( "X pos %i Y pos %i Z pos %i",x,y,z);
- isix::wait_ms(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement