Skip to content

Commit

Permalink
Merge pull request #4 from Frankkkkk/fvd/doc
Browse files Browse the repository at this point in the history
  • Loading branch information
larsbaunwall authored May 17, 2024
2 parents 1d7e229 + 3be0a59 commit de02118
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 4 deletions.
22 changes: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,30 @@ This is a very early version of the [new UI](src/ui):

Currently, I am exploring how the rotary dial works over USB, trying to reverse engineer the protocol.

Code for the Rotary controller (which is a USB HID device) can be found in `src/dotnet` and `src/rust`.
Code for the Rotary controller (which is a USB HID device) can be found in
`src/dotnet` and `src/rust`. Alternatively, a linux kernel module that exports
the HID events into "good" ones (joysting with axis, buttons, etc) is available
at
[beosound5-kernel-module](https://github.com/Frankkkkk/beosound5-kernel-module).

This work is greatly inspired and informed by [@toresby](https://github.com/toresbe)'s work on [neomaster](https://github.com/toresbe/neomaster).

This work is greatly inspired and informed by
[@toresby](https://github.com/toresbe)'s work on
[neomaster](https://github.com/toresbe/neomaster).

I am also looking into new hardware to replace the old Beomaster5, which I plan to replace with a Raspberry Pi with the [Hifiberry DAC2 HD](https://www.hifiberry.com/shop/boards/hifiberry-dac2-hd/) for audio.

#### Beosound 5 power connection

The pinout for the mini-DIN 4 power connection is (view from port):
![beo5 power connector. 1:GND, 2:+5V standy, 3: +12V](beo5-power-conn.png)

Please note that mini-HDMI and USB need to be plugged in for the screen to power
on.
The beosound 5 does not export EDID information, so the screen caracteristics
need to be set beforehand. For unknown reasons, it works out of box on
RaspberryPis.

### The software

I plan to build and extend the [HifiberryOS (Beocreate) platform](https://www.hifiberry.com/hifiberryos/) with a custom local UI that can be operated with the rotary dial on the Beosystem 5 control unit.
Expand Down
Binary file added beo5-power-conn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 21 additions & 2 deletions src/rust/examples/listen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,12 @@ fn main() {

controller.lock().unwrap().register_button_event_callback(Arc::new(Mutex::new(move |button: Button| -> Result<(), Box<dyn Error + Send>> {
println!(" Received ButtonEvent: {:?}", button);

/*
if button != Button::None {
// Emit click sound
controller_clone.lock().unwrap().tick().unwrap();
}
*/

Ok(())
})));
Expand All @@ -49,8 +50,26 @@ fn main() {
}

// Keep the main thread alive to continue receiving events

loop {
std::thread::sleep(std::time::Duration::from_millis(1));
println!("hell>>>o");
std::thread::sleep(std::time::Duration::from_millis(100));
//controller_clone.lock().unwrap().tick().unwrap();
for i in 0..0xff {
println!("i: {:08b}", i);
controller_clone.lock().unwrap().send([0, i]).unwrap(); //tick().unwrap();
std::thread::sleep(std::time::Duration::from_millis(10));
}
}
}).join().unwrap();
}

/*
00000001 tick
00000100 beep wahaou
00000110 tock
00000111 tuck
00001011 doh!
00001100 non-stop beep
00001101 non-stop lighter beep
*/

0 comments on commit de02118

Please sign in to comment.