claudeheintz / LXESP8266DMX

DMX Driver for ESP8266 using ArduinoIDE
BSD 3-Clause "New" or "Revised" License
31 stars 9 forks source link

Examples don't work #1

Closed richardwilliamson closed 8 years ago

richardwilliamson commented 8 years ago

Hello

I can't get your examples to build - which I think it because of the refactoring you've done. Any ideas on what the fix is?

Thanks!

Richard

richardwilliamson commented 8 years ago

Ah - hold on, I may have downloaded a different library - ignore me!

richardwilliamson commented 8 years ago

Hmm, So I'm confused - the examples for this library seem to kick out "error: 'UART1' was not declared in this scope USC0(UART1) |= (tmp);" - I'm actually just trying to process artnet (not output DMX) so I don't need to use UART as far as I know, but either way I think something is missing to make the example work!

richardwilliamson commented 8 years ago

Hmm, seems to be because I need to use a newer version of the Arduino ESP library, but I'm trying to work out how to upgrade..

claudeheintz commented 8 years ago

Not knowing the full line/file reference for this error, it seems likely to come from an included ESP8266 library. The most likely cause is that an ESP8266 board is not selected in the Arduino IDE boards menu.

richardwilliamson commented 8 years ago

Sorry - I'm being very bad at explaining! The problem appears to be that the UART1 isn't defined in the my board definition - I uncommented in your library and it worked. I'm on the staging release in boards manager (2.1.0 rc2) - maybe that's why.

Nice library - just got a little run of Neopixel working on artnet. It's being a little jerky when running an effect from the ion's Off Line Editor but this could be an ion problem, I'm not sure.

Are you able to explain how the configuration stuff is meant to work - is that an RDM thing? It's not something I have experience of.

claudeheintz commented 8 years ago

I believe that the ETC EOS family offline editor won't send smooth output without a dongle--they give you output, but packets are restricted to once every so often. So, you can see things for editing but not performance.

You don't need the line: #include If you are not going to output DMX using the ESP8266's serial UART. I don't know why that doesn't work. It could be the staging release. I'm using 2.1.0 installed using the Arduino IDE(v1.6.7) boards manager. It seems that this has stability improvements. I had some intermittent loss of connection to the WiFi network in earlier version of the ESP8266 Arduino library.

The remote configuration needs better documentation. I'm working on a Processing based utility in addition to the python. Running the little application allows you to read and upload persistent protocol and network settings. Holding pin 16 low on startup forces the ESP into AP mode and the protocol to Art-Net. You can then connect your computer to the "ESP-DMX" WiFi and run the python script. This lets you get the current settings. You can change the settings for loging to another WiFi network (including the password). Uploading to the ESP saves the settings in persistent RAM. When you power up the ESP, it should start up with the new settings (unless pin 16 is low--use a 10k pullup resistor to +5v to make sure the pin stays high--the internal pullup does not always work for me.) Also, for some reason when I switch from access point to station mode, the ESP won't connect to the external WiFi on the first try. It seems to require being powered down and re-started a second time. How this works is just with a simple lightweight protocol sent on the same network connection as the sACN/Art-Net.

claudeheintz commented 8 years ago

I think I finally understand the original post. When using the LXESP8266UARTDMX library (which does not need to be #included for Art-Net/sACN when using LXDMXWiFi_Library unless you want to input/output actual DMX) there was a change in the Arduino ESP8266 library v2.1.0 where some UART constants are now defined in the Arduino library. If you are using an older version of the Arduino ESP8266 library, then you need to uncomment lines 42-44 in LXESP8266UARTDMX.cpp so that these constants can be used by the rest of the file.