upm/examples/c/m24lr64e.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

39 lines
1.0 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "m24lr64e.h"
#include "upm_utilities.h"
#include "mraa.h"
int main()
{
if (mraa_init() != MRAA_SUCCESS)
{
perror("Failed to initialize mraa\n");
return -1;
}
m24lr64e_context dev = m24lr64e_init(0, M24LR64E_USER_MODE);
int addr = M24LR64E_EEPROM_I2C_LENGTH-1;
printf("address being accessed: %d\n", addr);
uint8_t byte;
if(m24lr64e_read_byte(dev, addr, &byte) != UPM_SUCCESS)
printf("error while reading value\n");
printf("value read from the device: %d\n", byte);
byte = ~byte;
printf("byte to be written: %d\n", byte);
if(m24lr64e_write_byte(dev, addr, byte) != UPM_SUCCESS)
printf("error while writing byte to the device\n");
uint8_t var;
if(m24lr64e_read_byte(dev, addr, &var) != UPM_SUCCESS)
printf("error while reading value back\n");
printf("new value at %d: %d\n", addr, var);
m24lr64e_close(dev);
printf("all done!!\n");
return 0;
}