Comments (7)
hey, I'm really sorry it took so long to get back in the swing of things.
You can totally just call whatever you want from inside the interrupt. You can actually do a fair bit in there. That's how I did a lot of the stuff for my Channel3 project. I would STRONGLY recommend bigger buffers though, and there is so much overhead when getting an interrupt called. Function calls aren't free.
That's not to say some degree of buffering wouldn't be good. It is annoying to give up such a huge buffer :-/... so I don't really know what the right answer is.
from esp8266ws2812i2s.
Thanks for your thoughts :) I've been tinkering a lot towards this already. Last code is here:
https://github.com/cranphin/esp8266-dev/blob/master/esp8266-neo/dev/driver/ws2812_i2s.c
though there is no interrupt handling in there, -YET- :)
My local code does have it, and it almost works? :)
But I think I'm running exactly into what you're suggesting, possibly.. at 32 byte buffers, the interrupt might not finish fast enough to actually fill the next buffer before it's used.. :)
Will try and test more, could be another bug.. I also need more rgb leds.. XD 8 is not enough to test with larger buffers.. :) Should have a string of 30 here soon ;)
from esp8266ws2812i2s.
30? We routinely use 300+! Rolls are ~$25, you don't have an excuse :-p
from esp8266ws2812i2s.
I have to justify expenses with my better half, it's a limiting factor :)
And 30 leds I'm confident of driving of a usb charger, more I might have to look into better power supplies, and things add up :) But we'll see how 30 goes, then consider going up more ;)
from esp8266ws2812i2s.
Do you actually have source code for the stuff in the web folder?
Right now, it seems to be just symlink paths in the .c files...
Or is this supposed to be relative to YOUR entire github layout (not a standalone project)?
from esp8266ws2812i2s.
A little of colmun B.
The symlinks you refer to, point to files in the ./esp82xx
directory, which is a git-submodule. Think of submodules as a link to a specific commit in another repository. By default, git does not clone submodules when you clone a root project. I suspect, that is what's throwing you off.
To mitigate that you have either make recursive cloning default (git config --global alias.clone = 'clone --recursive'
) or use
git clone --recursive https://github.com/cnlohr/esp82xx.git
every time you clone a repository that uses submodules. With an already cloned repository you'll need to run
git submodule update --init --recursive
Submodules are the most common way to include other code and split up development effort. The next most common way would be subtrees.
You should look into the basics of git.
from esp8266ws2812i2s.
Just as a reminder by me. Thank you, @con-f-use for making "make" get the recurse if you forget to do it the first time.
from esp8266ws2812i2s.
Related Issues (20)
- char generic_buffer[1500] __attribute__ ((aligned (32)));
- Cant make it build HOT 3
- Doesn't seem to work at all, any debugging ideas? HOT 2
- Safe to use? HOT 2
- Add APA104 HOT 8
- I2S output does not look right HOT 6
- Fall back to AP mode, when connection to other network fails HOT 5
- Constant reboots on wsend HOT 7
- wsend build error HOT 2
- Reboot sometimes when receiving network data HOT 3
- Timing values are used incorrectly HOT 3
- Rework the ws2812_push command HOT 1
- little flicker after power off HOT 5
- Working --> Mem check fail --> Bootloop HOT 3
- Noise from RX1 HOT 4
- Ws2813 compatibility HOT 1
- ESP32 compatibility? HOT 1
- UDP data format? HOT 1
- MFS subsystem "MFSReadSector" reads MFS_SECTOR bytes, not toread bytes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp8266ws2812i2s.