Lab 6 code.
Dependencies: mbed
Fork of WaG by
main.cpp@18:0e281922212c, 2018-03-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |