Reletiv / OpenEPaperLink_TLSR

Alpha Test repo of ATC_TLSR_OpenEPaperLink
5 stars 2 forks source link

Stellar_2.13_BWR_PRO #1

Open zanderp opened 6 months ago

zanderp commented 6 months ago

What are the differences between this and theStellar_2.13_BWR?

I'm trying to update a fork of https://github.com/atc1441/ATC_TLSR_Paper to run on this PRO device. Would you be able to help?

Reletiv commented 6 months ago

Hey! Yes they use 2 different screen drivers, can’t tell you out of the back of my head which. What device do you have?

On Wed, 27 Mar 2024 at 18:02, Alexandru Popa @.***> wrote:

What are the differences between this and theStellar_2.13_BWR?

I'm trying to update a fork of https://github.com/atc1441/ATC_TLSR_Paper to run on this PRO device. Would you be able to help?

— Reply to this email directly, view it on GitHub https://github.com/Reletiv/OpenEPaperLink_TLSR/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCQAOLY5K6Z5KYLNYPMZJLY2LUQHAVCNFSM6AAAAABFLITJV2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYTCMZSGI2TOMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

zanderp commented 6 months ago

Stellar_2.13_BWR_PRO Stellar-M3N@ E31HA with the Stellar_2.13_BWR_PRO firmware you created it works, but I would like to use https://github.com/atc1441/ATC_TLSR_Paper on this device as well, but I need to update the driver, I've tried but I don't seem to find out why it doesn't work. I see you've enforced epd_model = 2; and used another set of epd_bwr_213 c and header. I've tried to replicate this but whatever I do it seems it's not working.

zanderp commented 6 months ago

Ok, I've managed to get the driver working partially, even the load image function. I am having issues reading the temperature. Based on the datasheet https://www.orientdisplay.com/wp-content/uploads/2022/09/UC8151C.pdf the get temperature command should be 0x43 but no matter what I do it dosn't seem to read it.

I've got to something like:

uint8_t EPD_BWR_213_read_temp(void)
{
    EPD_WriteCmd(0x04);

    WaitMs(10);

    //initialize sensor
    EPD_WriteCmd(0x40); 
    EPD_WriteData(0x00);
    WaitMs(10);
    // Enable the internal temperature sensor with no offset
    EPD_WriteCmd(0x41);
    EPD_WriteData(0x00);
    WaitMs(10);
    // Command to read internal temperature
    EPD_WriteCmd(0x43);

    uint8_t tempMSB = EPD_SPI_read();

    // Read the least significant byte of the temperature
    uint8_t tempLSB = EPD_SPI_read();

    // Combine the MSB and LSB to form the full temperature value
    int epd_temperature = (tempMSB << 8) | tempLSB;

    // power off
    EPD_WriteCmd(0x02);

    // deep sleep
    EPD_WriteCmd(0x07);
    EPD_WriteData(0xa5);

    return epd_temperature;
}