Graphical user interface engine for embedded systems
First Claim
1. A control system for a device, wherein a graphic user interface (“
- GUI”
) controller operates a GUI of the device independently from an embedded controller of the device, the control system comprising;
the embedded controller for controlling and monitoring the device;
a liquid crystal display (“
LCD”
) for displaying the GUI to a user, the GUI including;
a first GUI object comprising a graphical presentation of a status of the device; and
a second GUI object comprising a graphical presentation of a command to the device;
a touch screen for detecting the command from the user;
the GUT controller, comprising;
at least one memory, comprising;
a document buffer storing a document defining an appearance of the GUI, the document comprising;
a first operation code (“
opcode”
) identifying the first GUI object;
a first operand of the first opcode, the first operand identifying a source of the status;
a second opcode identifying the second GUI object; and
a second operand of the second opcode, the second operand identifying a destination of the command;
a data buffer storing the status and the command;
a GUI object library storing;
a first set of executable codes defining an appearance and a functionality of the first GUI object, the first set of executable codes comprising instructions for rendering the first GUI object, receiving non-graphical data of the status from the embedded controller, and further rendering the first GUI object to show a visual response to a change to the status;
a second set of executable codes defining an appearance and a functionality of the second GUI object, the second set of executable codes comprising instructions for rendering the second GUI object, receiving the command from the touch screen, further rendering the second GUI object to show a visual response to a change to the command, and sending non-graphical data of the command to the embedded controller;
a frame buffer storing at least one complete display frame image of the GUI;
a GUI processor for rendering the GUI and handling user inputs independently from the embedded controller, wherein;
the GUI processor is coupled to the touch screen via a touch screen analog to digital converter to receive the command from the user, wherein the touch screen is not directly connected to the embedded controller;
the GUI processor is coupled to the embedded controller via a serial UART interface to send the non-graphical data of the command to the embedded controller and to receive the non-graphical data of the status from the embedded controller;
the GUI processor is coupled to the at least one memory via a memory bus interface, wherein;
in response to the first opcode and the first operand, the GUI processor executes the first set of executable codes to render the first GUI object to the frame buffer independently from the embedded controller, to receive the non-graphical data of the status from the embedded controller, and to further render the first GUI object to the frame buffer to show a visual response to a change to the status independently from the embedded controller;
in response to the second opcode and the second operand, the GUI processor executes the second set of executable codes to render the second GUI object to the frame buffer independently from the embedded controller, to receive the command from the touch screen independently from the embedded controller, to further render the second GUI object to the frame buffer to show a visual response to a change to the command independently from the embedded controller, and to send the non-graphical data of the command to the embedded controller;
a pixel serializer coupled to the LCD to continuously refresh the LCD with the complete display frame image in the frame buffer that contains both the rendered first GUI object and the rendered second GUI object.
0 Assignments
0 Petitions
Accused Products
Abstract
In an embedded system, for instance in a household appliance, in addition to the usual embedded microprocessor/microcontroller there is provided another processor which actually executes a user interface HTML document for accepting user input, for instance from a keypad and controlling the display device, for instance an LCD. The embedded microprocessor hosts the user interface document, responds to requests from the other processor, keeps track of changes in variables shared with the other processor, and executes the control device functionality. The other processor renders the graphical user interface to the display and interacts with the user by executing local functions to operate on the memory and i/o resources of the embedded processor as described by the user interface document served to it.
54 Citations
21 Claims
-
1. A control system for a device, wherein a graphic user interface (“
- GUI”
) controller operates a GUI of the device independently from an embedded controller of the device, the control system comprising;the embedded controller for controlling and monitoring the device; a liquid crystal display (“
LCD”
) for displaying the GUI to a user, the GUI including;a first GUI object comprising a graphical presentation of a status of the device; and a second GUI object comprising a graphical presentation of a command to the device; a touch screen for detecting the command from the user; the GUT controller, comprising; at least one memory, comprising; a document buffer storing a document defining an appearance of the GUI, the document comprising; a first operation code (“
opcode”
) identifying the first GUI object;a first operand of the first opcode, the first operand identifying a source of the status; a second opcode identifying the second GUI object; and a second operand of the second opcode, the second operand identifying a destination of the command; a data buffer storing the status and the command; a GUI object library storing; a first set of executable codes defining an appearance and a functionality of the first GUI object, the first set of executable codes comprising instructions for rendering the first GUI object, receiving non-graphical data of the status from the embedded controller, and further rendering the first GUI object to show a visual response to a change to the status; a second set of executable codes defining an appearance and a functionality of the second GUI object, the second set of executable codes comprising instructions for rendering the second GUI object, receiving the command from the touch screen, further rendering the second GUI object to show a visual response to a change to the command, and sending non-graphical data of the command to the embedded controller; a frame buffer storing at least one complete display frame image of the GUI; a GUI processor for rendering the GUI and handling user inputs independently from the embedded controller, wherein; the GUI processor is coupled to the touch screen via a touch screen analog to digital converter to receive the command from the user, wherein the touch screen is not directly connected to the embedded controller; the GUI processor is coupled to the embedded controller via a serial UART interface to send the non-graphical data of the command to the embedded controller and to receive the non-graphical data of the status from the embedded controller; the GUI processor is coupled to the at least one memory via a memory bus interface, wherein; in response to the first opcode and the first operand, the GUI processor executes the first set of executable codes to render the first GUI object to the frame buffer independently from the embedded controller, to receive the non-graphical data of the status from the embedded controller, and to further render the first GUI object to the frame buffer to show a visual response to a change to the status independently from the embedded controller; in response to the second opcode and the second operand, the GUI processor executes the second set of executable codes to render the second GUI object to the frame buffer independently from the embedded controller, to receive the command from the touch screen independently from the embedded controller, to further render the second GUI object to the frame buffer to show a visual response to a change to the command independently from the embedded controller, and to send the non-graphical data of the command to the embedded controller; a pixel serializer coupled to the LCD to continuously refresh the LCD with the complete display frame image in the frame buffer that contains both the rendered first GUI object and the rendered second GUI object.
- GUI”
-
2. A first controller providing a graphical user interface (“
- GUI”
) for a device independently from a second controller that monitors and controls the device, the first controller comprising;at least one memory comprising; a document buffer storing a document, the document comprising; a first operation code (“
opcode”
) identifying a first GUI object in the GUI, the first GUI object being a graphical presentation of a parameter, the parameter being from the second controller;a first operand of the first opcode, the first operand identifying the parameter of the first GUI object; a second opcode identifying a second GUI object in the GUI, the second GUI object being a graphic presentation of a user input, the user input being from an input device; and a second operand of the second opcode, the second operand identifying a destination of the user input; a frame buffer for storing at least one complete frame of the GUI including the first and the second GUI objects; a GUI object library storing executable codes defining an appearance and a functionality of the first and the second GUI objects, the executable codes comprising; a first plurality of instructions for receiving a first non-graphical data of the parameter from the second controller and rendering the first GUI object in response to any change to the parameter; a second plurality of instructions for receiving the user input from the input device, rendering the second GUI object in response to the user input, and sending a second non-graphical data of the user input to the second controller; a processor coupled to the second controller and the at least one memory, wherein the processor (1) reads the first opcode, the first operand, the second opcode, and the second operand, (2) reads the executable codes, (3) executes the executable codes to (a) receive the first non-graphical data of the parameter from the second controller, (b) render the first GUI object in response to any change to the parameter independently from the second controller, (c) receive the user input from the input device, (d) render the second GUI object in response to the user input independently from the second controller, and (e) send the second non-graphical data of the user input to the second controller, and (4) saves the rendered GUI object in the frame buffer. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- GUI”
-
13. A method for a first controller to generate a graphic user interface (“
- GUI”
) for a device independently from a second controller that monitors and controls the device, comprising;loading a document into a document buffer in at least one memory, the document defining an appearance of the GUI, the document comprising; a first operation code (“
opcode”
) identifying a first GUI object, the first GUI object being a graphical presentation of a parameter, the parameter being from the second controller;a first operand of the first opcode, the first operand identifying the parameter of the first GUI object; a second opcode identifying a second GUI object, the second GUI object being a graphical presentation of a user input, the user input being from an input device; a second operand of the second opcode, the second operand identifying a destination of the user input; in response to the first opcode, the first operand, the second opcode, and the second operand, retrieving executable codes of the first and the second GUI objects from a GUI object library stored in the at least one memory, the executable codes defining an appearance and a functionality of the first and the second GUI objects, the executable codes comprising; a first plurality of instructions for receiving a first non-graphical data of the parameter from the second controller and rendering the first GUI object in response to any change to the parameter; a second plurality of instructions for receiving the user input from the input device, rendering the graphic presentation of the second GUI object in response to the user input, and sending a second non-graphical data of the user input to the second controller; independently from the second controller, executing the executable codes to receive the first non-graphical data of the parameter from the second controller, render the first GUI object in response to any change to the parameter, receive the user input from the input device, render the second GUI object in response to the user input, and send the second non-graphical data of the user input to the second controller; writing the rendered GUI object in a frame buffer in the at least one memory; and sending the rendered GUI object from the frame buffer to an output device, wherein the output device displays the GUI to a user. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
- GUI”
Specification