Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

project:dali_nodemcu

Dali NodeMCU

Eine custom ESP8266 firmware basierend auf NodeMCU. Es wird ein zusätzlicher DALI-Treiber implementiert.

https://github.com/shackspace/nodemcu-firmware-dali

Funktionen des Dali-Moduls:

Dali.setup(tx_pin, rx_pin) - Definiere Anschluss TX und RX Dali.arc(address_mode, address, brightness) - Helligkeit der Lampe direct einstellen. Address_Mode kann folgende Werte annehmen Dali.BROADCAST (Adresse ist beliebig), Dali.SLAVE (Adresse 0 bis 63) und Dali.GROUP (Adresse 0 bis 15).


Entwicklung der NodeMCU-Firmware

Firmware compilieren

Eine gute Anleitung wie man die NodeMCU Firmware compiliert, ist hier zu finden:

http://www.allaboutcircuits.com/projects/guts-of-the-iot-part-1-building-nodemcu-from-source-for-the-esp8266/

Anstatt der originalen Firmware muss man natürlich die NodeMCU-Dali Variante compilieren: https://github.com/shackspace/nodemcu-firmware-dali


Debugger

Der ESP8266 lässt sich über JTAG programmieren/debuggen. Aktuell wird eine spezielle Version von OpenOCD benötigt:

git clone https://github.com/saeugetier/openocd

cd openocd

./bootstrap.sh

./configure –enable-maintainer-mode –disable-werror –enable-buspirate

make

sudo make install

Damit JTAG auf dem Buspirate funktioniert, muss eine aktuelle Firmware auf der Hardware installiert sein. Weitere Infos siehe:

http://cybermashup.com/2014/05/01/jtag-debugging-made-easy-with-bus-pirate-and-openocd/

http://dangerousprototypes.com/docs/JTAG

Wie man einen ESP8266 an einen Debugger anschließt, sieht man hier: http://visualgdb.com/tutorials/esp8266/


Einstellungen xtensa-lx106-elf-gdb

Datei .gdbinit

file app/.output/eagle/debug/image/eagle.app.v6.out

set remote interrupt-sequence BREAK

target extended-remote localhost:3333

add-symbol-file ../esp-elf-rom/bootrom.elf 0x40000000

Die BOOTROM gibt es hier: https://github.com/jcmvbkbc/esp-elf-rom


Debugger nutzen

Nun lässt sich der Debugger im Projekt verzeichnis von NodeMCU-Dali nutzen.

Befehle:

break <funktion> setzt einen Breakpoint (Hardware-Breakpoint/Software-Breakpoint je nach Verfügbarkeit) backtrace zeigt den stack

monitor halt stoppt die Ausführung des programms monitor reset setzt das Programm zurück

monitor reg zeigt die aktuellen Register an

project/dali_nodemcu.txt · Zuletzt geändert: 2016-01-20 21:41 von 2a02:8070:4b8:9700:8db3:e627:cb2e:3dd3