diff --git a/esphome/components/nextion/nextion.h b/esphome/components/nextion/nextion.h index d8fe3762c9..92b41a88af 100644 --- a/esphome/components/nextion/nextion.h +++ b/esphome/components/nextion/nextion.h @@ -23,6 +23,13 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * Set the text of a component to a static string. * @param component The component name. * @param text The static text to set. + * + * Example: + * ```cpp + * it.set_component_text("textview", "Hello World!"); + * ``` + * + * This will set the `txt` property of the component `textview` to `Hello World`. */ void set_component_text(const char *component, const char *text); /** @@ -30,18 +37,41 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param component The component name. * @param format The printf-style format string. * @param ... The arguments to the format. + * + * Example: + * ```cpp + * it.set_component_text_printf("textview", "The uptime is: %.0f", id(uptime_sensor).state); + * ``` + * + * This will change the text on the component named `textview` to `The uptime is:` Then the value of `uptime_sensor`. + * with zero decimals of accuracy (whole number). + * For example when `uptime_sensor` = 506, then, `The uptime is: 506` will be displayed. */ void set_component_text_printf(const char *component, const char *format, ...) __attribute__((format(printf, 3, 4))); /** * Set the integer value of a component * @param component The component name. * @param value The value to set. + * + * Example: + * ```cpp + * it.set_component_value("gauge", 50); + * ``` + * + * This will change the property `value` of the component `gauge` to 50. */ void set_component_value(const char *component, int value); /** * Set the picture of an image component. * @param component The component name. * @param value The picture name. + * + * Example: + * ```cpp + * it.set_component_picture("pic", "4"); + * ``` + * + * This will change the image of the component `pic` to the image with ID `4`. */ void set_component_picture(const char *component, const char *picture) { this->send_command_printf("%s.val=%s", component, picture); @@ -50,24 +80,61 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * Set the background color of a component. * @param component The component name. * @param color The color (as a string). + * + * Example: + * ```cpp + * it.set_component_background_color("button", "17013"); + * ``` + * + * This will change the background color of the component `button` to blue. + * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to + * Nextion HMI colors. */ void set_component_background_color(const char *component, const char *color); /** * Set the pressed background color of a component. * @param component The component name. * @param color The color (as a string). + * + * Example: + * ```cpp + * it.set_component_pressed_background_color("button", "17013"); + * ``` + * + * This will change the pressed background color of the component `button` to blue. This is the background color that + * is shown when the component is pressed. Use this [color + * picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to Nextion HMI + * colors. */ void set_component_pressed_background_color(const char *component, const char *color); /** * Set the font color of a component. * @param component The component name. * @param color The color (as a string). + * + * Example: + * ```cpp + * it.set_component_font_color("textview", "17013"); + * ``` + * + * This will change the font color of the component `textview` to a blue color. + * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to + * Nextion HMI colors. */ void set_component_font_color(const char *component, const char *color); /** * Set the pressed font color of a component. * @param component The component name. * @param color The color (as a string). + * + * Example: + * ```cpp + * it.set_component_pressed_font_color("button", "17013"); + * ``` + * + * This will change the pressed font color of the component `button` to a blue color. + * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to + * Nextion HMI colors. */ void set_component_pressed_font_color(const char *component, const char *color); /** @@ -75,12 +142,26 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param component The component name. * @param x The x coordinate. * @param y The y coordinate. + * + * Example: + * ```cpp + * it.set_component_coordinates("pic", 55, 100); + * ``` + * + * This will move the position of the component `pic` to the x coordinate `55` and y coordinate `100`. */ void set_component_coordinates(const char *component, int x, int y); /** * Set the font id for a component. * @param component The component name. * @param font_id The ID of the font (number). + * + * Example: + * ```cpp + * it.set_component_font("textview", "3"); + * ``` + * + * Changes the font of the component named `textveiw`. Font IDs are set in the Nextion Editor. */ void set_component_font(const char *component, uint8_t font_id); #ifdef USE_TIME @@ -94,26 +175,61 @@ class Nextion : public PollingComponent, public uart::UARTDevice { /** * Show the page with a given name. * @param page The name of the page. + * + * Example: + * ```cpp + * it.goto_page("main"); + * ``` + * + * Switches to the page named `main`. Pages are named in the Nextion Editor. */ void goto_page(const char *page); /** * Hide a component. * @param component The component name. + * + * Example: + * ```cpp + * hide_component("button"); + * ``` + * + * Hides the component named `button`. */ void hide_component(const char *component); /** * Show a component. * @param component The component name. + * + * Example: + * ```cpp + * show_component("button"); + * ``` + * + * Shows the component named `button`. */ void show_component(const char *component); /** * Enable touch for a component. * @param component The component name. + * + * Example: + * ```cpp + * enable_component_touch("button"); + * ``` + * + * Enables touch for component named `button`. */ void enable_component_touch(const char *component); /** * Disable touch for a component. * @param component The component name. + * + * Example: + * ```cpp + * disable_component_touch("button"); + * ``` + * + * Disables touch for component named `button`. */ void disable_component_touch(const char *component); /** @@ -128,6 +244,13 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param picture_id The picture id. * @param x1 The x coordinate. * @param y1 The y coordniate. + * + * Example: + * ```cpp + * display_picture(2, 15, 25); + * ``` + * + * Displays the picture who has the id `2` at the x coordinates `15` and y coordinates `25`. */ void display_picture(int picture_id, int x_start, int y_start); /** @@ -137,6 +260,15 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param width The width to draw. * @param height The height to draw. * @param color The color to draw with (as a string). + * + * Example: + * ```cpp + * fill_area(50, 50, 100, 100, "17013"); + * ``` + * + * Fills an area that starts at x coordiante `50` and y coordinate `50` with a height of `100` and width of `100` with + * the color of blue. Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to + * convert color codes to Nextion HMI colors */ void fill_area(int x1, int y1, int width, int height, const char *color); /** @@ -146,6 +278,16 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param x2 The ending x coordinate. * @param y2 The ending y coordinate. * @param color The color to draw with (as a string). + * + * Example: + * ```cpp + * it.line(50, 50, 75, 75, "17013"); + * ``` + * + * Makes a line that starts at x coordinate `50` and y coordinate `50` and ends at x coordinate `75` and y coordinate + * `75` with the color of blue. Use this [color + * picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to Nextion HMI + * colors. */ void line(int x1, int y1, int x2, int y2, const char *color); /** @@ -155,6 +297,16 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param width The width of the rectangle. * @param height The height of the rectangle. * @param color The color to draw with (as a string). + * + * Example: + * ```cpp + * it.rectangle(25, 35, 40, 50, "17013"); + * ``` + * + * Makes a outline of a rectangle that starts at x coordinate `25` and y coordinate `35` and has a width of `40` and a + * length of `50` with color of blue. Use this [color + * picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to Nextion HMI + * colors. */ void rectangle(int x1, int y1, int width, int height, const char *color); /** @@ -171,17 +323,41 @@ class Nextion : public PollingComponent, public uart::UARTDevice { * @param center_y The center y coordinate. * @param radius The circle radius. * @param color The color to draw with (as a string). + * + * Example: + * ```cpp + * it.filled_cricle(25, 25, 10, "17013"); + * ``` + * + * Makes a filled circle at the x cordinates `25` and y coordinate `25` with a radius of `10` with a color of blue. + * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to + * Nextion HMI colors. */ void filled_circle(int center_x, int center_y, int radius, const char *color); /** Set the brightness of the backlight. * * @param brightness The brightness, from 0 to 100. + * + * Example: + * ```cpp + * it.set_backlight_brightness(30); + * ``` + * + * Changes the brightness of the display to 30%. */ void set_backlight_brightness(uint8_t brightness); /** * Set the touch sleep timeout of the display. * @param timeout Timeout in seconds. + * + * Example: + * ```cpp + * it.set_touch_sleep_timeout(30); + * ``` + * + * After 30 seconds the display will go to sleep. Note: the display will only wakeup by a restart or by setting up + * `thup`. */ void set_touch_sleep_timeout(uint16_t timeout);