54 | | [http://rtems.org/onlinedocs/doc-current/share/rtems/html/c_user/c_user.html Configuring a System] chapter in the User's Guide.== Project Deliverables (code, docs, testing) == |
55 | | == = Basic Requirements === |
56 | | |
57 | | # describing the parameters |
58 | | # saving user selections |
59 | | # generating appconfig.c (arbitrary name) |
60 | | # UI implementation(s) |
61 | | # needs to be shareable in a computer manner between the users guide and the Configuration Tool. |
62 | | |
63 | | All user dialogs need to be generated based on descriptions |
64 | | of the parameters. There can be no hard-coding of menu |
65 | | options. If we add or delete a parameter, this should just |
66 | | fall out naturally from the descriptions. |
67 | | |
68 | | There needs to be a file format to save user selections. |
69 | | This file format needs to be the same independent of UI. |
70 | | The user should be able to generate a configuration, |
71 | | come back later, load it, edit it, and regenerate C code. |
72 | | |
73 | | The UI must be portable between all major platforms including |
74 | | Linux, *BSD, MacOS, and Windows. |
75 | | |
76 | | And any transformation between Users Guide and UI configuration |
77 | | parameter must likely be command line. |
78 | | |
79 | | The UI (4.) could be a command line tools to transform (2.) |
80 | | which is in ASCII into a C file to be compiled. But the UI |
81 | | could also be a TUI (Text User Interface) using ncurses |
82 | | or true GUI using Python. |
83 | | |
84 | | Ultimately the definition of (1.)-(3.) make it possible to |
85 | | implement multiple UIs. But we need a simple portable |
86 | | one first that assumes little. I assume that means a TUI |
87 | | and next a GUI. |
88 | | |
89 | | If you are clever, you can do all of this with some transformation |
90 | | and magic of reading files and generating various dialogs in TUI |
91 | | and GUI form. |
92 | | == Code == |
| 54 | [http://rtems.org/onlinedocs/doc-current/share/rtems/html/c_user/c_user.html Configuring a System] chapter in the User's Guide.== Code == |