Skip to content

Commit

Permalink
A few small fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Aircoookie committed Jun 9, 2021
1 parent 7885ddd commit 374457d
Show file tree
Hide file tree
Showing 17 changed files with 47 additions and 13 deletions.
3 changes: 3 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ extra_configs =
# ------------------------------------------------------------------------------
arduino_core_2_6_3 = [email protected]
arduino_core_2_7_4 = [email protected]
arduino_core_3_0_0 = [email protected]

# Development platforms
arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop
Expand Down Expand Up @@ -132,6 +133,8 @@ ldscript_4m1m = eagle.flash.4m1m.ld
build_flags =
-DESP8266
-DFP_IN_IROM
;-Wno-deprecated-declarations
;-Wno-register
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
Expand Down
22 changes: 17 additions & 5 deletions usermods/EleksTube_IPS/TFTs.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ class TFTs : public TFT_eSPI {

//// BEGIN STOLEN CODE

// Draw directly from file stored in RGB565 format
bool drawBin(const char *filename) {
fs::File bmpFS;

Expand All @@ -55,14 +56,25 @@ class TFTs : public TFT_eSPI {
return(false);
}

bool oldSwapBytes = getSwapBytes();
setSwapBytes(true);
size_t sz = bmpFS.size();
if (sz <= 64800)
{
bool oldSwapBytes = getSwapBytes();
setSwapBytes(true);

bmpFS.read((uint8_t *) output_buffer,64800);
int16_t h = sz / (135 * 2);

pushImage(0, 0, 135, 240, (uint16_t *)output_buffer);
//draw img that is shorter than 240pix into the center
int16_t y = (height() - h) /2;

setSwapBytes(oldSwapBytes);
bmpFS.read((uint8_t *) output_buffer,sz);

if (!realtimeMode || realtimeOverride) strip.service();

pushImage(0, y, 135, h, (uint16_t *)output_buffer);

setSwapBytes(oldSwapBytes);
}

bmpFS.close();

Expand Down
Binary file removed usermods/EleksTube_IPS/bmp/0.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/1.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/2.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/3.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/4.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/5.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/6.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/7.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/8.bmp
Binary file not shown.
Binary file removed usermods/EleksTube_IPS/bmp/9.bmp
Binary file not shown.
16 changes: 13 additions & 3 deletions usermods/EleksTube_IPS/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ It enables running all WLED effects on the background SK6812 lighting, while dis
Code is largely based on https://github.com/SmittyHalibut/EleksTubeHAX by Mark Smith!

Supported:
- Display with custom bitmaps from filesystem
- Display with custom bitmaps or raw RGB565 images (.bin) from filesystem
- Background lighting
- Power button
- RTC (with RTC usermod)
Expand All @@ -14,8 +14,18 @@ Supported:
Not supported:
- 3 navigation buttons, on-device setup

Your images must be exactly 135 pixels wide and 1-240 pixels high.

## Installation

Compile and upload to clock using the `elekstube_ips` PlatformIO environment
Once uploaded (the clock can be flashed like any ESP32 module), go to `[WLED-IP]/edit` and upload the 0-9.bmp files from the bmp folder.
Use LED pin 12, relay pin 27 and button pin 34.
Once uploaded (the clock can be flashed like any ESP32 module), go to `[WLED-IP]/edit` and upload the 0-9.bin files from [here](https://github.com/Aircoookie/NixieThemes/tree/master/themes/RealisticNixie/bin).
You can find more clockfaces in the [NixieThemes](https://github.com/Aircoookie/NixieThemes/) repo.
Use LED pin 12, relay pin 27 and button pin 34.

## Use of RGB565 images

Binary 16-bit per pixel RGB565 format `.bin` images are now supported. This has the benefit of only using 2/3rds of the file size a `.bmp` has.
The drawback is that this format cannot be handled by common image programs and that an extra conversion step is needed.
You can use https://lvgl.io/tools/imageconverter to convert your .bmp to a .bin file (settings `True color` and `Binary RGB565`)
Thank you to @RedNax67 for adding .bin support.
2 changes: 1 addition & 1 deletion wled00/bus_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ struct BusConfig {
colorOrder = pcolorOrder; reversed = rev; skipAmount = skip;
uint8_t nPins = 1;
if (type > 47) nPins = 2;
else if (type > 41 && type < 46) nPins = NUM_PWM_PINS(type);
else if (type > 40 && type < 46) nPins = NUM_PWM_PINS(type);
for (uint8_t i = 0; i < nPins; i++) pins[i] = ppins[i];
}
};
Expand Down
6 changes: 5 additions & 1 deletion wled00/const.h
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,11 @@
// string temp buffer (now stored in stack locally)
#define OMAX 2048

#define E131_MAX_UNIVERSE_COUNT 9
#ifdef WLED_USE_ETHERNET
#define E131_MAX_UNIVERSE_COUNT 20
#else
#define E131_MAX_UNIVERSE_COUNT 10
#endif

#define ABL_MILLIAMPS_DEFAULT 850 // auto lower brightness to stay close to milliampere limit

Expand Down
2 changes: 1 addition & 1 deletion wled00/set.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ bool handleSet(AsyncWebServerRequest *request, const String& req, bool apply)

pos = req.indexOf(F("NX=")); //sets digits to code
if (pos > 0) {
strlcpy(cronixieDisplay, req.substring(pos + 3, pos + 9).c_str(), 6);
strlcpy(cronixieDisplay, req.substring(pos + 3, pos + 9).c_str(), 7);
setCronixie();
}

Expand Down
9 changes: 7 additions & 2 deletions wled00/wled.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/

// version code in format yymmddb (b = daily build)
#define VERSION 2105200
#define VERSION 2106070

//uncomment this if you have a "my_config.h" file you'd like to use
//#define WLED_USE_MY_CONFIG
Expand Down Expand Up @@ -249,7 +249,12 @@ WLED_GLOBAL byte apBehavior _INIT(AP_BEHAVIOR_BOOT_NO_CONN); // access poi
WLED_GLOBAL IPAddress staticIP _INIT_N((( 0, 0, 0, 0))); // static IP of ESP
WLED_GLOBAL IPAddress staticGateway _INIT_N((( 0, 0, 0, 0))); // gateway (router) IP
WLED_GLOBAL IPAddress staticSubnet _INIT_N(((255, 255, 255, 0))); // most common subnet in home networks
WLED_GLOBAL bool noWifiSleep _INIT(false); // disabling modem sleep modes will increase heat output and power usage, but may help with connection issues
#ifdef ARDUINO_ARCH_ESP32
WLED_GLOBAL bool noWifiSleep _INIT(true); // disabling modem sleep modes will increase heat output and power usage, but may help with connection issues
#else
WLED_GLOBAL bool noWifiSleep _INIT(false);
#endif

#ifdef WLED_USE_ETHERNET
#ifdef WLED_ETH_DEFAULT // default ethernet board type if specified
WLED_GLOBAL int ethernetType _INIT(WLED_ETH_DEFAULT); // ethernet board type
Expand Down

0 comments on commit 374457d

Please sign in to comment.