Acties:
  • 0 Henk 'm!

Inleiding

Heb je je wel eens afgevraagd waarom er elke keer, als er weer een nieuwe GPIO computer wordt uitgebracht, de vraag wordt gesteld: "Wordt wiringPi al ondersteund?" wiringPi (oorspronkelijk geschreven door Gordon van de Raspberry Pi Foundation) heeft het voor elkaar gekregen dat wiringPi de standaard is geworden voor het gebruik van de GPIO in software voor kleine betaalbare computers. Het probleem is echter dat dit ervoor heeft gezorgd dat elke fabrikant zijn eigen wiringPi variant uitbrengt. Dat betekent dat elke versie nog steeds maar op één apparaat werkt. Software ontwikkelaars moesten allerlei trucs uithalen om toch alle verschillende apparaten te ondersteunen.

Dat is waar wiringX verandering in aan het brengen is.

Wat is wiringX

wiringX combineert alle wiringPi versies in één modulaire GPIO interface geschreven in C. wiringX herkent automatisch het apparaat waarop je programma draait en zal daaropvolgend de juiste GPIO mapping doen. Hierdoor kan je zonder problemen lezen, schrijven, interrupts verwerken en met I2C werken op alle ondersteunde apparaten.

Op dit moment werkt wiringX op de volgende apparaten:
  • Raspberry Pi (model A, A+, B en B+)
  • Banana Pi
  • Hummingboard
  • Radxa
wiringX wordt op dit moment actief gebruikt in pilight, een opensource domotica oplossing.

Mijn doel is om alle mogelijke vormen van GPIO interfacing onder te brengen in wirignX waardoor programma's standaard op al deze apparaten gaan werken

API

wiringX ondersteund op dit moment de volgende wiringPi functies:
  • wiringXSetup
  • pinMode
  • digitalWrite
  • digitalRead
  • delayMicroseconds
  • waitForInterrupt
  • wiringXISR
  • wiringXValidGPIO
  • wiringXI2CSetup
  • wiringXI2CRead
  • wiringXI2CReadReg8
  • wiringXI2CReadReg16
  • wiringXI2CWrite
  • wiringXI2CWriteReg8
  • wiringXI2CWriteReg16
  • wiringXI2CWriteReg16
Daarnaast ondersteund wiringX ook de volgende functies:
  • wiringXGC
  • wiringXPlatform
wiringX heeft dus ook een garbage collector geïntegreerd welke mist in wiringPi. Verder is te zien dat er maar een beperkt aantal wiringPi functies worden ondersteund. Dat komt hoofdzakelijk omdat ik niet meer nodig heb voor de ontwikkeling van pilight. Het doel is echter op wiringX zo compleet mogelijk te maken, maar daar heb ik de hulp van o.a. jullie voor nodig.

Samenwerkingsverbanden

Op dit moment hebben SolidRun (Hummingboard) en Radxa toegezegd hun module actief te ondersteunen. Het doel is om alle fabrikanten zover te krijgen zich actief aan te sluiten bij wiringX. De RaspberryPi en BananaPi modules worden op dit moment door mij en de pilight gemeenschap onderhouden.

Voor meer info zie: http://www.wiringx.org.

Doel van dit topic

Samen te werken met Tweakers om wiringX te testen, uit te breiden en van feedback te voorzien. Dit kan gaan over een falende werking, maar ook over het zoeken naar geheugen registers voor een bepaalde processor.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 22:09
Wow, dit klinkt wel als een heel gaaf project. Ik heb een aantal raspi's b(de oude) liggen, als jullie testers nog nodig hebben? Ik zat te twijfelen om een BananaPi te bestellen, dit is mss wel een goede reden ;)

Ik heb trouwens wel een vraag/idee. Kan er ook UDP/TCP communicatie toegevoegd worden aan de library? Ik weet dat dit niet in de originele library zit, maar ik kan mij voor stellen dat het ook binnen een domotica systeem steeds meer vraag is naar UDP/TCP communicatie. Zeker met de Arduino Yún of deze of deze modules in het achter hoofd.

Daarnaast heb ik de vraag, zijn de serieele libraries ook op een 'grote/x86' linux box te gebruiken?

Dit is zeker een bookmarkje waard.

Acties:
  • 0 Henk 'm!
Sockets worden al platform onafhankelijk afgeboden in c. Het zou dus overbodig zijn dat ook nog eens in wiringX te stoppen. Het gaat hier echt alleen over GPIO, i2c, SPI e.d.

Sinds de 2 dagen regel reageer ik hier niet meer