Commit Graph
317 Commits
Author SHA1 Message Date
Michael Miller 4fb6f9351a Dmx512 and Ws2821 for ESP8266 (#565)
* refactor esp8266 DMA core
* refactor NeoUtil
* DMX512
* WS2821
2022-05-07 13:49:03 -07:00
Michael Miller 083b8ab9f2 Sm168xx (#563)
* Base NeoSM168xxColorFeature support

* Fix warnings
2022-04-22 12:35:14 -07:00
Michael Miller 7757b6f5b3 include data size for feature specific settings locations (#562)
locations of the data at the end of the stream can now be applied
2022-04-21 22:52:28 -07:00
s-hadinger 97364bfc24 Disable I2S for ESP32S3 and allow compilation (#558) 2022-02-05 09:50:41 -08:00
Paul Kendall 46299ffa4b Support for GPIO16 on ESP8266 (#557)
* Support for GPIO16 on ESP8266

* Seperate functions for pin16 on esp8266
2022-01-15 13:12:31 -08:00
schlammbad 4f377f72fd Letter case and punctuation changes for consistency. (#556) 2022-01-15 11:11:10 -08:00
xonestonex e31677ad32 Add support for TLC5947 24-Channel PWM driver. (#551)
* Add support for TLC5947 24-Channel PWM driver.

* Refactor code to match coding guidelines and better documentation.
2022-01-15 11:09:54 -08:00
Vasil-Pahomov 3060e4cd28 Added NeoBgrFeature to keywords list (#555)
* Add BGR color configuration

* Version up (to load correctly?)

* Revert "Version up (to load correctly?)"

This reverts commit 5f676ad47a.

* Added NeoBgrFeature to keywords list
2022-01-10 09:44:32 -08:00
Vasil-Pahomov 4085973edf Add BGR color feature (#553)
* Add BGR color configuration

* Version up (to load correctly?)

* Revert "Version up (to load correctly?)"

This reverts commit 5f676ad47a.
2022-01-09 11:23:46 -08:00
Michael Miller 269edf0317 Fix return cast (#554) 2022-01-07 11:53:02 -08:00
Michael Miller 1f109e9a24 Color gamma (#542)
* Fix math overflow

* support
2021-12-29 10:21:01 -08:00
Michael Miller bd7d5b43a0 driver install flag updates (#534) 2021-11-29 09:46:25 -08:00
Michael Miller 3919b61b3a Render incorrectly converts to color object when not needed (#528) 2021-10-21 10:46:15 -07:00
Michael Miller a561a8294e v2.6.9 (#522) 2.6.9 2021-10-12 13:20:24 -07:00
Michael Miller b1fac57687 Esp32 i2s cleanup (#521)
* ESP32 I2s deallocation

* NULL pointers
2021-10-12 13:17:09 -07:00
Michael Miller 9496b0ef15 inc version (#518) 2.6.8 2021-10-10 17:50:02 -07:00
Michael Miller 2040a4837d Ucs890x (#517) 2021-10-10 17:45:48 -07:00
Michael Miller 0913134003 reduce (#512) 2021-08-07 17:19:29 -07:00
Michael Miller 7ddd954973 Correct State Clearing (#511) 2021-08-07 17:05:33 -07:00
Michael Miller fbe11816da inc version (#509) 2.6.7 2021-08-03 12:47:56 -07:00
Drzony 35fafdc18e Fix initialization of RMT config (#508) 2021-08-03 12:44:43 -07:00
Christian Schwinne 7f1611d683 Restored compatibility with ESP8266 Arduino Core < 3.0.1 (#500) 2021-07-23 11:26:37 -07:00
Michael Miller 5aaa17f78a Reset Pin Matrix on destruction (#504) 2021-07-11 18:17:30 -07:00
Michael Miller bcac838a99 RingTopo (#502) 2021-07-11 10:26:20 -07:00
Michael Miller c626e9af4f v2.6.6 (#498) 2.6.6 2021-07-07 11:11:30 -07:00
Michael Miller 7c2f233820 Esp32 c3 (#495)
* NeoBusChannel update

* Fix copy error

* ESP32C3 only has two TX RMT channels
2021-07-05 14:36:42 -07:00
Christian Schwinne 4438ba517c Add NeoBusChannel constructor to NeoPixelBrightnessBus (#491) 2021-07-02 09:21:53 -07:00
Michael Miller 2f74118bb3 Increment Version for release (#490) 2.6.5 2021-07-01 09:39:20 -07:00
Stefan Agner 6112e23e94 Fix missing clang-tidy missing IRAM_ATTR (#487)
It seems that IRAM_ATTR is not defined when clang-tidy checks leading to
errors like the following:

```
Error: /__w/esphome/esphome/.pio/libdeps/livingroom8266/NeoPixelBus/src/internal/NeoEsp8266DmaMethod.h:244:17: error: variable has incomplete type 'void' [clang-diagnostic-error]
    static void IRAM_ATTR i2s_slc_isr(void)
                ^
```

Include Arduino.h in global context just like in other header files
makes sure that IRAM_ATTR is defined in all cases.
2021-06-16 08:42:43 -07:00
Michael Miller 36b44f6b73 i2s.h conflict change (#486)
ESP8266 Arduino v3.1 will remove the i2s.h due to name conflict when used on case insensitive file systems.
2021-06-14 10:22:05 -07:00
Michael Miller d60d38185d version numbers (#483) 2.6.4 2021-06-13 11:06:40 -07:00
Michael Miller 2ff885c702 Workaround (#482) 2021-06-11 16:02:06 -07:00
s-hadingerandStephan Hadinger eb0b476410 Change to SP2_HOST for esp32c3 and avoid duplicate in Tasmota (#481)
Co-authored-by: Stephan Hadinger <stephan.hadinger@gmail.com>
2021-06-10 10:55:07 -07:00
Michael Miller 79b10f6347 Tm1914 (#480)
* Create NeoTm1914ColorFeatures.h

* GRB
2021-06-10 09:55:30 -07:00
Michael Miller fc7765bbd9 Esp32 c3 (#479)
* No VSPI

* I2s not default for S2 or C3

* include fixes

* remove ESP32C3 I2s support

* sdkconfig.h

* No Bitbang
2021-06-09 08:34:57 -07:00
Michael Miller cf720f8b07 v2.6.3 (#473) 2.6.3 2021-05-24 20:56:32 -07:00
Michael Miller 0362fcda31 Esp8266 v3 updates (#472)
Fix to use standard IRAM_ATTR now supported between Esp8266 and ESP32
2021-05-24 20:53:54 -07:00
Stefan Agner b6626fd758 Fix clang-tidy pointer cast error (#471)
* Fix clang-tidy pointer cast error

clang-tidy reports:

./src/internal/NeoEsp8266DmaMethod.h:317:46: error: cast from pointer to smaller type 'uint32_t' (aka 'unsigned int') loses information [clang-diagnostic-error]
            _i2sBufDesc[indexDesc].buf_ptr = reinterpret_cast<uint32_t>(is2Buffer);
                                             ^
./src/internal/NeoEsp8266DmaMethod.h:492:58: error: cast from pointer to smaller type 'uint32_t' (aka 'unsigned int') loses information [clang-diagnostic-error]
                    (finished_item + 1)->next_link_ptr = reinterpret_cast<uint32_t>(finished_item);

Use pointers instead of integers for pointers. This makes quite some
casts unnecessary.

* Use struct slc_queue_item* as datatype for next pointer
2021-05-24 09:08:49 -07:00
programminghoch10 8fd2c9fd30 Fixed typo in ReadMe.md (#468) 2021-04-21 09:49:30 -07:00
Michael Miller 41d3906cdf Esp32S2 Defaults not set (#465) 2021-04-16 17:49:00 -07:00
Michael Miller 5e492ea925 Modern cast cleanup (#462)
* static_cast

* cleanup and building
2021-04-13 10:45:35 -07:00
Michael Miller 2480634ca7 Minor Style updates (#461) 2021-04-12 15:17:40 -07:00
Louis BeaudoinandLouis Beaudoin b90992fdc2 ESP32 Hardware SPI Improvements - Options for using both SPI peripherals, and DMA (#441)
* Fix header file comment

* Add TwoWireHspiImpl and Example

* Add start of TwoWireEsp32DmaSpiImple (Currently just able to use HSPI and VSPI in parallel, no DMA)

* Update names for TwoWireEsp32DmaSpi and set set spi_bus using template not constructor

* Update example with new functionality and bugfixes

* DotStarEsp32DmaSpiMethod -

* Add 5MHz option to all SPI-based classes

* DotStarGenericMethod - Give option to use Vspi alias of Spi class if wanting to specify which SPI peripheral is used on the ESP32
- Add missing DotStarHspiHzMethod

* TwoWireHspiImple - bring up to date with applySettings() method

* DotStarTest_Esp32Advanced example - update to show how to change clock speed at runtime
- Remove commented out pins cluttering up example

* DotStarTest_Esp32DmaSpi example -

Co-authored-by: Louis Beaudoin <louis@embedded-creations.com>
2021-04-12 14:59:09 -07:00
Juerd Waalboer cc17ec6fa1 ESP32 i2s: instead of runtime exception, silently upgrade pixelCount (#459)
Fixes #457

This workaround, compared to the old implementation of throwing an exception,
is simpler, makes the compiled program 260 smaller, and unbreaks existing code
that uses a pixel count of 1 that used to work prior to 2cce77e9 (v2.6.2).

This fix basically does the same thing as the recommended fix on the caller
side, except without bothering the caller. It does make `.GetPixelCount()`
return 2 instead of the provided number of pixels, but the resulting program is
arguably less broken than it is with the failing check at construction, and not
likely to really be much of an issue anyway.
2021-04-05 16:05:46 -07:00
Michael Miller a6da4b728b Expose uint16 for direct access (#454) 2021-03-23 14:26:33 -07:00
Drzony 7dbb95401e Fix for compiler warnings with -Wextra (#447) 2021-03-21 16:22:17 -07:00
Michael Miller 7b9f315acc Update Version Info (#452) 2.6.2 2021-03-21 14:48:56 -07:00
s-hadingerandStephan Hadinger f16a39f7af ESP32 force bitbang in IRAM (#446)
* ESP32 force bitbang in IRAM

* Split send_pixels into inverted and non-inverted

Co-authored-by: Stephan Hadinger <stephan.hadinger@gmail.com>
2021-03-13 15:42:01 -08:00
Michael Miller dccf8d5709 Better String Convert (#448) 2021-03-13 15:23:20 -08:00
Michael Miller e54a06736e Neo segment working (#443)
Finally have some to test with
2021-03-03 16:42:12 -08:00