Firmware-Entwicklung für Simracing
Der Kunde
Ein Unternehmen, das Hardwareprodukte für Rennsimulationen entwirft und herstellt und Software zur Verbesserung der Fahrfähigkeiten entwickelt.
Die Herausforderung
Der Kunde wandte sich an uns, um die Firmware für seine Simracing-Geräte zu entwickeln und zu verbessern.
Die Lösung
Unsere Softwareentwickler haben folgende Aufgaben der Firmwareentwicklung für verschiedene Produkte unseres Kunden gelöst:
- Button Plate. Wir haben die Firmware für ein High-End-Lenkrad neu entwickelt. Das Button Plate verwendete zwei MCU, eine für allgemeine Zwecke und eine für die BLE-Steuerung, um eine USB- und drahtlose Verbindung zu einem PC zu ermöglichen. Die Firmware wandelte physische Eingaben von Tasten und Drehgebern in logische Ausgaben um, die vom Betriebssystem verwendet werden konnten. Um eine niedrige Verzögerungsrate und eine effiziente Akkulaufzeit zu gewährleisten, hat unser Team für beide MCU Stromsparmodi implementiert. Das Gerät ist außerdem in der Lage, Benutzerkonfigurationen und Statistiken für Analyse- und Verbesserungszwecke zu speichern.
- Wheelbase. Die Wheelbase bietet ein realistisches Force-Feedback, um die von echten Rennwagen erzeugten Kräfte zu simulieren. In Zusammenarbeit mit unserem Kunden haben wir kritische Fehler behoben und neue Force-Feedback-Effekte hinzugefügt, die das Benutzererlebnis verbessern.
- Pedale. Mit den Pedalen werden Gas, Bremse und Kupplung gesteuert. Unser Team hat die Stabilität der Firmware verbessert und Konfigurationsoptionen, einschließlich einer Kalibrierungsfunktion, hinzugefügt, um das Benutzererlebnis zu erhöhen.
- SDK. Unser Kunde hatte bereits ein Konfigurationstool für seine Geräte, aber es war schwierig, die Wartung durchzuführen und neue Funktionen hinzuzufügen. Wir haben ein neues SDK entwickelt, um eine flexible und einfach zu wartende Lösung anzubieten.
Dieses aktualisierte SDK bietet nun die folgenden Vorteile:
- Es kommuniziert mit den Geräten und bietet eine generische API für die Interaktion.
- Es bietet Aufwärts- und Abwärtskompatibilität durch die Verwendung eines Schemas auf der Geräteseite.
- Es verwendet Textparameter im aufrufenden Code, was das Hinzufügen neuer Funktionen erleichtert.
Folgende Technologien haben wir in diesem Projekt verwendet:
- C, C++
- CMake, make
- ST HAL, ST CMSIS
- HIDAPI, protobuf, zlib
- SWIG
Der geschäftliche Nutzen
Wir haben unseren Kunden aus der Simracing-Branche dabei unterstützt, die Firmware zu verbessern und das Benutzererlebnis für eine Reihe von High-End-Produkten zu steigern, um den Umsatz und die Kundenzufriedenheit zu erhöhen.
Zu diesem Zweck haben wir die Firmware neu geschrieben, Fehler behoben und dem Radstand ein hochwertiges Force-Feedback hinzugefügt, um die Benutzerfreundlichkeit zu verbessern, die Stabilität zu erhöhen und Konfigurationsfunktionen hinzuzufügen.
Unser Kunde schätzte unser Fachwissen, die termingerechte Lieferung, die angenehme Kommunikation und den proaktiven Ansatz bei der Entwicklung technischer Lösungen.
Dank unseres Engagements kann der Kunde nun eine flexible Konnektivität über USB und BLE anbieten, die sich durch eine hohe Aktualisierungsrate mit minimaler Verzögerung, geringen Stromverbrauch und längere Akkulaufzeit auszeichnet.
Der Kunde ist optimistisch und will mit einer neuen Produktlinie, die mit unserer technischen Unterstützung entwickelt wurde, in den Massenmarkt einsteigen.