upm/examples/c/servo.c
Noel Eck 324af8fc92 examples: Cleaned up C examples.
This commit cleans up multiple items with the UPM C example source.

    * Switch from usleep and sleep to upm_delay* methods
    * Include a mraa_init and check return value prior to using sensor
    * All example mains now return
    * Added include for mraa.h and upm_utilites.h to all examples
    * Reformatted/removed tabs
    * Updated author line for the examples I wrote

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-19 15:45:22 -07:00

45 lines
949 B
C

//Modified: Abhishek Malik <abhishek.malik@intel.com>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "es08a.c"
#include "upm_utilities.h"
#include "mraa.h"
int main()
{
if (mraa_init() != MRAA_SUCCESS)
{
perror("Failed to initialize mraa\n");
return -1;
}
es08a_context dev = es08a_init(3, ES08A_MIN_PULSE_WIDTH, ES08A_MAX_PULSE_WIDTH);
if(dev == NULL){
printf("unable to initialize the servo context\n");
}
if(es08a_set_angle(dev, 90) != UPM_SUCCESS){
printf("unable to set angle to 90 degrees\n");
}
upm_delay(1);
if(es08a_set_angle(dev, 180) != UPM_SUCCESS){
printf("unable to set angle to 180 degrees\n");
}
upm_delay(1);
if(es08a_set_angle(dev, 90) != UPM_SUCCESS){
printf("unable to set angle to 90 degrees\n");
}
upm_delay(1);
es08a_halt(dev);
return 0;
}