FEP RX program TokiPS4
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 //PS4コントローラーにしわき拡張版 00002 #include "FEP_RX22.h" 00003 #include "pinconfig.h" 00004 #include <cmath> 00005 00006 FEP_RX22 mycon(fepTX, fepRX, fepad); 00007 Serial pc(pcTX, pcRX, 115200); 00008 00009 int main() 00010 { 00011 mycon.StartReceive(); 00012 uint8_t b[16]; 00013 int16_t stick[4]; 00014 int16_t trigger[4]; 00015 int16_t volume[3]; 00016 uint8_t toggle[4]; 00017 uint8_t timeout; 00018 uint8_t data[128]; 00019 int pw; 00020 while(1) { 00021 00022 #if ControllerMode 00023 for (int i=0; i<16; i++) b[i] = mycon.getButton(i); 00024 for (int i=0; i<4; i++) stick[i] = mycon.getStick(i); 00025 for (int i=0; i<2; i++) trigger[i] = mycon.getTrigger(i); 00026 00027 for (int i=0; i<16; i++) pc.printf("%d ", b[i]); 00028 pc.printf(" | "); 00029 for (int i=0; i<4; i++) pc.printf("%3d ", stick[i]); 00030 pc.printf(" | "); 00031 for (int i=0; i<2; i++) pc.printf("%3d ", trigger[i]); 00032 pc.printf(" | "); 00033 #else 00034 mycon.getData(data); 00035 for (int i=0, tmp=1; i<8; i++) { 00036 pw = pow((float)2,i); 00037 b[i] = (int)((data[0] & tmp)/pw); 00038 pc.printf("%d ", b[i]); 00039 tmp *= 2; 00040 } 00041 for (int i=8, tmp=1, j=0; i<16; i++, j++) { 00042 pw = pow((float)2,j); 00043 b[i] = (int)((data[1] & tmp)/pw); 00044 pc.printf("%d ", b[i]); 00045 tmp *= 2; 00046 } 00047 pc.printf(" | "); 00048 00049 for (int i=0; i<4; i++) { 00050 stick[i] = data[i+2]; 00051 pc.printf("%3d ", stick[i]); 00052 } 00053 pc.printf(" | "); 00054 00055 for (int i=0; i<2; i++) { 00056 trigger[i] = data[i+6]; 00057 pc.printf("%3d ", trigger[i]); 00058 } 00059 pc.printf(" | "); 00060 00061 for (int i=0; i<3; i++) { 00062 volume[i] = data[i+9]; 00063 pc.printf("%3d ", volume[i]); 00064 } 00065 pc.printf(" | "); 00066 00067 for (int i=0; i<4; i++) { 00068 toggle[i] = data[i+12]; 00069 pc.printf("%3d ", toggle[i]); 00070 } 00071 pc.printf(" | "); 00072 00073 timeout = data[8]; 00074 pc.printf("%3d ", timeout); 00075 pc.printf(" | "); 00076 00077 #endif 00078 if (mycon.getStatus()) pc.printf("received\r\n"); 00079 else pc.printf("anything error...\r\n"); 00080 00081 } 00082 }
Generated on Sat Oct 8 2022 10:22:43 by
1.7.2