ECE2035 Project 2
Dependencies: mbed mbed-rtos SDFileSystem
hardware.cpp
- Committer:
- kwengryn3
- Date:
- 2021-04-20
- Revision:
- 10:1994adcfc86f
- Parent:
- 5:b9b7993823e1
File content as of revision 10:1994adcfc86f:
// This header has all the (extern) declarations of the globals. // "extern" means "this is instantiated somewhere, but here's what the name // means. #include "globals.h" #include "hardware.h" // We need to actually instantiate all of the globals (i.e. declare them once // without the extern keyword). That's what this file does! // Hardware initialization: Instantiate all the things! uLCD_4DGL uLCD(p9,p10,p11); // LCD Screen (tx, rx, reset) SDFileSystem sd(p5, p6, p7, p8, "sd"); // SD Card(mosi, miso, sck, cs) Serial pc(USBTX,USBRX); // USB Console (tx, rx) MMA8452 acc(p28, p27, 100000); // Accelerometer (sda, sdc, rate) DigitalIn button1(p21); // Pushbuttons (pin) DigitalIn button2(p22); DigitalIn button3(p23); AnalogOut DACout(p18); // Speaker (pin) PwmOut speaker(p25); wave_player waver(&DACout); // Some hardware also needs to have functions called before it will set up // properly. Do that here. int hardware_init() { // Initialize pushbuttons button1.mode(PullUp); button2.mode(PullUp); button3.mode(PullUp); uLCD.baudrate(3000000); acc.setBitDepth(MMA8452::BIT_DEPTH_12); acc.setDynamicRange(MMA8452::DYNAMIC_RANGE_4G); acc.setDataRate(MMA8452::RATE_100); return ERROR_NONE; } // Implement this function. // HINT: lookup your accelerometer under mbed site > Hardware> Components // and look at demo code GameInputs read_inputs() { GameInputs in; in.b1 = button1.read(); in.b2 = button2.read(); in.b3 = button3.read(); double x_acc = 0; if (!acc.isXReady()) { wait(0.1); } else { acc.readXGravity(&x_acc); in.ax = x_acc; } return in; }