// ----------------------------------------------------------------------------- /// @file CoverSolenoid.c /// @brief 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) 2017 Micro-Key bv // ----------------------------------------------------------------------------- /// @file CoverSolenoid.c /// @ingroup {group_name} // ----------------------------------------------------------------------------- // Include files // ----------------------------------------------------------------------------- #include "CoverSolenoid.h" // ----------------------------------------------------------------------------- // Constant and macro definitions // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // Type definitions // ----------------------------------------------------------------------------- struct CoverSolenoid { bool initialized; struct Gpio* gpio; }; // ----------------------------------------------------------------------------- // File-scope variables // ----------------------------------------------------------------------------- static struct CoverSolenoid self; // ----------------------------------------------------------------------------- // Function declarations // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // Function definitions // ----------------------------------------------------------------------------- ErrorStatus CoverSolenoid_construct(struct Gpio* solenoidGpio) { ErrorStatus returnValue = SUCCESS; if (!self.initialized) { self.gpio = solenoidGpio; self.initialized = true; } else { returnValue = ERROR; } return returnValue; } void CoverSolenoid_destruct(void) { if (self.initialized) { self.initialized = false; } } ErrorStatus CoverSolenoid_unlock(void) { ErrorStatus returnValue = SUCCESS; if (self.initialized) { returnValue = GPIO_setValue(self.gpio, true); } else { returnValue = ERROR; } return returnValue; } ErrorStatus CoverSolenoid_lock(void) { ErrorStatus returnValue = SUCCESS; if (self.initialized) { returnValue = GPIO_setValue(self.gpio, false); } else { returnValue = ERROR; } return returnValue; } struct Gpio* CoverSolenoid_getGpio(void) { return self.gpio; }