From d548fc62abc7beff3f57d7c0798a3580fe97350c Mon Sep 17 00:00:00 2001 From: Abhishek Malik Date: Fri, 9 Sep 2016 19:19:35 -0700 Subject: [PATCH] Examples: Added C Examples Added examples for: mq303a m24lr64e mpr121 servo a110x gp2y0a ttp223 loudness tsl2561 Signed-off-by: Abhishek Malik --- examples/c/CMakeLists.txt | 9 +++++++++ examples/c/a110x.c | 23 +++++++++++++++++++++++ examples/c/gp2y0a.c | 25 +++++++++++++++++++++++++ examples/c/grovemoisture.c | 25 +++++++++++++++++++++++++ examples/c/loudness.c | 25 +++++++++++++++++++++++++ examples/c/m24lr64e.c | 29 +++++++++++++++++++++++++++++ examples/c/mpr121.c | 30 ++++++++++++++++++++++++++++++ examples/c/mq303a.c | 26 ++++++++++++++++++++++++++ examples/c/servo.c | 35 +++++++++++++++++++++++++++++++++++ examples/c/tsl2561.c | 20 ++++++++++++++++++++ examples/c/ttp223.c | 23 +++++++++++++++++++++++ 11 files changed, 270 insertions(+) create mode 100644 examples/c/a110x.c create mode 100644 examples/c/gp2y0a.c create mode 100644 examples/c/grovemoisture.c create mode 100644 examples/c/loudness.c create mode 100644 examples/c/m24lr64e.c create mode 100644 examples/c/mpr121.c create mode 100644 examples/c/mq303a.c create mode 100644 examples/c/servo.c create mode 100644 examples/c/tsl2561.c create mode 100644 examples/c/ttp223.c diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index f8e27e3a..67b74069 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -104,6 +104,15 @@ add_example (ldt0028) add_example (joystick12) add_example (flex) add_example (slide) +add_example (mq303a) +add_example (m24lr64e) +add_example (mpr121) +add_example (servo) +add_example (a110x) +add_example (gp2y0a) +add_example (ttp223) +add_example (loudness) +add_example (tsl2561) # Custom examples add_custom_example (nmea_gps_i2c-example-c nmea_gps_i2c.c nmea_gps) diff --git a/examples/c/a110x.c b/examples/c/a110x.c new file mode 100644 index 00000000..ec28f7b6 --- /dev/null +++ b/examples/c/a110x.c @@ -0,0 +1,23 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "a110x.h" + +void main(void) +{ + a110x_context dev = a110x_init(2); + bool abc = 0; + while(1){ + if(a110x_magnet_detected(dev, &abc) != UPM_SUCCESS){ + printf("an error has occured\n"); + } + upm_delay(1); + printf("value retrieved: %d\n", abc); + } + + return 0; +} diff --git a/examples/c/gp2y0a.c b/examples/c/gp2y0a.c new file mode 100644 index 00000000..7360fa5f --- /dev/null +++ b/examples/c/gp2y0a.c @@ -0,0 +1,25 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "gp2y0a.h" + +int main() +{ + gp2y0a_context dev = gp2y0a_init(14, 5.0); + float val; + while(1){ + if(gp2y0a_get_value(dev, 5.0, 20, &val) != UPM_SUCCESS){ + printf("Failed to get any values from the sensor\n"); + } + printf("Moisture Value: %f\n", val); + upm_delay(1); + } + gp2y0a_close(dev); + + return 0; +} + diff --git a/examples/c/grovemoisture.c b/examples/c/grovemoisture.c new file mode 100644 index 00000000..1786978d --- /dev/null +++ b/examples/c/grovemoisture.c @@ -0,0 +1,25 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "grovemoisture.h" + +void main(void) +{ + grovemoisture_context dev = grovemoisture_init(14); + int val; + while(1){ + if(grovemoisture_get_moisture(dev, &val) != UPM_SUCCESS){ + printf("Failed to get any values from the sensor\n"); + } + printf("Moisture Value: %d\n", val); + upm_delay(1); + } + grovemoisture_close(dev); + + return 0; +} + diff --git a/examples/c/loudness.c b/examples/c/loudness.c new file mode 100644 index 00000000..7520b843 --- /dev/null +++ b/examples/c/loudness.c @@ -0,0 +1,25 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "loudness.h" + +int main() +{ + loudness_context dev = loudness_init(14); + int val; + while(1){ + if(loudness_get_value(dev, &val) != UPM_SUCCESS){ + printf("Failed to get any values from the sensor\n"); + } + printf("Loudness Value: %d\n", val); + upm_delay(1); + } + loudness_close(dev); + + return 0; +} + diff --git a/examples/c/m24lr64e.c b/examples/c/m24lr64e.c new file mode 100644 index 00000000..2c18dab6 --- /dev/null +++ b/examples/c/m24lr64e.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include +#include "m24lr64e.h" + +int main() +{ + 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; +} diff --git a/examples/c/mpr121.c b/examples/c/mpr121.c new file mode 100644 index 00000000..06e98e65 --- /dev/null +++ b/examples/c/mpr121.c @@ -0,0 +1,30 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "mpr121.h" + +int main() +{ + mpr121_context dev = mpr121_init(MPR121_I2C_BUS, MPR121_DEFAULT_I2C_ADDR); + + if(mpr121_config_an3944(dev) != UPM_SUCCESS){ + printf("unable to configure device\n"); + } + uint32_t states; + while(1){ + if(mpr121_read_buttons(dev, &states, 0) != UPM_SUCCESS){ + printf("Error while reading button values\n"); + } + printf("retrieved button states: %d\n", states); + upm_delay(1); + } + + mpr121_close(dev); + printf("all done!!\n"); + + return 0; +} diff --git a/examples/c/mq303a.c b/examples/c/mq303a.c new file mode 100644 index 00000000..86f17cb0 --- /dev/null +++ b/examples/c/mq303a.c @@ -0,0 +1,26 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "mq303a.h" + +int main() { + + /* --------- MQ303A EXAMPLE -------- */ + mq303a_context dev = mq303a_init(0, 15); + printf("init done for mq303a\n"); + int value; + mq303a_heater_enable(dev, true); + upm_delay(12); + while(1){ + mq303a_get_value(dev, &value); + printf("returned value: %d\n", value); + upm_delay(1); + } + + return 0; +} + diff --git a/examples/c/servo.c b/examples/c/servo.c new file mode 100644 index 00000000..b15805e4 --- /dev/null +++ b/examples/c/servo.c @@ -0,0 +1,35 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "es08a.c" + +int main() +{ + 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; +} diff --git a/examples/c/tsl2561.c b/examples/c/tsl2561.c new file mode 100644 index 00000000..a4d3b628 --- /dev/null +++ b/examples/c/tsl2561.c @@ -0,0 +1,20 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "tsl2561.h" + +void main(void) +{ + tsl2561_context dev = tsl2561_init(0, TSL2561_Address, GAIN_0X, INTEGRATION_TIME1_101MS); + float abc = 0; + if(tsl2561_get_lux(dev, &abc) != UPM_SUCCESS){ + printf("ERROR !! ERROR !! ERROR!!"); + } + printf("value retrieved: %f\n", abc); + + return 0; +} diff --git a/examples/c/ttp223.c b/examples/c/ttp223.c new file mode 100644 index 00000000..b27b9feb --- /dev/null +++ b/examples/c/ttp223.c @@ -0,0 +1,23 @@ +//Modified: Abhishek Malik + +#include +#include +#include +#include +#include +#include "ttp223.h" + +int main() +{ + ttp223_context dev = ttp223_init(2); + bool abc = 0; + while(1){ + if(ttp223_is_pressed(dev, &abc) != UPM_SUCCESS){ + printf("an error has occured\n"); + } + upm_delay(1); + printf("value retrieved: %d\n", abc); + } + + return 0; +}