#include #include "ps2_pad.h" #include "USART.h" #include "write_macro.h" //PS2PAD用コマンド const unsigned char CONFIG_MODE_ENTER[] = {0x01,0x43,0x00,0x01,0x00,0x00,0x00,0x00,0x00}; const unsigned char QUERY_MODEL_AND_MODE[] = {0x01,0x45,0x00,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a}; const unsigned char SET_ANALOG_MODE_AND_LOCK[] = {0x01,0x44,0x00,0x01,0x03,0x00,0x00,0x00,0x00}; const unsigned char VIBRATION_ENABLE[] = {0x01,0x4d,0x00,0x00,0x01,0xff,0xff,0xff,0xff}; const unsigned char CONFIG_MODE_EXIT[] = {0x01,0x43,0x00,0x00,0x5a,0x5a,0x5a,0x5a,0x5a}; volatile unsigned char READ_DATA_AND_VIBRATE_EX[] = {0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; void ps2pad_init(unsigned char *r) { put_get_string(CONFIG_MODE_ENTER, sizeof(CONFIG_MODE_ENTER), r); put_get_string(QUERY_MODEL_AND_MODE, sizeof(QUERY_MODEL_AND_MODE), r); put_get_string(SET_ANALOG_MODE_AND_LOCK, sizeof(SET_ANALOG_MODE_AND_LOCK), r); put_get_string(VIBRATION_ENABLE, sizeof(VIBRATION_ENABLE), r); put_get_string(CONFIG_MODE_EXIT, sizeof(CONFIG_MODE_EXIT), r); put_get_string(READ_DATA_AND_VIBRATE_EX, sizeof(READ_DATA_AND_VIBRATE_EX), r); } void get_ps2pad_command(unsigned char* r) { put_get_string(READ_DATA_AND_VIBRATE_EX, sizeof(READ_DATA_AND_VIBRATE_EX), r); } void vibrate_switch(unsigned int v_sw) { READ_DATA_AND_VIBRATE_EX[3] = v_sw; }