Integration of Ambient Light sensor VEML7700 with Nucleo board. ROS Enabled

Dependencies:   mbed VEML7700

Committer:
zillkhan
Date:
Tue Sep 28 12:39:31 2021 +0000
Revision:
2:1d1f6cd9d8b1
Parent:
1:ca82df4237eb
final code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tomas 0:d94848220e71 1 #include "mbed.h"
zillkhan 1:ca82df4237eb 2 #include <ros.h>
zillkhan 2:1d1f6cd9d8b1 3 #include <std_msgs/Int16.h>
zillkhan 2:1d1f6cd9d8b1 4 #include "VEML7700.h"
Tomas 0:d94848220e71 5
zillkhan 2:1d1f6cd9d8b1 6 #ifndef MSU_VEML7700_I2C_ADDRESS
zillkhan 2:1d1f6cd9d8b1 7 #define MSU_VEML7700_I2C_ADDRESS 0x10
zillkhan 2:1d1f6cd9d8b1 8 #endif
zillkhan 2:1d1f6cd9d8b1 9
zillkhan 2:1d1f6cd9d8b1 10 #define PIN_SCL D15
zillkhan 2:1d1f6cd9d8b1 11 #define PIN_SDA D14
zillkhan 1:ca82df4237eb 12
zillkhan 1:ca82df4237eb 13 ros::NodeHandle nh;
zillkhan 1:ca82df4237eb 14
zillkhan 2:1d1f6cd9d8b1 15 std_msgs::Int16 data;
zillkhan 2:1d1f6cd9d8b1 16 ros::Publisher ALS("ALS", &data);
zillkhan 1:ca82df4237eb 17
zillkhan 2:1d1f6cd9d8b1 18 VEML7700 *veml7700 = 0 ;
zillkhan 1:ca82df4237eb 19
Tomas 0:d94848220e71 20 int main() {
zillkhan 2:1d1f6cd9d8b1 21 uint16_t als ;
zillkhan 2:1d1f6cd9d8b1 22
zillkhan 2:1d1f6cd9d8b1 23 veml7700 = new VEML7700(PIN_SDA, PIN_SCL, MSU_VEML7700_I2C_ADDRESS) ;
zillkhan 2:1d1f6cd9d8b1 24 veml7700->setALSConf(0x0000) ;
zillkhan 2:1d1f6cd9d8b1 25 veml7700->setPowerSaving(0x0000) ;
zillkhan 1:ca82df4237eb 26
zillkhan 1:ca82df4237eb 27 nh.initNode();
zillkhan 2:1d1f6cd9d8b1 28 nh.advertise(ALS);
zillkhan 1:ca82df4237eb 29
Tomas 0:d94848220e71 30 while (1) { //creates an eternal loop
zillkhan 1:ca82df4237eb 31
zillkhan 2:1d1f6cd9d8b1 32 als = veml7700->getALS();
zillkhan 1:ca82df4237eb 33
zillkhan 2:1d1f6cd9d8b1 34 data.data = als;
zillkhan 2:1d1f6cd9d8b1 35 ALS.publish( &data );
zillkhan 1:ca82df4237eb 36
zillkhan 1:ca82df4237eb 37 nh.spinOnce();
zillkhan 1:ca82df4237eb 38 wait_ms(1000);
Tomas 0:d94848220e71 39 }
Tomas 0:d94848220e71 40 }