Buttplug sex toy control library

chore: Rename metaXsire to Sexverse

authored by

blackspherefollower and committed by qdot.tngl.sh 2b41da4c 3bf3d3e3

+573 -569
+16 -12
crates/buttplug_server/src/device/protocol_impl/metaxsire.rs crates/buttplug_server/src/device/protocol_impl/sexverse_v1.rs
··· 1 1 // Buttplug Rust Source Code File - See https://buttplug.io for more info. 2 2 // 3 - // Copyright 2016-2024 Nonpolynomial Labs LLC. All rights reserved. 3 + // Copyright 2016-2025 Nonpolynomial Labs LLC. All rights reserved. 4 4 // 5 5 // Licensed under the BSD 3-Clause license. See LICENSE file in the project root 6 6 // for full license information. ··· 29 29 }, 30 30 }; 31 31 32 - generic_protocol_initializer_setup!(MetaXSire, "metaxsire"); 32 + generic_protocol_initializer_setup!(SexverseV1, "sexverse-v1"); 33 33 34 34 #[derive(Default)] 35 - pub struct MetaXSireInitializer {} 35 + pub struct SexverseV1Initializer {} 36 36 37 37 #[async_trait] 38 - impl ProtocolInitializer for MetaXSireInitializer { 38 + impl ProtocolInitializer for SexverseV1Initializer { 39 39 async fn initialize( 40 40 &mut self, 41 41 _: Arc<Hardware>, ··· 49 49 } 50 50 } 51 51 }); 52 - Ok(Arc::new(MetaXSire::new(commands))) 52 + Ok(Arc::new(SexverseV1::new(commands))) 53 53 } 54 54 } 55 55 56 - const METAXSIRE_PROTOCOL_UUID: Uuid = uuid!("6485a762-2ea7-48c1-a4ba-ab724e618348"); 56 + const SEXVERSE_PROTOCOL_UUID: Uuid = uuid!("6485a762-2ea7-48c1-a4ba-ab724e618348"); 57 57 58 58 #[derive(Default)] 59 - pub struct MetaXSire { 59 + pub struct SexverseV1 { 60 60 commands: Vec<(OutputType, AtomicU8)>, 61 61 } 62 62 63 - impl MetaXSire { 63 + impl SexverseV1 { 64 64 fn new(commands: Vec<(OutputType, AtomicU8)>) -> Self { 65 65 Self { commands } 66 66 } ··· 97 97 } 98 98 data.push(crc); 99 99 100 - Ok(vec![ 101 - HardwareWriteCmd::new(&[METAXSIRE_PROTOCOL_UUID], Endpoint::Tx, data, false).into(), 102 - ]) 100 + Ok(vec![HardwareWriteCmd::new( 101 + &[SEXVERSE_PROTOCOL_UUID], 102 + Endpoint::Tx, 103 + data, 104 + false, 105 + ) 106 + .into()]) 103 107 } 104 108 } 105 109 106 - impl ProtocolHandler for MetaXSire { 110 + impl ProtocolHandler for SexverseV1 { 107 111 fn handle_output_vibrate_cmd( 108 112 &self, 109 113 feature_index: u32,
+10 -10
crates/buttplug_server/src/device/protocol_impl/metaxsire_v2.rs crates/buttplug_server/src/device/protocol_impl/sexverse_v2.rs
··· 1 1 // Buttplug Rust Source Code File - See https://buttplug.io for more info. 2 2 // 3 - // Copyright 2016-2023 Nonpolynomial Labs LLC. All rights reserved. 3 + // Copyright 2016-2025 Nonpolynomial Labs LLC. All rights reserved. 4 4 // 5 5 // Licensed under the BSD 3-Clause license. See LICENSE file in the project root 6 6 // for full license information. ··· 22 22 use std::sync::Arc; 23 23 use uuid::{Uuid, uuid}; 24 24 25 - const METAXSIRE_V2_PROTOCOL_ID: Uuid = uuid!("28b934b4-ca45-4e14-85e7-4c1524b2b4c1"); 26 - generic_protocol_initializer_setup!(MetaXSireV2, "metaxsire-v2"); 25 + const SEXVERSE_V2_PROTOCOL_ID: Uuid = uuid!("28b934b4-ca45-4e14-85e7-4c1524b2b4c1"); 26 + generic_protocol_initializer_setup!(SexverseV2, "sexverse-v2"); 27 27 28 28 #[derive(Default)] 29 - pub struct MetaXSireV2Initializer {} 29 + pub struct SexverseV2Initializer {} 30 30 31 31 #[async_trait] 32 - impl ProtocolInitializer for MetaXSireV2Initializer { 32 + impl ProtocolInitializer for SexverseV2Initializer { 33 33 async fn initialize( 34 34 &mut self, 35 35 hardware: Arc<Hardware>, ··· 37 37 ) -> Result<Arc<dyn ProtocolHandler>, ButtplugDeviceError> { 38 38 hardware 39 39 .write_value(&HardwareWriteCmd::new( 40 - &[METAXSIRE_V2_PROTOCOL_ID], 40 + &[SEXVERSE_V2_PROTOCOL_ID], 41 41 Endpoint::Tx, 42 42 vec![0xaa, 0x04], 43 43 true, 44 44 )) 45 45 .await?; 46 - Ok(Arc::new(MetaXSireV2::default())) 46 + Ok(Arc::new(SexverseV2::default())) 47 47 } 48 48 } 49 49 50 50 #[derive(Default)] 51 - pub struct MetaXSireV2 {} 51 + pub struct SexverseV2 {} 52 52 53 - impl MetaXSireV2 { 53 + impl SexverseV2 { 54 54 fn form_command( 55 55 &self, 56 56 feature_index: u32, ··· 76 76 } 77 77 } 78 78 79 - impl ProtocolHandler for MetaXSireV2 { 79 + impl ProtocolHandler for SexverseV2 { 80 80 fn handle_output_vibrate_cmd( 81 81 &self, 82 82 feature_index: u32,
+7 -7
crates/buttplug_server/src/device/protocol_impl/metaxsire_v3.rs crates/buttplug_server/src/device/protocol_impl/sexverse_v3.rs
··· 1 1 // Buttplug Rust Source Code File - See https://buttplug.io for more info. 2 2 // 3 - // Copyright 2016-2024 Nonpolynomial Labs LLC. All rights reserved. 3 + // Copyright 2016-2025 Nonpolynomial Labs LLC. All rights reserved. 4 4 // 5 5 // Licensed under the BSD 3-Clause license. See LICENSE file in the project root 6 6 // for full license information. ··· 14 14 use std::time::Duration; 15 15 use uuid::Uuid; 16 16 17 - generic_protocol_setup!(MetaXSireV3, "metaxsire-v3"); 17 + generic_protocol_setup!(SexverseV3, "sexverse-v3"); 18 18 19 - const METAXSIRE_COMMAND_DELAY_MS: u64 = 100; 19 + const SEXVERSE_COMMAND_DELAY_MS: u64 = 100; 20 20 21 21 #[derive(Default)] 22 - pub struct MetaXSireV3 {} 22 + pub struct SexverseV3 {} 23 23 24 - impl MetaXSireV3 { 24 + impl SexverseV3 { 25 25 fn form_command( 26 26 &self, 27 27 feature_index: u32, ··· 40 40 } 41 41 } 42 42 43 - impl ProtocolHandler for MetaXSireV3 { 43 + impl ProtocolHandler for SexverseV3 { 44 44 fn keepalive_strategy(&self) -> ProtocolKeepaliveStrategy { 45 45 ProtocolKeepaliveStrategy::RepeatLastPacketStrategyWithTiming(Duration::from_millis( 46 - METAXSIRE_COMMAND_DELAY_MS, 46 + SEXVERSE_COMMAND_DELAY_MS, 47 47 )) 48 48 } 49 49
+4 -4
crates/buttplug_server/src/device/protocol_impl/metaxsire_v4.rs crates/buttplug_server/src/device/protocol_impl/sexverse_v4.rs
··· 1 1 // Buttplug Rust Source Code File - See https://buttplug.io for more info. 2 2 // 3 - // Copyright 2016-2024 Nonpolynomial Labs LLC. All rights reserved. 3 + // Copyright 2016-2025 Nonpolynomial Labs LLC. All rights reserved. 4 4 // 5 5 // Licensed under the BSD 3-Clause license. See LICENSE file in the project root 6 6 // for full license information. ··· 14 14 use buttplug_core::errors::ButtplugDeviceError; 15 15 use buttplug_server_device_config::Endpoint; 16 16 17 - generic_protocol_setup!(MetaXSireV4, "metaxsire-v4"); 17 + generic_protocol_setup!(SexverseV4, "sexverse-v4"); 18 18 19 19 #[derive(Default)] 20 - pub struct MetaXSireV4 {} 20 + pub struct SexverseV4 {} 21 21 22 - impl ProtocolHandler for MetaXSireV4 { 22 + impl ProtocolHandler for SexverseV4 { 23 23 fn handle_output_vibrate_cmd( 24 24 &self, 25 25 _feature_index: u32,
+3 -3
crates/buttplug_server/src/device/protocol_impl/metaxsire_v5.rs crates/buttplug_server/src/device/protocol_impl/sexverse_v5.rs
··· 14 14 use buttplug_core::errors::ButtplugDeviceError; 15 15 use buttplug_server_device_config::Endpoint; 16 16 17 - generic_protocol_setup!(MetaXSireV5, "metaxsire-v5"); 17 + generic_protocol_setup!(SexverseV5, "sexverse-v5"); 18 18 19 19 #[derive(Default)] 20 - pub struct MetaXSireV5 {} 20 + pub struct SexverseV5 {} 21 21 22 - impl ProtocolHandler for MetaXSireV5 { 22 + impl ProtocolHandler for SexverseV5 { 23 23 fn handle_output_vibrate_cmd( 24 24 &self, 25 25 _feature_index: u32,
+25 -25
crates/buttplug_server/src/device/protocol_impl/mod.rs
··· 62 62 pub mod mannuo; 63 63 pub mod maxpro; 64 64 pub mod meese; 65 - pub mod metaxsire; 66 - pub mod metaxsire_v2; 67 - pub mod metaxsire_v3; 68 - pub mod metaxsire_v4; 69 - pub mod metaxsire_v5; 70 65 pub mod mizzzee; 71 66 pub mod mizzzee_v2; 72 67 pub mod mizzzee_v3; ··· 92 87 pub mod sensee_v2; 93 88 pub mod serveu; 94 89 pub mod sexverse_lg389; 90 + pub mod sexverse_v1; 91 + pub mod sexverse_v2; 92 + pub mod sexverse_v3; 93 + pub mod sexverse_v4; 94 + pub mod sexverse_v5; 95 95 pub mod svakom; 96 96 pub mod synchro; 97 97 pub mod tcode_v03; ··· 331 331 add_to_protocol_map(&mut map, meese::setup::MeeseIdentifierFactory::default()); 332 332 add_to_protocol_map( 333 333 &mut map, 334 - metaxsire::setup::MetaXSireIdentifierFactory::default(), 335 - ); 336 - add_to_protocol_map( 337 - &mut map, 338 - metaxsire_v2::setup::MetaXSireV2IdentifierFactory::default(), 339 - ); 340 - add_to_protocol_map( 341 - &mut map, 342 - metaxsire_v3::setup::MetaXSireV3IdentifierFactory::default(), 343 - ); 344 - add_to_protocol_map( 345 - &mut map, 346 - metaxsire_v4::setup::MetaXSireV4IdentifierFactory::default(), 347 - ); 348 - add_to_protocol_map( 349 - &mut map, 350 - metaxsire_v5::setup::MetaXSireV5IdentifierFactory::default(), 351 - ); 352 - add_to_protocol_map( 353 - &mut map, 354 334 mizzzee::setup::MizzZeeIdentifierFactory::default(), 355 335 ); 356 336 add_to_protocol_map( ··· 430 410 &mut map, 431 411 sexverse_lg389::setup::SexverseLG389IdentifierFactory::default(), 432 412 ); 413 + add_to_protocol_map( 414 + &mut map, 415 + sexverse_v1::setup::SexverseV1IdentifierFactory::default(), 416 + ); 417 + add_to_protocol_map( 418 + &mut map, 419 + sexverse_v2::setup::SexverseV2IdentifierFactory::default(), 420 + ); 421 + add_to_protocol_map( 422 + &mut map, 423 + sexverse_v3::setup::SexverseV3IdentifierFactory::default(), 424 + ); 425 + add_to_protocol_map( 426 + &mut map, 427 + sexverse_v4::setup::SexverseV4IdentifierFactory::default(), 428 + ); 429 + add_to_protocol_map( 430 + &mut map, 431 + sexverse_v5::setup::SexverseV5IdentifierFactory::default(), 432 + ); 433 433 add_to_protocol_map(&mut map, serveu::setup::ServeUIdentifierFactory::default()); 434 434 add_to_protocol_map( 435 435 &mut map,
+463 -463
crates/buttplug_server_device_config/build-config/buttplug-device-config-v4.json
··· 1 1 { 2 2 "version": { 3 3 "major": 4, 4 - "minor": 74 4 + "minor": 62 5 5 }, 6 6 "protocols": { 7 7 "activejoy": { ··· 12469 12469 "name": "Meese Device" 12470 12470 } 12471 12471 }, 12472 - "metaxsire": { 12473 - "communication": [ 12474 - { 12475 - "btle": { 12476 - "names": [ 12477 - "Rex", 12478 - "Cali", 12479 - "LY165A01", 12480 - "Olis", 12481 - "LY213A01", 12482 - "LY199B01", 12483 - "LY234A01", 12484 - "LY271A01", 12485 - "LY270A01" 12486 - ], 12487 - "services": { 12488 - "0000ffe0-0000-1000-8000-00805f9b34fb": { 12489 - "rx": "0000ffe2-0000-1000-8000-00805f9b34fb", 12490 - "tx": "0000ffe1-0000-1000-8000-00805f9b34fb" 12491 - } 12492 - } 12493 - } 12494 - } 12495 - ], 12496 - "configurations": [ 12497 - { 12498 - "id": "447c8bda-bafc-472a-9333-8f809bbc48bb", 12499 - "identifier": [ 12500 - "Rex" 12501 - ], 12502 - "name": "metaXsire Rex" 12503 - }, 12504 - { 12505 - "features": [ 12506 - { 12507 - "id": "d3e17d91-94d8-449d-b049-91bd0ec3cf71", 12508 - "output": { 12509 - "vibrate": { 12510 - "value": [ 12511 - 0, 12512 - 255 12513 - ] 12514 - } 12515 - } 12516 - }, 12517 - { 12518 - "id": "6aceca29-6833-4f61-b5af-1005bb50bdf9", 12519 - "output": { 12520 - "constrict": { 12521 - "value": [ 12522 - 0, 12523 - 255 12524 - ] 12525 - } 12526 - } 12527 - } 12528 - ], 12529 - "id": "e4bb4468-1de1-4f37-a348-5c7177923603", 12530 - "identifier": [ 12531 - "Cali", 12532 - "LY165A01" 12533 - ], 12534 - "name": "metaXsire Cali" 12535 - }, 12536 - { 12537 - "features": [ 12538 - { 12539 - "id": "2e6d4a73-7847-4a5b-a03c-cdd6f07c39c9", 12540 - "output": { 12541 - "vibrate": { 12542 - "value": [ 12543 - 0, 12544 - 255 12545 - ] 12546 - } 12547 - } 12548 - }, 12549 - { 12550 - "id": "c1530d49-07b0-432b-8c08-08e1ef4d2842", 12551 - "output": { 12552 - "vibrate": { 12553 - "value": [ 12554 - 0, 12555 - 255 12556 - ] 12557 - } 12558 - } 12559 - }, 12560 - { 12561 - "id": "cbc1187c-2400-4e9b-9fc0-a03744bd7295", 12562 - "output": { 12563 - "rotate": { 12564 - "value": [ 12565 - 0, 12566 - 255 12567 - ] 12568 - } 12569 - } 12570 - } 12571 - ], 12572 - "id": "9e874901-c5d7-49d2-910d-3849ab5ff96c", 12573 - "identifier": [ 12574 - "Olis" 12575 - ], 12576 - "name": "metaXsire Olis" 12577 - }, 12578 - { 12579 - "features": [ 12580 - { 12581 - "id": "641d8a6a-b068-4089-9632-c81ab872677d", 12582 - "output": { 12583 - "oscillate": { 12584 - "value": [ 12585 - 0, 12586 - 255 12587 - ] 12588 - } 12589 - } 12590 - }, 12591 - { 12592 - "id": "15dcc27e-ab6d-407e-8e1a-4b51e445fa5d", 12593 - "output": { 12594 - "vibrate": { 12595 - "value": [ 12596 - 0, 12597 - 255 12598 - ] 12599 - } 12600 - } 12601 - } 12602 - ], 12603 - "id": "941a41b2-78d2-45a6-b730-17a8ff8c75e0", 12604 - "identifier": [ 12605 - "LY213A01" 12606 - ], 12607 - "name": "metaXsire BuCUE" 12608 - }, 12609 - { 12610 - "id": "0f8e2cac-428a-430c-a9d8-8889ed608c24", 12611 - "identifier": [ 12612 - "LY199B01" 12613 - ], 12614 - "name": "Cooxer Bullet Vibe" 12615 - }, 12616 - { 12617 - "id": "de51460a-4c65-4173-8172-8dc7eaccc3a1", 12618 - "identifier": [ 12619 - "LY234A01" 12620 - ], 12621 - "name": "metaXsire Tadpole" 12622 - }, 12623 - { 12624 - "id": "5d061d81-98cd-4271-b896-68394a21e97a", 12625 - "identifier": [ 12626 - "LY271A01" 12627 - ], 12628 - "name": "metaXsire Upton" 12629 - }, 12630 - { 12631 - "id": "97458f06-7a6f-4f8a-bb7a-93dd6ab53157", 12632 - "identifier": [ 12633 - "LY270A01" 12634 - ], 12635 - "name": "metaXsire Una" 12636 - } 12637 - ], 12638 - "defaults": { 12639 - "features": [ 12640 - { 12641 - "id": "74825924-5e2a-4dd6-a91a-10a24be40c09", 12642 - "output": { 12643 - "vibrate": { 12644 - "value": [ 12645 - 0, 12646 - 255 12647 - ] 12648 - } 12649 - } 12650 - } 12651 - ], 12652 - "id": "f595862c-fa49-460c-9667-87f0eac24a6c", 12653 - "name": "metaXsire Device" 12654 - } 12655 - }, 12656 - "metaxsire-v2": { 12657 - "communication": [ 12658 - { 12659 - "btle": { 12660 - "names": [ 12661 - "LY272A01", 12662 - "LB-W01", 12663 - "HH010" 12664 - ], 12665 - "services": { 12666 - "0000bae0-0000-1000-8000-00805f9b34fb": { 12667 - "tx": "0000bae1-0000-1000-8000-00805f9b34fb" 12668 - } 12669 - } 12670 - } 12671 - } 12672 - ], 12673 - "configurations": [ 12674 - { 12675 - "features": [ 12676 - { 12677 - "id": "59cacf4b-ef09-42ad-b3d6-459bc195da26", 12678 - "output": { 12679 - "vibrate": { 12680 - "value": [ 12681 - 0, 12682 - 20 12683 - ] 12684 - } 12685 - } 12686 - } 12687 - ], 12688 - "id": "2a4a4daa-5740-425b-b1a4-72b73f746fdf", 12689 - "identifier": [ 12690 - "LB-W01" 12691 - ], 12692 - "name": "Libo Miao" 12693 - }, 12694 - { 12695 - "features": [ 12696 - { 12697 - "id": "968f7306-6997-4b76-a40f-acbb431d9582", 12698 - "output": { 12699 - "oscillate": { 12700 - "value": [ 12701 - 0, 12702 - 20 12703 - ] 12704 - } 12705 - } 12706 - }, 12707 - { 12708 - "id": "018009d0-b5bf-4f97-a13d-909d0e74fabc", 12709 - "output": { 12710 - "vibrate": { 12711 - "value": [ 12712 - 0, 12713 - 20 12714 - ] 12715 - } 12716 - } 12717 - } 12718 - ], 12719 - "id": "0e1f9fe7-22d9-4afb-9fe5-192b8e5508c3", 12720 - "identifier": [ 12721 - "HH010" 12722 - ], 12723 - "name": "metaXsire HH010" 12724 - } 12725 - ], 12726 - "defaults": { 12727 - "features": [ 12728 - { 12729 - "id": "4961e88c-5c2e-4701-95ee-16d58538b65e", 12730 - "output": { 12731 - "vibrate": { 12732 - "value": [ 12733 - 0, 12734 - 20 12735 - ] 12736 - } 12737 - } 12738 - }, 12739 - { 12740 - "id": "a3cd125d-ac6c-426d-b45a-fe3c7ae1e1d2", 12741 - "output": { 12742 - "oscillate": { 12743 - "value": [ 12744 - 0, 12745 - 20 12746 - ] 12747 - } 12748 - } 12749 - } 12750 - ], 12751 - "id": "ce9d4fe0-6614-493d-ac77-02ec5d42947d", 12752 - "name": "metaXsire Nolan" 12753 - } 12754 - }, 12755 - "metaxsire-v3": { 12756 - "communication": [ 12757 - { 12758 - "btle": { 12759 - "names": [ 12760 - "TAY001", 12761 - "TAY006", 12762 - "TAY009", 12763 - "TA-S001A" 12764 - ], 12765 - "services": { 12766 - "0000fff0-0000-1000-8000-00805f9b34fb": { 12767 - "tx": "0000fe02-0000-1000-8000-00805f9b34fb" 12768 - } 12769 - } 12770 - } 12771 - } 12772 - ], 12773 - "configurations": [ 12774 - { 12775 - "id": "c7615c1d-d53f-4d24-82e1-ce08c301da66", 12776 - "identifier": [ 12777 - "TAY001" 12778 - ], 12779 - "name": "metaXsire Tay 1" 12780 - }, 12781 - { 12782 - "id": "ddfe0ac7-f275-4e08-b16b-a5cd579e9a9e", 12783 - "identifier": [ 12784 - "TAY009" 12785 - ], 12786 - "name": "metaXsire Tay 9" 12787 - }, 12788 - { 12789 - "id": "edfecee1-3b6f-4501-a9d9-717b2bd515a2", 12790 - "identifier": [ 12791 - "TAY006" 12792 - ], 12793 - "name": "metaXsire Tay 6" 12794 - }, 12795 - { 12796 - "features": [ 12797 - { 12798 - "id": "11c78de9-800a-4444-9647-0ed33181e63c", 12799 - "output": { 12800 - "vibrate": { 12801 - "value": [ 12802 - 0, 12803 - 20 12804 - ] 12805 - } 12806 - } 12807 - }, 12808 - { 12809 - "id": "47646747-4dea-47ba-80b2-407e2a276ae2", 12810 - "output": { 12811 - "oscillate": { 12812 - "value": [ 12813 - 0, 12814 - 20 12815 - ] 12816 - } 12817 - } 12818 - } 12819 - ], 12820 - "id": "ae1e373f-1a35-476b-8da8-6017dcb7e0de", 12821 - "identifier": [ 12822 - "TA-S001A" 12823 - ], 12824 - "name": "metaXsire Zeus" 12825 - } 12826 - ], 12827 - "defaults": { 12828 - "features": [ 12829 - { 12830 - "id": "074a15d1-2efc-4cd8-8f1f-0f32f1468024", 12831 - "output": { 12832 - "vibrate": { 12833 - "value": [ 12834 - 0, 12835 - 20 12836 - ] 12837 - } 12838 - } 12839 - } 12840 - ], 12841 - "id": "2e8ff651-b10d-4686-89b5-b8197e80e159", 12842 - "name": "metaXsire Tay" 12843 - } 12844 - }, 12845 - "metaxsire-v4": { 12846 - "communication": [ 12847 - { 12848 - "btle": { 12849 - "names": [ 12850 - "CFG1 vibrator", 12851 - "HJ2024N01" 12852 - ], 12853 - "services": { 12854 - "0000cfa2-0000-1000-8000-00805f9b34fb": { 12855 - "tx": "0000cf21-0000-1000-8000-00805f9b34fb" 12856 - }, 12857 - "0000dba2-0000-1000-8000-00805f9b34fb": { 12858 - "tx": "0000db21-0000-1000-8000-00805f9b34fb" 12859 - } 12860 - } 12861 - } 12862 - } 12863 - ], 12864 - "configurations": [ 12865 - { 12866 - "id": "679cdc1b-9236-4ed1-a3c4-c33b748a8cde", 12867 - "identifier": [ 12868 - "HJ2024N01" 12869 - ], 12870 - "name": "VVD Vkini" 12871 - } 12872 - ], 12873 - "defaults": { 12874 - "features": [ 12875 - { 12876 - "id": "0c9c5a7d-8d28-4003-b1d4-8de5c73c8fe4", 12877 - "output": { 12878 - "vibrate": { 12879 - "value": [ 12880 - 0, 12881 - 99 12882 - ] 12883 - } 12884 - } 12885 - } 12886 - ], 12887 - "id": "e69dc695-695d-485b-be16-59161505fd6d", 12888 - "name": "metaXsire G1 Vibrator" 12889 - } 12890 - }, 12891 - "metaxsire-v5": { 12892 - "communication": [ 12893 - { 12894 - "btle": { 12895 - "names": [ 12896 - "CBW02", 12897 - "CB-WXW03" 12898 - ], 12899 - "services": { 12900 - "0000ffcb-0000-1000-8000-00805f9b34fb": { 12901 - "tx": "0000cb02-0000-1000-8000-00805f9b34fb" 12902 - } 12903 - } 12904 - } 12905 - } 12906 - ], 12907 - "configuration": [ 12908 - { 12909 - "id": "d3c4665b-d5bd-4144-ac20-b40a11a839d1", 12910 - "identifier": [ 12911 - "CB-WXW03" 12912 - ], 12913 - "name": "Hannibal Kona" 12914 - } 12915 - ], 12916 - "defaults": { 12917 - "features": [ 12918 - { 12919 - "id": "140be13c-4cb3-407f-9597-e03f046f1c1a", 12920 - "output": { 12921 - "vibrate": { 12922 - "value": [ 12923 - 0, 12924 - 100 12925 - ] 12926 - } 12927 - } 12928 - } 12929 - ], 12930 - "id": "783bc287-528c-4c58-a7ec-47a49304309e", 12931 - "name": "Sexverse Heart" 12932 - } 12933 - }, 12934 12472 "mizzzee": { 12935 12473 "communication": [ 12936 12474 { ··· 16843 16381 ], 16844 16382 "id": "dd6e5fe8-f53c-4b5c-9614-cedfffc0a40f", 16845 16383 "name": "Sexverse LG389" 16384 + } 16385 + }, 16386 + "sexverse-v1": { 16387 + "communication": [ 16388 + { 16389 + "btle": { 16390 + "names": [ 16391 + "Rex", 16392 + "Cali", 16393 + "LY165A01", 16394 + "Olis", 16395 + "LY213A01", 16396 + "LY199B01", 16397 + "LY234A01", 16398 + "LY271A01", 16399 + "LY270A01" 16400 + ], 16401 + "services": { 16402 + "0000ffe0-0000-1000-8000-00805f9b34fb": { 16403 + "rx": "0000ffe2-0000-1000-8000-00805f9b34fb", 16404 + "tx": "0000ffe1-0000-1000-8000-00805f9b34fb" 16405 + } 16406 + } 16407 + } 16408 + } 16409 + ], 16410 + "configurations": [ 16411 + { 16412 + "id": "447c8bda-bafc-472a-9333-8f809bbc48bb", 16413 + "identifier": [ 16414 + "Rex" 16415 + ], 16416 + "name": "Sexverse Rex" 16417 + }, 16418 + { 16419 + "features": [ 16420 + { 16421 + "id": "d3e17d91-94d8-449d-b049-91bd0ec3cf71", 16422 + "output": { 16423 + "vibrate": { 16424 + "value": [ 16425 + 0, 16426 + 255 16427 + ] 16428 + } 16429 + } 16430 + }, 16431 + { 16432 + "id": "6aceca29-6833-4f61-b5af-1005bb50bdf9", 16433 + "output": { 16434 + "constrict": { 16435 + "value": [ 16436 + 0, 16437 + 255 16438 + ] 16439 + } 16440 + } 16441 + } 16442 + ], 16443 + "id": "e4bb4468-1de1-4f37-a348-5c7177923603", 16444 + "identifier": [ 16445 + "Cali", 16446 + "LY165A01" 16447 + ], 16448 + "name": "Sexverse Cali" 16449 + }, 16450 + { 16451 + "features": [ 16452 + { 16453 + "id": "2e6d4a73-7847-4a5b-a03c-cdd6f07c39c9", 16454 + "output": { 16455 + "vibrate": { 16456 + "value": [ 16457 + 0, 16458 + 255 16459 + ] 16460 + } 16461 + } 16462 + }, 16463 + { 16464 + "id": "c1530d49-07b0-432b-8c08-08e1ef4d2842", 16465 + "output": { 16466 + "vibrate": { 16467 + "value": [ 16468 + 0, 16469 + 255 16470 + ] 16471 + } 16472 + } 16473 + }, 16474 + { 16475 + "id": "cbc1187c-2400-4e9b-9fc0-a03744bd7295", 16476 + "output": { 16477 + "rotate": { 16478 + "value": [ 16479 + 0, 16480 + 255 16481 + ] 16482 + } 16483 + } 16484 + } 16485 + ], 16486 + "id": "9e874901-c5d7-49d2-910d-3849ab5ff96c", 16487 + "identifier": [ 16488 + "Olis" 16489 + ], 16490 + "name": "Sexverse Olis" 16491 + }, 16492 + { 16493 + "features": [ 16494 + { 16495 + "id": "641d8a6a-b068-4089-9632-c81ab872677d", 16496 + "output": { 16497 + "oscillate": { 16498 + "value": [ 16499 + 0, 16500 + 255 16501 + ] 16502 + } 16503 + } 16504 + }, 16505 + { 16506 + "id": "15dcc27e-ab6d-407e-8e1a-4b51e445fa5d", 16507 + "output": { 16508 + "vibrate": { 16509 + "value": [ 16510 + 0, 16511 + 255 16512 + ] 16513 + } 16514 + } 16515 + } 16516 + ], 16517 + "id": "941a41b2-78d2-45a6-b730-17a8ff8c75e0", 16518 + "identifier": [ 16519 + "LY213A01" 16520 + ], 16521 + "name": "Sexverse BuCUE" 16522 + }, 16523 + { 16524 + "id": "0f8e2cac-428a-430c-a9d8-8889ed608c24", 16525 + "identifier": [ 16526 + "LY199B01" 16527 + ], 16528 + "name": "Cooxer Bullet Vibe" 16529 + }, 16530 + { 16531 + "id": "de51460a-4c65-4173-8172-8dc7eaccc3a1", 16532 + "identifier": [ 16533 + "LY234A01" 16534 + ], 16535 + "name": "Sexverse Tadpole" 16536 + }, 16537 + { 16538 + "id": "5d061d81-98cd-4271-b896-68394a21e97a", 16539 + "identifier": [ 16540 + "LY271A01" 16541 + ], 16542 + "name": "Sexverse Upton" 16543 + }, 16544 + { 16545 + "id": "97458f06-7a6f-4f8a-bb7a-93dd6ab53157", 16546 + "identifier": [ 16547 + "LY270A01" 16548 + ], 16549 + "name": "Sexverse Una" 16550 + } 16551 + ], 16552 + "defaults": { 16553 + "features": [ 16554 + { 16555 + "id": "74825924-5e2a-4dd6-a91a-10a24be40c09", 16556 + "output": { 16557 + "vibrate": { 16558 + "value": [ 16559 + 0, 16560 + 255 16561 + ] 16562 + } 16563 + } 16564 + } 16565 + ], 16566 + "id": "f595862c-fa49-460c-9667-87f0eac24a6c", 16567 + "name": "Sexverse Device" 16568 + } 16569 + }, 16570 + "sexverse-v2": { 16571 + "communication": [ 16572 + { 16573 + "btle": { 16574 + "names": [ 16575 + "LY272A01", 16576 + "LB-W01", 16577 + "HH010" 16578 + ], 16579 + "services": { 16580 + "0000bae0-0000-1000-8000-00805f9b34fb": { 16581 + "tx": "0000bae1-0000-1000-8000-00805f9b34fb" 16582 + } 16583 + } 16584 + } 16585 + } 16586 + ], 16587 + "configurations": [ 16588 + { 16589 + "features": [ 16590 + { 16591 + "id": "59cacf4b-ef09-42ad-b3d6-459bc195da26", 16592 + "output": { 16593 + "vibrate": { 16594 + "value": [ 16595 + 0, 16596 + 20 16597 + ] 16598 + } 16599 + } 16600 + } 16601 + ], 16602 + "id": "2a4a4daa-5740-425b-b1a4-72b73f746fdf", 16603 + "identifier": [ 16604 + "LB-W01" 16605 + ], 16606 + "name": "Libo Miao" 16607 + }, 16608 + { 16609 + "features": [ 16610 + { 16611 + "id": "968f7306-6997-4b76-a40f-acbb431d9582", 16612 + "output": { 16613 + "oscillate": { 16614 + "value": [ 16615 + 0, 16616 + 20 16617 + ] 16618 + } 16619 + } 16620 + }, 16621 + { 16622 + "id": "018009d0-b5bf-4f97-a13d-909d0e74fabc", 16623 + "output": { 16624 + "vibrate": { 16625 + "value": [ 16626 + 0, 16627 + 20 16628 + ] 16629 + } 16630 + } 16631 + } 16632 + ], 16633 + "id": "0e1f9fe7-22d9-4afb-9fe5-192b8e5508c3", 16634 + "identifier": [ 16635 + "HH010" 16636 + ], 16637 + "name": "Sexverse HH010" 16638 + } 16639 + ], 16640 + "defaults": { 16641 + "features": [ 16642 + { 16643 + "id": "4961e88c-5c2e-4701-95ee-16d58538b65e", 16644 + "output": { 16645 + "vibrate": { 16646 + "value": [ 16647 + 0, 16648 + 20 16649 + ] 16650 + } 16651 + } 16652 + }, 16653 + { 16654 + "id": "a3cd125d-ac6c-426d-b45a-fe3c7ae1e1d2", 16655 + "output": { 16656 + "oscillate": { 16657 + "value": [ 16658 + 0, 16659 + 20 16660 + ] 16661 + } 16662 + } 16663 + } 16664 + ], 16665 + "id": "ce9d4fe0-6614-493d-ac77-02ec5d42947d", 16666 + "name": "Sexverse Nolan" 16667 + } 16668 + }, 16669 + "sexverse-v3": { 16670 + "communication": [ 16671 + { 16672 + "btle": { 16673 + "names": [ 16674 + "TAY001", 16675 + "TAY006", 16676 + "TAY009", 16677 + "TA-S001A" 16678 + ], 16679 + "services": { 16680 + "0000fff0-0000-1000-8000-00805f9b34fb": { 16681 + "tx": "0000fe02-0000-1000-8000-00805f9b34fb" 16682 + } 16683 + } 16684 + } 16685 + } 16686 + ], 16687 + "configurations": [ 16688 + { 16689 + "id": "c7615c1d-d53f-4d24-82e1-ce08c301da66", 16690 + "identifier": [ 16691 + "TAY001" 16692 + ], 16693 + "name": "Sexverse Tay 1" 16694 + }, 16695 + { 16696 + "id": "ddfe0ac7-f275-4e08-b16b-a5cd579e9a9e", 16697 + "identifier": [ 16698 + "TAY009" 16699 + ], 16700 + "name": "Sexverse Tay 9" 16701 + }, 16702 + { 16703 + "id": "edfecee1-3b6f-4501-a9d9-717b2bd515a2", 16704 + "identifier": [ 16705 + "TAY006" 16706 + ], 16707 + "name": "Sexverse Tay 6" 16708 + }, 16709 + { 16710 + "features": [ 16711 + { 16712 + "id": "11c78de9-800a-4444-9647-0ed33181e63c", 16713 + "output": { 16714 + "vibrate": { 16715 + "value": [ 16716 + 0, 16717 + 20 16718 + ] 16719 + } 16720 + } 16721 + }, 16722 + { 16723 + "id": "47646747-4dea-47ba-80b2-407e2a276ae2", 16724 + "output": { 16725 + "oscillate": { 16726 + "value": [ 16727 + 0, 16728 + 20 16729 + ] 16730 + } 16731 + } 16732 + } 16733 + ], 16734 + "id": "ae1e373f-1a35-476b-8da8-6017dcb7e0de", 16735 + "identifier": [ 16736 + "TA-S001A" 16737 + ], 16738 + "name": "Sexverse Zeus" 16739 + } 16740 + ], 16741 + "defaults": { 16742 + "features": [ 16743 + { 16744 + "id": "074a15d1-2efc-4cd8-8f1f-0f32f1468024", 16745 + "output": { 16746 + "vibrate": { 16747 + "value": [ 16748 + 0, 16749 + 20 16750 + ] 16751 + } 16752 + } 16753 + } 16754 + ], 16755 + "id": "2e8ff651-b10d-4686-89b5-b8197e80e159", 16756 + "name": "Sexverse Tay" 16757 + } 16758 + }, 16759 + "sexverse-v4": { 16760 + "communication": [ 16761 + { 16762 + "btle": { 16763 + "names": [ 16764 + "CFG1 vibrator", 16765 + "HJ2024N01" 16766 + ], 16767 + "services": { 16768 + "0000cfa2-0000-1000-8000-00805f9b34fb": { 16769 + "tx": "0000cf21-0000-1000-8000-00805f9b34fb" 16770 + }, 16771 + "0000dba2-0000-1000-8000-00805f9b34fb": { 16772 + "tx": "0000db21-0000-1000-8000-00805f9b34fb" 16773 + } 16774 + } 16775 + } 16776 + } 16777 + ], 16778 + "configurations": [ 16779 + { 16780 + "id": "679cdc1b-9236-4ed1-a3c4-c33b748a8cde", 16781 + "identifier": [ 16782 + "HJ2024N01" 16783 + ], 16784 + "name": "VVD Vkini" 16785 + } 16786 + ], 16787 + "defaults": { 16788 + "features": [ 16789 + { 16790 + "id": "0c9c5a7d-8d28-4003-b1d4-8de5c73c8fe4", 16791 + "output": { 16792 + "vibrate": { 16793 + "value": [ 16794 + 0, 16795 + 99 16796 + ] 16797 + } 16798 + } 16799 + } 16800 + ], 16801 + "id": "e69dc695-695d-485b-be16-59161505fd6d", 16802 + "name": "Sexverse G1 Vibrator" 16803 + } 16804 + }, 16805 + "sexverse-v5": { 16806 + "communication": [ 16807 + { 16808 + "btle": { 16809 + "names": [ 16810 + "CBW02", 16811 + "CB-WXW03" 16812 + ], 16813 + "services": { 16814 + "0000ffcb-0000-1000-8000-00805f9b34fb": { 16815 + "tx": "0000cb02-0000-1000-8000-00805f9b34fb" 16816 + } 16817 + } 16818 + } 16819 + } 16820 + ], 16821 + "configuration": [ 16822 + { 16823 + "id": "d3c4665b-d5bd-4144-ac20-b40a11a839d1", 16824 + "identifier": [ 16825 + "CB-WXW03" 16826 + ], 16827 + "name": "Hannibal Kona" 16828 + } 16829 + ], 16830 + "defaults": { 16831 + "features": [ 16832 + { 16833 + "id": "140be13c-4cb3-407f-9597-e03f046f1c1a", 16834 + "output": { 16835 + "vibrate": { 16836 + "value": [ 16837 + 0, 16838 + 100 16839 + ] 16840 + } 16841 + } 16842 + } 16843 + ], 16844 + "id": "783bc287-528c-4c58-a7ec-47a49304309e", 16845 + "name": "Sexverse Heart" 16846 16846 } 16847 16847 }, 16848 16848 "svakom-alex": {
+2 -2
crates/buttplug_server_device_config/device-config-v4/protocols/metaxsire-v2.yml crates/buttplug_server_device_config/device-config-v4/protocols/sexverse-v2.yml
··· 1 1 defaults: 2 - name: metaXsire Nolan 2 + name: Sexverse Nolan 3 3 features: 4 4 - id: 4961e88c-5c2e-4701-95ee-16d58538b65e 5 5 output: ··· 28 28 id: 2a4a4daa-5740-425b-b1a4-72b73f746fdf 29 29 - identifier: 30 30 - HH010 31 - name: metaXsire HH010 31 + name: Sexverse HH010 32 32 features: 33 33 - id: 968f7306-6997-4b76-a40f-acbb431d9582 34 34 output:
+5 -5
crates/buttplug_server_device_config/device-config-v4/protocols/metaxsire-v3.yml crates/buttplug_server_device_config/device-config-v4/protocols/sexverse-v3.yml
··· 1 1 defaults: 2 - name: metaXsire Tay 2 + name: Sexverse Tay 3 3 features: 4 4 - id: 074a15d1-2efc-4cd8-8f1f-0f32f1468024 5 5 output: ··· 11 11 configurations: 12 12 - identifier: 13 13 - TAY001 14 - name: metaXsire Tay 1 14 + name: Sexverse Tay 1 15 15 id: c7615c1d-d53f-4d24-82e1-ce08c301da66 16 16 - identifier: 17 17 - TAY009 18 - name: metaXsire Tay 9 18 + name: Sexverse Tay 9 19 19 id: ddfe0ac7-f275-4e08-b16b-a5cd579e9a9e 20 20 - identifier: 21 21 - TAY006 22 - name: metaXsire Tay 6 22 + name: Sexverse Tay 6 23 23 id: edfecee1-3b6f-4501-a9d9-717b2bd515a2 24 24 - identifier: 25 25 - TA-S001A 26 - name: metaXsire Zeus 26 + name: Sexverse Zeus 27 27 features: 28 28 - id: 11c78de9-800a-4444-9647-0ed33181e63c 29 29 output:
+1 -1
crates/buttplug_server_device_config/device-config-v4/protocols/metaxsire-v4.yml crates/buttplug_server_device_config/device-config-v4/protocols/sexverse-v4.yml
··· 1 1 defaults: 2 - name: metaXsire G1 Vibrator 2 + name: Sexverse G1 Vibrator 3 3 features: 4 4 - id: 0c9c5a7d-8d28-4003-b1d4-8de5c73c8fe4 5 5 output:
crates/buttplug_server_device_config/device-config-v4/protocols/metaxsire-v5.yml crates/buttplug_server_device_config/device-config-v4/protocols/sexverse-v5.yml
+8 -8
crates/buttplug_server_device_config/device-config-v4/protocols/metaxsire.yml crates/buttplug_server_device_config/device-config-v4/protocols/sexverse-v1.yml
··· 1 1 defaults: 2 - name: metaXsire Device 2 + name: Sexverse Device 3 3 features: 4 4 - id: 74825924-5e2a-4dd6-a91a-10a24be40c09 5 5 output: ··· 11 11 configurations: 12 12 - identifier: 13 13 - Rex 14 - name: metaXsire Rex 14 + name: Sexverse Rex 15 15 id: 447c8bda-bafc-472a-9333-8f809bbc48bb 16 16 - identifier: 17 17 - Cali 18 18 - LY165A01 19 - name: metaXsire Cali 19 + name: Sexverse Cali 20 20 features: 21 21 - id: d3e17d91-94d8-449d-b049-91bd0ec3cf71 22 22 output: ··· 33 33 id: e4bb4468-1de1-4f37-a348-5c7177923603 34 34 - identifier: 35 35 - Olis 36 - name: metaXsire Olis 36 + name: Sexverse Olis 37 37 features: 38 38 - id: 2e6d4a73-7847-4a5b-a03c-cdd6f07c39c9 39 39 output: ··· 56 56 id: 9e874901-c5d7-49d2-910d-3849ab5ff96c 57 57 - identifier: 58 58 - LY213A01 59 - name: metaXsire BuCUE 59 + name: Sexverse BuCUE 60 60 features: 61 61 - id: 641d8a6a-b068-4089-9632-c81ab872677d 62 62 output: ··· 77 77 id: 0f8e2cac-428a-430c-a9d8-8889ed608c24 78 78 - identifier: 79 79 - LY234A01 80 - name: metaXsire Tadpole 80 + name: Sexverse Tadpole 81 81 id: de51460a-4c65-4173-8172-8dc7eaccc3a1 82 82 - identifier: 83 83 - LY271A01 84 - name: metaXsire Upton 84 + name: Sexverse Upton 85 85 id: 5d061d81-98cd-4271-b896-68394a21e97a 86 86 - identifier: 87 87 - LY270A01 88 - name: metaXsire Una 88 + name: Sexverse Una 89 89 id: 97458f06-7a6f-4f8a-bb7a-93dd6ab53157 90 90 communication: 91 91 - btle:
+1 -1
crates/buttplug_server_device_config/device-config-v4/version.yaml
··· 1 1 version: 2 2 major: 4 3 - minor: 74 3 + minor: 62
+24 -24
crates/buttplug_tests/tests/test_device_protocols.rs
··· 79 79 #[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 80 80 #[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 81 81 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 82 - #[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 83 - #[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 84 - #[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 85 - #[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 82 + #[test_case("test_sexverse_cali.yaml" ; "Sexverse Protocol v1 - Cali")] 83 + #[test_case("test_sexverse_nolan.yaml" ; "Sexverse Protocol v2 - Nolan")] 84 + #[test_case("test_sexverse_olis.yaml" ; "Sexverse Protocol v1 - Olis")] 85 + #[test_case("test_sexverse_rex.yaml" ; "Sexverse Protocol v1 - Rex")] 86 86 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 87 87 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 88 88 #[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")] ··· 201 201 #[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 202 202 #[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 203 203 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 204 - #[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 205 - #[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 206 - #[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 207 - #[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 204 + #[test_case("test_sexverse_cali.yaml" ; "metaXsire Protocol - Cali")] 205 + #[test_case("test_sexverse_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 206 + #[test_case("test_sexverse_olis.yaml" ; "metaXsire Protocol - Olis")] 207 + #[test_case("test_sexverse_rex.yaml" ; "metaXsire Protocol - Rex")] 208 208 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 209 209 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 210 210 #[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")] ··· 322 322 #[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 323 323 #[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 324 324 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 325 - #[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 326 - #[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 327 - #[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 328 - #[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 325 + #[test_case("test_sexverse_cali.yaml" ; "metaXsire Protocol - Cali")] 326 + #[test_case("test_sexverse_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 327 + #[test_case("test_sexverse_olis.yaml" ; "metaXsire Protocol - Olis")] 328 + #[test_case("test_sexverse_rex.yaml" ; "metaXsire Protocol - Rex")] 329 329 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 330 330 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 331 331 #[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")] ··· 444 444 #[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 445 445 #[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 446 446 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 447 - #[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 448 - #[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 449 - #[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 450 - #[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 447 + #[test_case("test_sexverse_cali.yaml" ; "metaXsire Protocol - Cali")] 448 + #[test_case("test_sexverse_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 449 + #[test_case("test_sexverse_olis.yaml" ; "metaXsire Protocol - Olis")] 450 + #[test_case("test_sexverse_rex.yaml" ; "metaXsire Protocol - Rex")] 451 451 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 452 452 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 453 453 #[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")] ··· 565 565 //#[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 566 566 //#[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 567 567 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 568 - //#[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 569 - //#[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 570 - //#[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 571 - //#[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 568 + //#[test_case("test_sexverse_cali.yaml" ; "metaXsire Protocol - Cali")] 569 + //#[test_case("test_sexverse_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 570 + //#[test_case("test_sexverse_olis.yaml" ; "metaXsire Protocol - Olis")] 571 + //#[test_case("test_sexverse_rex.yaml" ; "metaXsire Protocol - Rex")] 572 572 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 573 573 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 574 574 //#[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")] ··· 683 683 //#[test_case("test_magic_motion_4_bobi.yaml" ; "MagicMotion Protocol 4 - Bobi")] 684 684 //#[test_case("test_magic_motion_4_nyx.yaml" ; "MagicMotion Protocol 4 - Nyx")] 685 685 #[test_case("test_meese_protocol.yaml" ; "Meese Protocol")] 686 - //#[test_case("test_metaxsire_cali.yaml" ; "metaXsire Protocol - Cali")] 687 - //#[test_case("test_metaxsire_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 688 - //#[test_case("test_metaxsire_olis.yaml" ; "metaXsire Protocol - Olis")] 689 - //#[test_case("test_metaxsire_rex.yaml" ; "metaXsire Protocol - Rex")] 686 + //#[test_case("test_sexverse_cali.yaml" ; "metaXsire Protocol - Cali")] 687 + //#[test_case("test_sexverse_nolan.yaml" ; "metaXsire Protocol v2 - Nolan")] 688 + //#[test_case("test_sexverse_olis.yaml" ; "metaXsire Protocol - Olis")] 689 + //#[test_case("test_sexverse_rex.yaml" ; "metaXsire Protocol - Rex")] 690 690 #[test_case("test_mizzzee_protocol.yaml" ; "Mizz Zee Protocol")] 691 691 #[test_case("test_mizzzee_v2_protocol.yaml" ; "Mizz Zee v2 Protocol")] 692 692 //#[test_case("test_mizzzee_v3_protocol.yaml" ; "Mizz Zee v3 Protocol")]
+1 -1
crates/buttplug_tests/tests/util/device_test/device_test_case/test_metaxsire_cali.yaml crates/buttplug_tests/tests/util/device_test/device_test_case/test_sexverse_cali.yaml
··· 1 1 devices: 2 2 - identifier: 3 3 name: "Cali" 4 - expected_name: "metaXsire Cali" 4 + expected_name: "Sexverse Cali" 5 5 device_commands: 6 6 - !Messages 7 7 device_index: 0
+1 -1
crates/buttplug_tests/tests/util/device_test/device_test_case/test_metaxsire_nolan.yaml crates/buttplug_tests/tests/util/device_test/device_test_case/test_sexverse_nolan.yaml
··· 1 1 devices: 2 2 - identifier: 3 3 name: "LY272A01" 4 - expected_name: "metaXsire Nolan" 4 + expected_name: "Sexverse Nolan" 5 5 device_init: 6 6 - !Commands 7 7 device_index: 0
+1 -1
crates/buttplug_tests/tests/util/device_test/device_test_case/test_metaxsire_olis.yaml crates/buttplug_tests/tests/util/device_test/device_test_case/test_sexverse_olis.yaml
··· 1 1 devices: 2 2 - identifier: 3 3 name: "Olis" 4 - expected_name: "metaXsire Olis" 4 + expected_name: "Sexverse Olis" 5 5 device_commands: 6 6 - !Messages 7 7 device_index: 0
+1 -1
crates/buttplug_tests/tests/util/device_test/device_test_case/test_metaxsire_rex.yaml crates/buttplug_tests/tests/util/device_test/device_test_case/test_sexverse_rex.yaml
··· 1 1 devices: 2 2 - identifier: 3 3 name: "Rex" 4 - expected_name: "metaXsire Rex" 4 + expected_name: "Sexverse Rex" 5 5 device_commands: 6 6 - !Messages 7 7 device_index: 0