BA / SerialCom

Fork of OmniWheels by Gustav Atmel

Committer:
gustavatmel
Date:
Tue May 01 15:47:08 2018 +0000
Revision:
1:9c5af431a1f1
Parent:
0:d698f15ceaf1
Child:
2:798925c9e4a8
sdf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gustavatmel 0:d698f15ceaf1 1 /*
gustavatmel 0:d698f15ceaf1 2 * Main.cpp
gustavatmel 0:d698f15ceaf1 3 * Copyright (c) 2017, ZHAW
gustavatmel 0:d698f15ceaf1 4 * All rights reserved.
gustavatmel 0:d698f15ceaf1 5 *
gustavatmel 0:d698f15ceaf1 6 * Created on: 06.10.2017
gustavatmel 0:d698f15ceaf1 7 * Author: Marcel Honegger
gustavatmel 0:d698f15ceaf1 8 */
gustavatmel 1:9c5af431a1f1 9 #include "SerialServerSend.h"
gustavatmel 1:9c5af431a1f1 10 #include "SerialServerRes.h"
gustavatmel 0:d698f15ceaf1 11 #include <cstdlib>
gustavatmel 0:d698f15ceaf1 12 #include <mbed.h>
gustavatmel 1:9c5af431a1f1 13
gustavatmel 1:9c5af431a1f1 14
gustavatmel 1:9c5af431a1f1 15
gustavatmel 1:9c5af431a1f1 16
gustavatmel 0:d698f15ceaf1 17
gustavatmel 0:d698f15ceaf1 18 using namespace std;
gustavatmel 0:d698f15ceaf1 19
gustavatmel 0:d698f15ceaf1 20 class Main {
gustavatmel 0:d698f15ceaf1 21
gustavatmel 0:d698f15ceaf1 22 public:
gustavatmel 0:d698f15ceaf1 23
gustavatmel 0:d698f15ceaf1 24 Main();
gustavatmel 0:d698f15ceaf1 25 virtual ~Main();
gustavatmel 0:d698f15ceaf1 26
gustavatmel 0:d698f15ceaf1 27 private:
gustavatmel 0:d698f15ceaf1 28
gustavatmel 0:d698f15ceaf1 29 static const uint32_t STACK_SIZE = 8192; // stack size of thread, given in [bytes]
gustavatmel 0:d698f15ceaf1 30
gustavatmel 0:d698f15ceaf1 31 Thread thread;
gustavatmel 0:d698f15ceaf1 32 void run();
gustavatmel 0:d698f15ceaf1 33 };
gustavatmel 0:d698f15ceaf1 34
gustavatmel 0:d698f15ceaf1 35 Main::Main() : thread(osPriorityNormal, STACK_SIZE) {
gustavatmel 0:d698f15ceaf1 36
gustavatmel 0:d698f15ceaf1 37 thread.start(callback(this, &Main::run));
gustavatmel 0:d698f15ceaf1 38 }
gustavatmel 0:d698f15ceaf1 39
gustavatmel 0:d698f15ceaf1 40 Main::~Main() {}
gustavatmel 0:d698f15ceaf1 41
gustavatmel 0:d698f15ceaf1 42 void Main::run() {
gustavatmel 0:d698f15ceaf1 43
gustavatmel 0:d698f15ceaf1 44 // create miscellaneous periphery objects
gustavatmel 0:d698f15ceaf1 45
gustavatmel 0:d698f15ceaf1 46 DigitalOut led(LED1);
gustavatmel 0:d698f15ceaf1 47 DigitalIn button(USER_BUTTON);
gustavatmel 0:d698f15ceaf1 48
gustavatmel 1:9c5af431a1f1 49 // create serial server object
gustavatmel 1:9c5af431a1f1 50
gustavatmel 0:d698f15ceaf1 51
gustavatmel 0:d698f15ceaf1 52
gustavatmel 1:9c5af431a1f1 53 RawSerial serial(PA_0, PA_1);
gustavatmel 0:d698f15ceaf1 54 serial.baud(38400);
gustavatmel 0:d698f15ceaf1 55 serial.format(8, SerialBase::None, 1);
gustavatmel 0:d698f15ceaf1 56
gustavatmel 0:d698f15ceaf1 57 DigitalOut reset(PB_12);
gustavatmel 0:d698f15ceaf1 58 DigitalOut modes1(PB_0);
gustavatmel 0:d698f15ceaf1 59
gustavatmel 0:d698f15ceaf1 60 modes1 = 0;
gustavatmel 0:d698f15ceaf1 61
gustavatmel 0:d698f15ceaf1 62 reset = 1; Thread::wait(100);
gustavatmel 0:d698f15ceaf1 63 reset = 0; Thread::wait(100);
gustavatmel 0:d698f15ceaf1 64 reset = 1; Thread::wait(100);
gustavatmel 0:d698f15ceaf1 65
gustavatmel 1:9c5af431a1f1 66 SerialServerRes serialServerRes(serial);
gustavatmel 1:9c5af431a1f1 67 //SerialServerSend serialServerSend(serial);
gustavatmel 0:d698f15ceaf1 68
gustavatmel 0:d698f15ceaf1 69 // enter main loop
gustavatmel 0:d698f15ceaf1 70
gustavatmel 0:d698f15ceaf1 71 while (true) {
gustavatmel 0:d698f15ceaf1 72
gustavatmel 0:d698f15ceaf1 73 led = !led;
gustavatmel 1:9c5af431a1f1 74 /*
gustavatmel 1:9c5af431a1f1 75 if (//stateMachine.getState() == StateMachine::STATE_MANUAL) {
gustavatmel 0:d698f15ceaf1 76 Thread::wait(100);
gustavatmel 1:9c5af431a1f1 77 } else if (//stateMachine.getState() == StateMachine::STATE_AUTOMATIC) {
gustavatmel 0:d698f15ceaf1 78 Thread::wait(200);
gustavatmel 0:d698f15ceaf1 79 } else {
gustavatmel 0:d698f15ceaf1 80 Thread::wait(500);
gustavatmel 0:d698f15ceaf1 81 }
gustavatmel 1:9c5af431a1f1 82 */
gustavatmel 0:d698f15ceaf1 83 }
gustavatmel 0:d698f15ceaf1 84 }
gustavatmel 0:d698f15ceaf1 85
gustavatmel 0:d698f15ceaf1 86 /**
gustavatmel 0:d698f15ceaf1 87 * This is the main program of the ROME2RevG firmware.
gustavatmel 0:d698f15ceaf1 88 */
gustavatmel 0:d698f15ceaf1 89 int32_t main() {
gustavatmel 0:d698f15ceaf1 90
gustavatmel 1:9c5af431a1f1 91 /* Serial pc(USBTX, USBRX); // tx, rx
gustavatmel 1:9c5af431a1f1 92 pc.baud(9600);
gustavatmel 1:9c5af431a1f1 93 pc.printf("was here\r\n");*/
gustavatmel 1:9c5af431a1f1 94
gustavatmel 0:d698f15ceaf1 95 Main main;
gustavatmel 0:d698f15ceaf1 96
gustavatmel 0:d698f15ceaf1 97 Thread::wait(osWaitForever);
gustavatmel 0:d698f15ceaf1 98 }