2Chx3dof Magnetrometer supported M-Series Random Sequence Generator Servo Control
Sampling Frequency
Sampling Frequency in main.cpp
#define SampleFreq 200 // [Hz]
Auto Stop Setting
Auto-stop Timer 15sec after
// auto-stop when 15sec after if(smpl_cnt>3000){stop_dump();}
The number of 3000 means Sample Count. The number is given by SampleFreq[Hz] * Auto-Stop Time [sec].
M-Series Random Sequence
M-series Random Update Term in main.cpp
// M-series update flag #define M_TERM 200;
Unit is sample count.
cf.) 200 equals to 200 [samples] which equals to 1 [second] where SampleFreq = 200 [Hz}.
See above.
M-Series Random Servo Control
Diff: main.cpp
- Branch:
- MPU-9250-MagSensServo
- Revision:
- 2:3470f2c07582
- Parent:
- 1:3bcd844dd707
- Child:
- 3:70be84fad39e
--- a/main.cpp Tue Feb 02 13:43:21 2021 +0000 +++ b/main.cpp Tue Feb 02 13:46:13 2021 +0000 @@ -78,7 +78,7 @@ PwmOut pwm_(p22); // M-Series Random Sequence -Mseries m; +Mseries m; void init(void) @@ -140,16 +140,17 @@ printf("\nHit Key [s] to start. Hit Key [r] to finish.\n"); - - pwm_.period_ms(20); // servo requires a 20ms period - pwm_.pulsewidth_us(KST_SERVO_USEC_MIN); - wait(.5); + // servo requires a 20ms period + pwm_.period_ms(20); - pwm_.period_ms(20); // servo requires a 20ms period - pwm_.pulsewidth_us(KST_SERVO_USEC_90); - wait(.5); + while(1) { + if(m.update()) + pwm_.pulsewidth_us(KST_SERVO_USEC_MIN); + else + pwm_.pulsewidth_us(KST_SERVO_USEC_90); + wait(.5); - + } } void eventFunc(void)