/* --------------------------------------------------------------------------- * remote_relay.h (c) 2008 Micro-key bv * --------------------------------------------------------------------------- * 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 * --------------------------------------------------------------------------- * Description: * --------------------------------------------------------------------------- * Version(s): 0.1, Dez 16, 2008, MMi * Creation. * --------------------------------------------------------------------------- */ #ifndef REMOTE_RELAY_H_ #define REMOTE_RELAY_H_ /* --------------------------------------------------------------------------- * System include files. * --------------------------------------------------------------------------- */ #include "LPC23xx.h" #include "types.h" /* --------------------------------------------------------------------------- * Application include files. * --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------- * Constant and macro definitions. * --------------------------------------------------------------------------- */ #define NUMBER_OF_RLY_MB 4 #define NUMBER_OF_RLY_EB 2 #define NUMBER_OF_TOTAL_RLY (NUMBER_OF_RLY_MB + NUMBER_OF_RLY_EB) /* --------------------------------------------------------------------------- * Type definitions. * --------------------------------------------------------------------------- */ typedef enum { relay_mb = 0, relay_eb = 1 } t_boardtype_relay; /* --------------------------------------------------------------------------- * Variable declarations. * --------------------------------------------------------------------------- */ BOOLEAN remoteRelayInputs[(NUMBER_OF_TOTAL_RLY)]; xSemaphoreHandle remoteRelaySemaphore; /* --------------------------------------------------------------------------- * Function declarations. * --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------- * Function: remoteRelayInit * * Initialisation of the relay remote driver, creates and takes relay * Semaphore. * * Parameters: void * * Return: void * --------------------------------------------------------------------------- */ void remoteRelayInit(void); /* --------------------------------------------------------------------------- * Function: remoteRelaySet * * Sets or cleans a relay output on the remote device * * Parameters: UINT8 device - Number of the remote device * UINT8 channel - Number of the effected remote channel * BOOLEAN value - Value to be written * * Return: RESULT - Indicates the status of the write action * --------------------------------------------------------------------------- */ RESULT remoteRelaySet (UINT8 device, UINT8 channel, BOOLEAN value); /* --------------------------------------------------------------------------- * Function: remoteRelayRead * * reads from one remote relay input. If the result fails, the previous * generated result will be returned. * * Parameters: UINT8 device - Number of the remote device * UINT8 channel - Number of the effected remote channel * * Return: BOOLEAN - The read result * --------------------------------------------------------------------------- */ BOOLEAN remoteRelayRead (UINT8 device, UINT8 channel); /* --------------------------------------------------------------------------- * Function: remoteRelaySetAll * * Sets or cleans all relay outputs on the remote device * * Parameters: UINT8 device - Number of the remote device * UINT8 channel - Number of the effected remote channel * BOOLEAN value - Value to be written * * Return: RESULT - Indicates the status of the write action * --------------------------------------------------------------------------- */ RESULT remoteRelaySetAll (UINT8 device, t_boardtype_relay board, BOOLEAN value); void remoteRelaySemaphoreRelease (UINT8 requestNr, UINT8 nrOfResults, UINT32 *results); #endif /*REMOTE_RELAY_H_*/