Devices: Move documentation to docs/develop/apps
Change-Id: I2ff31810df1a4afc16533d3820af61a1d2a8ccd1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/11172 Reviewed-by: Adrien Destugues <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
bbec8f4fad
commit
3e8d044d12
@@ -0,0 +1,146 @@
|
||||
DeviceManager Design
|
||||
====================
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
1) Graphically list each device in the system, with all the information available for that specific device type:
|
||||
|
||||
- PCI
|
||||
- USB
|
||||
- SCSI
|
||||
- Bluetooth?
|
||||
- ISA?
|
||||
- ATAPI?
|
||||
- AHCI?
|
||||
- Firewire?
|
||||
|
||||
2) Generate a comprehensive text listing of the devices present to allow users to share detailed information with developers
|
||||
|
||||
- Generate an email with this information attached
|
||||
|
||||
3) Let the user generate a report on how well Haiku supports the devices in the system.
|
||||
|
||||
- Present a list of devices and per device a star rating on the support, and provide a space for comments on the device support.
|
||||
- For each device allow comments
|
||||
- Include all available information for the device (including loaded driver)
|
||||
- Perhaps this can go into the Haikuware compatibility database?
|
||||
|
||||
4) Arrange the devices in different orders (by category, by connection, by bus type, by resource assignment?)
|
||||
|
||||
Graphical Design
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
+=========+
|
||||
| Devices |
|
||||
+=========+======================================================+
|
||||
| Devices | Help | |
|
||||
+----------------------------------------------------------------+
|
||||
| +------------------------+-----------------------------------+ |
|
||||
| | Sort by: [Category v] | / Basic \/ <Bus> \/ Advanced \ | |
|
||||
| | ------------------- | + +--------+----------+--+ | |
|
||||
| | v Audio/Video Devices | | Device Name: Netlink 5787M | | |
|
||||
| | Hauppauge WinTV | | Manufacturer: Broadcom | | |
|
||||
| | Intel HDA Audio | | Category: Network Devices | | |
|
||||
| | v Human Interface Dev. | | Driver used: broadcom570x | | |
|
||||
| | USB Mouse | | | | |
|
||||
| | USB Keyboard | | | | |
|
||||
| | v Network Devices | | | | |
|
||||
| | -->Broadcom 5787M<-- | | | | |
|
||||
| | Intel 4965 WIFI | | | | |
|
||||
| | v Graphics Card | | | | |
|
||||
| | NVidia 8600M GT | | | | |
|
||||
| | .... | +-------------------------------+ | |
|
||||
| +------------------------+-----------------------------------+ |
|
||||
| +-------------------------+ +------------+ +-----------+ |
|
||||
| | Report hardware support | | Gen. email | | Gen. Text | |
|
||||
| +-------------------------+ +------------+ +-----------+ |
|
||||
+================================================================+
|
||||
|
||||
Menu:
|
||||
|
||||
Devices
|
||||
|
||||
- Refresh devices
|
||||
- Report compatibility
|
||||
- Generate system information
|
||||
- \-----
|
||||
- About Devices
|
||||
- \-----
|
||||
- Quit
|
||||
|
||||
Interface details:
|
||||
|
||||
- The left list is an OutlineListView,
|
||||
|
||||
- Is inside a scroll container
|
||||
- Will contain nice icons per type/device
|
||||
- Clicking on a device will show the details in the right view
|
||||
|
||||
- The right view contains 3 tabs:
|
||||
|
||||
- Basic tab: Information available for every kind device
|
||||
- <Bus> tab: Information specific to the bus type of device. (PCI, USB, etc)
|
||||
- Advanced tab: Has a list of name-value pairs of all available information
|
||||
|
||||
- Sort by allows the user to arrange the treeview by:
|
||||
|
||||
- Category:
|
||||
- Connection
|
||||
- Bus type
|
||||
|
||||
- Report Hardware Support
|
||||
|
||||
- List all devices
|
||||
- For each device
|
||||
|
||||
When you click Report Hardware Support, this appears:
|
||||
|
||||
::
|
||||
|
||||
+=========================+
|
||||
| Report Hardware Support |
|
||||
+=========================+============================+
|
||||
| Report Device Supported Comment |
|
||||
| [x] Broadcom Netlink 5787M ***** _________ |
|
||||
| [x] Hauppauge WinTV ***** _________ |
|
||||
| [x] Intel 4965 WIFI ..... _________ |
|
||||
| [x] Intel HDA Audio ****. _________ |
|
||||
| [x] NVidia 8600M GT ***.. _________ |
|
||||
| [x] USB Keyboard ***** _________ |
|
||||
| [x] USB Mouse ***** _________ |
|
||||
| [ ] Intel 82801 PCI Bridge ..... _________ |
|
||||
| [ ] Intel 82801H PCI Express ..... _________ |
|
||||
| |
|
||||
| If you wish, you can leave your contact details so |
|
||||
| developers can get in touch with you for questions |
|
||||
| about your devices. These will be stored privately. |
|
||||
| |
|
||||
| Name: _______________ Email: __________________ |
|
||||
| |
|
||||
| Haiku-os.org account: __________________________ |
|
||||
| |
|
||||
| +--------------------+ +---------------+ |
|
||||
| | Preview submission | | Generate File | |
|
||||
| +--------------------+ +---------------+ |
|
||||
+======================================================+
|
||||
|
||||
Interface details:
|
||||
------------------
|
||||
|
||||
- All devices are _not_ selected for report by default
|
||||
- As soon as a rating is given, it is selected to be reported
|
||||
- Preview submission will popup the generated list with a submit button
|
||||
- Generate file will generate a file that can be uploaded manually, or emailed to a specific address.
|
||||
- As you mouse over the rating, a popup will appear detailing what each star stands for:
|
||||
|
||||
::
|
||||
|
||||
..... : No support
|
||||
X.... : Crashes Haiku
|
||||
**... : Detected but doesn't work with 3rd party driver
|
||||
***.. : Detected but doesn't work out of the box
|
||||
****. : Detected and works with 3rd party driver
|
||||
***** : Detected and works out of the box
|
||||
@@ -0,0 +1,76 @@
|
||||
DeviceManager Specification
|
||||
===========================
|
||||
|
||||
Each device has:
|
||||
|
||||
- Name (long/short)
|
||||
- Manufacturer (long/short)
|
||||
- Category (one master list, each bus type maps its device types onto the master list)
|
||||
- Driver used
|
||||
- Device paths
|
||||
- Its bus type
|
||||
- Its connection parent, if applicable
|
||||
|
||||
Each source has: (currently the RescanDevices method does this)
|
||||
|
||||
- Init function
|
||||
- Scan method that returns the devices.
|
||||
- DevManSource, USBSource, FWSource, ...
|
||||
|
||||
DeviceManager : BApplication
|
||||
----------------------------
|
||||
|
||||
DeviceManagerView : BView
|
||||
-------------------------
|
||||
|
||||
Device : public BStringItem
|
||||
---------------------------
|
||||
|
||||
::
|
||||
|
||||
BString GetName() const;
|
||||
BString GetManufacturer() const;
|
||||
Category GetCategory() const;
|
||||
BString DriverUsed() const;
|
||||
BString DevPathsPublished() const;
|
||||
BView Get
|
||||
private:
|
||||
BString _name;
|
||||
BString _manufacturer;
|
||||
Category _category;
|
||||
BString _driverUsed;
|
||||
BString devPathsPublished;
|
||||
map<BString, BString> _attributes;
|
||||
|
||||
Bus : public BStringItem
|
||||
------------------------
|
||||
|
||||
::
|
||||
|
||||
virtual bool IsPresent() const = 0;
|
||||
virtual Scan() = 0;
|
||||
virtual vector<Device *> Devices() = 0;
|
||||
|
||||
PCIBus : public Bus
|
||||
-------------------
|
||||
|
||||
PCIDevice: public Device
|
||||
------------------------
|
||||
|
||||
ISABus : public Bus
|
||||
-------------------
|
||||
|
||||
ISADevice : public Device
|
||||
-------------------------
|
||||
|
||||
USBBus : public Bus
|
||||
-------------------
|
||||
|
||||
USBDevice : public Device
|
||||
-------------------------
|
||||
|
||||
SCSIBus : public Bus
|
||||
--------------------
|
||||
|
||||
SCSIDevice : public Device
|
||||
--------------------------
|
||||
@@ -0,0 +1,13 @@
|
||||
TODO
|
||||
====
|
||||
|
||||
* Fix view color?
|
||||
* Fix forwarding of messages to view
|
||||
* Bottom scrollbar strangeness
|
||||
* Reduce executable size?
|
||||
* Find a place for unknown devices (or decypher the names better)
|
||||
* Reselect currently selected on sort-by change - unique device id (device_node_cookie?)
|
||||
* Check for keyboard navigation
|
||||
* Loading and saving settings (sort by, position, size and sizes of views)
|
||||
* Icons per device type
|
||||
* Index attributes by enum, not string
|
||||
@@ -0,0 +1,9 @@
|
||||
Devices
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Design
|
||||
Specification
|
||||
Todo
|
||||
@@ -50,6 +50,7 @@ Table of contents
|
||||
/kernel/index
|
||||
/file_systems/index
|
||||
/drivers/index
|
||||
/apps/devices/index
|
||||
/apps/haikudepot/server
|
||||
/debugging/index
|
||||
|
||||
|
||||
Reference in New Issue
Block a user