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
|
||||||
+39
-32
@@ -1,4 +1,8 @@
|
|||||||
|
DeviceManager Specification
|
||||||
|
===========================
|
||||||
|
|
||||||
Each device has:
|
Each device has:
|
||||||
|
|
||||||
- Name (long/short)
|
- Name (long/short)
|
||||||
- Manufacturer (long/short)
|
- Manufacturer (long/short)
|
||||||
- Category (one master list, each bus type maps its device types onto the master list)
|
- Category (one master list, each bus type maps its device types onto the master list)
|
||||||
@@ -8,62 +12,65 @@ Each device has:
|
|||||||
- Its connection parent, if applicable
|
- Its connection parent, if applicable
|
||||||
|
|
||||||
Each source has: (currently the RescanDevices method does this)
|
Each source has: (currently the RescanDevices method does this)
|
||||||
|
|
||||||
- Init function
|
- Init function
|
||||||
- Scan method that returns the devices.
|
- Scan method that returns the devices.
|
||||||
- DevManSource, USBSource, FWSource, ...
|
- DevManSource, USBSource, FWSource, ...
|
||||||
|
|
||||||
DeviceManager Specification
|
|
||||||
===========================
|
|
||||||
|
|
||||||
DeviceManager : BApplication
|
DeviceManager : BApplication
|
||||||
-------------
|
----------------------------
|
||||||
|
|
||||||
DeviceManagerView : BView
|
DeviceManagerView : BView
|
||||||
-----------------
|
-------------------------
|
||||||
|
|
||||||
|
|
||||||
Device : public BStringItem
|
Device : public BStringItem
|
||||||
------
|
---------------------------
|
||||||
BString GetName() const;
|
|
||||||
BString GetManufacturer() const;
|
::
|
||||||
Category GetCategory() const;
|
|
||||||
BString DriverUsed() const;
|
BString GetName() const;
|
||||||
BString DevPathsPublished() const;
|
BString GetManufacturer() const;
|
||||||
BView Get
|
Category GetCategory() const;
|
||||||
private:
|
BString DriverUsed() const;
|
||||||
BString _name;
|
BString DevPathsPublished() const;
|
||||||
BString _manufacturer;
|
BView Get
|
||||||
Category _category;
|
private:
|
||||||
BString _driverUsed;
|
BString _name;
|
||||||
BString devPathsPublished;
|
BString _manufacturer;
|
||||||
map<BString, BString> _attributes;
|
Category _category;
|
||||||
|
BString _driverUsed;
|
||||||
|
BString devPathsPublished;
|
||||||
|
map<BString, BString> _attributes;
|
||||||
|
|
||||||
Bus : public BStringItem
|
Bus : public BStringItem
|
||||||
---
|
------------------------
|
||||||
virtual bool IsPresent() const = 0;
|
|
||||||
virtual Scan() = 0;
|
::
|
||||||
virtual vector<Device *> Devices() = 0;
|
|
||||||
|
virtual bool IsPresent() const = 0;
|
||||||
|
virtual Scan() = 0;
|
||||||
|
virtual vector<Device *> Devices() = 0;
|
||||||
|
|
||||||
PCIBus : public Bus
|
PCIBus : public Bus
|
||||||
------
|
-------------------
|
||||||
|
|
||||||
PCIDevice: public Device
|
PCIDevice: public Device
|
||||||
---------
|
------------------------
|
||||||
|
|
||||||
ISABus : public Bus
|
ISABus : public Bus
|
||||||
-----
|
-------------------
|
||||||
|
|
||||||
ISADevice : public Device
|
ISADevice : public Device
|
||||||
---------
|
-------------------------
|
||||||
|
|
||||||
USBBus : public Bus
|
USBBus : public Bus
|
||||||
------
|
-------------------
|
||||||
|
|
||||||
USBDevice : public Device
|
USBDevice : public Device
|
||||||
---------
|
-------------------------
|
||||||
|
|
||||||
SCSIBus : public Bus
|
SCSIBus : public Bus
|
||||||
-------
|
--------------------
|
||||||
|
|
||||||
SCSIDevice : public Device
|
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
|
/kernel/index
|
||||||
/file_systems/index
|
/file_systems/index
|
||||||
/drivers/index
|
/drivers/index
|
||||||
|
/apps/devices/index
|
||||||
/apps/haikudepot/server
|
/apps/haikudepot/server
|
||||||
/debugging/index
|
/debugging/index
|
||||||
|
|
||||||
|
|||||||
@@ -1,128 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
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
|
|
||||||
Reference in New Issue
Block a user