SmittyHalibut / EleksTubeHAX

A custom firmware for the EleksTube IPS Clock
GNU General Public License v3.0
112 stars 44 forks source link

Numbers reversed (new / different hardware) #62

Closed Fastdruid closed 7 months ago

Fastdruid commented 8 months ago

I've a different version without even a CH340 on board (the USB merely powers it), after some investigation of some interesting looking headers and some effort I got things to compile and upload but the numbers are backwards.

ie if the time now was 15:45:10 it would display 01:54:51

I fixed it by changing the indexing scheme in GLOBAL_DEFINES.h (eg swapping the number order so that SECONDS_ONES (0) became SECONDS_ONE (5) and similar for all the others).

This worked. I've seen a few others reporting issues with backwards numbers so a note in the documentation or an option to redefine those 6 constants in reverse order would be handy.

aly-fly commented 8 months ago

Interesting. please provide information on your hardware:

Fastdruid commented 8 months ago

I bought mine from Aliexpress but I believe it's the same as the PCBWAY one here https://www.pcbway.com/project/gifts_detail/RGB_Glow_Tube_Clock_907ad35c.html as there are people reporting the same "reversed digits" after flashing as well as the lack of a menu or any way to set the clock!

Its labelled as "PUNKCYBER IPS CLOCK".

There should be a CH340 chip on the board but its missing (unpopulated space) on mine. Others may have it populated.

The processor on this is an ESP32D0WDQ5 (revision 1)

While there is no CH340 there are however three headers marked BOOT, EN and GRT.

BOOT is connected to GPIO0 (pin 25) EN is connected to EN (pin 3) G is connected to Ground (pins 1/38/15) R is connected to GPIO1 / TxD (pin 35) T is connected to GPIO3 / RxD (pin 34)

Connecting to flash therefore is a simple matter of a loop between the two boot pins, Gnd from the CH340 to G, Rx to R and Tx to T. Power from USB and short the two EN pins to reboot.

Photo of top of board Photo of bottom of board

aly-fly commented 7 months ago

@Fastdruid Thank you for your contributions and all data posted here. I have used your information on my fork (https://github.com/aly-fly/EleksTubeHAX), which is currently in Alfa stage for pre-release testing. Could you please download my code, test it on your clock model, and if you confirm everything works on your clock, I will merge changes into this repository. Thanks.

aly-fly commented 7 months ago

... RGB_Glow_Tube_Clock... Its labelled as "PUNKCYBER IPS CLOCK".

@Fastdruid I was looking at their website and video. Images and videos show two slightly different models, the most visible difference is labeling on the mainboard. Do you have any clue if this is just marketing fail and this is same clock?

Fastdruid commented 7 months ago

Marketing fail. The one I bought had pictures and video of a totally different one as well (the video was of the Elekstube one). There are references in comments from the pcbway one that it is branded PUNKCYBER (as well as people saying that the numbers are reversed when they've flashed firmware).

What I can't say is if all PUNKCYBER ones are the same as mine, certainly there should have been a CH340 on my board which wasn't fitted and I've not heard of anyone else who had to solder headers on!

Fastdruid commented 7 months ago

The exact one I bought was this one https://vi.aliexpress.com/item/1005005910062138.html

The picture and video show it as a ELEKSTUBE IPS DOCKER V6.1.11

aly-fly commented 7 months ago

Copied photos and added "HARDWARE_PunkCyber_CLOCK" option into my fork. Will be merged here a bit later.

Pacattacks commented 4 months ago

I replaced the 340c from a ESP32 dev board, along with other missing components. I also rewired 74HC138D, as this makes the EleksTube software reverse the displays or I could changed it to a 74HC595 which is correct chip, which EleksTube used.

unnamed

aly-fly commented 4 months ago

Isn't it way easier to just reverse the defines in the clock firmware? We jave already implemented this setting with reversed displays.

Pacattacks commented 4 months ago

On the clocks firmware, you need change the ESP32 3 pin select pins. Probably easy to do on SmittyHalibut custom source code, as I don't have EleksTube source code, its easier for me to change the 3-to-8 line decoder/demultiplexer chip for me.

aly-fly commented 4 months ago

Oh well, here we are discussing directly in the repository of the custom firmware, where this function is supported :) If you have loaded any other firmware, we can't help you much.