1. Field of the Invention
The present invention generally relates to a human machine interface system for a vehicle.
2. Description of Related Art
Entertainment systems in vehicles have become more and more prevalent over the years. Today, many vehicles are offered with a built-in video screen for rear seat entertainment. In addition, for many years, recreational vehicles have included video gaming systems integrated into the vehicle, and more recently integrated closely with the vehicle entertainment system.
As vehicle entertainment systems provide more and more functionality, personal computer (PC) platforms are a natural adaptation to provide additional functionality to vehicle passengers. However, in order for a user to play PC games on a PC based system, the user needs to use a keyboard or pointing device to navigate through a multiple step setup procedure before being able to play the game. However, typical PC systems do not have a human machine interface (HMI) that is effective for use in an automobile environment. If the device has a keyboard and/or pointing device, it may be difficult for the user to initiate the game while utilizing their safety restraint. In addition, pointing devices are difficult to use while driving around curves or on rough road surfaces. Further, multiple user input devices, such as wireless keyboards, pointing devices, and remote controls create storage problems within the vehicle.
In view of the above, it is apparent that there exists a need for an improved human machine interface system for an entertainment system of a vehicle.
In satisfying the above need, as well as overcoming the enumerated drawbacks and other limitations of the related art, the present invention provides an improved HMI system for a vehicle.
The system includes a controller, a portable media reader, and an input device. The controller is in communication with the portable media reader and the input device. The controller detects when a particular portable media, such as a game disk, is inserted into the portable media reader for a first time. When the controller detects the initial insertion of the portable media, the controller records a macro. As the user configures the system, user input is recorded by the macro. The user input may include graphical navigation, symbolic navigation, or any system interaction including interaction with the operating system. The controller is configured to play the macro when the portable media is subsequently loaded into the portable media player. The controller may automatically prompt the user whether to play the macro or simply automatically play the macro when the portable media is subsequently loaded into the portable media player. The macro receives the user input and stores the user input according to the sequence it is entered.
During playing of the macro, the controller may be configured to pause between each discrete step allowing the user to override or provide additional input to the operating system during playing of the macro. Further, the input device includes control inputs configured to skip a step in the sequence, skip a pause and continue with the next step, or end the macro and finish the configuration manually. In addition, the controller is configured to detect the mapping of game controller buttons and map game controller buttons based on the macro.
Further objects, features and advantages of this invention will become readily apparent to persons skilled in the art after a review of the following description, with reference to the drawings and claims that are appended to and form a part of this specification.
Referring now to
Accordingly, the controller 12 is configured to record a macro the first time a particular portable media 28 is inserted into the portable media reader 26. Accordingly, the processor 38 checks the disk identifier of the portable media 28 and checks the fixed media 40 to see if a macro is stored corresponding to the disk identifier on the portable media 28. As the user manipulates an input device 30 to configure a program for use, for example a game program for game play, a processor 30 records a macro corresponding to the user navigation. The user navigation may likely include user interaction with the operating system of the controller 12. The macro may be stored as a series of discrete user inputs. Further, the series of discrete user inputs can be stored relative to the sequence they were performed. The series of user inputs may then be replayed in sequence emulating the initial user interaction with the game program. In addition, the user inputs may be based on graphical inputs, such as, a move of a mouse or the move of a cursor based on the game controller 31. The user input may also be based on a symbolic input such as the keyboard 34. For example, as the user selects an icon to start a game, sets the game level, chooses the number of players, selects particular characters, changes the volume, maps game controller buttons, and manipulates other game parameters, the processor 38 detects and stores these series of user inputs onto the fixed media 40. The series of user inputs may be stored in a script file format, such as, a batch or an XML type format. When the user manipulates a predetermined control on the input device 30, the macro recording stops and the macro is cataloged on the fixed media 40. The next time the portable media 28 is inserted into the portable media reader 26, the controller 12 detects that a macro is stored on the fixed media 40 corresponding to that disk identifier and automatically plays the macro or prompts the user if they want the macro played. As the macro plays, the macro may pause between each step in the sequence to receive user input. In addition, the input device 30 may include a predefined control that skips a step when manipulated and another predefined control that ends the macro when manipulated. Accordingly, the user may quickly navigate through the macro skipping certain steps if desired, manipulating the parameters in between macro steps, or ending the macro early to finish configuration manually.
The controller may also include a database of game controllers. As such, the controller may be configured to detect the game controller present and map control inputs of the game controller such as buttons or levers to control inputs on other style game controllers that are supported by the system. As such, during recording of the macro, the macro may also store the game controller type or configuration for later controller input mapping during the subsequent playing of the macro.
Now referring to
However, if it is not the first time the game is loaded as determined by block 66, the logic flows along line 86 to block 88. In block 88, the stored macro is played for that game identifier to set the game up into game play mode. As denoted above, the macro may be paused between each step in the sequence allowing user input to change or override the macro settings. In addition, user input may be received to skip a step in the sequence, to skip the pause immediately moving to the next step, or end the macro sequence altogether. If the macro sequence is ended or the macro is completed, the logic flows to block 84 where the user is allowed to play the game and the method ends. The method 60 may be run in a polling mode to identify when new portable media is inserted into the system or an interrupt request may be initiated due to the insertion of the portable media 28 to initiate method 60.
Now referring to
As a person skilled in the art will readily appreciate, the above description is meant as an illustration of implementation of the principles this invention. This description is not intended to limit the scope or application of this invention in that the invention is susceptible to modification, variation and change, without departing from the spirit of this invention, as defined in the following claims.