[−][src]Struct joycon_rs::joycon::SimpleJoyConDriver
The controller user uses to play with.
If you're not happy with this implementation, you can use JoyConDriver
trait.
Examples
use joycon_rs::prelude::{JoyConManager, SimpleJoyConDriver, lights::*}; use joycon_rs::result::JoyConResult; let manager = JoyConManager::get_instance(); let devices = { let lock = manager.lock(); match lock { Ok(manager) => manager.new_devices(), Err(_) => return, } }; devices.iter() .try_for_each::<_,JoyConResult<()>>(|device| { let mut driver = SimpleJoyConDriver::new(&device)?; // set player's lights driver.set_player_lights(&vec![SimpleJoyConDriver::LIGHT_UP[0]], &vec![])?; Ok(()) }) .unwrap();
Fields
joycon: Arc<Mutex<JoyConDevice>>
The controller user uses
rotation: Rotation
rotation of controller
Implementations
impl SimpleJoyConDriver
[src]
pub fn new(joycon: &Arc<Mutex<JoyConDevice>>) -> JoyConResult<Self>
[src]
Constructs a new SimpleJoyConDriver
.
pub fn joycon(&self) -> MutexGuard<JoyConDevice>
[src]
Trait Implementations
impl Debug for SimpleJoyConDriver
[src]
impl JoyConDriver for SimpleJoyConDriver
[src]
fn valid_reply(&self) -> bool
[src]
fn set_valid_reply(&mut self, valid: bool)
[src]
fn write(&self, data: &[u8]) -> JoyConResult<usize>
[src]
fn read(&self, buf: &mut [u8]) -> JoyConResult<usize>
[src]
fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> JoyConResult<usize>
[src]
fn global_packet_number(&self) -> u8
[src]
fn increase_global_packet_number(&mut self)
[src]
fn set_rumble_status(&mut self, rumble_l_r: (Option<Rumble>, Option<Rumble>))
[src]
fn get_rumble_status(&self) -> (Option<Rumble>, Option<Rumble>)
[src]
fn enable_feature(&mut self, feature: JoyConFeature) -> JoyConResult<()>
[src]
fn enabled_features(&self) -> &HashSet<JoyConFeature>
[src]
fn devices(&self) -> Vec<Arc<Mutex<JoyConDevice>>>
[src]
const ACK_TRY: usize
[src]
fn rumble(
&mut self,
rumble_l_r: (Option<Rumble>, Option<Rumble>)
) -> JoyConResult<usize>
[src]
&mut self,
rumble_l_r: (Option<Rumble>, Option<Rumble>)
) -> JoyConResult<usize>
fn send_command_raw(
&mut self,
command: u8,
sub_command: u8,
data: &[u8]
) -> JoyConResult<usize>
[src]
&mut self,
command: u8,
sub_command: u8,
data: &[u8]
) -> JoyConResult<usize>
fn send_sub_command_raw(
&mut self,
sub_command: u8,
data: &[u8]
) -> JoyConResult<SubCommandReply<[u8; 362]>>
[src]
&mut self,
sub_command: u8,
data: &[u8]
) -> JoyConResult<SubCommandReply<[u8; 362]>>
fn send_command(
&mut self,
command: Command,
sub_command: SubCommand,
data: &[u8]
) -> JoyConResult<usize>
[src]
&mut self,
command: Command,
sub_command: SubCommand,
data: &[u8]
) -> JoyConResult<usize>
fn send_sub_command(
&mut self,
sub_command: SubCommand,
data: &[u8]
) -> JoyConResult<SubCommandReply<[u8; 362]>>
[src]
&mut self,
sub_command: SubCommand,
data: &[u8]
) -> JoyConResult<SubCommandReply<[u8; 362]>>
fn reset(&mut self) -> JoyConResult<()>
[src]
Auto Trait Implementations
impl RefUnwindSafe for SimpleJoyConDriver
impl Send for SimpleJoyConDriver
impl Sync for SimpleJoyConDriver
impl Unpin for SimpleJoyConDriver
impl UnwindSafe for SimpleJoyConDriver
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,