So, Leute, Platinenentwickler und Besteller:

Pünktlich zur Auslieferung der neuen Platine ist eine Library im RP6-Stil fertig.
Ich will ja nicht wesentlich langsamer sein als Fabian ...

Was kann die Lib für Fabians Platine:
Sie steuert alle Komponenten auf der Platine mit einfachen RP6-ähnlichen Befehlen an.
Beispiele:
EEPROM
I2C_EEPROM_writeByte(5, 128 ); -> Schreibt ein Byte (128 ) ins EEPROM an Speicherstelle 5
tmp = I2C_EEPROM_readByte(5); -> Liest das Byte aus dem EEPROM an Speicherstelle 5
BUZZER
soundBuzzer(Tone_Cis2, 300, 200); -> Spielt den Ton Cis 300ms lang und wartet danach 200ms
BUTTONS
tmp = getPressedButtonNumber(); -> Liest die Nummer (1..4) der gedrückten Taste ein
3,3 VOLT SENSOR
tmp = measure3V3(); -> Gibt die 3,3V Spannung auf der Platine aus.
TOUCH SENSOR
tmp = getTouch(); -> True, wenn der Touch Sensor berührt wurde.
TEMPERATUR SENSOR
tmp = TCN75_measure(); -> Gibt die Temperatur aus.
LEDS
setMultiIOLED1(1); -> LED1 einschalten
setMultiIOLEDs(0b0110); -> LEDs 2,3 ein und LEDs 1,4 aus.
Servos
setServo(1, pos); -> Setzt Servo1 auf Position pos
setServoPower(1); -> Power für die Servos einschalten
REAL TIME CLOCK (RTC)
DS1307_read(); -> Lesen der Uhrzeit, Datum aus der RTC
DS1307_write(); -> Schreiben von Uhrzeit, Datum in die RTC
SPANNUNGS- UND STROMSENSOR
LTC2990_measure(); -> Auslesen der Temperatur, Batteriespannung, Batteriestrom, VCC (5V)

Die Lib enthält noch viele weitere Befehle im RP6-Library Stil.
Ist insgesamt genauso "einfach" nutzbar, wie die RP6-Lib.

Dann gibt es noch je eine Demo für die Linienfolgerplatine und für die Bumper-Platine.
Beispiele der Funktionen:
Linienfolgerplatine (LFS)
tmp = getLFS(channel); -> Liest einen der CNY70 Sensoren aus.
setLFSPower(pwr); -> Schaltet die Power für die LFS ein-/aus.
Bumper-Platine
Bumper
tmp = getBUMPER(side); -> Liest den linken/rechten Bumper ein
task_BUMPERS(); -> Task Bumpers: Liest die Bumper im Hintergrund ein
SHARPS
tmp = getSHARPSensor(side); -> Liest den Entfernungswert des linken/rechten SHARP IR Sensors
setSHARPSPower(pwr); -> Schaltet die Power für die SHARP Sensoren ein-/aus
SRF02
tmp = SRF02_getFirmware(adr); -> Liest die Firmware-Version des SRF02 Ultraschallsensors mit der I2C-Adresse adr
tmp = SRF02_measure(adr, mode); -> Führt eine Entfernungsmessung durch.
SRF02_changeAdr(adr, newadr); -> Ändert die I2C-Adresse eines SRF02 (es können ja bis zu 6 angeschlossen werden!!)

Später machen wir noch Software für die EXTERN optional anschließbaren Sensoren ...

Das gabs hier noch nicht:
Eine Platine vom User für User, komplett Hardware und Software, an die (fast) alles angeschlossen werden kann, was an Aktoren und Sensoren für den RP6 oder auch für andere mobile Plattformen sinnvoll ist.

Ein tolles Projekt! Dank an Fabian, der das alles gepuscht und bis zur (Serien-)Reife gebracht hat (und mich ab und zu "leicht" angetrieben hat, endlich mit der Lib fertig zu werden ...)!