@@ -665,6 +665,9 @@ void sensor_collect(void)
665665 if (imu_dev [0 ] != NULL ) {
666666 if (sensor_gyr_measure (imu_dev [0 ], imu_data .gyr_B_radDs ) == FMT_EOK
667667 && sensor_acc_measure (imu_dev [0 ], imu_data .acc_B_mDs2 ) == FMT_EOK ) {
668+ /* do board rotation */
669+ rotation (board_rot , & imu_data .gyr_B_radDs [0 ], & imu_data .gyr_B_radDs [1 ], & imu_data .gyr_B_radDs [2 ]);
670+ rotation (board_rot , & imu_data .acc_B_mDs2 [0 ], & imu_data .acc_B_mDs2 [1 ], & imu_data .acc_B_mDs2 [2 ]);
668671 /* publish scaled imu data without calibration and filtering */
669672 mcn_publish (MCN_HUB (sensor_imu0_0 ), & imu_data );
670673 /* do calibration */
@@ -683,9 +686,6 @@ void sensor_collect(void)
683686 imu_data .acc_B_mDs2 [0 ] = butter3_filter_process (imu_data .acc_B_mDs2 [0 ], butter3_acc [0 ][0 ]);
684687 imu_data .acc_B_mDs2 [1 ] = butter3_filter_process (imu_data .acc_B_mDs2 [1 ], butter3_acc [0 ][1 ]);
685688 imu_data .acc_B_mDs2 [2 ] = butter3_filter_process (imu_data .acc_B_mDs2 [2 ], butter3_acc [0 ][2 ]);
686- /* do board rotation */
687- rotation (board_rot , & imu_data .gyr_B_radDs [0 ], & imu_data .gyr_B_radDs [1 ], & imu_data .gyr_B_radDs [2 ]);
688- rotation (board_rot , & imu_data .acc_B_mDs2 [0 ], & imu_data .acc_B_mDs2 [1 ], & imu_data .acc_B_mDs2 [2 ]);
689689 /* publish calibrated & filtered imu data */
690690 mcn_publish (MCN_HUB (sensor_imu0 ), & imu_data );
691691 }
@@ -695,6 +695,9 @@ void sensor_collect(void)
695695 if (imu_dev [1 ] != NULL ) {
696696 if (sensor_gyr_measure (imu_dev [1 ], imu_data .gyr_B_radDs ) == FMT_EOK
697697 && sensor_acc_measure (imu_dev [1 ], imu_data .acc_B_mDs2 ) == FMT_EOK ) {
698+ /* do board rotation */
699+ rotation (board_rot , & imu_data .gyr_B_radDs [0 ], & imu_data .gyr_B_radDs [1 ], & imu_data .gyr_B_radDs [2 ]);
700+ rotation (board_rot , & imu_data .acc_B_mDs2 [0 ], & imu_data .acc_B_mDs2 [1 ], & imu_data .acc_B_mDs2 [2 ]);
698701 /* publish scaled imu data without calibration and filtering */
699702 mcn_publish (MCN_HUB (sensor_imu1_0 ), & imu_data );
700703 /* do calibration */
@@ -713,9 +716,6 @@ void sensor_collect(void)
713716 imu_data .acc_B_mDs2 [0 ] = butter3_filter_process (imu_data .acc_B_mDs2 [0 ], butter3_acc [1 ][0 ]);
714717 imu_data .acc_B_mDs2 [1 ] = butter3_filter_process (imu_data .acc_B_mDs2 [1 ], butter3_acc [1 ][1 ]);
715718 imu_data .acc_B_mDs2 [2 ] = butter3_filter_process (imu_data .acc_B_mDs2 [2 ], butter3_acc [1 ][2 ]);
716- /* do board rotation */
717- rotation (board_rot , & imu_data .gyr_B_radDs [0 ], & imu_data .gyr_B_radDs [1 ], & imu_data .gyr_B_radDs [2 ]);
718- rotation (board_rot , & imu_data .acc_B_mDs2 [0 ], & imu_data .acc_B_mDs2 [1 ], & imu_data .acc_B_mDs2 [2 ]);
719719 /* publish calibrated & filtered imu data */
720720 mcn_publish (MCN_HUB (sensor_imu1 ), & imu_data );
721721 }
@@ -734,14 +734,15 @@ void sensor_collect(void)
734734 /* Collect mag0 data */
735735 if (mag_dev [0 ] != NULL ) {
736736 if (sensor_mag_measure (mag_dev [0 ], mag_data .mag_B_gauss ) == FMT_EOK ) {
737+ /* do board rotation */
738+ rotation (board_rot , & mag_data .mag_B_gauss [0 ], & mag_data .mag_B_gauss [1 ], & mag_data .mag_B_gauss [2 ]);
739+ /* publish scaled mag data without calibration and filtering */
737740 mcn_publish (MCN_HUB (sensor_mag0_0 ), & mag_data );
738741 /* do calibration */
739742 sensor_mag_correct (mag_dev [0 ], mag_data .mag_B_gauss , temp );
740743 mag_data .mag_B_gauss [0 ] = temp [0 ];
741744 mag_data .mag_B_gauss [1 ] = temp [1 ];
742745 mag_data .mag_B_gauss [2 ] = temp [2 ];
743- /* do board rotation */
744- rotation (board_rot , & mag_data .mag_B_gauss [0 ], & mag_data .mag_B_gauss [1 ], & mag_data .mag_B_gauss [2 ]);
745746 /* publish calibrated mag data */
746747 mcn_publish (MCN_HUB (sensor_mag0 ), & mag_data );
747748 }
@@ -750,14 +751,15 @@ void sensor_collect(void)
750751 /* Collect mag1 data */
751752 if (mag_dev [1 ] != NULL ) {
752753 if (sensor_mag_measure (mag_dev [1 ], mag_data .mag_B_gauss ) == FMT_EOK ) {
754+ /* do board rotation */
755+ rotation (board_rot , & mag_data .mag_B_gauss [0 ], & mag_data .mag_B_gauss [1 ], & mag_data .mag_B_gauss [2 ]);
756+ /* publish scaled mag data without calibration and filtering */
753757 mcn_publish (MCN_HUB (sensor_mag1_0 ), & mag_data );
754758 /* do calibration */
755759 sensor_mag_correct (mag_dev [1 ], mag_data .mag_B_gauss , temp );
756760 mag_data .mag_B_gauss [0 ] = temp [0 ];
757761 mag_data .mag_B_gauss [1 ] = temp [1 ];
758762 mag_data .mag_B_gauss [2 ] = temp [2 ];
759- /* do board rotation */
760- rotation (board_rot , & mag_data .mag_B_gauss [0 ], & mag_data .mag_B_gauss [1 ], & mag_data .mag_B_gauss [2 ]);
761763 /* publish calibrated mag data */
762764 mcn_publish (MCN_HUB (sensor_mag1 ), & mag_data );
763765 }
0 commit comments