Embedded bez Arduino

Mam sobie płytkę RISC-V i jest to moja pierwsza płytka która nie ma wsparcia dla Arduino. Mam toolchain GCC, mogę na nią kompilować programy, obsługuje UF2, wszystko jest spoko.

To co mnie zastanawia natomiast to jak szukać bibliotek do takiego środowiska?

Nie ukrywam że głównie zależy mi na obsłudze WS2812B/NeoPixel. Do tej pory zwykle wiązało się to z wpisaniem “neopixel arduino”/“neopixel esp32” i miałem sporo pięknych wyników. Z tą płytką nie jest tak lekko (plus jest stosunkowo nowa), więc zastanawiam się jak to ugryźć.

@msalamon_pl @GAndaLF tu od razu pytanie do Was jako ekspertów w temacie czy coś wiecie :slightly_smiling_face:

jeżeli jest nowa pewnie musisz napisać swoją obsługę peryferiów, a wyższe warstwy biblioteki będą działać jeżeli podepniesz się pod API warstwy sprzętowej. Czasami też biblioteki embedded mają słaby podział na warstwy i taka podmianka warstwy fizycznej nie przejdzie. Nie wiem jak jest z NeoPixel

chociaż tak na szybko patrzę że neopixel to produkt, a libki do niego to czysty driver hw. W takim razie musisz albo edytować przykłady z innych procków, albo napisać swój driver WS281

ja zwykle w takich wypadkach korzystam z tutoriali pisania własnych driverów na popularne procki np. STM32 ESP i tylko podmieniam pod peryferia jakie mam u siebie

Reactions: :+1: ×1 (DoomHammer) · :green_heart: ×1 (DoomHammer)

Ws2812 is easy to write yourself; welcome back to embedded computing in 2010 :sweat_smile:

Even in software

Or should run on a mc

wanna lend a hand? :sweat_smile:

I wanted to write that I still might have some code from back then (I imagine the will run pure C code). But then again, there probably are lots of (better) software-only libs available. If you figure out how to compile C and switch on and off pins on the platform, the rest should be not to hard…

As I recall, ws2812 needs 100ns timing, so 10Mhz clock should be enough.

Btw, going from a totally different direction. Doesn’t it have zephyr support?

Your MC?

don’t think so, isn’t on a supported list

And I have my own core RISC-V. Now I am finishing some nuances and will start making the periphery. :slightly_smiling_face:

Reactions: :green_heart: ×1 (DoomHammer)

Sipeed M0sense based on bl702 from BoufalloLabs

I checked PlatformIO support first thing but couldn’t find any back then

Nah, for starters just wanted to use it with WS2812 bit switched to something else for this project so they’re still waiting for their time

Reactions: :+1:t3: ×1 (cb1t)

@DoomHammer what board exactly? Platformio suuports shitton of boards at this point

Interesting. I can’t help you though, my approach is to use well known MCUs, so I can spend my time actually developing something interesting, instead of writing drivers, etc.