Iot Versions Save

This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

3.1

4 months ago

This is V3.1 of System.Device.Gpio and Iot.Device.Bindings. This release includes a few new bindings, support for new Raspberry Pi Models, and some bug fixes. Users of the AIS/NMEA0183 bindings are recommended to update asap due to an important safety issue fixed.

Important changes

New Contributors

Full Changelog: https://github.com/dotnet/iot/compare/3.0...3.1

3.0

9 months ago

This marks the 3.0 release of dotnet/iot. This is our third major release. The release included three packages which are available in NuGet.org today. Here is a link to them:

What's Changed

New Contributors

Full Changelog: https://github.com/dotnet/iot/compare/2.2...3.0

2.2

1 year ago

This marks the 2.2 release of dotnet/iot. This is our second minor release of 2.0. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added better handling of TaskCancelledException in Dispose method of LibGpiodDriver.
  • Added support for Raspberry pi 400
  • Fixed creation of driver for Raspberry Pi 4 cm
  • Fixed incorrect parameter ordering when throwing an IOException

Iot.Device.Bindings

  • Added an Arduino C# Compiler.
  • Added BiColorBargraph using Ht16k33
  • Fixed some namespaces issues for some of the bindings.
  • Fixed MifareCard WriteNdefMessage capacity check.
  • Added pull-down resistor support to KeyMatrix binding
  • Fixed channel comparison in Mcp342x binding.
  • Fixed Arduino binding performance for large SPI buffer transfers.
  • Fixed inverted timeout condition on Mfrc522 device binding.
  • Added encoder support to Seesaw device.
  • Removed ValueArray type which had a possible GC hole and adjusted DHT sensor family.
  • Updated telemetry sent from the Bno055Sensor.
  • Added support for several new bindings including:
    • WS2815B
    • Allwinner H616 and Orange Pi Zero 2
    • MPU6050
    • Radxa Rock Pi 4B Plus

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @Jimmys20 with 2 commits
  • @fadyanwar with 2 commits
  • @FloGs with 1 commit
  • @shaggygi with 3 commits
  • @HumJ0218 with 1 commit
  • @john-mills-nz with 1 commit
  • @Ellerbach with 1 commit
  • @Rdlprmpf with 1 commit
  • @pgrawehr with 6 commits
  • @serega404 with 1 commit
  • @tibel with 1 commit
  • @ZhangGaoxing with 1 commit
  • @efraimnewman with 1 commit
  • @jdbruner with 1 commit
  • @lpatalas with 1 commit
  • @sangyuxiaowu with 1 commit

2.1

2 years ago

This marks the 2.1 release of dotnet/iot. This is our first minor release of 2.0. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added support for new Raspberry Pi 4 board revision b03115.
  • Fixed handling of epoll_wait returning EINTR on SysFSDriver.
  • Fixed issue where we didn't allow pins to be already exported outside of the program.
  • Removed unnecessary package dependencies for non-Netstandard TFMs.

Iot.Device.Bindings

  • New transport layer for HardwareAccess
  • Removed ILI9341 SPI buffer range limit
  • Make Motorhat compatible with WaveShare Motor Driver Hat
  • Added support for several new Device Bindings including:
    • NMEA GPS/Sonar binding
    • HT1632
    • LP55231
    • SK6812-Strips

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @HumJ0218 with 2 commits
  • @ibebbs with 2 commits
  • @Mr-Bart-Simpson with 1 commit
  • @Rdlprmpf with 1 commit
  • @pgrawehr with 4 commits
  • @tibel with 3 commits

2.0

2 years ago

This marks the 2.0 release of dotnet/iot. This is our second major stable release. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Fix issue for SysFsDriver when callbacks registered events are not fired when unregistering all registered callbacks.
  • Added support for Raspberry Pi 4 and Zero 2 W

Iot.Device.Bindings

  • Fix issue with VirtualOutputSegment in order to write bytes in the correct order.
  • Fix issue with DCMotorWithStartStop
  • Adjusted the constructor of PN532 so that it can work with very similar devices.
  • Improved performance of Video device continuous capture
  • Fix miscellaneous issues in different device bindings.
  • Added SPI support for lcd interface
  • Added ability to extend the Arduino library externally.
  • Added debounce support for buttons.
  • Add class that supports OS-independent setting of the system clock
  • Added TryReadHumidity/TryReadTemperature to temperature sensors.
  • Added support for several new Device Bindings including:
    • Added Raspberry Pi build HAT
    • Sn74hc595 SpiDevice
    • FT232H device
    • Mcp960X device
    • Sensirion SHT4x and SCD4x devices
    • Button binding
    • MPU6886
    • BMM150
    • AXP192 and IP5306 - Power Management chips
    • Ili9341

Other Changes

  • Switched to target .NET Core 6.0 (deprecated 5.0 target), .NET Core 3.1 (deprecated 2.1 target), and NetStandard 2.0
  • Migrated to new AzDO tenant owned by DotNet Foundation, and switching signing certificates to be DotNet foundation-owned.
  • A lot of documentation cleanup.
  • Added markdown linter to the repo in order to have consistent readme docs.
  • Added package validation coverage to prevent accidental breaking changes.
  • Added an E2E sample with .NET Core IoT using Azure SDK and Certificates.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @antonfirsov with 1 commit
  • @CamSoper with 1 commit
  • @scalablecory with 2 commits
  • @Jimmys20 with 6 commits
  • @ikivanc with 1 commit
  • @TheZlodziej with 1 commit
  • @jantielens with 2 commits
  • @Ellerbach with 9 commits
  • @CrispyBit with 1 commit
  • @dotMorten with 2 commits
  • @nemunozgarcia with 1 commit
  • @pgrawehr with 6 commits
  • @mork2020 with 1 commit
  • @raffaeler with 1 commit
  • @StefanTischler with 1 commit
  • @forki with 1 commit
  • @zoekdestep with 1 commit
  • @CodedBeard with 2 commits
  • @will118 with 1 commit
  • @wdolek with 1 commit
  • @behroozbc with 1 commit
  • @fabiankropp with 1 commit
  • @jesseryoung with 1 commit
  • @wsad4ryba with 1 commit
  • @lpatalas with 1 commit

1.5

2 years ago

This marks the 1.5 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Improved handling of EINTR for libgpiod driver
  • SPI will disable CS line if it's not used (i.e. when controlling selection manually)
  • Allow for writing to pins when in input mode to allow changing value quickly when switching to output mode when using i.e. relays
  • Openning/closing pins will not affect its state if possible
  • Libgpiod will consume less CPU when using PinValueChangedEvent

Iot.Device.Bindings

  • Added Arduino Firmata protocol which allows to access Arduino protocols through USB
  • Added Board abstraction
  • Added GPIO drivers: RockchipDriver, OrangePi4Driver and NanoPiR2sDriver
  • Added Ultralight NFC card support
  • Added SensorHub board
  • Added support for displaying big characters on big LCD displays (20x4 or above)
  • Added SpiBusInfo which allows for reading information like buffer size
  • Improved initialization sequence for the CharacterLcd
  • Improved changing I2C address for VL53L0X
  • Bindings now use common logging provider rather than having their own conventions
  • Fixed multiple typos in argument and method names
  • Fixed few issues with HardwareMonitor

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @pgrawehr with 10 commits
  • @jBarrineau with 2 commits
  • @Ellerbach with 2 commits
  • @adrianstevens with 1 commit
  • @sylints with 1 commit
  • @thecaptncode with 1 commit
  • @RD-AP-PPT with 1 commit
  • @rschiefer with 1 commit
  • @Hubble1942 with 1 commit
  • @mstroppel with 1 commit
  • @ZhangGaoxing with 1 commit
  • @Jimmys20 with 1 commit
  • @aexhg with 1 commit
  • @smdn with 1 commit
  • @Alex-111 with 1 commit
  • @Jimmys20 with 1 commit

1.4

3 years ago

This marks the 1.4 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added ability to set alternate pin mode on Raspberry Pis.

Iot.Device.Bindings

  • Added attributes for devices which help with Azure Plug & Play scenarios.
  • Added several new device bindings
  • Fixes for several existing bindings
  • Added new GpioDrivers for Allwinner SoCs and Orange Pi Zero/Lite/Lite2
  • Added Arduino Firmata device support
  • Added a Generic logging infrastructure for bindings.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @amgarnier with 2 commits
  • @DazFahy with 1 commit
  • @SaDiablo with 1 commit
  • @henryshunt with 1 commit
  • @JeroenVandezande with 1 commit
  • @Ellerbach with 3 commits
  • @oliverchristen with 2 commits
  • @oraad with 1 commit
  • @pgrawehr with 5 commits
  • @rodrigobengoechea with 2 commits
  • @forki with 1 commit
  • @vornet with 1 commit
  • @wsad4ryba with 1 commit
  • @ZhangGaoxing with 1 commit

1.3

3 years ago

This marks the 1.3 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Add I2cBus
  • Improve detection of Raspberry PI boards

Iot.Device.Bindings

  • We now have a new unit from UnitsNet for RelativeHumidity which we have adopted
  • NFC cards improvements
    • NDEF support
    • MFRC522 support
    • PN532 SPI support
  • PiJuice UPS hat support
  • STUSB4500 support
  • Tsl256x support
  • KeyMatrix support
  • SoundDevice and VideoDevice support continuous recording
  • BMxx80 improvements
  • MPU9250 improvements
  • FT4222 improvements
  • Various documentation updates

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @Ellerbach with 7 commits
  • @DazFahy with 2 commit
  • @fehdem with 1 commit
  • @chrfin with 1 commit
  • @RobinTTY with 1 commit
  • @negativeeddy with 1 commit
  • @quigamdev with 1 commit
  • @HumJ0218 with 1 commit
  • @jmojiwat with 1 commit

Also special thanks for @pgrawehr for being very active on issues and PRs. He has now been included into our triage meetings.

1.2

3 years ago

This marks the 1.2 release of dotnet/iot. This is our third stable release. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Unsealed the GpioController class.
  • Fixed issue to detect Raspberry Pi 4 model 0b3112 & 0c3112.
  • Added support for Raspberry Pi Compute Module 3+.

Iot.Device.Bindings

  • Added RotaryEncoder Binding
  • Fixes on DHT sensor
  • Added device binding for AMG88xx infrared array sensor family.
  • Fixes to PN532 sensor

Other Changes

  • Updated to 5.0 Compilers and SDK.
  • Fixed consistency of Target Frameworks in projects.
  • Modernized the codebase to use latest C# language features.
  • Documentation updates.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @Ellerbach with 6 commits
  • @Frankenslag with 1 commit
  • @fehdem with 1 commit
  • @pgrawehr with 1 commit
  • @Richy1989 with 1 commit
  • @sensslen with 1 commit

1.1

3 years ago

This marks the 1.1 release of dotnet/iot. This is our second stable release and we expect that moving forward we will do a much faster cadence with releasing stable versions. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added .NET 5 support
  • Annotated library to use Nullable Reference Types.
  • Adapting to WinRT breaking change: https://github.com/dotnet/runtime/issues/35318
  • Added support for Mono
  • Removed RID-specific implementations for netstandard2.0
  • Improvements with interrupt handling and eventing APIs
  • Improvements on PWM performance and bugfixes.
  • Added support for more OSes by adding support to /dev/mem in case /dev/gpiomem is not available
  • Added support for Pull-up and pull-down input types on Linux drivers.
  • Added support for reading from output pins
  • Changed LibGpiodDriver to use process name as consumer name.
  • Added ! operator to PinValue

Iot.Device.Bindings

  • Added .NET 5 support
  • Annotated library to use Nullable Reference Types.
  • Added support for new bindings (many bindings were added so we suggest looking into our device listings)
  • Fixed issues with Mcp* bindings and Bmx* bindings
  • Added support for Bringing-your-own GpioController to most bindings that use Gpio
  • Fixed issue with 1-wire thermometer binding.
  • A lot of improvements on SoftwarePWM
  • Added CI coverage for top device bindings in order to easily catch regressions.
  • Added integration with Units.Net

Other Changes

  • Modernized codebase to use C# 9.
  • Added StyleCop support to provide better code-readability and consistency.
  • Added solution files for all bindings.
  • Added documentation for naming schemes used in the repo.
  • Moved all samples to .NET 5
  • Added discord chat

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

  • @arnoud-koolecontrols with 1 commit
  • @CamSoper with 1 commit
  • @DazFahy with 1 commit
  • @djaus2 with 2 commits
  • @dovissz with 1 commit
  • @Ellerbach with 36 commits
  • @eugecm with 2 commits
  • @famblard86 with 1 commit
  • @fehdem with 23 commits
  • @Fortinbra with 1 commit
  • @Frankenslag with 4 commits
  • @garciaolais with 3 commits
  • @gLes with 2 commits
  • @HakanL with 2 commits
  • @HumJ0218 with 4 commits
  • @Kash0321 with 1 commit
  • @leoncastellanos1 with 1 commit
  • @MaherJendoubi with 1 commit
  • @maloo Lorentzon with 1 commit
  • @MarkCiliaVincenti with 7 commits
  • @MaxMommersteeg with 1 commit
  • @microhobby with 2 commits
  • @mtripsky with 1 commit
  • @nahueltaibo with 3 commits
  • @NielZeeman with 1 commit
  • @pgrawehr with 37 commits
  • @R10Rasmus with 1 commit
  • @RobinTTY with 2 commits
  • @rubberduck203 with 1 commit
  • @shaggygi with 5 commits
  • @smdn with 3 commits
  • @stevedesmond-ca with 1 commit
  • @TobBrandt with 1 commit
  • @Tragetaschen with 1 commit
  • @wsad4ryba with 2 commits
  • @ZhangGaoxing with 3 commits