-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
146 additions
and
81 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,77 @@ | ||
# Interface | ||
|
||
AC is designed as a console app with a [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface). This means that it can work with a touch screen (via HDMI) or a laptop. The interface is designed to be simple and intuitive. The main goal is to provide a quick and familiar way to interact with the system where every touch operations is in reality a click operation. This way we can develop our AR software without bodering for dedicated development on more complex [HMDs](https://en.wikipedia.org/wiki/Head-mounted_display) or advanced AR interfaces that would offer more ergonomic value to the cost of an increase complexity during the deployement. | ||
AC is designed as a console app with a [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface). This means that it can work with a touch screen (via HDMI) or a laptop. The interface is designed to be simple and intuitive. The main goal is to provide a quick and familiar way to interact with the system where every touch operations is in reality a click operation. This way we can develop our AR software without bodering for dedicated development on more complex [HMDs](https://en.wikipedia.org/wiki/Head-mounted_display) or advanced AR interfaces that would offer more ergonomic value to the cost of an increase complexity during the deployement and a steeper learning curve for the users. | ||
|
||
|
||
|
||
=== ":fontawesome-solid-briefcase: Wearable" | ||
<!-- TODO: add here sub chapters and the hardware necessary --> | ||
If you use a touch screen be sure to set this option when configuring the build: | ||
|
||
``` c++ | ||
cmake -S . -B build -DDEPLOY_ON_TOUCH=ON | ||
``` | ||
/// html | div[style='float: left; width: 58%;'] | ||
|
||
![AC Hardware setup](../assets/images/getting_started/setup_AC_cut_shortview.png){width="700" class="rounded-corners"} | ||
|
||
/// | ||
|
||
/// html | div[style='float: right;width: 40%;'] | ||
|
||
You can use the [WaveShare WS170120](https://www.waveshare.com/wiki/7inch_HDMI_LCD_(B)) as in the current AC prototype and follow the instructions below. To config the touch screen on the pc follow [these steps first](https://www.waveshare.com/wiki/7inch_HDMI_LCD). Be sure to switch the display on, plug the mini-USB and finally plug the HDMI cable. | ||
|
||
/// | ||
|
||
You can use the [WaveShare WS170120](https://www.waveshare.com/wiki/7inch_HDMI_LCD_(B)) as in the current prototype and follow the instructions below: | ||
/// html | div[style='clear: both;'] | ||
/// | ||
|
||
To config the touch screen on the pc follow [these steps first](https://www.waveshare.com/wiki/7inch_HDMI_LCD). Be sure to switch the display on, plug the mini-USB and finally plug the HDMI cable. | ||
## Components list | ||
|
||
Set the display properties in the `config.ini` properties (to find them run the commands `xinput` for the name and `xrandr` for the connection type). | ||
!!! print-parts "Parts" | ||
|
||
The following specs works on the X11 display server also, but you can use any other touch screen, just make sure to set the correct specs in the `config.ini` file: | ||
Here's the list of the parts you will need to obtain or realize: | ||
|
||
```c++ title="config.ini" | ||
[MonitorSpecs] | ||
monitor_name = WaveShare WS170120 | ||
monitor_link_t = HDMI | ||
monitor_resolution = 1280 x 720 | ||
``` | ||
- [x] WaveShare WS170120 | ||
- [ ] Support and tool-side attach for the screen | ||
* [x] 3D printed parts | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/nuts_ecran.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/nuts_ecran.stl) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/reinforce_attachusb.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/reinforce_attachusb.stl) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/screen_board_3.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/screen_board_3.stl) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/locline_attach.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/locline_attach.stl) | ||
* [x] Screen rigs to CNC cut | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/back_screen.pdf`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/back_screen.pdf) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/back_screen.dxf`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/back_screen.dxf) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/screen_board_1.dxf`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/screen_board_1.dxf) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/screen_board_2.dxf`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/screen_board_2.dxf) | ||
* [x] Magnet attachement to the tool | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/magnet_screenside.pdf`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/magnet_screenside.pdf) | ||
- x1 [:octicons-file-code-16: `assets/hardware_parts/touchscreen/nucpoite2.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/touchscreen/nucpoite2.stl) | ||
* [x] x10 M3x10 threaded inserts | ||
* [x] x10 M3x10 nuts | ||
- [x] USB 2.0 cable (length: 1.5m) | ||
- [x] HDMI (length: cable 1.5m) | ||
- [x] Cable protections and fixations | ||
- [x] [:octicons-file-code-16: `assets/hardware_parts/nucpoite2.stl`](https://github.com/ibois-epfl/augmented-carpentry/blob/main/assets/hardware_parts/nucpoite2.stl) | ||
|
||
!!! warning | ||
|
||
Wayland display and touchscreen are not compatible yet as the touchscreen register for the main display and not the small display. | ||
Set the display properties in the `config.ini` properties (to find them run the commands `xinput` for the name and `xrandr` for the connection type). | ||
|
||
The following specs works on the X11 display server also, but you can use any other touch screen, just make sure to set the correct specs in the `config.ini` file: | ||
|
||
```c++ title="config.ini" | ||
[MonitorSpecs] | ||
LinkMode = XWAYLAND1 | ||
Name = Virtual core pointer | ||
Resolution = 1280 x 720 | ||
monitor_name = WaveShare WS170120 | ||
monitor_link_t = HDMI | ||
monitor_resolution = 1280 x 720 | ||
``` | ||
|
||
=== ":fontawesome-solid-laptop-code: Laptop" | ||
??? warning "XWayland" | ||
|
||
For a quick test or development you can use a laptop and the webcam. Just adjust later the CMake config option. | ||
Wayland display and touchscreen are not compatible yet as the touchscreen register for the main display and not the small display. | ||
|
||
```c++ title="config.ini" | ||
[MonitorSpecs] | ||
LinkMode = XWAYLAND1 | ||
Name = Virtual core pointer | ||
Resolution = 1280 x 720 | ||
``` | ||
|
||
=== ":fontawesome-solid-laptop-code: Laptop" | ||
|
||
``` c++ | ||
cmake -S . -B build -DDEPLOY_ON_TOUCH=OFF | ||
``` | ||
In case you use a laptop or a desktop, you can use the touchpad or a mouse to interact with the system as you would do for any other desktop application. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.