IO is an event based input manager which permit to select which composents are manged on your system
Dependencies: C12832 FXOS8700Q LM75B MMA7660
Diff: IO.hpp
- Revision:
- 0:2ac59c564ab0
- Child:
- 3:1ab88130bb9d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IO.hpp Tue Feb 23 17:25:07 2016 +0000 @@ -0,0 +1,46 @@ +#pragma once + +// Including sensors and outputs +#include "Input.h" +#include "FrdmK64f_AppShield_Input.hpp" +#include "FrdmK64f_AppShield_Output.h" +#include "FrdmK64f_Input.hpp" +#include "FrdmK64f_Output.h" + +// Defining some types used to create an IO object +struct FrdmK64f +{ + typedef FrdmK64f_Input< ::Input> Input; // If we want to use k64f only + struct Output { FrdmK64f_Output platform; }; // + + struct AppShield + { + typedef FrdmK64f_AppShield_Input<FrdmK64f::Input> Input; // If we want to use k64f + struct Output { FrdmK64f_Output platform; FrdmK64f_AppShield_Output board; }; // with application shield + }; +}; + +struct AppShield +{ + typedef FrdmK64f_AppShield_Input< ::Input> Input; // If we want to use + struct Output { FrdmK64f_AppShield_Output board; }; // application shield only +}; + +/* +** IO Object +** +** Used to interact with the device +** input is an event manager +** output list les ouputs +*/ +template <typename Platform> struct IO +{ + static typename Platform::Input input; + static typename Platform::Output output; +}; + +template <typename Platform> +typename Platform::Input IO<Platform>::input; + +template <typename Platform> +typename Platform::Output IO<Platform>::output; \ No newline at end of file