Giter Site home page Giter Site logo

atc1441 / atc_tlsr_paper Goto Github PK

View Code? Open in Web Editor NEW
265.0 14.0 39.0 59.17 MB

Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags

C 59.45% Assembly 1.50% Python 0.78% Makefile 0.27% Shell 3.53% Roff 19.33% Tcl 2.85% XC 0.28% XS 0.27% Perl 8.93% C++ 2.40% Objective-C 0.41%

atc_tlsr_paper's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atc_tlsr_paper's Issues

No Services matching UUID 13187b10-xxx

I did a successful (I believe) flash of a Stellar-M3N@ E31HA, after flashing it shows up as ATC_DF2C2C and I can pair in it a browser.

When trying to upload an image I get this error:

14:20:46 : Connecting to: ATC_DF2C2C
ATC_TLSR_Paper_Image_Upload.html:130 > Found GATT server
ATC_TLSR_Paper_Image_Upload.html:32 DOMException: No Services matching UUID 13187b10-eba9-a3ba-044e-83d3217d9a38 found in Device

Probing the thing with gatttool I got a bunch of different UUIDs but nothing similar to the missing one.

If anyone here has some pointers for me I'd be very thankful.

Hanshow Nebular - EPD_BUSY is constantly high.

Hi,
I'm debugging the Hanshow Nebular 350R-N. I know that this model isn't currently supported with the current firmware - but the firmware does load and run, it just doesn't do anything with the display.

I'm looking at how far it's getting. I notice that EPD_BUSY pin is set to input, and it's constantly measuring a high (logic 1). I presume that an initial attempt to do something with the display is making the EPD busy, and then we are waiting for that operation to complete before doing anything else with the display.
But, with EPD_BUSY being constant high no further updates are attempted.

What can be the reason?

Latest commit breaks previous working upload image using BLE

Last working stable commit is this one:

commit ff95759
Author: atc1441
Date: Sat Jan 15 17:24:03 2022 +0100

Final CRC check working

Sorry but I would really like to recommend to make a feature branch where others can test and only after testing merge in master.
Otherwise it's not so cool to break existing working behavior and just push it to main branch without letting at least other developers test the new feature, specially when you can now make a BLE OTA Firmware update (In case you remove Serial flashing cables) and you find out that it does not update.
I could not update.

u_sprintf calls print.

Hi,
I notice that Firmware/components/application/print/u_printf.c has an implementation of sprintf(...) that call an internal "print" function.
The side effect of this is that whatever is being formatted doesn't just go to the specified char buffer, but also goes out the serial .
That's probably not the behaviour you want.

I've attached my 'hacked' version of that file which contains a local vsprintf which tries to accomplish the same task without outputting to serial. See attached.
It might be of some use to someone else too.

Ah, well, I tried to attach a file, with various formats, but github won't let me attach a file. If you want me to send you the file then please ask.

makeit exe does not work

@atc1441 executing makeit fails with no expressive message.. May a wrong python version is installed on my system. Which major python version you use ?

Capture

Paper_Image_Upload

Hi. I successfully flashed the e paper label and i saw u have a image uploader but there is no clear way (for me) to make my own image could you reccomed a program that could be useful for this (i saw one but i cant find it) or any other solution that could help.

Barcode and unique identifier of each ESL tag

Hi @atc1441 ,

Would it be possible to have a:

const char * serial = "517714";

I was just analyzing the Barcode and it seems to me an unique identifier:
Barcode location
Which has this number in my device:
Serial number

Then if we build this firmware using that constant, we could get a bluetooth name like:
ESL_517714

My idea would be that we could scan this Barcode with a custom App and then we could automatically guess what is the device name. This can help to associate a device faster instead of browsing the hundred bluetooth around this days. But is just an idea, would be cool to have an unique serial and I just wanted to know where is the part of the code that generates the ESL_number.
For this device the name I get is: ESL_545778

On another topic, I'm designing a small 3D-printable tiny placement, in case you want to place this vertically in your table with a nice inclination so you can see it more clearly. Will share it in Thingiverse once done and tested!
It would be possible to add in the Readme also a link to https://cale.es/epaper/en/Hanshow/27 just to mention you can send the image using our free service?

Hanshow Nebular 350F-N

I got my hands on a Hanshow Nebular 350F-N and could flash it via UART with ATC_Paper.bin successfully. However, there is no reaction; the screen does not change and no BLE device appears.

I understand that Nebular devices are not supported, but I have the impression that others had limited success? Any comments are welcome!

PXL_20240526_111653789

BLE not working on Stellar-MN@ E31H 401013

Hello!

I tried flashing various versions of this firmware with no luck getting BLE working, flashing works as flashing some test firmware that makes LED flash works.

How exactly is BLE working with TLSR8359? How can we test it's presence in hardware?

Thank you

Serial input.

I understand that the Hanshow Nebular does printf() - with the output coming out through the TXD pin.
But, can it also do serial input through the RXD pin ?

Another model: Stellar XLN

I have the model Stellar-XLN.
Can I try to flash without bricking it?
Or is there another way I test?

Hanshow Nebular - Pinout.

I think the Hanshow Nebular has different pinouts for the GPIO lines. I notice that the SPI comms are not working for the LUT tests.
So, in main.h I see:
#define EPD_RESET GPIO_PD4
#define EPD_DC GPIO_PD7
#define EPD_BUSY GPIO_PA1
#define EPD_CS GPIO_PB4
#define EPD_CLK GPIO_PB5
#define EPD_MOSI GPIO_PB6
#define EPD_ENABLE GPIO_PC5

But, some or all of those are wrong. Is it possible to obtain the correct pinouts for this device ?

Hanshow Nebular

Did someone already got hands on Nebular devices?

They are popping up in stores around here.
They've got BW/Yellow and BW/Red. Also there a ones which are big, like a DinA5 sheet...

How to connect RTS/RST?

I am wondering how in the world am I supposed to connect RTS pin from the display to RST pin on UART/serial converter?
I have 3 converters with different chips, and none of them have reset available on the header.

Instructions given here https://github.com/reece15/stellar-L3N-etag say this: The RTS flying wire is connected to the third pin of the CH340G chip (it can also be left unsoldered and manually connected to GND before burning).

But I have no idea which version of CH340 I do have, and their pinout differs between versions.
Plus, pin 3 is RXD on CH340G, while 14 is RST.
Finally, can someone figure out this "manually connected to GND before burning" instruction?

Can anybody explain how am I supposed to connect this pin from the display to any UART converter or eventually to GND itself in order to have the chip put into proper flashing mode?

Thank you.

Suggestion: link for sourcing compatible modules

Hi,
It's not an "issue", but are there any suggestions where to source individual or small qty of compatible ESLs?

Cant find a source for StellarN modules for consumers.

I would be helpful for advice, if there are sources or specific AliExpress listings, it might be worth to mention in a column of the table of compatible modules.

Enhancement: Over the air update using miniz compressed bin

I have to check it's possible to do it in the Frontend javascript side.
miniz is also what Espressif uses and it's quite stable.

$ ./miniz c ATC_Paper.bin ATC.z
miniz.c version: 10.1.0
Mode: c, Level: 9
Input File: "ATC_Paper.bin"
Output File: "ATC.z"
Input file size: 107812
Total output bytes: 48047
Success.

So if it would be possible to implement this the BLE flashing over the air can take half the time and it would be then decompressed when it arrives to the device. Of course we need to check if there is enough RAM to do that, but I think it might be possible.
Are this ones the right specs for the TLSR8358 SOC ?

Just an enhancement idea. I will research if it's possible to compress with miniz in the javascript frontend. Otherwise it's just a very fast command line action (the miniz executable weights 159K)

Hanshow Stellar-XLN@

I have a Stellar-XLN@ model which is a larger display of 84.22*63.02 mm and a battery life of 5 years. I have no idea what CPU is on board. I opened up the battery departments, and it reveals a test connector with following labels:

| O | O | VCC  | GND  |
| O | O | TMS  | NRST |
| O | O | RXD  | TO?  |
| O | O | TEST | TXD  |

The labels on the second row are hidden behind the plastic casing, but I think they are correct, except TO?
The other Stellar tags have a SWS connection that I don't see here. Any idea what TMS and TEST refer to, is one a SWS pin?
Thanks for your great work on the Hanshow ESLs.

M3N@ / BWR213 won't detect right version?

As reported in another thread here, the M3N@ version doesn't refresh its display properly. I flashed it thru UART and can now update it OTA. But the problem with the garbled display might come from not detecting the right BWR213 version. It displays it as BW213 which is not correct. Forcing the model version OTA, has no effect.

Temperature format is incorect! must be int8_t and not uint8_t how it is in these sources

Hi,
Thank you for this fantastic SDK!

I make a paragliding variometer for me and I noticed a mistake for the temperature in the source code.

Basically the temperature must be int8_t everywhere instead of uint8_t to be able to get sub zero temperatures otherwise for -1'C you will get 255'C (for me I corrected it in "epd_bwr_154.c" and "epd.c")

IMPORTANT What do you use to read/write BLE on the phone? I cannot get the app name from your videos.

temperatore register in datasheet.pdf

Firmware doesn't work on Stellar-MN@ E31HA 401011

Hi,

The included firmware doesn't display anything and doesn't advertise BLE. I have confirmed the firmware does run by toggling the red LED in main.c.

It does seem my MN@ display's have slightly different product codes than yours but have the same PCB text.
I have been able to get working firmware on the display by rewriting the epd_driver_demo in the TLSR8359 SDK to support the display.

The displaying part might be because of a different EPD display, but that doesn't explain the tag not advertising BLE because it is a TLSR8359 and the same PCB.

Do you have any idea on what might be wrong?

Also, I had to change line 4 of the makefile:
TC32_COMPILER_PATH := tc32_windows\\bin\\ to TC32_COMPILER_PATH := tc32_windows/bin/
because of error /usr/bin/sh: tc32_windowsbintc32-elf-gcc: command not found

running Python 3.9.6 on Windows 10

Stellar-MFN@ E31A not working properly / Display won't change.

Heya all!

I'm kinda new to all this so not sure where it went wrong or if my device just isn't compatible.

I flashed the ATC_Paper.bin to the Stellar-MFN@ E31A but the screen isn't doing anything and I am not able to chance anything, I am able to connect to it over bluetooth (ESL_FC09DB) But that's about it.
The LED flashes green occasionally.

Excuse my shoddy way of attaching the pins hahaha.
imgonline-com-ua-dexifvbItkFosYDyL

If anyone has some ideas or could offer some help I would be really grateful!

Not using whole display, forcing EDP not working

Hi! I've been tinkering with this display for some time now. The firmware works and I can flash firmware using Bluetooth. I have one problem: the device is not using a big part of the screen and I am not sure whether it is using the right EPD model. Forcing different EDP models via the bluetooth flasher does not do anything. The device is: Stellar-MN@ E31HA, so the 200x122 version. Here is a picture of the display with the problem visible.
ESL

help

can adapt Nowa-266R-N?

Stellar Pro-213R-N - firmware flashing failed

Hello, I have some not well known "Stellar Pro-213R-N "

IMG_20230731_231557 clean

IMG_20230731_231431 clean

IMG_20230731_231347 clean

The chip TLSR8359 seems to be elligible to be hacked, but the screen is 250x122 and it has 3 colors (BW+red).
Connecting to serial, seems to work (blue led is flashing while sending commands to it), but I can't say if it's working : any hint to read any output/debug from this ESL ?

Programming using C.

Hi, the web interface for programming is great, but is there a C code to do the same - so that I can flash my Hanshow device using a Linux command line ?
I see the HTML page source in the web page probably gives me all the clues I need to convert it to C, but , if someone already has done that please upload it.

Flashing STN-E31HA, did I messed up?

I tried to flash one of my STN-E31HA displays, but I didnt notice RX and SWS are separate pins on this board. I tried flashing with the following connections;

RX to TTL Converter TX
NRST to RTS

the flasher said flash was succesful, however there was no light flashing during the process and the contents of the display have not changed.

Then I noticed the separate SWS pin, so I tried again with the following connections;

SWS to TTL Converter TX
NRST to RTS

Now the light was flashing during the process, and again I get a message that flashing was succesful. The green light blinks, but the contents of the display still havent changed.

Did I mess up or am I missing something?

BLE connection with Wemos or Android?

How could I achieve a connection with an Wemos ?! would like to convert this to a strange looking "smartwatch" (just receive text notifications on it)

Upload failed

Hi,
I've tried to upload the firmware but nothing changed. I've got no error messages but the image doesn't changed and the display did not even blink. I've used 2 different USB2TTL devices: based on cp2102 and ch340 chips. Is there any special thing that I must consider when making the upload ?
Thanks.

Some questions about the Stellar-m3n@

The hardware is all right now,and I'v already got the firmware done.
It cost me 5RMB(I think that's cheap enough)
And the contents on the screen doesn't change
Someone seems puzzled too,hahaha.

third color ?

hanshow doc mentions a potential third color (red/yellow)
can this firmware use it ?

i2c NFC datasheet?

I saw in the code there was some written for the initialisation of the NFC chip. I do want to expand this myself.

On the internet there isn't anything to find or how to address this bus or to write to the EEPROM. Anyone here have a non Chinese datasheet with the bus and register information on it?

Battery temperature.

Hi,
I've getting a battery temperature value of 1162 from the get_temperature_c() function.

What does that 1162 equate to? How can I convert that to something human, like degrees celsius ?

New layout of Hanshow Nebular 350

Recently I got an 3.5" hanshow nebular pricetag. Orignally I wanted to reflash it with alternative firmware. But after some cuts into the back of case I found out that they changed the layout - the soldering pads for reflashing are not there as shown in this video:
https://www.youtube.com/watch?v=WRfZJ4xyYwc
Instead it looks like this:
IMG_20240425_130927
Besides this other layout the also exchanged the battery type. Now it seems that theres a kind of LiPo instead of the two button cell batteries.
Nevertheless, did anybody of you already manage to reflash this new layout?

M3@ Pinout changed

IMG20230118204313

I think it´s the some chip but what is my Tx line for flashing?
Someone knows?

gpio_read(..) function call returns 2!!!

Hi,
What does it mean when gpio_read(..) returns 2?
Specifically, gpio_read(EPD_BUSY);

The source code comments implies that it can only return values 0 or 1.

Hanshow Nebular Screen Reset Flashing Sequence.

Hi,
Sometimes my Hanshow Nebular 350R-N will go in to a special screen flashing sequence which last about 20 seconds.
The whole screen will flash from black to white. The flashing slows down, and changes to red then white.

I've seen it do this when I've used some incorrect commands in the firmware code that I'm playing with.
But, I can't reliably make it do that through software.

Is there a specific "doTheResetFlashingThingNow()" function on these devices?

how to upload the picture that will stay on screen

I am trying to find out a way to send a picture to tags using the original atc1441 firmware, notably to BWR154, as the other forks of it only work on larger versions (BWR213, BWR296...) but they have modified the firmware and created a set of web pages/java scripts that allow uploading and keeping the pictures to those larger tags, including dithering and bunch of other cool stuff.

Alas, the smallest one, BWR154, only works with original firmware which accepts an image using hex format (I can convert and create them just fine, uploading them with the usual BLE uploader) but it does not stay on the display - as soon as the time for clock refresh hits, the display is updated and the image disappears, getting replaced by the default clock/battery/temperature combo.

So, is there a way to switch or force original atc1441 firmware to stop this auto update after sending the picture?
Maybe with some specific sequence of hex codes or something?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.