Lehky embedded microkernel pro ATmega328P (Arduino Nano/Uno) s cistym API pro rychle prototypovani.
PKX Microkernel je maly framework s vlastnim jadrem, schedulerem, event systemem, HAL vrstvou a drivery. Uzivatel upravuje hlavne jeden soubor aplikace: main.cpp.
- Arduino Nano/Uno (ATmega328P)
- USB kabel
- PlatformIO (ve VS Code nebo CLI)
- Windows: COM port (napr. COM3)
- main.cpp: uzivatelska aplikace
- kernel/: jadro, scheduler, eventy, tasky, timery
- hal/: GPIO, ADC, PWM, UART, SPI, I2C
- drivers/: LED, Button, Motor, Servo, Display, Temperature
- platformio.ini: konfigurace buildu a uploadu
- Pripoj Arduino pres USB.
- Otevri projekt ve VS Code nebo terminalu.
- Zkontroluj port v platformio.ini (upload_port, monitor_port).
- Spust upload:
build.batTohle udela build + upload na vychozi env a port.
Jen build:
build.bat buildBuild + upload (explicitne):
build.bat upload nanoatmega328new COM3Serial monitor:
build.bat monitor nanoatmega328new COM3 115200Linux/WSL varianta:
sh build.sh build
sh build.sh upload nanoatmega328new /dev/ttyUSB0
sh build.sh monitor nanoatmega328new /dev/ttyUSB0 115200Vse pis do main.cpp.
Minimalni kostra:
#include <pkx_global.h>
LED led(13);
void initial() {
// Registrace eventu, timeru, konfigurace pinu
}
void loop() {
led.toggle();
wait(500);
}
int main() {
start(initial, loop);
return 0;
}Tlacitko na D2:
#include <pkx_global.h>
LED led(13);
Button btn(2);
void initial() {
btn.onPress([]() {
led.toggle();
});
}
void loop() {
wait(10);
}
int main() {
start(initial, loop);
return 0;
}- Pokud upload nejde, zkontroluj spravny COM port.
- Pokud monitor nejde otevrit, zavri jiny program, ktery drzi serial port.
- Pro Nano klony casto funguje env nanoatmega328new.
Pokud budes chtit tenhle projekt upravovat nebo vylepsovat, udelej si fork repozitare a pracuj ve vlastni vetvi. Kdyz budes mit hotovo, muzes zmeny sdilet zpatky pres pull request.