Skip to content

Commit

Permalink
Categorized device listing (dotnet#554)
Browse files Browse the repository at this point in the history
* Categorized device listing

* move alphabetical device index into separate file
  • Loading branch information
krwq authored Jul 5, 2019
1 parent 47f400a commit 26b722c
Show file tree
Hide file tree
Showing 56 changed files with 435 additions and 44 deletions.
1 change: 1 addition & 0 deletions src/devices/Ads1115/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
adc
1 change: 1 addition & 0 deletions src/devices/Adxl345/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
accelerometer
2 changes: 2 additions & 0 deletions src/devices/Ags01db/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
voc
gas
1 change: 1 addition & 0 deletions src/devices/Bh1750fvi/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
light
3 changes: 3 additions & 0 deletions src/devices/Bmp180/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
barometer
altimeter
thermometer
1 change: 1 addition & 0 deletions src/devices/Bmx280/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
barometer
6 changes: 3 additions & 3 deletions src/devices/Bno055/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# BMO055 Sensors
# BNO055 - inertial measurement unit

## Summary

Those sensors are intelligent 9-axis absolute orientation sensors. Most of the implementations are using I2C sensors but the sensor supports as well HID over I2C and serial port communication. This class only supports I2C.

All operations for a current usage has been developped. The individual interruption level settings for each sensor has not been implemented. If needed, they are quite straight forward to implement.
All operations for a current usage has been developed. The individual interruption level settings for each sensor has not been implemented. If needed, they are quite straight forward to implement.

## Device Family

![BNO055](./BNO055.jpg)

**BMO055** [datasheet](https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BNO055-DS000.pdf)
**BNO055** [datasheet](https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BNO055-DS000.pdf)

You will find this device as ["Inertial Measurement Unit"](https://www.dexterindustries.com/product/imu-sensor/) or ["Adafruit BNO055 Absolute Orientation Sensor"](https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor/overview)

Expand Down
5 changes: 5 additions & 0 deletions src/devices/Bno055/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
imu
accelerometer
magnetometer
gyroscope
compass
2 changes: 2 additions & 0 deletions src/devices/BrickPi3/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
brickpi3
lego
1 change: 1 addition & 0 deletions src/devices/Buzzer/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
buzzer
2 changes: 2 additions & 0 deletions src/devices/CharacterLcd/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
characterlcd
lcd
1 change: 1 addition & 0 deletions src/devices/CpuTemperature/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
thermometer
1 change: 1 addition & 0 deletions src/devices/DCMotor/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
motor
51 changes: 51 additions & 0 deletions src/devices/Device-Index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Alphabetical Device Index

<devices>

* [28BYJ-48 Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board](Uln2003/README.md)
* [ADS1115 - Analog to Digital Converter](Ads1115/README.md)
* [ADXL345 - Accelerometer](Adxl345/README.md)
* [AGS01DB - MEMS VOC Gas Sensor](Ags01db/README.md)
* [BH1750FVI - Ambient Light Sensor](Bh1750fvi/README.md)
* [BMP180 - barometer, altitude and temperature sensor](Bmp180/README.md)
* [BMx280 - Digital Pressure Sensors BMP280/BME280](Bmx280/README.md)
* [BNO055 - inertial measurement unit](Bno055/README.md)
* [BrickPi3](BrickPi3/README.md)
* [Buzzer - Piezo Buzzer Controller](Buzzer/README.md)
* [Character LCD (Liquid Crystal Display)](CharacterLcd/README.md)
* [Cpu Temperature](CpuTemperature/README.md)
* [DC Motor Controller](DCMotor/README.md)
* [DHTxx - Digital-Output Relative Humidity & Temperature Sensor Module](Dhtxx/README.md)
* [DS1307 - Realtime Clock](Ds1307/README.md)
* [DS3231 - Realtime Clock](Ds3231/README.md)
* [GoPiGo3](GoPiGo3/README.md)
* [GrovePi](GrovePi/README.md)
* [HC-SR04 - Ultrasonic Ranging Module](Hcsr04/README.md)
* [HC-SR501 - PIR Motion Sensor](Hcsr501/README.md)
* [HMC5883L - 3 Axis Digital Compass](Hmc5883l/README.md)
* [HTS221 - Capacitive digital sensor for relative humidity and temperature](Hts221/README.md)
* [LM75 - Digital Temperature Sensor](Lm75/README.md)
* [LPS25H - Piezoresistive pressure and thermometer sensor](Lps25h/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [MAX44009 - Ambient Light Sensor](Max44009/README.md)
* [Max7219 (LED Matrix driver)](Max7219/README.md)
* [Mcp23xxx - I/O Expander device family](Mcp23xxx/README.md)
* [Mcp25xxx device family - CAN bus](Mcp25xxx/README.md)
* [MCP3008 - 10-bit Analog to Digital Converter](Mcp3008/README.md)
* [MPR121 - Proximity Capacitive Touch Sensor Controller](Mpr121/README.md)
* [nRF24L01 - Single Chip 2.4 GHz Transceiver](Nrf24l01/README.md)
* [NXP/TI PCx857x](Pcx857x/README.md)
* [Pca95x4 - I2C GPIO Expander](Pca95x4/README.md)
* [Pca9685 - I2C PWM Driver](Pca9685/README.md)
* [RGBLedMatrix - RGB LED Matrix](RGBLedMatrix/README.md)
* [Sense HAT](SenseHat/README.md)
* [Servomotor](Servo/README.md)
* [SHT3x - Temperature & Humidity Sensor](Sht3x/README.md)
* [Si7021 - Temperature & Humidity Sensor](Si7021/README.md)
* [SocketCan - CAN BUS library (Linux only)](SocketCan/README.md)
* [Software PWM](SoftPwm/README.md)
* [Solomon Systech Ssd1306 OLED display](Ssd13xx/README.md)
* [TCS3472x Sensors](Tcs3472x/README.md)
* [VL53L0X - distance sensor](Vl53L0X/README.md)
* [Ws28xx LED drivers](Ws28xx/README.md)
</devices>
2 changes: 2 additions & 0 deletions src/devices/Dhtxx/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
thermometer
hygrometer
2 changes: 2 additions & 0 deletions src/devices/Ds1307/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
rtc
clock
2 changes: 2 additions & 0 deletions src/devices/Ds3231/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
rtc
clock
1 change: 1 addition & 0 deletions src/devices/GoPiGo3/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gopigo3
1 change: 1 addition & 0 deletions src/devices/GrovePi/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
grovepi
2 changes: 2 additions & 0 deletions src/devices/Hcsr04/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sonar
distance
2 changes: 2 additions & 0 deletions src/devices/Hcsr501/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pir
motion
2 changes: 2 additions & 0 deletions src/devices/Hmc5883l/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
magnetometer
compass
2 changes: 1 addition & 1 deletion src/devices/Hts221/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# HTS221 - Capacitive digital sensor for relative humidity and temperature
# HTS221 - Capacitive digital sensor for relative humidity and temperature

Some of the applications mentioned by the datasheet:
- Air conditioning, heating and ventilation
Expand Down
2 changes: 2 additions & 0 deletions src/devices/Hts221/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
hygrometer
thermometer
1 change: 1 addition & 0 deletions src/devices/Lm75/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
thermometer
2 changes: 2 additions & 0 deletions src/devices/Lps25h/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
thermometer
barometer
4 changes: 4 additions & 0 deletions src/devices/Lsm9Ds1/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
imu
accelerometer
gyroscope
magnetometer
1 change: 1 addition & 0 deletions src/devices/Max44009/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
light
1 change: 1 addition & 0 deletions src/devices/Max7219/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
display
1 change: 1 addition & 0 deletions src/devices/Mcp23xxx/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
io-expander
2 changes: 1 addition & 1 deletion src/devices/Mcp25xxx/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Mcp25xxx device family
# Mcp25xxx device family - CAN bus

## Summary
The MCP25XXX is a stand-alone CAN controller and includes features like faster throughput, databyte filtering, and support for time-triggered protocols.
Expand Down
1 change: 1 addition & 0 deletions src/devices/Mcp25xxx/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
canbus
4 changes: 2 additions & 2 deletions src/devices/Mcp3008/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Using MCP3008 (10-bit Analog to Digital Converter)
# MCP3008 - 10-bit Analog to Digital Converter

Some devices like the Raspberry Pi cannot read analog values directly so rely on [analog to digital converters](https://en.wikipedia.org/wiki/Analog-to-digital_converter), like the [MCP3008 ADC](https://www.adafruit.com/product/856). The MCP3008 supports the SPI interface. The 10-bit chip can be accessed as an [SPI device](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface) or manually via raw GPIO pins.

You can use [Mcp3008.cs](Mcp3008.cs) in your project to access analog devices. [Reading Analog Input from a Potentiometer](samples/README.md) demonstrates a concrete example using this class.

The following fritzing diagram illustrates one way to wire up the Mcp3008, with a Raspberry Pi and a potentiometer.

![Raspberry Pi Breadboard diagram](samples/rpi-trimpot_spi.png)
![Raspberry Pi Breadboard diagram](samples/rpi-trimpot_spi.png)
1 change: 1 addition & 0 deletions src/devices/Mcp3008/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
adc
2 changes: 2 additions & 0 deletions src/devices/Mpr121/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
proximity
touch
1 change: 1 addition & 0 deletions src/devices/Nrf24l01/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
wireless
1 change: 1 addition & 0 deletions src/devices/Pca95x4/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
io-expander
1 change: 1 addition & 0 deletions src/devices/Pca9685/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pwm
1 change: 1 addition & 0 deletions src/devices/Pcx857x/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
io-expander
177 changes: 149 additions & 28 deletions src/devices/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,178 @@ This directory is intended for device bindings, sensors, displays, human interfa

Our vision: the majority of .NET bindings are written completely in .NET languages to enable portability, use of a single tool chain and complete debugability from application to binding to driver.

## Binding Index
## Bindings by category

<devices>
[Alphabetical device index can be found here](Device-Index.md)

<categorizedDevices>

### Analog/Digital converters

* [28BYJ-48 Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board](Uln2003/README.md)
* [ADS1115 - Analog to Digital Converter](Ads1115/README.md)
* [MCP3008 - 10-bit Analog to Digital Converter](Mcp3008/README.md)

### Accelerometers

* [ADXL345 - Accelerometer](Adxl345/README.md)
* [BNO055 - inertial measurement unit](Bno055/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [Sense HAT](SenseHat/README.md)

### Volatile Organic Compound sensors

* [AGS01DB - MEMS VOC Gas Sensor](Ags01db/README.md)

### Gas sensors

* [AGS01DB - MEMS VOC Gas Sensor](Ags01db/README.md)

### Light sensor

* [BH1750FVI - Ambient Light Sensor](Bh1750fvi/README.md)
* [BMO055 Sensors](Bno055/README.md)
* [MAX44009 - Ambient Light Sensor](Max44009/README.md)
* [TCS3472x Sensors](Tcs3472x/README.md)

### Barometers

* [BMP180 - barometer, altitude and temperature sensor](Bmp180/README.md)
* [BMx280 - Digital Pressure Sensors BMP280/BME280](Bmx280/README.md)
* [BrickPi3](BrickPi3/README.md)
* [Buzzer - Piezo Buzzer Controller](Buzzer/README.md)
* [Character LCD (Liquid Crystal Display)](CharacterLcd/README.md)
* [LPS25H - Piezoresistive pressure and thermometer sensor](Lps25h/README.md)
* [Sense HAT](SenseHat/README.md)

### Altimeters

* [BMP180 - barometer, altitude and temperature sensor](Bmp180/README.md)

### Thermometers

* [BMP180 - barometer, altitude and temperature sensor](Bmp180/README.md)
* [Cpu Temperature](CpuTemperature/README.md)
* [DHTxx - Digital-Output Relative Humidity & Temperature Sensor Module](Dhtxx/README.md)
* [HTS221 - Capacitive digital sensor for relative humidity and temperature](Hts221/README.md)
* [LM75 - Digital Temperature Sensor](Lm75/README.md)
* [LPS25H - Piezoresistive pressure and thermometer sensor](Lps25h/README.md)
* [Sense HAT](SenseHat/README.md)
* [SHT3x - Temperature & Humidity Sensor](Sht3x/README.md)
* [Si7021 - Temperature & Humidity Sensor](Si7021/README.md)

### Gyroscopes

* [BNO055 - inertial measurement unit](Bno055/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [Sense HAT](SenseHat/README.md)

### Compasses

* [BNO055 - inertial measurement unit](Bno055/README.md)
* [HMC5883L - 3 Axis Digital Compass](Hmc5883l/README.md)

### Lego related devices

* [BrickPi3](BrickPi3/README.md)

### Motor controllers/drivers

* [28BYJ-48 Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board](Uln2003/README.md)
* [DC Motor Controller](DCMotor/README.md)
* [Servomotor](Servo/README.md)

### Inertial Measurement Units

* [BNO055 - inertial measurement unit](Bno055/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [Sense HAT](SenseHat/README.md)

### Magnetometers

* [BNO055 - inertial measurement unit](Bno055/README.md)
* [HMC5883L - 3 Axis Digital Compass](Hmc5883l/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [Sense HAT](SenseHat/README.md)

### Liquid Crystal Displays

* [Character LCD (Liquid Crystal Display)](CharacterLcd/README.md)

### Hygrometers

* [DHTxx - Digital-Output Relative Humidity & Temperature Sensor Module](Dhtxx/README.md)
* [HTS221 - Capacitive digital sensor for relative humidity and temperature](Hts221/README.md)
* [Sense HAT](SenseHat/README.md)
* [SHT3x - Temperature & Humidity Sensor](Sht3x/README.md)
* [Si7021 - Temperature & Humidity Sensor](Si7021/README.md)

### Clocks

* [DS1307 - Realtime Clock](Ds1307/README.md)
* [DS3231 - Realtime Clock](Ds3231/README.md)
* [GoPiGo3](GoPiGo3/README.md)
* [GrovePi](GrovePi/README.md)

### Sonars

* [HC-SR04 - Ultrasonic Ranging Module](Hcsr04/README.md)

### Distance sensors

* [HC-SR04 - Ultrasonic Ranging Module](Hcsr04/README.md)
* [VL53L0X - distance sensor](Vl53L0X/README.md)

### Passive InfraRed (motion) sensors

* [HC-SR501 - PIR Motion Sensor](Hcsr501/README.md)
* [HMC5883L - 3 Axis Digital Compass](Hmc5883l/README.md)
* [HTS221 - Capacitive digital sensor for relative humidity and temperature ](Hts221/README.md)
* [LM75 - Digital Temperature Sensor](Lm75/README.md)
* [LPS25H - Piezoresistive pressure and thermometer sensor](Lps25h/README.md)
* [LSM9DS1 - 3D accelerometer, gyroscope and magnetometer](Lsm9Ds1/README.md)
* [MAX44009 - Ambient Light Sensor](Max44009/README.md)

### Motion sensors

* [HC-SR501 - PIR Motion Sensor](Hcsr501/README.md)

### Displays

* [Max7219 (LED Matrix driver)](Max7219/README.md)
* [RGBLedMatrix - RGB LED Matrix](RGBLedMatrix/README.md)
* [Sense HAT](SenseHat/README.md)
* [Solomon Systech Ssd1306 OLED display](Ssd13xx/README.md)
* [Ws28xx LED drivers](Ws28xx/README.md)

### GPIO Expanders

* [Mcp23xxx - I/O Expander device family](Mcp23xxx/README.md)
* [Mcp25xxx device family](Mcp25xxx/README.md)
* [MPR121 - Proximity Capacitive Touch Sensor Controller](Mpr121/README.md)
* [nRF24L01 - Single Chip 2.4 GHz Transceiver](Nrf24l01/README.md)
* [NXP/TI PCx857x](Pcx857x/README.md)
* [Pca95x4 - I2C GPIO Expander](Pca95x4/README.md)
* [Pca9685 - I2C PWM Driver](Pca9685/README.md)
* [RGBLedMatrix - RGB LED Matrix](RGBLedMatrix/README.md)
* [Sense HAT](SenseHat/README.md)
* [Servomotor](Servo/README.md)
* [SHT3x - Temperature & Humidity Sensor](Sht3x/README.md)
* [Si7021 - Temperature & Humidity Sensor](Si7021/README.md)

### CAN BUS libraries/modules

* [Mcp25xxx device family - CAN bus](Mcp25xxx/README.md)
* [SocketCan - CAN BUS library (Linux only)](SocketCan/README.md)

### Proximity sensors

* [MPR121 - Proximity Capacitive Touch Sensor Controller](Mpr121/README.md)

### Touch sensors

* [MPR121 - Proximity Capacitive Touch Sensor Controller](Mpr121/README.md)

### Wireless communication modules

* [nRF24L01 - Single Chip 2.4 GHz Transceiver](Nrf24l01/README.md)

### PWM libraries/modules

* [Pca9685 - I2C PWM Driver](Pca9685/README.md)
* [Software PWM](SoftPwm/README.md)
* [Solomon Systech Ssd1306](Ssd13xx/README.md)

### Joysticks

* [Sense HAT](SenseHat/README.md)

### Color sensors

* [TCS3472x Sensors](Tcs3472x/README.md)
* [Using MCP3008 (10-bit Analog to Digital Converter)](Mcp3008/README.md)
* [VL53L0X Sensor](Vl53L0X/README.md)

### LED drivers

* [Ws28xx LED drivers](Ws28xx/README.md)
</devices>

</categorizedDevices>

## Binding Distribution

Expand Down
1 change: 1 addition & 0 deletions src/devices/RGBLedMatrix/category.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
display
Loading

0 comments on commit 26b722c

Please sign in to comment.