Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
hardware.cpp
- Committer:
- hbarton7
- Date:
- 2020-11-25
- Revision:
- 3:e2fb359d6545
- Parent:
- 2:4947d6a82971
File content as of revision 3:e2fb359d6545:
// Copyright 2020 Georgia Tech. All rights reserved.
// The materials provided by the instructor in this course are for
// the use of the students currently enrolled in the course.
// Copyrighted course materials may not be further disseminated.
// This file must not be made publicly available anywhere.
// 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(p26);
wave_player waver(&DACout);
// Some hardware also needs to have functions called before it will set up
// properly. Do that here.
int hardware_init()
{
// Crank up the speed
uLCD.baudrate(3000000);
pc.baud(115200);
//Initialize pushbuttons
button1.mode(PullUp);
button2.mode(PullUp);
button3.mode(PullUp);
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;
// Read the values and store them in in
//tilting board left = -x
//tilting board down towards table = +y
in.b1 = button3; //top button on breadboard is connected to p23
in.b2 = button2; //middle button on breadboard is connected to p22
in.b3 = button1; //bottom button ob breadboard is connected to p21
acc.readXGravity(&in.ax);
acc.readYGravity(&in.ay);
acc.readZGravity(&in.az);
//pc.printf("xAccel: %f yAccel: %f zAccel: %f\n",in.ax,in.ay,in.az);
return in;
}