Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Lab_6_WaG by
main.cpp
- Committer:
- spm71
- Date:
- 2018-03-06
- Revision:
- 20:d23bcd97f2c5
- Parent:
- 18:0e281922212c
- Child:
- 21:88f9f280931b
File content as of revision 20:d23bcd97f2c5:
/******************************************************************************
* 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
*
* Created: 03/01/2018
* Last Modified: 03/02/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>
int data_length = 16;
int frequency = 1000000;
//DigitalOut SS(DSP_AS1107_NCS);
SPI wag_spi(MOSI, MISO, SCLK);
Serial pc(USBTX, USBRX);
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);
pc.printf("Press a pushbutton to turn step motor\n");
while(1) {
if (jog_ccw == 0) {
stp_step(STP_CCW);
}
if (jog_cw == 0) {
stp_step(STP_CW);
}
}
}
}
