void right_turn () { float speed1 = mraa_pwm_read(pwm1); float speed2 = mraa_pwm_read(pwm2); if (speed1 == speed2) { mraa_pwm_write(pwm2, speed2/3); } else if (speed2 > speed1) { mraa_pwm_write(pwm1, speed2); mraa_pwm_write(pwm2, speed1); } }
FskErr mraaPWMGetDutyCycleAndPeriod(FskPinPWM pin, UInt8 *dutyCycle, UInt8 *period) { mraaPWM mpwm = (mraaPWM)pin; float value, dc; value = mraa_pwm_read(mpwm->context); dc = mpwm->period * value; *dutyCycle = dc; *period = mpwm->period; return kFskErrNone; }
/** * Read the ouput duty-cycle percentage, as a float * * @return A floating-point value representing percentage of * output. The value should lie between 0.0f (representing on 0%) and * 1.0f Values above or below this range will be set at either 0.0f or * 1.0f */ float read() { return mraa_pwm_read(m_pwm); }
FskErr mraaPWMGetDutyCycle(FskPinPWM pin, double *value) { mraaPWM mpwm = (mraaPWM)pin; *value = mraa_pwm_read(mpwm->context); return kFskErrNone; }