Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PKX Microkernel

Lehky embedded microkernel pro ATmega328P (Arduino Nano/Uno) s cistym API pro rychle prototypovani.

Co to je

PKX Microkernel je maly framework s vlastnim jadrem, schedulerem, event systemem, HAL vrstvou a drivery. Uzivatel upravuje hlavne jeden soubor aplikace: main.cpp.

Pozadavky

  • Arduino Nano/Uno (ATmega328P)
  • USB kabel
  • PlatformIO (ve VS Code nebo CLI)
  • Windows: COM port (napr. COM3)

Struktura projektu

  • 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

Jak nasadit (Windows)

  1. Pripoj Arduino pres USB.
  2. Otevri projekt ve VS Code nebo terminalu.
  3. Zkontroluj port v platformio.ini (upload_port, monitor_port).
  4. Spust upload:
build.bat

Tohle udela build + upload na vychozi env a port.

Uzitecne prikazy

Jen build:

build.bat build

Build + upload (explicitne):

build.bat upload nanoatmega328new COM3

Serial monitor:

build.bat monitor nanoatmega328new COM3 115200

Linux/WSL varianta:

sh build.sh build
sh build.sh upload nanoatmega328new /dev/ttyUSB0
sh build.sh monitor nanoatmega328new /dev/ttyUSB0 115200

Jak pouzit API

Vse 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;
}

Poznamky

  • 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.

Chces projekt vylepsit?

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.

About

Jednoduchý a praktický microkernel pro AVR: kernel, scheduler, drivery a rychlé nasazení na Arduino Nano.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages