Part One of my Project Course. Implementation of simple I/O and a custom defined protocol over UDP/IP.

Dependencies:   C12832 LM75B mbed EthernetInterface mbed-rtos

Committer:
bertgereels
Date:
Wed Mar 14 07:59:21 2018 +0000
Revision:
1:b5c534165dfe
Child:
2:6bfe732ba6bc
Added slave state machine.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bertgereels 1:b5c534165dfe 1 #include "selection.h"
bertgereels 1:b5c534165dfe 2 #include "mbed.h"
bertgereels 1:b5c534165dfe 3
bertgereels 1:b5c534165dfe 4 #pragma once
bertgereels 1:b5c534165dfe 5
bertgereels 1:b5c534165dfe 6
bertgereels 1:b5c534165dfe 7 namespace ProjectOne{
bertgereels 1:b5c534165dfe 8
bertgereels 1:b5c534165dfe 9 Selection::Selection(PinName firstPin, PinName secondPin, PinName thirdPin, PinName fourthPin, PinName fifthPin) : joy(firstPin,secondPin,thirdPin,fourthPin,fifthPin)
bertgereels 1:b5c534165dfe 10 {
bertgereels 1:b5c534165dfe 11
bertgereels 1:b5c534165dfe 12 }
bertgereels 1:b5c534165dfe 13
bertgereels 1:b5c534165dfe 14 string Selection::determineMode(void){
bertgereels 1:b5c534165dfe 15 printf("Select desired operating mode\r\n");
bertgereels 1:b5c534165dfe 16 printf("Up = master, Down = slave\r\n");
bertgereels 1:b5c534165dfe 17 string selected_mode = "";
bertgereels 1:b5c534165dfe 18 while(joy.read() != 1){
bertgereels 1:b5c534165dfe 19 if(joy.read() == 2){
bertgereels 1:b5c534165dfe 20 selected_mode = "master";
bertgereels 1:b5c534165dfe 21 printf("Current mode is: '%s'\r\n", selected_mode.c_str());
bertgereels 1:b5c534165dfe 22 }
bertgereels 1:b5c534165dfe 23 if(joy.read() == 4){
bertgereels 1:b5c534165dfe 24 selected_mode = "slave";
bertgereels 1:b5c534165dfe 25 printf("Current mode is: '%s'\r\n", selected_mode.c_str());
bertgereels 1:b5c534165dfe 26 }
bertgereels 1:b5c534165dfe 27 wait(0.5);
bertgereels 1:b5c534165dfe 28 }
bertgereels 1:b5c534165dfe 29 if(joy.read() == 1){
bertgereels 1:b5c534165dfe 30 return selected_mode;
bertgereels 1:b5c534165dfe 31 }
bertgereels 1:b5c534165dfe 32 }
bertgereels 1:b5c534165dfe 33
bertgereels 1:b5c534165dfe 34 int Selection::determineId(void){
bertgereels 1:b5c534165dfe 35 wait(1);
bertgereels 1:b5c534165dfe 36 int selected_id = 100;
bertgereels 1:b5c534165dfe 37 printf("Select desired id, range: 100-110\r\n");
bertgereels 1:b5c534165dfe 38 while(joy.read() != 1){
bertgereels 1:b5c534165dfe 39 if(joy.read() == 8){
bertgereels 1:b5c534165dfe 40 if(selected_id <= 110 && selected_id > 100){
bertgereels 1:b5c534165dfe 41 selected_id--;
bertgereels 1:b5c534165dfe 42 printf("Current id is: '%d'\r\n", selected_id);
bertgereels 1:b5c534165dfe 43 }
bertgereels 1:b5c534165dfe 44 }
bertgereels 1:b5c534165dfe 45 if(joy.read() == 16){
bertgereels 1:b5c534165dfe 46 if(selected_id >= 100 && selected_id < 110){
bertgereels 1:b5c534165dfe 47 selected_id++;
bertgereels 1:b5c534165dfe 48 printf("Current id is: '%d'\r\n", selected_id);
bertgereels 1:b5c534165dfe 49 }
bertgereels 1:b5c534165dfe 50 }
bertgereels 1:b5c534165dfe 51 wait(0.5);
bertgereels 1:b5c534165dfe 52 }
bertgereels 1:b5c534165dfe 53 if(joy.read() == 1){
bertgereels 1:b5c534165dfe 54 return selected_id;
bertgereels 1:b5c534165dfe 55 }
bertgereels 1:b5c534165dfe 56 }
bertgereels 1:b5c534165dfe 57
bertgereels 1:b5c534165dfe 58 }