Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.62 KB | None | 0 0
  1. for (int x,y,z;;) {
  2.     constexpr uint8_t raddr = LSM303_REGISTER_MAG_OUT_X_H_M;
  3.     int ret {};
  4.     char redout[6] {};
  5.     periph::blk::trx_transfer tran(&raddr,readout,sizeof raddr,sizeof readout);
  6.     do {
  7.         ret=i2c1.transaction(LSM303_ADDRESS_MAG,tran);
  8.         if(ret<0){
  9.         dbg_err("Transaction fail : %i",ret);
  10.         break;}
  11.     } while(0);
  12.    
  13.     x=(readout[0]<<8)|readout[1];
  14.     y=(readout[0]<<8)|readout[1];
  15.     z=(readout[0]<<8)|readout[1];
  16.     if(ret){
  17.     dbg_err("LMS orientation error: %i",ret);
  18.     return;
  19. }  
  20. dbg_info( "X pos %i Y pos %i Z pos %i",x,y,z);
  21. isix::wait_ms(500);
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement