Neue Zephyr-Kerne für Arduino, bionisch inspirierter Multikopter und Softwareupdates

OP (Firma: Tamoggemon Holding k.s.) #7921246
Lesenswert?

Im Bereich der Embeddedsoftware geht es hoch her: neben Updates von Rust und Debian gab es in Sachen RISC-V-Linux eine durchaus lesenswerte Unmutsäußerung von Linus Thorvalds. Im Hause Raspberry Pi expandiert man in Richtung Compliance-Serviceprovider, während Silicon Labs neue Bluetoothchips lanciert.

IEEE: bionisch inspirierter Monokopter als Drohnen-Alternative

Egal ob zivil oder militärisch: am Multikopter führt in Sachen UAV im Allgemeinen kein Weg vorbei. Das bei IEEE Robotics unter einer Open Access-Lizenz veröffentlichte Paper “Design and Optimization of a Samara-Inspired Lightweight Monocopter for Extended Endurance” möchte in diesem Bereich Disruption entfalten. Spezifischerweise schlägt es – wie in den Abbildungen gezeigt – einen bionisch inspirierten Monokopter vor.

Bildquelle: https://ieeexplore.ieee.org/document/11018367

Über die Leistungsdaten des mit 32 Gramm zugegebenermaßen nicht sonderlich schweren Prototypen vermeldet man Vielversprechendes:

1
With a
2
takeoff weight of 32 grams, the hovering power consumption
3
of the optimized configuration is around 3.5 w, resulting in
4
a PL as high as 9.1 g/w. Comparing to existing prototypes
5
listed in Table I, where the highest efficiency is 8 g/w [20], the
6
proposed robot is markedly higher than other types of vehicles,
7
including multirotors, ornithopters, and self-rotary wings

MIPI – I3C-Spezifikation in Version 1.2 nun auch für Nicht-Mitglieder verfügbar

Das hinter dem I2C-Nachfolger I3C stehende MIPI-Konsortium bietet seine Standards – einige Zeit nach dem Erscheinen der nur für zahlende Mitglieder zugänglichen Vollversion – zwecks maximaler Breitenwirkung auch als freie Basisvariante an. Soeben erfuhr diese ein Update auf Version 1.2.

Bildquelle: https://www.mipi.org/specifications/i3c-sensor-specification?

Im Hintergrund gab es dabei vor Allem Restrukturierungen, um die Spezifikationsdokumente klarer zu gestalten:

1
Version 1.2 reorganizes the specification, with separate sections for mandatory and optional features that can be implemented based on application needs.

Arduino – aktualisierter Arduino Core mit neuen Funktionen

ARM’s Entscheidung, MBED abzukündigen, traf Arduino besonders hart – hatte man doch entschieden, dieses RTOS in so gut wie allen fortgeschrittenen Arduino-Cores zu verwenden. Schon vor einiger Zeit entschied man sich für Zephyr als Alternative; nun gibt es eine aktualisierte technische Preview. Als Highlights betonen die Arduino-Entwickler erstens die Aktualisierung der verwendeten Zephyr-Version und zweitens das Hinzufügen von Unterstützung für einige bisher nur unter MBED implementierte Peripheriegeräte:

1
    Updated Zephyr to v4.2.0
2
    Added Opta variant
3
    Added SPI Wire PWM and ADC on Portenta H7
4
    GC2145 Camera support
5
    Added Wi-Fi® and Bluetooth® Low Energy on Portenta C33
6
    GIGA Display Shield support in progress with community contributions
7
    And many more fixes! Explore all in the official release note

Wer eines der in der folgenden Liste genannten Boards besitzt, kann unter https://blog.arduino.cc/2025/08/06/updated-arduino-cores-with-zephyros-beta/ Instruktionen zur Inbetriebnahme der Betaversion finden:

1
    GIGA R1 WiFi
2
    Opta
3
    Portenta H7
4
    Portenta C33
5
    Nano 33 BLE

Raspberry Pi Global Market Access als Service zur Erfüllung von (EU-)IComplianceanforderungen

Regierungseingriffe führen so gut wie immer dazu, dass “Compliance-Serviceprovider” auftauchen und Unternehmen bei der Bewältigung der Zusatzarbeit helfen. Die immer für einen politisch korrekten Rülpser zu habenden Uptoniten lancieren nun einen neuen Dienst, der von EU-CRA und Co zu profitieren sucht.

Bildquelle: https://www.raspberrypi.com/news/navigating-the-eus-new-radio-equipment-directive-how-raspberry-pi-provides-an-industrial-advantage/

Spezifischerweise bewirbt man den Dienst folgendermaßen:

1
By leveraging the pre-existing regulatory compliance of the Raspberry Pi platform, companies can build secure, reliable, and market-ready products with greater efficiency and confidence, ensuring they meet the evolving demands of both customers and regulators. And to help our customers go to market in jurisdictions that dont recognise modular certification or that restrict its application, our experienced in-house GMA team can manage the approval process from end to end.

Silicon Labs BG22L / BG24L – mehr Entwicklerinformationen verfügbar

Mit dem EFR32BG22L bietet Silicon Labs ein preiswertes SoC mit Bluetooth 5.4 an; der EFR32BG24L implementiert Bluetooth 6.0, unterstützt Channel Sounding und verdoppelt die Geschwindigkeit des Cortex-M33-Kerns auf 78 MHz. Ab Sofort gilt, dass für beide Chips zusätzliche Dokumentation zur Verfügung steht. Die unter den beiden Screenshots platzierten URLs liefern Detaildaten.

Bildquelle: https://www.silabs.com/wireless/bluetooth/efr32bg22l-series-2-socs?source

Bildquelle: https://www.silabs.com/wireless/bluetooth/efr32bg24l-series-2-socs?source

Seeed: XIAOML Kit als Hardware-Bausatz zu AI-Lehrbuch

Das unter der URL https://www.mlsysbook.ai/ bereitstehende und bald bei MIT Press als Printbuch erscheinende Lehrwerk bekommt im Hause Seeed Studio nun ein Hardwareoffert zur Seite gestellt. Die wie in der Abbildung gezeigt auf einem ESP32-S3 basierende Platinenkombination soll Käufer dabei zum Nachvollziehen der meisten im Werk demonstrierten Übungen befähigen.

Bildquelle, beide: https://www.seeedstudio.com/The-XIAOML-Kit.html

Debian 13 mit offizieller RISC/V64-Unterstützung erschienen

Debian – die Linuxdistribution ist unter Anderem Basis von Raspberry Pi OS – erschien soeben in Version 13. Die folgende Abbildung gibt einen groben Überblick der neu hinzugefügten Funktionen.

Bildquelle: https://www.debian.org/releases/trixie/release-notes/

Wie immer gilt, dass ein Update von Raspberry Pi OS über kurz oder lang bereitstehen sollte. Vor Upgrades von Produktivsystemen gilt, dass ein Komplettbackup auf jeden Fall anzuraten ist.

RISC-V-Linux: Änderungen im Kernel 6.17 wegen mangelnder Codequalität abgelehnt

Ursprünglich sollte Linux 6.17 verschiedene Erweiterungen für RISC-V mitbringen. In einem Post auf der Mailingliste verkündet Linus Thorvalds nun nach folgendem Schema deren Ablehnung und begründet dies – unter Anderem – mit mangelnder architekturaler Qualität des Codes:

1
This adds various garbage that isn't RISC-V specific to generic header files.
2

3
And by "garbage" I really mean it. This is stuff that nobody should
4
ever send me, never mind late in a merge window.
5

6
Like this crazy and pointless make_u32_from_two_u16() "helper".
7

8
That thing makes the world actively a worse place to live. It's
9
useless garbage that makes any user incomprehensible, and actively
10
*WORSE* than not using that stupid "helper".
11

12
If you write the code out as "(a << 16) + b", you know what it does
13
and which is the high word. Maybe you need to add a cast to make sure
14
that 'b' doesn't have high bits that pollutes the end result, so maybe
15
it's not going to be exactly _pretty_, but it's not going to be wrong
16
and incomprehensible either.
17

18
In contrast, if you write make_u32_from_two_u16(a,b) you have not a
19
f%^5ing clue what the word order is. IOW, you just made things
20
*WORSE*, and you added that "helper" to a generic non-RISC-V file
21
where people are apparently supposed to use it to make *other* code
22
worse too.

Rust 1.89 verfügbar, Unterstützung für Loongson beginnt

Das Rust-Entwicklerteam hat soeben unter der URL https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/ die Verfügbarkeit von Version 1.89.0 der Sprache vermeldet. Vor Allem wurden einige APIs stabilisiert und Features für x86-Prozessoren hinzugefügt. Interessant ist außerdem eine Anpassung im Bereich der unterstützten Plattformen:

1
Platform Support
2
     x86_64-apple-darwin is in the process of being demoted to Tier 2 with host tools 
3
     Add new Tier-3 targets loongarch32-unknown-none and loongarch32-unknown-none-softfloat

IOCCC – International Obfuscated C Code Contest 2024

Die flexible Sprachspezifikation von C bringt uns einen unregelmäßig stattfindenden Wettberwerb, in dem verschiedenste Entwickler versuchen, so verwirrend wie möglich aufgebauten C-Code ins Rennen zu schicken (siehe https://www.ioccc.org/2024/). Ein Beispiel findet sich unter https://www.ioccc.org/2024/kurdyukov1/index.html – was der gezeigte Code tut, ist durch Kompilation (in einer VM) herauszufinden:

1
#include <time.h>
2
#include <stdio.h>
3

4
        a,b=44,x,
5
     y,z;main()  {!a
6
   ?a=2551443,x=    -b
7
  ,y=2-b,z=((time     (
8
 0)-592531)%a<<9)/     a
9
 :putchar(++x>=a?x     =
10
 -b,y+=4,10:x<0?x=     x
11
 *x+y*y<b*b?a=1-x,     -
12
  1:x+1,32:"#."[(     x
13
   <a*(~z&255)>>    8)
14
     ^z>>8]),y>  b?0
15
        :main();}
Angehängte Dateien:

Kommentare

#7921283
Lesenswert?

And by "garbage" I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.

Wo er recht hat, da hat er recht. Manchmal denke ich mit Schrecken an die Zukunft wenn er mal keinen Bock mehr hat da alles gerade zu ruecken und die Pfuscher mit BWL Hintergrund alles kaputt machen.

Vanye

#7921309
Lesenswert?

Vanye R. schrieb:

And by "garbage" I really mean it. This is stuff that nobody

should

ever send me, never mind late in a merge window.

Wo er recht hat, da hat er recht.

Mir persönlich fallen selbst erklärende Funktionsnamen mit gut gewählten Parameternamen leichter als „(a << 16) + b“ und mein Editor zeigt sie mir auch noch an.

Manchmal denke ich mit Schrecken an die Zukunft wenn er mal keinen Bock mehr hat da alles gerade zu ruecken

Dann wird sich halt zeigen ob er in der Lage war, ein langfristig tragfähiges Projekt aufzubauen oder ob er einfach nur ein sehr guter und fleißiger Entwickler mit unterdurchschnittlicher Sozialkompetenz war.

und die Pfuscher mit BWL Hintergrund alles kaputt machen. Vanye

Sagt mehr über Sie aus als über die BWLer. Noch eine schone Restwoche.

(Firma: Schweigstill IT) Persönliche Seite #7921329
Lesenswert?

Alexander schrieb:

Dann wird sich halt zeigen ob er in der Lage war, ein langfristig tragfähiges Projekt aufzubauen

Das hat er schon demonstriert. Milliarden Geräte und Rechner auf Linuxbasis sind schon ein starkes Indiz. Und die Erstveröffentlichung des Linux-Kernels erfolgte 1991, d.h. vor 34 Jahren.

mit unterdurchschnittlicher Sozialkompetenz war.

Linus Torvalds ist lediglich kein Speichellecker und Schmierlappen, sondern verwendet exakt die richtige Ausdrucksweise. Leider wird so etwas heute von Minderleistern gerne als mangelnde Sozialkompetenz dargestellt.

Und mir ist es auch völlig egal, ob das irgendein Sozialschwurbler gut oder schlecht findet.

#7921336
Lesenswert?

Vanye R. schrieb:

And by "garbage" I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.

Wo er recht hat, da hat er recht. Manchmal denke ich mit Schrecken an die Zukunft wenn er mal keinen Bock mehr hat da alles gerade zu ruecken und die Pfuscher mit BWL Hintergrund alles kaputt machen.

Vanye

Ich weiß zwar nicht was BWL mit Linux zu tun hat, schon recht nicht was Code schreiben mit BWL zu hat, aber der Kern deines Gedankens um Linus ist schon erlaubt. Eine Urlaubsvertretung scheint es nicht zu geben. Klar wenn er allein als letzte Instanz Entscheidungen trifft, muss er mit niemanden darüber diskutieren. Er legt es eben fest und gut ist. Kleiner Diktator. :-) Bisher waren seine Entscheidungen immer gut und richtig, was ich so mitbekommen habe. Ich hoffe das im Hintergrund jedoch vertrauensvolle Leute zur Seite stehen die es in seinem Sinne weiterführen, falls er, aus welchen Gründen auch immer, irgendwann, wir hoffen es nie, aber falls doch, nicht mehr in der Lage wäre seine Funktion auszufüllen. Wobei ich denke es ist seine Lebensaufgabe die er bis zum letzten Tag durchziehen wird. Ich staune jedoch immer wieder wie gut die "Code Filterung" funktioniert, wenn man so am Rande immer einmal wieder liest, was da schon alles untergejubelt versucht wurde. Das System scheint zu funktionieren.

#7921338
Lesenswert?

Hallo,

soll das wirklich C sein? Ohne Datentypen?

1
#include <time.h>
2
#include <stdio.h>
3
        a,b=44,x,
4
     y,z;main()  {!a
5
   ?a=2551443,x=    -b
6
  ,y=2-b,z=((time     (
7
 0)-592531)%a<<9)/     a
8
 :putchar(++x>=a?x     =
9
 -b,y+=4,10:x<0?x=     x
10
 *x+y*y<b*b?a=1-x,     -
11
  1:x+1,32:"#."[(     x
12
   <a*(~z&255)>>    8)
13
     ^z>>8]),y>  b?0
14
        :main();}
#7921353
Lesenswert?

Ich weiß zwar nicht was BWL mit Linux zu tun hat, schon recht nicht was Code schreiben mit BWL zu hat, aber der Kern deines Gedankens um Linus

Ganz einfach, bei Linus ist ein Source fertig wenn er fertig ist, woanders ist er fertig wenn das Projektmanagement sagt das die Zeit fuer das Entwicklungsprojekt abgelaufen ist und die Software so gut holpert das bei der Abnahme am Schluss nix zu dolles auffaellt. Es sind noch 100 Fehler im Bugtracking? So schlimm das sie dem Kunden nicht sofort ins Auge springen? Dann egal. Und weil er weiss das er da wohl den Rest seines Lebens dran arbeiten wird, wird er wohl auf eine bestimmte Codequalitaet wert legen. Es gibt also einen Druck zu Qualitaet hin und nicht zu fertig werden.

Vanye

OP (Firma: Tamoggemon Holding k.s.) #7921374
Lesenswert?

Vanye R. schrieb:

And by "garbage" I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.

Wo er recht hat, da hat er recht. Manchmal denke ich mit Schrecken an die Zukunft wenn er mal keinen Bock mehr hat da alles gerade zu ruecken und die Pfuscher mit BWL Hintergrund alles kaputt machen.

Vanye

Hallo Vanye, oh ja. Lunduke Journal und d anisch lassen einen kleinen Einblick zu, was uns dann droht.

Tam

OP (Firma: Tamoggemon Holding k.s.) #7921376
Lesenswert?

Andreas S. schrieb:

Alexander schrieb:

. . .

mit unterdurchschnittlicher Sozialkompetenz war.

Linus Torvalds ist lediglich kein Speichellecker und Schmierlappen, sondern verwendet exakt die richtige Ausdrucksweise. Leider wird so etwas heute von Minderleistern gerne als mangelnde Sozialkompetenz dargestellt.

Und mir ist es auch völlig egal, ob das irgendein Sozialschwurbler gut oder schlecht findet.

Leider sitzen die mittlerweile in Kohorten in der Linux Foundation, etc.

#7921392
Lesenswert?

Leider sitzen die mittlerweile in Kohorten in der Linux Foundation, etc.

Ich wuerde das nicht so extrem sehen. Keine Ahnung wie die Finnen so drauf sind, aber ich denke das ist oft ein Mentalitaetsproblem. Als Deutscher bis du z.B oft von Amis genervt wo immer alles "great" und "awesome" ist egal, wie kacke, umgekehrt wird beleidigt gekuckt wenn man fuer Deutsche "normal nett" ist. Japaner sind aehnlich drauf, Chinesen scheinen mir noch direkter wie Deutsche zu sein. Da ist selbst dann Konfliktpotential gegeben wenn die alle nur nett sein wollen. :-)

Ausserdem finde ich es interessant welchen bemerkenswert Qualitaetsstandard bei Linux der Kernel hat und wie extrem viel schlechter es eine Etage tiefer in der Libarieverwaltung ueber Distributionen hinweg laeuft. Da ist es naemlich ploetzlich schlimmer wie bei Windows auch wenn man das kaum glauben mag. Von daher ist der harte Besen bei Linux projektfoerderlich.

Vanye

#7921394
Lesenswert?

Vanye R. schrieb:

Ich weiß zwar nicht was BWL mit Linux zu tun hat, schon recht nicht was Code schreiben mit BWL zu hat, aber der Kern deines Gedankens um Linus

Ganz einfach, bei Linus ist ein Source fertig wenn er fertig ist, woanders ist er fertig wenn das Projektmanagement sagt das die Zeit fuer das Entwicklungsprojekt abgelaufen ist und die Software so gut holpert das bei der Abnahme am Schluss nix zu dolles auffaellt. Es sind noch 100 Fehler im Bugtracking? So schlimm das sie dem Kunden nicht sofort ins Auge springen? Dann egal. Und weil er weiss das er da wohl den Rest seines Lebens dran arbeiten wird, wird er wohl auf eine bestimmte Codequalitaet wert legen. Es gibt also einen Druck zu Qualitaet hin und nicht zu fertig werden.

Vanye

Also hat es nichts mit BWL zu tun.

#7922464
Lesenswert?

Hier was der code macht:

#include <time.h> #include <stdio.h>

// Globale Variablen (ursprünglich a, b, x, y, z) int cycleLength; // Länge des Zyklus (in Tagen*512) für Mondphase int halfSize = 44; // Halbe Breite/Höhe der Darstellung int posX; // aktuelle X-Position beim Zeichnen int posY; // aktuelle Y-Position beim Zeichnen int moonPhaseOffset; // Mondphasen-Offset

void drawMoonPhase() { if (!cycleLength) { // Initialisierung beim ersten Aufruf cycleLength = 2551443; // Mondzyklus in Sekunden posX = -halfSize; posY = 2 - halfSize;

1
    // Berechnung des Mondphasen-Offsets
2
    // 592531 ist ein Basis-Offset für die Epoche
3
    moonPhaseOffset = ((time(0) - 592531) % cycleLength << 9) / cycleLength;
4
} else {
5
    // Zeichnen eines einzelnen Pixels / Zeichens
6
    putchar(
7
        (++posX >= cycleLength)
8
            ? (posX = -halfSize, posY += 4, '\n') // Neue Zeile
9
            : (posX < 0)
10
                ? ( (posX * posX + posY * posY < halfSize * halfSize)
11
                      ? (cycleLength = 1 - posX, ' ') // innerhalb Kreis → leer
12
                      : posX + 1, ' ' )
13
                : "#."[  // "#" oder "." je nach Phase
14
                    ( (posX < cycleLength * (~moonPhaseOffset & 255) >> 8)
15
                      ^ moonPhaseOffset >> 8 )
16
                  ]
17
    );
18

19
    // Wenn Höhe erreicht → Programm beenden
20
    if (posY > halfSize) {
21
        return;
22
    } else {
23
        drawMoonPhase(); // Rekursiver Aufruf zum Weiterzeichnen
24
    }
25
}

}

int main() { drawMoonPhase(); return 0; }

#7923345
Lesenswert?

So (2x int mehr) kann man es zumindest mit gcc unter Linux übersetzen: (wenn auch die Optik darunter leidet)

#include <time.h> #include <stdio.h>

int

1
    a,b=44,x,
2
 y,z;int main()  {!a

?a=2551443,x= -b ,y=2-b,z=((time ( 0)-592531)%a<<9)/ a :putchar(++x>=a?x = -b,y+=4,10:x<0?x= x x+yy<bb?a=1-x, - 1:x+1,32:"#."[( x <a(~z&255)>> 8) ^z>>8]),y> b?0 :main();}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren