GroupA / Mbed 2 deprecated WaG_final

Dependencies:   mbed

Fork of Lab_6_WaG by GroupA

Committer:
spm71
Date:
Thu Mar 29 16:28:06 2018 +0000
Revision:
43:3b7f326aa096
Parent:
42:6cba679a4ee4
Child:
45:54d18ab80fd1
Modified phototransistor test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
spm71 0:ee6e5c60dd2d 1 /******************************************************************************
spm71 0:ee6e5c60dd2d 2 * EECS 397
spm71 0:ee6e5c60dd2d 3 *
spm71 42:6cba679a4ee4 4 * Assignment Name: Lab 6: WaG
spm71 0:ee6e5c60dd2d 5 *
spm71 0:ee6e5c60dd2d 6 * Authors: Sam Morrison and Phong Nguyen
phn10 16:dfa9eb1a808d 7 * File name: main.cpp
spm71 22:09dd6977576b 8 * Purpose: Configures the dispaly for 4-digit display or motor control
spm71 0:ee6e5c60dd2d 9 *
spm71 18:0e281922212c 10 * Created: 03/01/2018
spm71 42:6cba679a4ee4 11 * Last Modified: 03/29/2018
spm71 0:ee6e5c60dd2d 12 *
spm71 0:ee6e5c60dd2d 13 ******************************************************************************/
spm71 0:ee6e5c60dd2d 14 #include "mbed.h"
phn10 8:d8bc78bda829 15 #include "io_pins.h"
phn10 8:d8bc78bda829 16 #include "display.h"
spm71 20:d23bcd97f2c5 17 #include "spi.h"
spm71 20:d23bcd97f2c5 18 #include "stepper.h"
spm71 23:3da1d39c1ae9 19 #include "utility.h"
spm71 38:57af77435ae1 20 #include "analog.h"
spm71 42:6cba679a4ee4 21 #include "laser.h"
spm71 0:ee6e5c60dd2d 22 #include <stdlib.h>
spm71 0:ee6e5c60dd2d 23 #include <stdio.h>
spm71 0:ee6e5c60dd2d 24 #include <string.h>
spm71 0:ee6e5c60dd2d 25
spm71 18:0e281922212c 26 SPI wag_spi(MOSI, MISO, SCLK);
spm71 0:ee6e5c60dd2d 27 Serial pc(USBTX, USBRX);
spm71 25:896dbc85907e 28 DigitalIn jog_cw(UI_JOG_RIGHT_BUTTON);
spm71 25:896dbc85907e 29 DigitalIn jog_ccw(UI_JOG_LEFT_BUTTON);
spm71 23:3da1d39c1ae9 30 DigitalIn my_button(USER_BUTTON);
spm71 25:896dbc85907e 31 DigitalIn start_button(UI_START_BUTTON);
spm71 25:896dbc85907e 32 DigitalIn cal_button(UI_CAL_BUTTON);
spm71 25:896dbc85907e 33 DigitalIn station_select(UI_STATION_SELECT);
spm71 41:9b293b14b845 34 DigitalIn home_sensor(STP_HOME_SENSOR);
spm71 42:6cba679a4ee4 35 DigitalOut laser(LZR_ENABLE);
phn10 32:4fe43fa66ce8 36 AnalogIn mux_out (MUX_OUT);
phn10 27:3006f5abc0a5 37 BusOut mux_select(MUX_S0, MUX_S1, MUX_S2, MUX_S3);
phn10 29:0736dfa41aab 38
spm71 0:ee6e5c60dd2d 39
spm71 39:abf211b17e3c 40
spm71 20:d23bcd97f2c5 41 struct spi_cfg as1107{
spm71 39:abf211b17e3c 42 SPI_AS1107_ID,
spm71 39:abf211b17e3c 43 DSP_AS1107_NCS,
spm71 39:abf211b17e3c 44 SPI_NO_ID,
spm71 39:abf211b17e3c 45 AS1107_SPI_FREQ,
spm71 39:abf211b17e3c 46 AS1107_SPI_NO_BITS,
spm71 20:d23bcd97f2c5 47 };
spm71 20:d23bcd97f2c5 48
spm71 22:09dd6977576b 49
spm71 0:ee6e5c60dd2d 50 int main(void) {
spm71 20:d23bcd97f2c5 51 initial_setup(as1107);
spm71 20:d23bcd97f2c5 52
spm71 25:896dbc85907e 53 //set all digits to zero
spm71 31:0dc2b4a3eee6 54 spi_send(as1107, 0x0100);
spm71 31:0dc2b4a3eee6 55 spi_send(as1107, 0x0200);
spm71 31:0dc2b4a3eee6 56 spi_send(as1107, 0x0300);
spm71 31:0dc2b4a3eee6 57 spi_send(as1107, 0x0400);
spm71 25:896dbc85907e 58
spm71 39:abf211b17e3c 59 pc.printf("Press user button to test.\n");
phn10 40:4e82369f337c 60
phn10 40:4e82369f337c 61 //test_target_leds();
phn10 40:4e82369f337c 62 //pc.printf("LED's tested");
phn10 40:4e82369f337c 63
spm71 41:9b293b14b845 64 //test_phototransistors();
spm71 41:9b293b14b845 65 //pc.printf("Phototransistors tested");
spm71 41:9b293b14b845 66
spm71 41:9b293b14b845 67 step_test();
spm71 41:9b293b14b845 68 pc.printf("Step motor tested.");
spm71 42:6cba679a4ee4 69
spm71 42:6cba679a4ee4 70 while (uti_chk_ubutton() == 0);
spm71 42:6cba679a4ee4 71 pc.printf("test begin\n");
spm71 42:6cba679a4ee4 72 lzr_init();
spm71 42:6cba679a4ee4 73 while (uti_chk_ubutton() == 0) {
spm71 42:6cba679a4ee4 74 lzr_on();
spm71 42:6cba679a4ee4 75 wait(0.5);
spm71 42:6cba679a4ee4 76 lzr_off();
spm71 42:6cba679a4ee4 77 wait(0.5);
spm71 42:6cba679a4ee4 78 }
spm71 43:3b7f326aa096 79 lzr_init();
spm71 39:abf211b17e3c 80 }