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
Diff: main.cpp
- Revision:
- 20:d23bcd97f2c5
- Parent:
- 18:0e281922212c
- Child:
- 21:88f9f280931b
--- a/main.cpp Fri Mar 02 22:20:43 2018 +0000
+++ b/main.cpp Tue Mar 06 17:25:48 2018 +0000
@@ -14,6 +14,8 @@
#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>
@@ -21,32 +23,64 @@
int data_length = 16;
int frequency = 1000000;
-DigitalOut SS(DSP_AS1107_NCS);
+//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(SS, data_length, frequency);
+ initial_setup(as1107);
char bcd[4];
- int input;
- while(1) { //clears bcd array
- for (int i = 0; i < 4; i++)
- bcd[i] = 0;
- input = 0;
- pc.printf("Select a digit between 0 and 9999:\n");
- pc.scanf("%d", &input);
+ 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 (input < 0 or input > 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");
- input = 0;
- pc.scanf("%d", &input);
- }
+ 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", input);
- bin2bcd_array(input, bcd);
+ printf("you entered: %d\n", display_number);
+ bin2bcd_array(display_number, bcd);
- send_command_to_display(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);
+ }
+ }
}
}
\ No newline at end of file
