Lab 6 code.
Dependencies: mbed
Fork of WaG by
main.cpp
- Committer:
- spm71
- Date:
- 2018-03-08
- Revision:
- 22:09dd6977576b
- Parent:
- 21:88f9f280931b
- Child:
- 23:3da1d39c1ae9
File content as of revision 22:09dd6977576b:
/****************************************************************************** * EECS 397 * * Assignment Name: Lab 5: WaG * * Authors: Sam Morrison and Phong Nguyen * File name: main.cpp * Purpose: Configures the dispaly for 4-digit display or motor control * * Created: 03/01/2018 * Last Modified: 03/08/2018 * ******************************************************************************/ #include "mbed.h" #include "io_pins.h" #include "display.h" #include "spi.h" #include "stepper.h" #include <stdlib.h> #include <stdio.h> #include <string.h> SPI wag_spi(MOSI, MISO, SCLK); Serial pc(USBTX, USBRX); DigitalIn jog_cw(PF_14); DigitalIn jog_ccw(PE_13); struct spi_cfg as1107{ SPI_AS1107_ID, DSP_AS1107_NCS, SPI_NO_ID, AS1107_SPI_FREQ, AS1107_SPI_NO_BITS, }; int main(void) { initial_setup(as1107); char bcd[4]; char input; int display_number; pc.printf("Enter 1 for display test, 2 for stepper test\n"); input = getchar(); while (input < 49 or input > 50) { //ask for input until 0-9 is selected pc.printf("Enter 1 for display test, 2 for stepper test\n"); input = getchar(); } if (input == 49) { while(1) { //clears bcd array for (int i = 0; i < 4; i++) bcd[i] = 0; display_number = 0; pc.printf("Select a digit between 0 and 9999:\n"); pc.scanf("%d", &display_number); while (display_number < 0 or display_number > 9999) { //ask for input until 0-9999 is selected pc.printf("You entered a number out of range\n"); pc.printf("Select a digit between 0 and 9999:\n"); display_number = 0; pc.scanf("%d", &display_number); } printf("you entered: %d\n", display_number); bin2bcd_array(display_number, bcd); send_command_to_display(bcd); } } else { jog_cw.mode(PullUp); jog_ccw.mode(PullUp); stp_step(1); pc.printf("Press a pushbutton to turn step motor\n"); while(1) { if (jog_ccw == 0) { //pc.printf("turning CCW\n"); stp_step(STP_CCW); } if (jog_cw == 0) { //pc.printf("turning CW\n"); stp_step(STP_CW); } } } }