diff --git a/src/bmp280/bmp280.json b/src/bmp280/bmp280.json new file mode 100644 index 00000000..a9ecb129 --- /dev/null +++ b/src/bmp280/bmp280.json @@ -0,0 +1,87 @@ +{ + "Library": "bmp280", + "Description": "Bosch Atmospheric Sensor Library", + "Sensor Class": + { + "BME280": + { + "Name": "Digital Humidity, Pressure, and Temperature Sensor", + "Description": "The BME280 is as combined digital humidity, pressure and temperature sensor based on proven sensing principles. The sensor module is housed in an extremely compact metal-lid LGA package with a footprint of only 2.5 * 2.5 mm2 with a height of 0.93 mm. Its small dimensions and its low power consumption allow the implementation in battery driven devices such as handsets, GPS modules or watches. The BME280 is register and performance compatible to the Bosch Sensortec BMP280 digital pressure sensor", + "Aliases": ["bme280", "Grove - Barometer Sensor(BME280)"], + "Categories": ["pressure", "humidity", "temperature"], + "Connections": ["gpio", "i2c", "spi"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["adafruit", "seeed", "bosch"], + "Image": "bmp280.jpg", + "Examples": + { + "Java": ["BMP280_Example.java"], + "Python": ["bmp280.py"], + "Node.js": ["bmp280.js"], + "C++": ["bmp280.cxx"], + "C": ["bmp280.c"] + }, + "Specifications": + { + "Vdd": {"unit": "v", "low" : 1.7, "high": 3.6}, + "Ioff" : {"unit": "mA", "low" : 0.0, "high": 0.0}, + "Iavg": {"unit": "mA", "low" : 1, "high": 2}, + "Pressure Range": {"unit": "hpA", "low" : 300, "high": 1100}, + "Temperature Range": {"unit": "C", "low" : -40, "high": 85} + }, + "Platforms": + { + "Intel Joule Module": + { + "Notes": ["Requires pull-up resistors with carrier board"] + } + }, + "Urls" : + { + "Product Pages": ["https://www.adafruit.com/products/2652"], + "Datasheets": ["https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf"], + "Schematics": ["https://learn.adafruit.com/assets/26693"] + } + }, + "BMP280": + { + "Name": "Digital Pressure Sensor", + "Description": "The BMP280 is an absolute barometric pressure sensor especially designed for mobile applications. The sensor module is housed in an extremely compact 8-pin metal-lid LGA package with a footprint of only 2.0 * 2.5 mm2 and 0.95 mm package height. Its small dimensions and its low power consumption of 2.7 uA @1Hz allow the implementation in battery driven devices such as mobile phones, GPS modules or watches. As the successor to the widely adopted BMP180, the BMP280 delivers high performance in all applications that require precise pressure measurement. The BMP280 operates at lower noise, supports new filter modes and an SPI interface within a footprint 63% smaller than the BMP180.", + "Aliases": ["bmp280", "Grove - Barometer Sensor (BMP280)"], + "Categories": ["pressure", "humidity", "temperature"], + "Connections": ["gpio", "i2c", "spi"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["adafruit", "seeed", "bosch"], + "Image": "bmp280.jpg", + "Examples": + { + "Java": ["BMP280_Example.java"], + "Python": ["bmp280.py"], + "Node.js": ["bmp280.js"], + "C++": ["bmp280.cxx"], + "C": ["bmp280-bme280.c"] + }, + "Specifications": + { + "Vdd": {"unit": "v", "low" : 1.7, "high": 3.6}, + "Ioff" : {"unit": "mA", "low" : 0.0, "high": 0.0}, + "Iavg": {"unit": "mA", "low" : 1, "high": 2}, + "Pressure Range": {"unit": "hpA", "low" : 300, "high": 1100}, + "Temperature Range": {"unit": "C", "low" : -40, "high": 85} + }, + "Platforms": + { + "Intel Joule Module": + { + "Notes": ["Requires pull-up resistors with carrier board"] + } + }, + "Urls" : + { + "Product Pages": ["https://www.adafruit.com/products/2651"], + "Datasheets": ["https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001-18.pdf"], + "Schematics": ["https://learn.adafruit.com/assets/26693"] + } + } + } +} diff --git a/src/button/button.json b/src/button/button.json new file mode 100644 index 00000000..befffa54 --- /dev/null +++ b/src/button/button.json @@ -0,0 +1,32 @@ +{ + "Library": "button", + "Description": "Generic library for buttons & switches", + "Sensor Class": + { + "Button": + { + "Name": "Button", + "Description": "Basic UPM module for buttons and switches. Allows attaching a callback function to state transitions.", + "Aliases": ["Grove - Button"], + "Categories": ["button"], + "Connections": ["gpio"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["seeed", "dfrobot", "sparkfun", "adafruit", "generic"], + "Kits": ["gsk"], + "Image": "button.jpg", + "Examples": + { + "Java": ["ButtonSample.java", "Button_intrSample.java"], + "Python": ["button.py"], + "Node.js": ["button.js"], + "C++": ["button.cxx"], + "C": ["button.c", "button-intr.c"] + }, + "Urls" : + { + "Product Pages": ["http://wiki.seeed.cc/Grove-Button/"], + "Schematics": ["https://easyeda.com/Seeed/Grove_Button_v1_2-f0f9f212fcee460ebe3703dab813e5c4"] + } + } + } +} diff --git a/src/buzzer/buzzer.json b/src/buzzer/buzzer.json new file mode 100644 index 00000000..1a8ee241 --- /dev/null +++ b/src/buzzer/buzzer.json @@ -0,0 +1,40 @@ +{ + "Library": "buzzer", + "Description": "Generic library for piezoelectric buzzers", + "Sensor Class": + { + "Buzzer": + { + "Name": "Buzzer", + "Description": "This module defines the Buzzer interface for libbuzzer. This sensor can make different tones when connected to a pin capable of analog pulse-width modulation. It emits sound using a piezoelectric material that vibrates at different frequencies based on the input voltage.", + "Aliases": ["Grove - Buzzer"], + "Categories": ["sound"], + "Connections": ["pwm"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["seeed", "dfrobot", "sparkfun", "adafruit", "generic"], + "Kits": ["gsk"], + "Image": "buzzer.jpg", + "Examples": + { + "Java": ["BuzzerSample.java"], + "Python": ["buzzer.py"], + "Node.js": ["buzzer.js"], + "C++": ["buzzer.cxx"], + "C": ["buzzer.c"] + }, + "Platforms": + { + "Intel Edison": + { + "Notes": ["Might not work correctly with early versions of MRAA/UPM libraries, please use the latest versions."] + } + }, + "Urls" : + { + "Product Pages": ["http://wiki.seeed.cc/Grove-Buzzer/"], + "Datasheets": ["https://cdn.sparkfun.com/datasheets/Components/General/cem-1203-42-.pdf"], + "Schematics": ["https://easyeda.com/Seeed/Grove_Buzzer_v1_2-c713baf3c1774da39ce0c995544ce5da"] + } + } + } +} diff --git a/src/led/led.json b/src/led/led.json new file mode 100644 index 00000000..7cce6975 --- /dev/null +++ b/src/led/led.json @@ -0,0 +1,32 @@ +{ + "Library": "led", + "Description": "LED library", + "Sensor Class": + { + "Led": + { + "Name": "Light-emitting Diode (LED)", + "Description": "UPM module for the LED (or other similar light-emitting diodes). An LED is a p-n junction semiconductor which emits light in response to voltage. The longer wire of an LED connects to the positive seat (anode); the shorter wire connects to the negative seat (cathode). The flat side of the bulb corresponds to the cathode, while the rounded side corresponds to the anode.", + "Aliases": ["Grove - LED"], + "Categories": ["led"], + "Connections": ["gpio"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["seeed", "dfrobot", "sparkfun", "adafruit", "generic"], + "Kits": ["gsk"], + "Image": "led.jpg", + "Examples": + { + "Java": ["LEDSample.java"], + "Python": ["led.py"], + "Node.js": ["led.js"], + "C++": ["led.cxx"], + "C": ["led.c"] + }, + "Urls" : + { + "Product Pages": ["http://wiki.seeed.cc/Grove-LED_Socket_Kit/"], + "Schematics": ["https://github.com/SeeedDocument/Grove-LED_Socket_Kit/raw/master/res/Grove-LED_v1.3_Schematics.zip"] + } + } + } +} diff --git a/src/mic/mic.hpp b/src/mic/mic.hpp index 065f6dec..d79a716e 100644 --- a/src/mic/mic.hpp +++ b/src/mic/mic.hpp @@ -48,7 +48,7 @@ namespace upm { * @type sound * @man seeed * @web http://www.seeedstudio.com/wiki/Grove_-_Sound_Sensor - * @con pwm + * @con analog * @kit gsk * * @brief API for the Analog Microphone diff --git a/src/mic/mic.json b/src/mic/mic.json new file mode 100644 index 00000000..72c34cb5 --- /dev/null +++ b/src/mic/mic.json @@ -0,0 +1,31 @@ +{ + "Library": "mic", + "Description": "Generic analog microphone library", + "Sensor Class": + { + "Microphone": + { + "Name": "Analog Microphone", + "Description": "This module defines the Analog Microphone sensor.", + "Aliases": ["Grove - Sound Sensor"], + "Categories": ["sound"], + "Connections": ["analog"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["seeed", "dfrobot", "sparkfun", "adafruit", "generic"], + "Kits": ["gsk"], + "Image": "mic.jpg", + "Examples": + { + "Java": ["MicrophoneSample.java"], + "Python": ["mic.py"], + "Node.js": ["mic.js"], + "C++": ["mic.cxx"] + }, + "Urls" : + { + "Product Pages": ["http://www.seeedstudio.com/wiki/Grove_-_Sound_Sensor"], + "Schematics": ["https://github.com/SeeedDocument/Grove_Sound_Sensor/raw/master/res/Grove%20-%20Sound%20Sensor%20v1.6%20Schematic.pdf"] + } + } + } +} diff --git a/src/temperature/temperature.json b/src/temperature/temperature.json new file mode 100644 index 00000000..a87a7da1 --- /dev/null +++ b/src/temperature/temperature.json @@ -0,0 +1,39 @@ +{ + "Library": "temperature", + "Description": "Temperature sensor library", + "Sensor Class": + { + "Temperature": + { + "Name": "Analog Temperature Sensor", + "Description": "Basic UPM module for analog temperature sensors. These sensors use a NTC thermistor to measure ambient temperature. This driver was developed using the Grove Temperature Sensor. The conversion formula has been updated to work with versions 1.1 and 1.2 of the sensor. For the older v1.0 sensor you will have to specify R0 and B values when initializing the device. The range of this sensor is -40 to 125 C and accuracy is +/- 1.5 C.", + "Aliases": ["Grove - Temperature Sensor"], + "Categories": ["temp"], + "Connections": ["analog"], + "Project Type": ["prototyping", "industrial"], + "Manufacturers": ["seeed", "dfrobot", "sparkfun", "adafruit", "generic"], + "Kits": ["gsk"], + "Image": "temp.jpg", + "Examples": + { + "Java": ["TemperatureSample.java"], + "Python": ["temperature.py"], + "Node.js": ["temperature.js"], + "C++": ["temperature.cxx"] + }, + "Platforms": + { + "Arduino 101": + { + "Notes": ["Will need to adjust ADC scale when used with Grove Base Shield (see API documentation)."] + } + }, + "Urls" : + { + "Product Pages": ["http://wiki.seeed.cc/Grove-Temperature_Sensor_V1.2/"], + "Datasheets": ["https://github.com/SeeedDocument/Grove-Temperature_Sensor_V1.2/raw/master/res/NCP18WF104F03RC.pdf"], + "Schematics": ["https://easyeda.com/Seeed/Grove_Temperature_sensor_v1_2-ed433e462f14455e9aa38ae1a06e4680"] + } + } + } +}