// ----------------------------------------------------------------------------- /// @file storm700.h /// @brief File description // ----------------------------------------------------------------------------- // Micro-Key bv // Industrieweg 28, 9804 TG Noordhorn // Postbus 92, 9800 AB Zuidhorn // The Netherlands // Tel: +31 594 503020 // Fax: +31 594 505825 // Email: support@microkey.nl // Web: www.microkey.nl // ----------------------------------------------------------------------------- /// $Revision$ /// $Author$ /// $Date$ // (c) 2015 Micro-Key bv // ----------------------------------------------------------------------------- /** * Storm700 implementation * \defgroup Storm700 Package Storm700 * \ingroup HAL * @{ */ #ifndef INC_STORM700_H_ #define INC_STORM700_H_ // ----------------------------------------------------------------------------- // Include files // ----------------------------------------------------------------------------- #include "stm32f10x.h" #include "KeyboardDevice.h" #include "keypadMatrix.h" // ----------------------------------------------------------------------------- // Constant and macro definitions // ----------------------------------------------------------------------------- #define STORM700_NUMBER_OF_ROWS (4) #define STORM700_NUMBER_OF_COLUMNS (4) // ----------------------------------------------------------------------------- // Type definitions. // ----------------------------------------------------------------------------- struct Storm700 { struct KeyboardDevice keyboardDevice; const struct IODevice* device; bool initialized; }; // ----------------------------------------------------------------------------- // Function declarations // ----------------------------------------------------------------------------- /** ---------------------------------------------------------------------------- * Storm700_construct * Constructor for Storm700 keypad * * @param self Keypad object to construct * @param device The IO device that is used to communicate * * @return ErrorStatus SUCCESS if initialisation was successful * ERROR otherwise * * @todo * ----------------------------------------------------------------------------- */ extern ErrorStatus Storm700_construct(struct Storm700* self, const struct IODevice* device); /** ---------------------------------------------------------------------------- * Storm700_destruct * Destructor for the Storm700 instance * * @param self The object to destruct * * @return void * * @todo * ----------------------------------------------------------------------------- */ extern void Storm700_destruct(struct Storm700* self); /** ---------------------------------------------------------------------------- * Storm700_readKey * Read a key from the storm700 keypad * * @param self Keypad instance * @param key The key that has been read. Will be * formatted ins ASCII code * @param keyState Indicates whether key was pressed or * released * * @return ErrorStatus SUCCESS if reading was successful * ERROR otherwise * * @todo * ----------------------------------------------------------------------------- */ extern ErrorStatus Storm700_readKey(const struct Storm700* self, char* key, Keypad_KeyState* keyState); #endif /* INC_STORM700_H_ */ /** @} */