Lab 6 code.

Dependencies:   mbed

Fork of WaG by GroupA

Committer:
spm71
Date:
Thu Mar 22 15:29:58 2018 +0000
Revision:
25:896dbc85907e
Parent:
23:3da1d39c1ae9
Child:
27:a07b27cc6d13
Changes to main

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 18:0e281922212c 4 * Assignment Name: Lab 5: 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 22:09dd6977576b 11 * Last Modified: 03/08/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 0:ee6e5c60dd2d 20 #include <stdlib.h>
spm71 0:ee6e5c60dd2d 21 #include <stdio.h>
spm71 0:ee6e5c60dd2d 22 #include <string.h>
spm71 0:ee6e5c60dd2d 23
spm71 18:0e281922212c 24 SPI wag_spi(MOSI, MISO, SCLK);
spm71 0:ee6e5c60dd2d 25 Serial pc(USBTX, USBRX);
spm71 25:896dbc85907e 26 DigitalIn jog_cw(UI_JOG_RIGHT_BUTTON);
spm71 25:896dbc85907e 27 DigitalIn jog_ccw(UI_JOG_LEFT_BUTTON);
spm71 23:3da1d39c1ae9 28 DigitalIn my_button(USER_BUTTON);
spm71 25:896dbc85907e 29 DigitalIn start_button(UI_START_BUTTON);
spm71 25:896dbc85907e 30 DigitalIn cal_button(UI_CAL_BUTTON);
spm71 25:896dbc85907e 31 DigitalIn station_select(UI_STATION_SELECT);
spm71 0:ee6e5c60dd2d 32
spm71 20:d23bcd97f2c5 33 struct spi_cfg as1107{
spm71 20:d23bcd97f2c5 34 SPI_AS1107_ID,
spm71 20:d23bcd97f2c5 35 DSP_AS1107_NCS,
spm71 20:d23bcd97f2c5 36 SPI_NO_ID,
spm71 20:d23bcd97f2c5 37 AS1107_SPI_FREQ,
spm71 20:d23bcd97f2c5 38 AS1107_SPI_NO_BITS,
spm71 20:d23bcd97f2c5 39 };
spm71 20:d23bcd97f2c5 40
spm71 22:09dd6977576b 41
spm71 0:ee6e5c60dd2d 42 int main(void) {
spm71 20:d23bcd97f2c5 43 initial_setup(as1107);
phn10 11:6751b9406142 44 char bcd[4];
spm71 20:d23bcd97f2c5 45 char input;
spm71 20:d23bcd97f2c5 46 int display_number;
spm71 20:d23bcd97f2c5 47
spm71 25:896dbc85907e 48 //set all digits to zero
spm71 25:896dbc85907e 49 spi_send(as1107 0x0100);
spm71 25:896dbc85907e 50 spi_send(as1107 0x0200);
spm71 25:896dbc85907e 51 spi_send(as1107 0x0300);
spm71 25:896dbc85907e 52 spi_send(as1107 0x0400);
spm71 25:896dbc85907e 53
spm71 25:896dbc85907e 54 jog_cw.mode(PullUp);
spm71 25:896dbc85907e 55 jog_ccw.mode(PullUp);
spm71 25:896dbc85907e 56 while(1) {
spm71 25:896dbc85907e 57 if (jog_ccw == 0) {
spm71 25:896dbc85907e 58 stp_step(STP_CCW);
spm71 25:896dbc85907e 59 }
spm71 25:896dbc85907e 60 if (jog_cw == 0) {
spm71 25:896dbc85907e 61 stp_step(STP_CW);
spm71 25:896dbc85907e 62 }
spm71 20:d23bcd97f2c5 63 }
spm71 25:896dbc85907e 64 }