int main (void) { int i; //initialize_pwm(); unload_device_tree("P8_13"); unload_device_tree("P9_14"); if (pwm_start("P8_13",50,10,0) == -1) { printf("Error starting PWM\n"); } else { printf("PWM Started!\n"); } if (pwm_start("P9_14",50,5,0) == -1) { printf("Error starting PWM\n"); } else { printf("PWM Started!\n"); } /* for (i = 100; i > 0; i--) { pwm_set_frequency("P8_13",i); sleep(10); } for (i = 0; i < 100; i++) { pwm_set_frequency("P8_13",i); sleep(10); }*/ sleep(5); pwm_cleanup(); }
BBIO_err adc_cleanup(void) { #ifdef BBBVERSION41 return unload_device_tree("BB-ADC"); #else return unload_device_tree("cape-bone-iio"); #endif }
int pwm_disable(const char *key) { struct pwm_exp *pwm, *temp, *prev_pwm = NULL; char fragment[18]; snprintf(fragment, sizeof(fragment), "bone_pwm_%s", key); unload_device_tree(fragment); // remove from list pwm = exported_pwms; while (pwm != NULL) { if (strcmp(pwm->key, key) == 0) { //close the fd close(pwm->period_fd); close(pwm->duty_fd); close(pwm->polarity_fd); if (prev_pwm == NULL) { exported_pwms = pwm->next; prev_pwm = pwm; } else { prev_pwm->next = pwm->next; } temp = pwm; pwm = pwm->next; free(temp); } else { prev_pwm = pwm; pwm = pwm->next; } } return 0; }
void adc_cleanup(void) { unload_device_tree("cape-bone-iio"); }