Commit 56cba2d6 authored by Patrik Persson's avatar Patrik Persson

hemuppgiften inlagd

parent 3a2f9208
No preview for this file type
package watch.control;
import watch.io.Buttons;
import watch.io.Display;
import watch.io.Emulator;
import watch.io.Sensor;
public class WatchMain {
public static void main(String[] args) throws InterruptedException {
Emulator emulator = new Emulator();
Buttons buttons = emulator.getButtons();
Display display = emulator.getDisplay();
Sensor heartBeat = emulator.getHeartSensor();
Sensor step = emulator.getPedometer();
display.showTime(72);
System.out.println("waiting for a heart beat...");
heartBeat.awaitEvent();
System.out.println("heart beat detected by sensor");
System.out.println("waiting for a step...");
step.awaitEvent();
System.out.println("step detected by sensor");
while (true) {
System.out.println("waiting for a key press (M, S, R)...");
int b = buttons.awaitButton();
System.out.println("pressed button " + b);
}
}
}
package watch.io;
/** Används för att ta emot knapptryckningar. */
public interface Buttons {
int MODE_BUTTON = 1; // betyder att MODE tryckts
int STARTSTOP_BUTTON = 2; // betyder att START/STOP tryckts
int RESET_BUTTON = 3; // betyder att RESET tryckts
/** Blockerar tills en knapp tryckts. Returvärdet (1,2,3) anger vilken. */
int awaitButton() throws InterruptedException;
}
package watch.io;
/** Funktioner för att visa information på skärmen. OBS: ej trådsäkert. */
public interface Display {
/** Visar ett antal sekunder på skärmen. 72 sekunder visas som 01:12. */
void showTime(int seconds);
/** Visar den angivna pulsen (hjärtslagstakten) på skärmen. */
void showRate(int rate);
/** Visar det angivna antalet steg på skärmen. */
void showSteps(int nbrSteps);
/** Ger ett kort blink med hjärtslagsindikatorn på skärmen.
Metoden returnerar direkt, utan att vänta på att animeringen slutförs. */
void indicateHeartBeat();
}
package watch.io;
/** En sensor, t ex en pulssensor eller stegräknare. */
public interface Sensor {
/** Blockerar tills sensorn detekterat en händelse
(ett hjärtslag för en pulssensor, eller ett steg för en stegräknare) */
void awaitEvent() throws InterruptedException;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment