IO is an event based input manager which permit to select which composents are manged on your system

Dependencies:   C12832 FXOS8700Q LM75B MMA7660

Committer:
co838_app56
Date:
Thu Feb 25 15:12:32 2016 +0000
Revision:
4:50e2aefe516b
Parent:
3:1ab88130bb9d
Fixing precision issue;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
co838_app56 0:2ac59c564ab0 1 #pragma once
co838_app56 0:2ac59c564ab0 2
co838_app56 3:1ab88130bb9d 3 #include "Vector.h"
co838_app56 0:2ac59c564ab0 4
co838_app56 0:2ac59c564ab0 5 struct Event
co838_app56 0:2ac59c564ab0 6 {
co838_app56 0:2ac59c564ab0 7 enum Device
co838_app56 0:2ac59c564ab0 8 {
co838_app56 0:2ac59c564ab0 9 FrdmK64f,
co838_app56 0:2ac59c564ab0 10 AppShield
co838_app56 0:2ac59c564ab0 11 };
co838_app56 0:2ac59c564ab0 12
co838_app56 0:2ac59c564ab0 13 const Device device;
co838_app56 0:2ac59c564ab0 14
co838_app56 0:2ac59c564ab0 15 enum Type // Type of data
co838_app56 0:2ac59c564ab0 16 {
co838_app56 0:2ac59c564ab0 17 BinaryInput,
co838_app56 0:2ac59c564ab0 18 AnalogInput,
co838_app56 0:2ac59c564ab0 19 VectorInput
co838_app56 0:2ac59c564ab0 20 };
co838_app56 0:2ac59c564ab0 21
co838_app56 0:2ac59c564ab0 22 const Type type; // Type of event
co838_app56 0:2ac59c564ab0 23
co838_app56 0:2ac59c564ab0 24 const int id; // Input identifier
co838_app56 0:2ac59c564ab0 25
co838_app56 0:2ac59c564ab0 26 enum ButtonState { Rise, Fall };
co838_app56 0:2ac59c564ab0 27
co838_app56 0:2ac59c564ab0 28 const ButtonState binary; // State of the button if needed
co838_app56 0:2ac59c564ab0 29 float analog; // The value if needed (Analog sensors)
co838_app56 3:1ab88130bb9d 30 Vector vector;// Vector of float if needed (accelerometer)
co838_app56 0:2ac59c564ab0 31
co838_app56 0:2ac59c564ab0 32 Event(Device, Type, int, ButtonState);
co838_app56 0:2ac59c564ab0 33 Event(Device, Type, int, float);
co838_app56 3:1ab88130bb9d 34 Event(Device, Type, int, const Vector &);
co838_app56 0:2ac59c564ab0 35 Event(const Event &);
co838_app56 0:2ac59c564ab0 36 };