Commit Graph

65 Commits

Author SHA1 Message Date
JobvAlewijk
7628e47478 test: added qi_utils test 2025-11-24 20:02:28 +00:00
Twirre
36f5fae45c Merge branch 'test/socket-base' into 'dev'
test: added socket base tests

See merge request ics/sp/2025/n25b/pepperplus-ri!13
2025-11-24 13:32:31 +00:00
JobvAlewijk
6ea870623b test: added socket base tests 2025-11-24 13:32:31 +00:00
8d6dd23acb Merge branch 'chore/add-documentation' into 'dev'
chore: add documentation RI

See merge request ics/sp/2025/n25b/pepperplus-ri!11
2025-11-22 19:14:51 +00:00
Twirre Meulenbelt
a53871360e docs: remove duplicate and double space
ref: N25B-298
2025-11-22 19:32:50 +01:00
Pim Hutting
c1e92feba7 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Kasper Marinus <k.marinus@students.uu.nl>
2025-11-22 12:37:39 +00:00
Pim Hutting
6859451bf9 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-22 12:36:34 +00:00
Twirre Meulenbelt
64c6f0addb docs: make doc generator understand multi line
ref: N25B-298
2025-11-22 12:44:13 +01:00
Pim Hutting
c53307530b chore: applied all feedback
close: N25B-298
2025-11-22 11:45:32 +01:00
Pim Hutting
051f904576 chore: add documentation RI
Code functionality left unchanged, only added docs where missing

close: N25B-298
2025-11-21 16:35:40 +01:00
Twirre
1e3531ac6e Merge branch 'docs/gen_documentation' into 'dev'
docs: added auto-generation of documentation

See merge request ics/sp/2025/n25b/pepperplus-ri!10
2025-11-19 17:14:36 +00:00
Storm
cec29f6206 chore: updated .gitignore
ref: N25B-270
2025-11-19 18:10:18 +01:00
Storm
a0a8ad2689 docs: changed readme
ref: N25B-270
2025-11-19 17:59:37 +01:00
JobvAlewijk
1c9467d03a fix: conf includes correct path
ref: N25B-270
2025-11-19 17:57:24 +01:00
Storm
9dd39d2048 docs: added auto-generation of documentation
ref: N25B-270
2025-11-19 13:49:50 +01:00
Twirre
b05aa5e834 Merge branch 'refactor/config-file' into 'dev'
refactor: added config file and moved constants

See merge request ics/sp/2025/n25b/pepperplus-ri!9
2025-11-14 14:15:06 +00:00
Twirre Meulenbelt
c691e279cd style: two lines between top level declarations
ref: N25B-236
2025-11-14 15:13:48 +01:00
Pim Hutting
16b64e41c8 style: applied style suggestions
close: N25B-236
2025-11-14 14:12:14 +00:00
Twirre Meulenbelt
03519e2a16 test: fix microphone interactive test
This was created with the assumption that all devices were choosable, but now only ones with input channels are.

ref: N25B-119
2025-11-14 13:08:31 +01:00
Pim Hutting
643d7b919c fix: made all tests pass
before some tests failed because of a faulty edit
to microphone util

ref: N25B-236
2025-11-09 16:00:36 +01:00
Pim Hutting
4402b21a73 refactor: added config file and moved constants
- Moved hardcoded configuration constants to a dedicated config.py file.
- Created VideoConfig, AudioConfig, MainConfig, and Settings classes in config.py

ref: N25B-236
2025-11-09 15:43:22 +01:00
Pim Hutting
c037eb7ec2 Merge branch 'feat/stream-audio' into 'dev'
Implement audio streaming

See merge request ics/sp/2025/n25b/pepperplus-ri!8
2025-11-05 12:08:28 +00:00
Twirre Meulenbelt
8a095323ec docs: describe extra WSL installation step
ref: N25B-119
2025-11-02 16:35:15 +01:00
Twirre Meulenbelt
854a14bf0c docs: describe --microphone program parameter
ref: N25B-119
2025-11-02 16:16:43 +01:00
Twirre Meulenbelt
fab5127cac feat: add application parameter to choose a custom microphone
ref: N25B-119
2025-11-02 16:12:56 +01:00
Twirre Meulenbelt
5912ac606a docs: add installation instructions for the portaudio dependency
ref: N25B-119
2025-11-02 15:01:18 +01:00
Twirre Meulenbelt
9ea446275e fix: allow speaking text with Unicode characters
When speaking, the actuation receiver logs the message to speak. If the message includes Unicode characters, it will now no longer crash.

ref: N25B-119
2025-11-02 14:59:16 +01:00
Twirre Meulenbelt
a6a12a5886 fix: remove unused qi import
It had already been made so that the VideoSender does not depend on `qi`, but the import was not yet removed.

ref: N25B-119
2025-11-02 14:58:32 +01:00
Twirre Meulenbelt
230ab5d5cc test: add case for microphone failure
When the microphone fails, it will raise an IOError during the `read`. This is simulated with a new test.

ref: N25B-119
2025-10-22 15:38:30 +02:00
Twirre Meulenbelt
0499cd8a24 feat: send audio
AudioSender runs in a separate thread to send audio from the microphone.

ref: N25B-119
2025-10-22 15:10:27 +02:00
Twirre Meulenbelt
f8db719bfa test: unit test mock PyAudio, integration test use real
Make unit tests use a mock version of PyAudio, while making integration tests using the real version. If no real microphone is available, these integration tests are skipped.

ref: N25B-119
2025-10-22 13:27:35 +02:00
Twirre Meulenbelt
1e3e077029 fix: disallow selecting non-microphone audio device
Previously any audio device was allowed to be selected as microphone. Now, only ones with at least one input channel can be selected.

ref: N25B-119
2025-10-22 13:24:46 +02:00
Twirre Meulenbelt
0f60f67ab9 feat: add microphone selection utils
Providing two functions, one to choose the default microphone, the other to choose a microphone interactively. With tests.

ref: N25B-119
2025-10-22 11:44:51 +02:00
Pim Hutting
4da83a0a7e Merge branch 'feat/actuation-receiver' into 'dev'
Implement negotiation and actuation endpoints

See merge request ics/sp/2025/n25b/pepperplus-ri!5
2025-10-22 08:49:03 +00:00
Twirre Meulenbelt
9d728f78fe Merge remote-tracking branch 'origin/dev' into feat/actuation-receiver
# Conflicts:
#	README.md
2025-10-21 13:56:57 +02:00
Twirre Meulenbelt
5631a55697 test: convert to pytest
Instead of built-in `unittest`, now use `pytest`. Find versions that work, convert tests.

ref: N25B-168
2025-10-21 13:55:06 +02:00
2584433
5dce0e3438 Merge branch 'fix/githook-mac' into 'dev'
fix: fixed githooks

See merge request ics/sp/2025/n25b/pepperplus-ri!7
2025-10-17 14:27:58 +00:00
2584433
670d1f0a6a fix: fixed githooks 2025-10-17 14:27:58 +00:00
Twirre Meulenbelt
45be0366ba style: correct and clarify docs and comments
ref: N25B-168
2025-10-16 22:03:50 +02:00
Twirre Meulenbelt
4c3aa3a911 feat: adapt actuation receiver to state's qi_session
Makes actuation tests pass. In main, the timing of the socket no longer contains the time to receive and send data, but only the processing time of the message handler.

ref: N25B-168
2025-10-16 21:46:46 +02:00
Twirre Meulenbelt
56c804b7eb test: add unit tests for main and actuation receivers
Exhaustive test cases for both classes, with 100% coverage. Adds `mock` dependency. Tests for actuation receiver do not yet pass.

ref: N25B-168
2025-10-16 21:43:24 +02:00
Twirre Meulenbelt
55483808ff fix: use qi session from state in actuation receiver
ref: N25B-168
2025-10-16 18:09:01 +02:00
Twirre Meulenbelt
c10fbc7c90 fix: use different port, fix endpoint name matching
ref: N25B-168
2025-10-16 17:37:01 +02:00
Twirre Meulenbelt
23c3379bfb refactor: use new port negotiation style
As changed in the API document, this now uses the new port negotiation style.

ref: N25B-168
2025-10-16 17:22:04 +02:00
Twirre Meulenbelt
e12d88726d Merge remote-tracking branch 'origin/dev' into feat/actuation-receiver
# Conflicts:
#	src/robot_interface/endpoints/socket_base.py
2025-10-16 17:01:16 +02:00
Twirre
785756683e Merge branch 'feat/ri-receive-video' into 'dev'
Implemented receiving video in RI from robot

See merge request ics/sp/2025/n25b/pepperplus-ri!4
2025-10-16 14:41:02 +00:00
Luijkx,S.O.H. (Storm)
0b55d5c221 style: fixed docstrings
close: N25B-171
2025-10-16 14:06:31 +00:00
Twirre Meulenbelt
308a19bff2 fix: correct negotiate endpoint name
Was previously "negotiation/", but the API document described it as "negotiate/". It is now "negotiate/" in the implementation as well.

ref: N25B-168
2025-10-16 15:02:01 +02:00
Storm
0c5b47ae16 refactor: removed hardcoded IP and port and moved video functions from main to the VideoSender class
ref: N25B-171
2025-10-16 14:57:53 +02:00
Storm
a408fafc7c docs: minor type correction in documentation start_video_rcv and video_rcv_loop 2025-10-15 17:55:29 +02:00