vanvught / linux_rpi_artnet_l6470

2 stars 0 forks source link

Add framework for Nextion HMI Displays [NX8048P050-011C] #3

Open vanvught opened 1 year ago

vanvught commented 1 year ago

These displays are using the UART protocol for communication. The initial framework (https://github.com/vanvught/rpidmx512/issues/66) is based on the I2C<->UART as the UART for the OPi Zero was used for DMX/RDM. Also the I2C is available for Raspberry Pi Raspbian.

The I2C<->UART is based on the SC16IS740. Please do notice that the cheap boards, for example https://nl.aliexpress.com/item/4000083345920.html , do not have the IRQ line connected.

A consideration: write an UART abstraction layer for the Raspberry Pi Raspbian environment. For the OPi Zero/GD32F implementation, a native UART can be used.

Attached is what I've found in my archive. lib-nextion.zip Nextion.zip

The display is locally available here -> https://www.tinytronics.nl/shop/en/displays/embedded/nextion/nextion-intelligent-nx8048p050-hmi-display-5-inch-800x480-with-capacitive-touchscreen

Datasheet: https://nextion.tech/datasheets/NX8048P050-011C/

@parabolic333

parabolic333 commented 1 year ago

Thank you Arjan

Just so I 100% undertsand - The code you've just done - (LED / stepper / sensors) - works with Pi 4B and OPi Zero.. Thanks Simon


From: Arjan @.> Sent: 16 March 2023 12:21 To: vanvught/linux_rpi_artnet_l6470 @.> Cc: parabolic333 @.>; Mention @.> Subject: [vanvught/linux_rpi_artnet_l6470] Add framework for Nextion HMI Displays [NX8048P050-011C] (Issue #3)

These displays are using the UART protocol for communication. The initial framework (vanvught/rpidmx512#66https://github.com/vanvught/rpidmx512/issues/66) is based on the I2C<->UART as the UART for the OPi Zero was used for DMX/RDM. Also the I2C is available for Raspberry Pi Raspbian.

The I2C<->UART is based on the SC16IS740. Please do notice that the cheap boards, for example https://nl.aliexpress.com/item/4000083345920.html , do not have the IRQ line connected.

A consideration: write an UART abstraction layer for the Raspberry Pi Raspbian environment. For the OPi Zero/GD32F implementation, a native UART can be used.

Attached is what I've found in my archive. lib-nextion.ziphttps://github.com/vanvught/linux_rpi_artnet_l6470/files/10990510/lib-nextion.zip Nextion.ziphttps://github.com/vanvught/linux_rpi_artnet_l6470/files/10990511/Nextion.zip

The display is locally available here -> https://www.tinytronics.nl/shop/en/displays/embedded/nextion/nextion-intelligent-nx8048p050-hmi-display-5-inch-800x480-with-capacitive-touchscreen

Datasheet: https://nextion.tech/datasheets/NX8048P050-011C/

@parabolic333https://github.com/parabolic333

— Reply to this email directly, view it on GitHubhttps://github.com/vanvught/linux_rpi_artnet_l6470/issues/3, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHUIVQARHLAAXSKOEYT64GDW4MAWFANCNFSM6AAAAAAV5EJFVU. You are receiving this because you were mentioned.Message ID: @.***>

vanvught commented 1 year ago

Hi Simon, the attached code is from early 2020 and just works on the Orange Pi Zero. I will design and write a complete new framework which will run on all platforms; Raspberry Pi Raspbian / macOs (my development platform), Orange Pi Zero LTS. Unfortunately , the Nextion Editor is only available on Windows. Groet, Arjan

vanvught commented 1 year ago

The code you've just done - (LED / stepper / sensors)

Not related to this issue works on Raspberry Pi Raspbian Linux and Orange Pi Zero LTS.

vanvught commented 1 year ago

[Working document]

Hardware The Linux implementation (Raspberry Pi Linux OS and macOS) will make use of a FTDI Basic Breakout with 5V output.

Nextion Baud rate Copying from https://nextion.tech/instruction-set/#s6

Note: on rare occasions bauds has become lost. With the addition of the Editor Program.s feature, it is now recommended to specify your desired baud rate baud=9600 between declarations and before the page0 instruction and no longer recommending inserting bauds=9600 in the first page’s Preinitialization Event of the HMI.

The implementation would use: baud=115200

Naming convention pages:

@parabolic333

vanvught commented 1 year ago

Current custom display configuration in Makefile

DEFINES+=CONFIG_DISPLAY_USE_CUSTOM 
EXTRA_INCLUDES=../lib-nextion/include
CONFIG_DISPLAY_LIB=nextion

I am not that happy with it ;-) It works for now. I will remove the EXTRA_INCLUDES

@parabolic333

vanvught commented 1 year ago

Program.s

-> change baud

baud=115200//Configure baudrate

Note: First time upload is with 9600 baud.

@parabolic333

vanvught commented 1 year ago

The startup page is working. When you change the ArtNet node short-name, or the DMX start address, this page will be updated accordingly.

Use the latest remote configuration tool for setting up the startup page. The default is:

    display.SetTitle("Art-Net 4 L6470");
    display.Set(2, displayudf::Labels::NODE_NAME);
    display.Set(3, displayudf::Labels::IP);
    display.Set(4, displayudf::Labels::VERSION);
    display.Set(5, displayudf::Labels::UNIVERSE_PORT_A);
    display.Set(6, displayudf::Labels::DMX_START_ADDRESS);

Simon.HMI.zip

IMG_5665

@parabolic333

vanvught commented 1 year ago

Note: I create the pages just for the Proof of Concept. @parabolic333