HEBOCON machine
Dependencies: mbed Motorfader Servo WT2003M03
main.cpp
- Committer:
- abanum
- Date:
- 2019-07-29
- Revision:
- 1:312b63cf250e
- Parent:
- 0:a30ec7d94c3a
File content as of revision 1:312b63cf250e:
#include "mbed.h" #include "USBHostGamepad.h" #include "Servo.h" #include "WT2003M03.h" #include "Motorfader.h" #include "stdio.h" #include "stdlib.h" #include "math.h" #include "string" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 160 USBHostGamepad *pad; //Servo myservo1(D3); Servo tyre_R(D5); //TYRE RIGHT Servo tyre_L(D6); //TYRE LEFT //Servo myservo4(D4); PwmOut eye_R(PB_2); PwmOut eye_L(PB_1); WT20003M03 myaudio(PC_10,PC_11); Motorfader myfader(PC_0,A0,A1); Ticker _flipper; // LED //DigitalOut red(PB_5); //DigitalOut yellow(PA_10); void int_frame() { myfader.update(); } int main() { float panchPos,tempR,tempL; _flipper.attach(&int_frame, 0.01f); myaudio.Play(0x0001); // myaudio.Play(0xfff0); /* myaudio.volume(1); myaudio.Play(0x0001); wait(3.0); // 1 second myaudio.volume(16); myaudio.Play(); wait(3.0); // 1 second myaudio.volume(31); myaudio.Play(); printf("s=%d",myaudio.ReadState()); wait(3.0); // 1 second myfader.set(0.0,1.0); wait(3.0); // 1 second myfader.set(0.5,1.0); wait(3.0); // 1 second myfader.set(1.0,1.0); wait(3.0); // 1 second myfader.set(0.5,1.0); wait(3.0); // 1 second */ // USB Gmaepad Initialize pad = new USBHostGamepad(); if (!pad->connect()) { printf("USB Gamepad not found.\r\n"); while(1); } while(((pad->report[6] != 0xf7) && (pad->report[7] != 0xb9))) { USBHost::poll(); wait_ms(16); } while(1) { USBHost::poll(); // red = pad->report[4] & 0x20; // yellow = pad->report[4] & 0x40; // printf("%02x %02x %02x %02x %02x %02x %02x %02x\r\n", pad->report[0],pad->report[1],pad->report[2],pad->report[3],pad->report[4],pad->report[5],pad->report[6],pad->report[7]); wait_ms(16); //zengo tempR = ((pad->report[3]))/255.0f; //sayuu tempL = (255.0f-(pad->report[3]))/255.0f; //sayuu //printf("0R=%1.2f L=%1.2f ",tempR,tempL); //kaiten tempR -= (((pad->report[2]))/255.0f)-0.5f; //sayuu tempL += ((255.0f-(pad->report[2]))/255.0f)-0.5f; //sayuu //printf("1R=%1.2f L=%1.2f ",tempR,tempL); if(tempR >1.0f)tempR = 1.0f; if(tempR <0.0f)tempR = 0.0f; if(tempL >1.0f)tempL = 1.0f; if(tempL <0.0f)tempL = 0.0f; //printf("2R=%1.2f L=%1.2f\r\n",tempR,tempL); tyre_R = tempR; tyre_L = tempL; // pad->report[3] //zengo panchPos = (128-(pad->report[4]))/128.0f; if(panchPos < 0.0f) panchPos = 0.0f; myfader.set(panchPos,1.0); if(pad->report[0] & 0x10) { eye_R = 1.0f; eye_L = 1.0f; } if(pad->report[0] & 0x20) { eye_R = 0.0f; eye_L = 0.0f; } if(pad->report[0] & 0x01) { myaudio.Play(0x0001); wait_ms(10); } if(pad->report[0] & 0x02) { myaudio.Play(0x0002); wait_ms(10); } if(pad->report[0] & 0x08) { myaudio.Play(0x0003); wait_ms(10); } printf("s=%d \r\n",myaudio.ReadState()); } }