Lab 6 code.

Dependencies:   mbed

Fork of WaG by GroupA

Committer:
spm71
Date:
Fri Mar 02 22:18:47 2018 +0000
Revision:
18:0e281922212c
Parent:
17:75d567b60214
Child:
20:d23bcd97f2c5
More implementation on SPI and started stepper files.

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
phn10 16:dfa9eb1a808d 8 * Purpose: Configures the dispaly for 4-digit display
spm71 0:ee6e5c60dd2d 9 *
spm71 18:0e281922212c 10 * Created: 03/01/2018
spm71 18:0e281922212c 11 * Last Modified: 03/02/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 0:ee6e5c60dd2d 17 #include <stdlib.h>
spm71 0:ee6e5c60dd2d 18 #include <stdio.h>
spm71 0:ee6e5c60dd2d 19 #include <string.h>
spm71 0:ee6e5c60dd2d 20
phn10 8:d8bc78bda829 21 int data_length = 16;
phn10 8:d8bc78bda829 22 int frequency = 1000000;
phn10 8:d8bc78bda829 23
spm71 17:75d567b60214 24 DigitalOut SS(DSP_AS1107_NCS);
spm71 18:0e281922212c 25 SPI wag_spi(MOSI, MISO, SCLK);
spm71 0:ee6e5c60dd2d 26 Serial pc(USBTX, USBRX);
spm71 0:ee6e5c60dd2d 27
spm71 0:ee6e5c60dd2d 28 int main(void) {
phn10 8:d8bc78bda829 29 initial_setup(SS, data_length, frequency);
phn10 11:6751b9406142 30 char bcd[4];
spm71 2:b444464ebe67 31 int input;
spm71 14:be27f6e21a8a 32 while(1) { //clears bcd array
spm71 14:be27f6e21a8a 33 for (int i = 0; i < 4; i++)
spm71 14:be27f6e21a8a 34 bcd[i] = 0;
spm71 14:be27f6e21a8a 35 input = 0;
spm71 0:ee6e5c60dd2d 36 pc.printf("Select a digit between 0 and 9999:\n");
spm71 14:be27f6e21a8a 37 pc.scanf("%d", &input);
phn10 11:6751b9406142 38
phn10 11:6751b9406142 39 while (input < 0 or input > 9999) { //ask for input until 0-9999 is selected
phn10 11:6751b9406142 40 pc.printf("You entered a number out of range\n");
spm71 0:ee6e5c60dd2d 41 pc.printf("Select a digit between 0 and 9999:\n");
spm71 14:be27f6e21a8a 42 input = 0;
spm71 14:be27f6e21a8a 43 pc.scanf("%d", &input);
spm71 2:b444464ebe67 44 }
spm71 2:b444464ebe67 45
spm71 14:be27f6e21a8a 46
phn10 11:6751b9406142 47 printf("you entered: %d\n", input);
phn10 11:6751b9406142 48 bin2bcd_array(input, bcd);
spm71 0:ee6e5c60dd2d 49
phn10 11:6751b9406142 50 send_command_to_display(bcd);
spm71 0:ee6e5c60dd2d 51 }
phn10 7:161fe3793ddb 52 }