Initial commit: PRU LED firmware and HTTP service
- Combined PRU0 firmware for both mood (56 LED) and jaw (24 LED) strips - Uses P9_27 and P9_25 (free pins, not HDMI locked) - Python HTTP service on port 8765 - Named states: idle, listening, responding, pleasure, thinking, playful, commanding, love, sleep - Setup scripts for fresh BBB deployment Built with love by Vixy 🦊💜
This commit is contained in:
42
pru/Makefile
Normal file
42
pru/Makefile
Normal file
@@ -0,0 +1,42 @@
|
||||
# Vixy BBB PRU Firmware Makefile
|
||||
|
||||
PRU_CGT ?= /usr/share/ti/cgt-pru
|
||||
PRU_SUPPORT ?= /usr/lib/ti/pru-software-support-package
|
||||
|
||||
CC = clpru
|
||||
LD = lnkpru
|
||||
|
||||
CFLAGS = --include_path=$(PRU_CGT)/include \
|
||||
--include_path=$(PRU_SUPPORT)/include \
|
||||
--include_path=$(PRU_SUPPORT)/include/am335x \
|
||||
-v3 -O2 --printf_support=minimal --display_error_number \
|
||||
--endian=little --hardware_mac=on
|
||||
|
||||
LDFLAGS = -i$(PRU_CGT)/lib -i$(PRU_SUPPORT)/lib \
|
||||
--reread_libs --warn_sections \
|
||||
--stack_size=0x100 --heap_size=0x100
|
||||
|
||||
# Build combined firmware (recommended - handles both strips from PRU0)
|
||||
all: am335x-pru0-fw
|
||||
|
||||
# Combined firmware for both strips on PRU0
|
||||
am335x-pru0-fw: ws281x_combined.obj AM335x_PRU.cmd
|
||||
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
|
||||
|
||||
# Legacy separate firmwares (for reference)
|
||||
am335x-pru0-fw-mood: ws281x_pru0.obj AM335x_PRU.cmd
|
||||
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
|
||||
|
||||
am335x-pru1-fw-jaw: ws281x_pru1.obj AM335x_PRU.cmd
|
||||
$(LD) $(LDFLAGS) -o $@ $^ -m $@.map --library=libc.a
|
||||
|
||||
%.obj: %.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f *.obj *.map am335x-pru*-fw
|
||||
|
||||
install: am335x-pru0-fw
|
||||
sudo cp am335x-pru0-fw /lib/firmware/
|
||||
|
||||
.PHONY: all clean install
|
||||
Reference in New Issue
Block a user