Skip to content

Can't rumble but everything else works. #11

@ulao

Description

@ulao

I have a few controllers to play with, many OEM some power A, and have been able to make them all work.

None of them need the init string to send packets, they all do this automatically with my host.

when I send the init
uint8_t init_packet[] = {0x05,0x20,0x00,0x01,0x00};
HID->sendBulk(init_packet, sizeof(init_packet));

many of the controllers turn on the LED. I think the one that does not, is my permanent wired USB controller. For the other controllers they all respond to LED commands

i.e
uint8_t report[7] = {0x0a,0x20,0x04,0x03,0x00,0x09,0x14};//start blink
HID->sendBulk(init_packet, sizeof(init_packet));

and I can do all types of LED configs. but I want to rumble, and I know the motors work because on init, they all do a motor test. but no matter what I try the motors will not activate on commands.

Here is one way I tried it.

			uint8_t report[11] = {0};
			report[0] =0x09;       	// header
			report[1] =0x00;       	//  
			report[2] =0x00;   	   	//  
			report[3] =0x00;       	// short rumble 
			report[4] =0x00;    	// Mode
			report[5] =0x04;    	// motor mask 
			report[6] =0x00; 		// L motor
			report[7] =0x00;		// L motor trigger
			report[8] =0x20; 		// R motor trigger
			report[9] =0x00;   		// R motor
			report[10] =0x80; 		// Duration
		    HID->sendBulk(report, sizeof(report));

and here is another

			uint8_t report[13] = {0};
			report[0] =0x09;       // header
			report[1] =0x00;       //  
			report[2] =counter;    //  <-- AI suggested this but I tried without as well
			report[3] =0x08;       // short rumble 
			report[4] =0x00;       // Mode
			report[5] =0x0F;       // motor mask 
			report[6] =constLevel; 
			report[7] =constLevel;
			report[8] =constLevel; 
			report[9] =constLevel;
			report[10] =0x80;      
			report[11] =0; 
			report[12] =0xeb; 
		    HID->sendBulk(init_packet, sizeof(init_packet));

I'm sure there is something I'm missing but not sure what it could be. I did experiment with motors and masks, but nothing tickles this thing. An yone have a thought?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions