diff --git a/devices/apa102/doc.go b/devices/apa102/doc.go index 685d4e8..3b95c06 100644 --- a/devices/apa102/doc.go +++ b/devices/apa102/doc.go @@ -11,6 +11,10 @@ // This driver handles color intensity and temperature correction and uses the // full near 8000:1 dynamic range as supported by the device. // +// More details +// +// See https://periph.io/device/apa102/ for more details about the device. +// // Datasheet // // https://cpldcpu.files.wordpress.com/2014/08/apa-102c-super-led-specifications-2014-en.pdf diff --git a/devices/bmxx80/bmxx80.go b/devices/bmxx80/bmxx80.go index cc854f4..5521563 100644 --- a/devices/bmxx80/bmxx80.go +++ b/devices/bmxx80/bmxx80.go @@ -2,34 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package bmxx80 controls a Bosch BMP180/BME280/BMP280 device over I²C, or SPI -// for the BMx280. -// -// Datasheets -// -// The URLs tend to rot, visit https://www.bosch-sensortec.com if they become -// invalid. -// -// BME280: -// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-12.pdf -// -// BMP280: -// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001-19.pdf -// -// BMP180: -// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP180-DS000-12.pdf -// -// The font the official datasheet on page 15 is hard to read, a copy with -// readable text can be found here: -// -// https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf -// -// Notes on the BMP180 datasheet -// -// The results of the calculations in the algorithm on page 15 are partly -// wrong. It looks like the original authors used non-integer calculations and -// some nubers were rounded. Take the results of the calculations with a grain -// of salt. package bmxx80 import ( diff --git a/devices/bmxx80/doc.go b/devices/bmxx80/doc.go new file mode 100644 index 0000000..d1300bf --- /dev/null +++ b/devices/bmxx80/doc.go @@ -0,0 +1,37 @@ +// Copyright 2016 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package bmxx80 controls a Bosch BMP180/BME280/BMP280 device over I²C, or SPI +// for the BMx280. +// +// More details +// +// See https://periph.io/device/bmxx80/ for more details about the device. +// +// Datasheets +// +// The URLs tend to rot, visit https://www.bosch-sensortec.com if they become +// invalid. +// +// BME280: +// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-12.pdf +// +// BMP280: +// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001-19.pdf +// +// BMP180: +// https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP180-DS000-12.pdf +// +// The font the official datasheet on page 15 is hard to read, a copy with +// readable text can be found here: +// +// https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf +// +// Notes on the BMP180 datasheet +// +// The results of the calculations in the algorithm on page 15 are partly +// wrong. It looks like the original authors used non-integer calculations and +// some nubers were rounded. Take the results of the calculations with a grain +// of salt. +package bmxx80 diff --git a/devices/ds18b20/doc.go b/devices/ds18b20/doc.go new file mode 100644 index 0000000..d520509 --- /dev/null +++ b/devices/ds18b20/doc.go @@ -0,0 +1,26 @@ +// Copyright 2016 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package ds18b20 interfaces to Dallas Semi / Maxim DS18B20 and MAX31820 +// 1-wire temperature sensors. +// +// Note that both DS18B20 and MAX31820 use family code 0x28. +// +// Both powered sensors and parasitically powered sensors are supported +// as long as the bus driver can provide sufficient power using an active +// pull-up. +// +// The DS18B20 alarm functionality and reading/writing the 2 alarm bytes in +// the EEPROM are not supported. The DS18S20 is also not supported. +// +// More details +// +// See https://periph.io/device/ds18b20/ for more details about the device. +// +// Datasheets +// +// https://datasheets.maximintegrated.com/en/ds/DS18B20-PAR.pdf +// +// http://datasheets.maximintegrated.com/en/ds/MAX31820.pdf +package ds18b20 diff --git a/devices/ds18b20/ds18b20.go b/devices/ds18b20/ds18b20.go index 7a411dd..f98f6f3 100644 --- a/devices/ds18b20/ds18b20.go +++ b/devices/ds18b20/ds18b20.go @@ -2,23 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package ds18b20 interfaces to Dallas Semi / Maxim DS18B20 and MAX31820 -// 1-wire temperature sensors. -// -// Note that both DS18B20 and MAX31820 use family code 0x28. -// -// Both powered sensors and parasitically powered sensors are supported -// as long as the bus driver can provide sufficient power using an active -// pull-up. -// -// The DS18B20 alarm functionality and reading/writing the 2 alarm bytes in -// the EEPROM are not supported. The DS18S20 is also not supported. -// -// Datasheets -// -// https://datasheets.maximintegrated.com/en/ds/DS18B20-PAR.pdf -// -// http://datasheets.maximintegrated.com/en/ds/MAX31820.pdf package ds18b20 import ( diff --git a/devices/ds248x/doc.go b/devices/ds248x/doc.go new file mode 100644 index 0000000..002a968 --- /dev/null +++ b/devices/ds248x/doc.go @@ -0,0 +1,17 @@ +// Copyright 2016 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package ds248x controls a Maxim DS2483 or DS2482-100 1-wire interface chip +// over I²C. +// +// More details +// +// See https://periph.io/device/ds248x/ for more details about the device. +// +// Datasheets +// +// https://www.maximintegrated.com/en/products/digital/one-wire/DS2483.html +// +// https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html +package ds248x diff --git a/devices/ds248x/ds248x.go b/devices/ds248x/ds248x.go index f95283c..24563ad 100644 --- a/devices/ds248x/ds248x.go +++ b/devices/ds248x/ds248x.go @@ -2,13 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package ds248x controls a Maxim DS2483 or DS2482-100 1-wire interface chip over I²C. -// -// Datasheets -// -// https://www.maximintegrated.com/en/products/digital/one-wire/DS2483.html -// -// https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html package ds248x import ( diff --git a/devices/lepton/cci/cci.go b/devices/lepton/cci/cci.go index d46fd1b..b1b1694 100644 --- a/devices/lepton/cci/cci.go +++ b/devices/lepton/cci/cci.go @@ -5,17 +5,6 @@ // "stringer" can be installed with "go get golang.org/x/tools/cmd/stringer" //go:generate stringer -output=strings_gen.go -type=CameraStatus,command,FFCShutterMode,FFCState,ShutterPos,ShutterTempLockoutState -// Package cci declares the Camera Command Interface to interact with a FLIR -// Lepton over I²C. -// -// This protocol controls and queries the camera but is not used to read the -// images. -// -// Datasheet -// -// http://www.flir.com/uploadedFiles/OEM/Products/LWIR-Cameras/Lepton/FLIR-Lepton-Software-Interface-Description-Document.pdf -// -// Found via http://www.flir.com/cores/display/?id=51878 package cci import ( diff --git a/devices/lepton/cci/doc.go b/devices/lepton/cci/doc.go new file mode 100644 index 0000000..10818cc --- /dev/null +++ b/devices/lepton/cci/doc.go @@ -0,0 +1,14 @@ +// Copyright 2017 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package cci declares the Camera Command Interface to interact with a FLIR +// Lepton over I²C. +// +// This protocol controls and queries the camera but is not used to read the +// images. +// +// Datasheet +// +// https://www.flir.com/globalassets/imported-assets/document/flir-lepton-software-interface-description-document.pdf +package cci diff --git a/devices/lepton/doc.go b/devices/lepton/doc.go new file mode 100644 index 0000000..a99ec80 --- /dev/null +++ b/devices/lepton/doc.go @@ -0,0 +1,14 @@ +// Copyright 2017 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package lepton drives a FLIR Lepton Infra Red (IR) camera. +// +// More details +// +// See https://periph.io/device/lepton/ for more details about the device. +// +// Datasheet +// +// https://www.flir.com/globalassets/imported-assets/document/lepton-engineering-datasheet---with-radiometry.pdf +package lepton diff --git a/devices/lepton/lepton.go b/devices/lepton/lepton.go index daa4be8..0fa92d9 100644 --- a/devices/lepton/lepton.go +++ b/devices/lepton/lepton.go @@ -2,18 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package lepton drivers a FLIR Lepton. -// -// References -// -// Official FLIR reference: -// http://www.flir.com/cvs/cores/view/?id=51878 -// -// Product page: -// http://www.flir.com/cores/content/?id=66257 -// -// Datasheet: -// http://www.flir.com/uploadedFiles/OEM/Products/LWIR-Cameras/Lepton/Lepton%20Engineering%20Datasheet%20-%20with%20Radiometry.pdf package lepton import ( diff --git a/devices/lirc/doc.go b/devices/lirc/doc.go index 88119ba..d4b3b9b 100644 --- a/devices/lirc/doc.go +++ b/devices/lirc/doc.go @@ -5,50 +5,8 @@ // Package lirc implements InfraRed receiver support through native linux app // lirc. // -// Configuration +// More details // -// lircd MUST be configured via TWO files: /etc/lirc/hardware.conf and -// /etc/lirc/lircd.conf. -// -// See http://www.lirc.org/ for more details about daemon configuration. -// -// /etc/lirc/hardware.conf -// -// This file contains the interaction between the lircd process and the kernel -// driver, if any. This is the link between the physical signal and decoding -// pulses. -// -// /etc/lirc/lircd.conf -// -// This file contains all the known IR codes for the remotes you plan to use -// and convert into key codes. This means you need to "train" lircd with the -// remotes you plan to use. -// -// Keys are listed at -// http://www.lirc.org/api-docs/html/input__map_8inc_source.html -// -// Debugging -// -// Here's a quick recipe to train a remote: -// -// # Detect your remote -// irrecord -a -d /var/run/lirc/lircd ~/lircd.conf -// # Grep for key names you found to find the remote in the remotes library -// grep -R '' /usr/share/lirc/remotes/ -// # Listen and send command to the server -// nc -U /var/run/lirc/lircd -// # List all valid key names -// irrecord -l -// grep -hoER '(BTN|KEY)_\w+' /usr/share/lirc/remotes | sort | uniq | less -// -// Raspbian -// -// Please see documentation of package periph/host/rpi for details on how to set -// it up. -// -// Hardware -// -// A good device is the VS1838. Then you need device driver for hardware -// accelerated signal decoding, that lircd will then leverage to decode the -// keypresses. +// See https://periph.io/device/ir/ for more details about the driver, as it +// requires host configuration. package lirc diff --git a/devices/ssd1306/doc.go b/devices/ssd1306/doc.go new file mode 100644 index 0000000..ead20c5 --- /dev/null +++ b/devices/ssd1306/doc.go @@ -0,0 +1,35 @@ +// Copyright 2016 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package ssd1306 controls a 128x64 monochrome OLED display via a SSD1306 +// controller. +// +// The driver does differential updates: it only sends modified pixels for the +// smallest rectangle, to economize bus bandwidth. This is especially important +// when using I²C as the bus default speed (often 100kHz) is slow enough to +// saturate the bus at less than 10 frames per second. +// +// The SSD1306 is a write-only device. It can be driven on either I²C or SPI +// with 4 wires. Changing between protocol is likely done through resistor +// soldering, for boards that support both. +// +// Some boards expose a RES / Reset pin. If present, it must be normally be +// High. When set to Low (Ground), it enables the reset circuitry. It can be +// used externally to this driver, if used, the driver must be reinstantiated. +// +// More details +// +// See https://periph.io/device/ssd1306/ for more details about the device. +// +// Datasheets +// +// Product page: +// http://www.solomon-systech.com/en/product/display-ic/oled-driver-controller/ssd1306/ +// +// https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf +// +// "DM-OLED096-624": https://drive.google.com/file/d/0B5lkVYnewKTGaEVENlYwbDkxSGM/view +// +// "ssd1306": https://drive.google.com/file/d/0B5lkVYnewKTGYzhyWWp0clBMR1E/view +package ssd1306 diff --git a/devices/ssd1306/ssd1306.go b/devices/ssd1306/ssd1306.go index 53a6152..cd63904 100644 --- a/devices/ssd1306/ssd1306.go +++ b/devices/ssd1306/ssd1306.go @@ -2,32 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package ssd1306 controls a 128x64 monochrome OLED display via a SSD1306 -// controller. -// -// The driver does differential updates: it only sends modified pixels for the -// smallest rectangle, to economize bus bandwidth. This is especially important -// when using I²C as the bus default speed (often 100kHz) is slow enough to -// saturate the bus at less than 10 frames per second. -// -// The SSD1306 is a write-only device. It can be driven on either I²C or SPI -// with 4 wires. Changing between protocol is likely done through resistor -// soldering, for boards that support both. -// -// Some boards expose a RES / Reset pin. If present, it must be normally be -// High. When set to Low (Ground), it enables the reset circuitry. It can be -// used externally to this driver, if used, the driver must be reinstantiated. -// -// Datasheets -// -// Product page: -// http://www.solomon-systech.com/en/product/display-ic/oled-driver-controller/ssd1306/ -// -// https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf -// -// "DM-OLED096-624": https://drive.google.com/file/d/0B5lkVYnewKTGaEVENlYwbDkxSGM/view -// -// "ssd1306": https://drive.google.com/file/d/0B5lkVYnewKTGYzhyWWp0clBMR1E/view package ssd1306 // Some have SPI enabled; diff --git a/devices/tm1637/doc.go b/devices/tm1637/doc.go new file mode 100644 index 0000000..f675d52 --- /dev/null +++ b/devices/tm1637/doc.go @@ -0,0 +1,14 @@ +// Copyright 2016 The Periph Authors. All rights reserved. +// Use of this source code is governed under the Apache License, Version 2.0 +// that can be found in the LICENSE file. + +// Package tm1637 controls a TM1637 device over GPIO pins. +// +// More details +// +// See https://periph.io/device/tm1637/ for more details about the device. +// +// Datasheet +// +// http://olimex.cl/website_MCI/static/documents/Datasheet_TM1637.pdf +package tm1637 diff --git a/devices/tm1637/tm1637.go b/devices/tm1637/tm1637.go index 91e6952..8df7f40 100644 --- a/devices/tm1637/tm1637.go +++ b/devices/tm1637/tm1637.go @@ -2,11 +2,6 @@ // Use of this source code is governed under the Apache License, Version 2.0 // that can be found in the LICENSE file. -// Package tm1637 controls a TM1637 device over GPIO pins. -// -// Datasheet -// -// http://olimex.cl/website_MCI/static/documents/Datasheet_TM1637.pdf package tm1637 import (