Xinyuan-LilyGO / T-Display-S3-Long

45 stars 15 forks source link

AXS15231B datasheet update #5

Open nikthefix opened 1 year ago

nikthefix commented 1 year ago

Please upload an updated version of the AXS15231 datasheet if you have it.

The current datasheet shows that optional parameters in the DCTR register can be set to change scan configuration which would allow for a hardware screen rotate rather than the currently necessary soft rotate - but the documentation appears to be incomplete.

Perhaps these are OTP config settings for factory use but I'd love to know for sure.

I think it's odd that a display with this form factor is native portrait and does not automatically switch scanning according to the MY,MX,MV,ML,MH bits in the register. The clue is in cr_ca and cr_gs but I need more documentation.

Thanks.

lewisxhe commented 1 year ago

Although the manual has a scan setting register, it is actually invalid. This has been determined with the screen supplier. Most screens now do not support rotation and can only be rotated using software. AXS15231_Datasheet_V0.4_20221108-立项版(1).pdf

nikthefix commented 1 year ago

Thanks Lewis. I suspected that it wasn't implemented for this display model. Never mind, soft rotate is working just fine.

I have a landscape mode TFT_eSPI demo for the Long which I'll upload in a couple of days. Just tidying up a bit.

nik

nikthefix commented 1 year ago

Sorry Lewis, one last question:

The display init sequence in const static lcd_cmd_t axs15231b_qspi_init_new[]......

Is this redundant? Was it used for testing purposes? Does it configure the display in a different way?

Thanks again,

nik

lewisxhe commented 1 year ago

That's unnecessary. The guy who maintained this warehouse before didn't delete this part.

nikthefix commented 1 year ago

Great! Thanks.

nikthefix commented 1 year ago

Hi again Lewis.

I've been experimenting with some of the hardware accelerated features like Pixel_Fill and Region_Pixel_Fill in order to add fast clear screen etc. It seems that the display is factory configured for partial update for these features. A full Pixel_Fill will cover 2/3rds of the display only. Am I right in thinking the display has been factory flashed to be like this or is it just undefined behavior because these commands were not implemented for this display model?

Not a problem at all. Just interested to explore the datasheet.

If you have access to the manufacturer OTP register datasheet I'd be very interested. Hard to obtain I imagine.

nik

lewisxhe commented 12 months ago

The initialization part and color are the optimal solutions adjusted by the screen supplier. We cannot obtain the OTP part. It is confidential and I cannot help you.

bao55611 commented 4 months ago

hi nik ... can you make AXS15231B work with TFT ESPI by squareline studio ?

nikthefix commented 4 months ago

@bao55611

Yes I made a demo to do exactly this here:

https://github.com/nikthefix/Lilygo_Support_T_Display_S3_Long_LVGL_Odometer

I made the UI using SLS.

Dpaganini commented 1 month ago

@nikthefix I'm able to made this work on a AXS15231B at a jc3248w535 but not able to fill entire display (480 x 320). Do you have any tips?

nikthefix commented 1 month ago

@Dpaganini My demo code was written for the Lilygo Long board which has a different pixel layout. To modify the sketch for your board you'll need to redefine the width / height parameters and make changes to the datums in the lvgl / sls code. It would probably be easier to start a fresh sls project and use my demo as a template into which you can import the new sls export files.

vencas commented 3 weeks ago

@Dpaganini Can you share code with me, I have JC3248W535C from ali, tried define ports (but without luck)

#define TFT_QSPI_CS           45 //12
#define TFT_QSPI_SCK          47 //17
#define TFT_QSPI_D0           21 //13
#define TFT_QSPI_D1           48 //18
#define TFT_QSPI_D2           40 //21
#define TFT_QSPI_D3           39 //14
#define TFT_QSPI_RST          -1 //16 , I don't know this one
#define TFT_BL                1

Thank you