Merge branch 'master' of github.com:c3d2/pentabug
This commit is contained in:
commit
d1f36fd547
|
@ -1,7 +1,7 @@
|
|||
PROJECT=pentabug
|
||||
|
||||
APPS = buggy jumpy mariotheme geiger ducklings blinker
|
||||
|
||||
PROJECT=pentabug
|
||||
|
||||
OPTIMIZATION = -Os
|
||||
MCU = atmega88pa
|
||||
F_CPU = 8000000
|
||||
|
|
19
firmware/apps/example_1.c
Normal file
19
firmware/apps/example_1.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
#include <avr/io.h>
|
||||
#include <pentabug/app.h>
|
||||
|
||||
// was bedeuten die einzelnen Worte?
|
||||
// was passiert?
|
||||
// geht das einfacher?
|
||||
|
||||
static void example(void) {
|
||||
if(!(PINB & 1)) {
|
||||
PORTD &= ~(1 << 4);
|
||||
}
|
||||
|
||||
|
||||
if(!(PINB & 2)) {
|
||||
PORTC &= ~(1 << 2);
|
||||
}
|
||||
}
|
||||
|
||||
REG(example);
|
18
firmware/apps/example_2.c
Normal file
18
firmware/apps/example_2.c
Normal file
|
@ -0,0 +1,18 @@
|
|||
#include <pentabug/hal.h>
|
||||
#include <pentabug/app.h>
|
||||
|
||||
// was erwartest du das passiert?
|
||||
// wie kann man das Problem lösen?
|
||||
|
||||
static void example(void) {
|
||||
if(button_state(LEFT)) {
|
||||
led_inv(LEFT);
|
||||
}
|
||||
|
||||
|
||||
if(button_state(RIGHT)) {
|
||||
motor_inv();
|
||||
}
|
||||
}
|
||||
|
||||
REG(example);
|
24
firmware/apps/example_3.c
Normal file
24
firmware/apps/example_3.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
#include <pentabug/hal.h>
|
||||
#include <pentabug/app.h>
|
||||
#include <pentabug/music.h>
|
||||
|
||||
static void example(void) {
|
||||
if(button_clicked(LEFT)) {
|
||||
set_note(NOTE_C, 4);
|
||||
wait_ms(500);
|
||||
set_note(NOTE_D, 4);
|
||||
wait_ms(500);
|
||||
stop_note();
|
||||
}
|
||||
|
||||
|
||||
if(button_clicked(RIGHT)) {
|
||||
set_note(NOTE_D, 4);
|
||||
wait_ms(500);
|
||||
set_note(NOTE_C, 4);
|
||||
wait_ms(500);
|
||||
stop_note();
|
||||
}
|
||||
}
|
||||
|
||||
REG(example);
|
39
firmware/apps/example_4.c
Normal file
39
firmware/apps/example_4.c
Normal file
|
@ -0,0 +1,39 @@
|
|||
#include <pentabug/hal.h>
|
||||
#include <pentabug/app.h>
|
||||
|
||||
// was passiert?
|
||||
// gibt es probleme?
|
||||
// wie kann man das problem lösen?
|
||||
|
||||
static void init(void) {
|
||||
led_on(RIGHT);
|
||||
led_on(LEFT);
|
||||
}
|
||||
|
||||
static void example(void) {
|
||||
led_inv(LEFT);
|
||||
led_inv(RIGHT);
|
||||
|
||||
wait_ms(500);
|
||||
|
||||
led_inv(LEFT);
|
||||
|
||||
wait_ms(500);
|
||||
|
||||
led_inv(RIGHT);
|
||||
|
||||
wait_ms(500);
|
||||
|
||||
if(button_clicked(LEFT)) {
|
||||
motor_inv();
|
||||
wait_ms(500);
|
||||
motor_inv();
|
||||
wait_ms(500);
|
||||
motor_inv();
|
||||
wait_ms(500);
|
||||
motor_inv();
|
||||
wait_ms(500);
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER(example, init, NULL);
|
54
firmware/doc/install.md
Normal file
54
firmware/doc/install.md
Normal file
|
@ -0,0 +1,54 @@
|
|||
# Installation
|
||||
|
||||
Diese Anleitung geht davon aus, dass du ein Ubuntu, Debian oder ein ähnliches
|
||||
Linux vor dir hast. Es wird grundlegendes Wissen im Umgang mit der Kommandozeile
|
||||
vorausgesetzt.
|
||||
|
||||
Als erstes müssen die benötigten Programme installiert werden:
|
||||
|
||||
sudo apt-get install avr-libc avrdude gcc-avr build-essential
|
||||
|
||||
Danach kannst du dir den Quellcode für die Firmware des Bugs herunterladen.
|
||||
Bewege dich dafür in das Verzeichnis in das du den Quellcode kopieren möchtest
|
||||
und führe folgenden Befehl aus:
|
||||
|
||||
git clone https://github.com/c3d2/pentabug.git
|
||||
|
||||
Jetzt hast du einen neuen Ordner namens `pentabug` in dem sich die Firmware
|
||||
befindet:
|
||||
|
||||
cd pentabug/firmware/
|
||||
|
||||
Nun kannst du den menschenlesbaren Quellcode in maschinenlesbare Befehle
|
||||
überführen. Diesen Vorgang nennt man Kompillieren. Dabei unterstützt dich das
|
||||
sogenannte `Makefile`, dass automatisch überprüft welche Dateien nicht vorhanden
|
||||
sind oder geändert wurden
|
||||
|
||||
make
|
||||
|
||||
Wenn der Befehl oben erfolgreich durchgelaufen ist kannst du die Firmware mit
|
||||
folgendem Befehl auf deinen Pentabug laden:
|
||||
|
||||
make flsmart
|
||||
|
||||
Nun kannst du anfangen den Quellcode anpassen und deine eigenen Programme
|
||||
entwerfen. Die einzelnen Programme befinden sich im Ordner
|
||||
|
||||
pentabug/firmware/app/
|
||||
|
||||
Jedes mal wenn du eine Änderung ausprobieren willst musst die wieder das
|
||||
Makefile ausführen mit folgenden Befehlen
|
||||
|
||||
make
|
||||
make flsmart
|
||||
|
||||
Wenn du ein neues Programm anlegst oder ein existierendes Programm aus der
|
||||
Firmware für deinen Pentabug entfernen musst du die erste Zeile folgender Datei
|
||||
editieren:
|
||||
|
||||
pentabug/firmware/Makefile
|
||||
|
||||
Die einzelnen Einträge hier entsprechen den Dateinamen in
|
||||
|
||||
pentabug/firmware/app/
|
||||
|
Loading…
Reference in New Issue
Block a user