Kategorie: Technologie

Artikel zu bes­timmten tech­nis­chen Aspek­ten.

  • Relaunch der Logima Webseite

    Relaunch der Logima Webseite

    Unsere Unternehmensweb­seite unter logima.net ist für Logi­ma nicht nur dig­i­tale Vis­itenkarte, son­dern oft auch ein früher Kon­tak­t­punkt für poten­zielle Kun­den.

    Viele Fir­men, die keine eigene große Mar­ketingabteilung haben, wer­den es ken­nen, die eigene Web­seite ist oft nicht im Fokus der Aufmerk­samkeit. Nach­dem unsere bish­erige Web­seite schon seit 2016 existiert, haben wir uns doch mal entschlossen, sie zu mod­ernisieren.

    Die beste­hende Web­site wurde dabei tech­nisch und inhaltlich über­ar­beit­et. Die Umstel­lung erfol­gte von ein­er klas­sis­chen HTML‑, CSS- und PHP-basierten Lösung hin zu ein­er mod­er­nen Umset­zung mit Word­Press und dem Bricks Builder, um dann in Zukun­ft zusät­zliche Infor­ma­tio­nen ein­fach einpfle­gen zu kön­nen.

    Im Mit­telpunkt stand dabei nicht nur eine visuelle Mod­ernisierung, son­dern vor allem die Frage: Wie kön­nen wir Logi­ma klar­er und ver­ständlich­er nach außen darstellen? Es ging also haupt­säch­lich auch um die Inhalte, die wir trans­portieren wollen.

    Weben­twick­lung ist zwar nicht unser Haupt­fokus. Den­noch haben wir den Relaunch selb­st umge­set­zt, da wir uns gerne damit beschäfti­gen und es uns ermöglicht, unsere eige­nen Ansprüche an Struk­tur, Tech­nik und Design direkt zu ver­wirk­lichen.

    Ausgangslage

    Die Inhalte der bish­eri­gen Web­seite waren teil­weise ver­al­tet oder nicht mehr ganz tre­f­fend und die Aktu­al­isierung und Pflege war nur im Quell­text möglich.

    Einen Ein­druck der alten Web­seite kann man in der Way­back­Ma­chine des Inter­net Archives bekom­men.

    Ziel des Relaunchs

    Im Fokus standen zwei Ziele:

    • Umstel­lung von HTML/PHP auf ein mod­ernes Word­Press-Sys­tem mit Bricks
    • Klare und ver­ständliche Darstel­lung von Logi­ma und unseren Leis­tun­gen

    Die Web­site sollte mod­ern­er, ein­fach­er pfleg­bar und zukun­ftssich­er aufge­baut sein.

    Technische Umsetzung

    Die neue Web­site wurde aus­ge­hend vom bish­eri­gen Design auf Basis von Word­Press und Bricks Builder neu erstellt.

    Wichtige technische Punkte:

    • Kom­po­nen­ten­basiert­er Auf­bau mit dem Bricks Builder
    • Glob­ale Styles für ein ein­heitlich­es Design­sys­tem
    • Saubere Tem­plate-Struk­tur für Seit­en und Lay­outs
    • Tren­nung von Lay­out (Builder) und Con­tent (Word­Press)
    • Opti­mierte, schlanke HTML-Struk­tur

    Damit ent­stand eine deut­lich mod­ernere und wart­bare tech­nis­che Basis.

    Ergebnis (siehe logima.net)

    Der Relaunch bringt eine deut­liche Verbesserung:

    • Wech­sel von HTML/PHP zu Word­Press
    • Mod­erne, kom­po­nen­ten­basierte, respon­sive Entwick­lung mit Bricks Builder
    • Bessere Über­sicht und ver­ständlichere Darstel­lung von Logi­ma und unseren Leis­tun­gen
    • Zukun­ftssichere Architek­tur für weit­ere Entwick­lun­gen
    • Bessere Wart­barkeit und Erweit­er­barkeit
    • Mehr Möglichkeit­en zur Kon­tak­tauf­nahme und Kun­de­nan­frage

    Mit dem Relaunch haben wir die Logi­ma-Web­seite nicht nur tech­nisch mod­ernisiert, son­dern auch inhaltlich neu aus­gerichtet. Unser Ziel war es, unsere Leis­tun­gen und Arbeitsweise klar­er und ver­ständlich­er darzustellen und gle­ichzeit­ig eine mod­erne, flex­i­ble Plat­tform zu schaf­fen.

    Diese Ver­jün­gungskur war dabei nur der erste Schritt, wir wollen die Plat­tform jet­zt nutzen um uns und unsere Dien­stleis­tun­gen noch bess­er zu präsen­tieren.

    Auch wenn Weben­twick­lung nicht unser Haupt­fokus ist, macht es uns Spaß, solche Pro­jek­te selb­st umzuset­zen – ins­beson­dere, wenn Tech­nik, Struk­tur und Design so direkt mit der eige­nen Unternehmen­si­d­en­tität ver­bun­den sind.

    Wir hof­fen, dass auch die Besuch­er fest­stellen, dass unser Webauftritt mod­ern und klar ist und Logi­ma authen­tisch repräsen­tiert wird

  • Embedded trifft Qualität: Unsere Kompetenzen in der STM32-Firmwareentwicklung

    Embedded trifft Qualität: Unsere Kompetenzen in der STM32-Firmwareentwicklung

    Immer wieder wer­den wir gefragt, was wir eigentlich bei Logi­ma so machen. “Gerätezen­tri­erte Soft­ware” ste­ht auf unser­er Web­seite — aber was steckt konkret dahin­ter?

    Dieser Beitrag gibt einen Ein­blick in ein Gebi­et, das bei uns in den let­zten Jahren immer mehr an Bedeu­tung gewon­nen hat: die pro­fes­sionelle Firmwa­reen­twick­lung für STM32-Mikro­con­troller.

    Hier eine beschrei­bung eines unser­er let­zten Pro­jek­te.

    Die Aufgabe: Firmware für ein Medizinprodukt

    Firmware zu schreiben, die auf einem Micro­con­troller läuft, ist eine tolle Sache. Firmware zu entwick­eln, die zuver­läs­sig in einem anspruchsvollen Umfeld – mit Mul­ti­thread-Betrieb, Echtzeitmes­sun­gen, mehreren Kom­mu­nika­tion­spro­tokollen und hohen Qual­ität­san­forderun­gen – ihren Dienst tut, ist eine ganz andere, aber dafür umso span­nen­dere Her­aus­forderung.

    Es muss auch nicht jede Soft­ware zer­ti­fiziert sein. Firmware, die in einem Medi­z­in­pro­dukt steckt, schon. Und auch das bieten wir an. Das bedeutet: Doku­men­tierte Architek­turentschei­dun­gen, nachvol­lziehbare Testver­fahren (inklu­sive Unit-Test), sta­tis­che Code­analyse — und das alles auf einem Mikro­con­troller mit 512 KB Flash und 128 KB RAM. Damit kann das Pro­dukt am Ende nach der Med­ical Device Reg­u­la­tion (MDR) zuge­lassen wer­den.

    Das klingt vielle­icht wieder­sprüch­lich, aber es ist eine Her­aus­forderung die wir gerne ange­hen.

    Die Plattform: STM32 mit ARM Cortex-M4

    Wir entwick­eln für den STM32G4 — einen leis­tungsstarken ARM Cor­tex-M4 mit 170 MHz, Hard­ware­fließkom­maein­heit (FPU) und erweit­erten Periph­eriemöglichkeit­en. Mit der STM32CubeIDE und dem ARM GCC Tool­chain entste­ht aus unserem C++-Quellcode eine fer­tige Binär­datei für den Micro­con­troller.

    Gle­ichzeit­ig nutzen wir Visu­al Stu­dio für die Entwick­lung — zum einen für die Unit-Test und automa­tisierten Sys­temtests und zum anderen wegen der besseren Erfahrung und Unter­stützung beim Schreiben des Codes (Intel­lisense und Co.).

    Echtzeitbetrieb mit FreeRTOS

    Embed­ded-Sys­teme sind sel­ten ein­fach. Sig­nale müssen gemessen, Pro­tokolle beant­wortet und Para­me­ter überwacht wer­den — gle­ichzeit­ig. Dafür nutzen wir FreeR­TOS über die CMSIS-RTOS V2-Schnittstelle.

    Threads, Mutexe, Queues, Sem­a­phoren und Stream­Buffer — das sind die Werkzeuge, mit denen wir die Neben­läu­figkeit hand­haben. Wir haben dabei klare Regeln: In Inter­rupts steckt nur min­i­male Logik. Die eigentliche Arbeit übernehmen Task-Queues. Crit­i­cal Sec­tions sind die Aus­nahme, nicht die Regel.

    C++20 — mit Augenmaß

    Wir schreiben die Firmware in C++20, da uns das echte Vorteile bringt: Les­barkeit, Wiederver­wen­dung, Test­barkeit.

    Gle­ichzeit­ig gel­ten klare Gren­zen: Keine Excep­tions (zu viel Over­head), kein unkon­trol­liertes STL (dynamis­che Alloka­tion). Dynamis­che Spe­icherver­wal­tung find­et auss­chließlich in der Ini­tial­isierungsphase statt — danach nicht mehr.

    Wir ori­en­tieren uns kon­se­quent an den C++ Core Guide­lines und nutzen die Guide­lines Sup­port Library (GSL) für mehr Typ- und Spe­ich­er­sicher­heit.

    Gle­ichzeit­ig nutzen wir C17 für für den HAL-nahen Plat­tform­code. Das ist eine bewusste, architek­tonisch begrün­dete Entschei­dung: Dort, wo C++ keine Vorteile bringt, bleibt es bei C. Und dort, wo mod­ernes C++ hil­ft — bei Typ­sicher­heit, Abstrak­tion oder Kapselung — nutzen wir es kon­se­quent.

    Kommunikation: Mehrere Protokolle, eine Firmware

    In unserem Pro­jek­tein­satz imple­men­tierten wir mehrere serielle Kom­mu­nika­tion­spro­tokolle — ein Lega­cy-ASCII-Pro­tokoll für Abwärt­skom­pat­i­bil­ität, ein mod­ernes binäres Pro­tokoll und einen Impulsmodus für Direk­tmes­sung. Die Firmware erken­nt und bedi­ent alle drei.

    Solche Mehrfach-Pro­tokol­lun­ter­stützung ist typ­isch für Mess­geräte, die in beste­hende Sys­tem­land­schaften inte­gri­ert wer­den müssen. Wir haben gel­ernt, wie man das sauber mod­u­lar auf­baut — ohne dass es zur Spaghet­ti-Architek­tur wird.

    Qualität, die dokumentiert ist

    Firmware für reg­ulierte Märk­te braucht Nach­weise. Wir liefern sie:

    • Unit-Tests mit GoogleTest, die direkt in Visu­al Stu­dio laufen
    • Inte­gra­tionstests, die mehrere Schicht­en durch­stechen
    • Sys­temtests auf echter Hard­ware — hochau­toma­tisiert, direkt aus der Kom­man­dozeile aus­führbar
    • Sta­tis­che Code­analyse mit den Microsoft Native Code Ana­lyz­ers, einge­bun­den in den Build-Prozess
    • Doxy­gen-Doku­men­ta­tion für alle rel­e­van­ten Schnittstellen
    • Build-Serv­er die automa­tisiert den Code com­pilieren und die Tests aus­führen, um sicherzustellen, dass Änderun­gen auch auf anderen Sys­te­men nachvol­lziehbar funk­tion­ieren.

    Jede Entschei­dung, die die Architek­tur bee­in­flusst, wird als Archi­tec­ture Deci­sion Record (ADR) fest­ge­hal­ten. So weiß jed­er im Team — und auch zukün­ftige Entwick­ler — warum etwas so ist, wie es ist.

    Was uns dabei wichtig ist

    Embed­ded-Entwick­lung ist im Kern nichts anderes als Soft­wa­reen­twick­lung — mit densel­ben Anforderun­gen an Wart­barkeit, Tests und Qual­ität, nur unter deut­lich engeren Rah­menbe­din­gun­gen.

    Unser Ansatz: solides Soft­ware-Handw­erk in die Embed­ded-Welt zu brin­gen. Mit klar­er Struk­tur, prag­ma­tis­ch­er Diszi­plin und dem Anspruch, Code zu hin­ter­lassen, den wir auch in mehreren Jahren noch ver­ste­hen.


    Übri­gens set­zen wir auch in anderen Soft­ware­pro­jek­ten mit kleineren Con­trollern Qual­itäts­stan­dards um, beispiel­sweise mith­il­fe von Unit-Tests, auch wenn wir nur C und nicht C++ als Pro­gram­mier­sprache nutzen.


    Sie entwick­eln ein Gerät und braucht jeman­den, der die Firmware dazu schreibt? Melden Sie sich — wir freuen uns auf das Gespräch: logima.net/contact

  • 🐦 Ein neues Projekt, diesmal #Firmwar…

    🐦 Ein neues Projekt, diesmal #Firmwar…

    Ein neues Pro­jekt, dies­mal mit einem , wurde diese Woche von uns fer­tig gestellt. 🎉🥳

    LEDs blinken und gehen, je nach­dem was auf einem seriellen Bus passiert, an und aus. 😃

  • 🐦 Wie groß ist wohl der Datendurchsat…

    🐦 Wie groß ist wohl der Datendurchsat…

    Wie groß ist wohl der Daten­durch­satz der AT-#Firmware wenn der @ESP32 als WiFi-Bridge einge­set­zt wird? Lukas find­et es her­aus!