Commit Graph

68 Commits

Author SHA1 Message Date
Ayke van Laethem 6763521eff all: introduce a temperature type
This type should be used whenever a sensor (or actuator?) works with a
temperature. For example, this commit changes the signature:

    ReadTemperature() (int32, error)

to the following:

    ReadTemperature() (drivers.Temperature, error)

I believe this is much clearer in intent. It also makes it trivial to
introduce common conversions. For example, there are already Celsius()
and Fahrenheit() methods to convert to the given units, as a floating
point. More units could be added as needed, for example a CelsiusInt().
2021-10-21 23:25:42 +02:00
sago35 f2e5278965 image: add support for image/jpeg and image/png (#303)
* Copy from go1.17 image package
* Remove unnecessary files
* Reduce memory usage
* Add examples/ili9341/slideshow
* image: add ./image/README.md
* image: change convert2bin to . /cmd
* Makefile: add ./cmd to NOTEST
2021-09-18 12:18:02 +02:00
deadprogram b35496dd1b make: correct fmt-check to look in all subdirectories
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-09-16 18:31:33 +02:00
sago35 633f19c4ac rtl8720dn: add examples/rtl8720dn/mqtt* 2021-07-31 11:02:45 +02:00
sago35 6a4cd9d8e7 rtl8720dn: add examples/rtl8720dn/webserver 2021-07-24 09:44:17 +02:00
sago35 0bc3702dd0 rtl8720dn: add support for rtl8720dn 2021-06-27 16:33:32 +02:00
sago35 6b914f7af7 sdcard: add support for fatfs 2021-05-31 17:26:21 +02:00
sago35 d07ad40373 sdcard: add support for spi sdcard driver 2021-05-23 11:22:42 +02:00
Ayke van Laethem c765ef3970 servo: add driver using PWM
This PR adds support for controlling servos. For example, on the Arduino
Uno it should be able to control up to 6 servos jitter-free when using
all available PWM pins.

I haven't added support for setting a position in degrees, mainly
because this varies by servo and it's probably necessary to configure
the bounds in some way. Therefore, I added just SetMicroseconds. This
makes the API possible to use and leaves the possibility of adding a
SetPosition in the future.
2021-05-12 15:29:18 +02:00
akif999 428db3cd12 mcp2515: add support for mcp2515 CAN device 2021-05-12 13:37:02 +02:00
Kenneth Bell d1ace44754 aht20: add device 2021-05-12 09:21:52 +02:00
Kenneth Bell f65bce6d36 ina260: add new i2c device 2021-05-11 11:13:29 +02:00
sago35 761bcfc4db pcf8563: add support for pcf8563 real time clock 2021-05-10 14:35:01 +02:00
Alan Wang f7dc106fc8 tm1637: add support for tm1637 7-segment LED 2021-05-07 18:05:44 +02:00
Ayke van Laethem df343190c2 tone: add package for producing tones using the PWM interface 2021-05-05 14:49:23 +02:00
Quentin Smith 1345bc2161 p1am: documentation and example program 2021-04-02 17:23:38 +02:00
Quentin Smith 2cec480fb8 p1am: initial driver for the base controller
All the driver can currently do is initialize the base controller and enumerate
the connected modules.
2021-04-02 17:23:38 +02:00
deadprogram 75c15d5d0b build: correct error in Makefile from invalid merge
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-03-26 18:28:12 +01:00
Nerzal e1deb45aac add 4x4 keypad driver (#226)
add 4x4 keypad driver
2021-03-26 18:19:40 +01:00
Nerzal 84408279de add 4x4 keypad driver (#226)
add 4x4 keypad driver
2021-03-26 18:10:39 +01:00
pleomaxx3002 ee44900c25 DHTXX driver (#235)
dhtXX: add new driver for dht thermometer
2021-03-26 18:09:48 +01:00
Tobias Theel a771641339 max7219: add driver support 2021-03-26 18:03:15 +01:00
Roger Peppe ce5e443084 mcp23017: implement pin toggling
Also add an example for using multiple devices.
2021-01-20 12:56:22 +01:00
Roger Peppe edf9ba92be mcp23017: new driver for MCP23017 (I2C port expander) 2021-01-20 12:56:22 +01:00
Austen LeBeau c1c05cbef7 Add bmp388 support (#219)
bmp388: add support
2021-01-08 11:32:49 +01:00
deadprogram b6aa674b2a test: run unit tests against i2c drivers and any spi drivers without direct gpio
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-12-15 06:08:59 +01:00
Ayke van Laethem df64ce8f50 ws2812: make AVR support more robust
* Merge AVR support for Digispark and non-Digispark
* Fix the error "inline assembly requires more registers than available"
* Use a single file for all AVR targets, in a similar style as the
  Xtensa support.
2020-10-16 18:36:32 +02:00
Tim Boldt b1ae52d1b9 Add Waveshare 4.2in B/W e-paper driver (#183)
* waveshare-epd/epd4in2: Add Waveshare 4.2in e-paper driver
2020-08-25 18:57:13 +02:00
sago35 794a9c202f Fix smoke-test unless avr-gcc installed 2020-08-24 13:49:20 +02:00
Ron Evans af4efceac1 lis2mdl: add LIS2MDL magnetometer (#187)
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-08-20 13:21:39 +02:00
sago35 5a75c9c403 Add ILI9341 TFT driver (SPI) for ATSAMD2x (#174)
* ILI9341: Add ILI9341 SPI support for for ATSAMD2x
2020-08-03 12:42:17 +02:00
Ayke van Laethem 9130e61c55 bmi160: add initial support 2020-07-31 19:31:52 +02:00
Alan Wang 68963a1b42 Add Hd44780i2c driver (#173)
* hd44780i2c: add support for hd44780i2c LCD display.
2020-07-31 19:25:56 +02:00
Alan Wang 39f44ef478 lsm303agr (#162)
* lsm303agr: add support for lsm303agr digital compass
2020-07-01 16:59:25 +02:00
BCG f5e81e6a01 Added smoke tests for UDP functionality 2020-06-21 16:21:06 +02:00
Nerdmeister 1d09194bbc Added support for the Bosch BMP280 temperature and pressure sensor. (#158)
* bmp280: Added support for the Bosch BMP280 temperature and pressure sensor.
2020-06-21 16:16:29 +02:00
sago35 941ea4e28b ILI9341 TFT driver (SPI) (#153)
* ili9341: Add spidriver
2020-06-15 18:46:13 +02:00
Yannis Huber fd9b1ba89b Add SSD1351 OLED display driver (#146)
* ssd1351: Add SSD1351 driver
2020-04-24 07:30:50 +02:00
Daniel Esteban 04be2320b7 Added HC-SR04 ultrasonic distance sensor. (#143)
* Added HC-SR04 ultrasonic distance sensor.
2020-04-12 16:29:46 +02:00
BCG b1529dcf7a Low-level IO driver for serial flash memory via SPI and QSPI (#124)
* QSPI/SPI: flash memory functions
2020-04-11 17:59:58 +02:00
Daniel Esteban ebceed6014 AMG88xx thermal camera module 2020-03-17 12:11:03 +01:00
Jean François CASSAN c7cbd7c6cd Shiftregister implementation (#135)
* Basic support of SIPO shift register

* typo

* add example of shiftregister for arduino and nucleo

* Fix build flag for nucleof103rb

* Fix wrong data pin configuration

* Change README.md for Shift registers

* Add API for individual register's output pin

* Rewrite shift register example to show ShiftPin usage

* Fix target for shiftregister example smoke test

* Fix type in makefile

* Add shiftregister compatble IC

* Edit comment and readme
2020-03-04 18:48:06 +01:00
BCG fbe36b62fd Adding scroll functionality for ili9341 (#121)
* ili9341: Adding scroll functionality
2020-02-08 21:12:20 +01:00
Ron Evans 5f4806f0f9 ws2812: work-arounds to allow Digispark to control WS2812 LEDs
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-01-30 14:24:39 +01:00
BCG d43263f764 Adding driver for four-wire resistive touchscreen (#118)
* resistive: Adding driver for four-wire resistive touchscreen, as used on the Adafruit PyPortal.
2020-01-28 18:55:31 +01:00
BCG 6716bb6c0a ILI9341 TFT driver (#115)
* ILI9341: TFT display implementation
2020-01-07 20:11:46 +01:00
Ron Evans d5aa295b76 l9110x: add support for L9110x h-bridge motor driver
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-01-03 10:37:30 +01:00
Ron Evans c6e8af3057 l293x: added support for h-bridge motor controller
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-01-03 10:05:23 +01:00
BCG 1d0f04af6b Support for ADT7410 temperature sensor (#109)
* ADT7410: add support for i2c temperature sensor
2019-12-26 13:53:06 +01:00
Daniel Esteban adb0c2c261 added generic 8bit shift register (#107)
* shifter: added generic 8bit shift register driver with ShiftPin Pin-compatible GPIO interface
2019-12-22 21:32:49 +01:00