2 * Power Output (12V, 2A, Push/Pull) RPP API header file.
6 * @copyright Copyright (C) 2013 Czech Technical University in Prague
8 * @author Carlos Jenkins <carlos@jenkins.co.cr>
16 * MOUT module initialization.
18 * Call this method before using this module.
20 * This function is not thread safe. Do not call it from multiple threads.
22 * @return SUCCESS if initialization successful.\n
23 * FAILURE if module already initialized.
25 int8_t rpp_mout_init();
29 * Set the output of given pin to given value.
31 * The function is thread safe, unless compiled with -DRPP_THREADSAFE=0.
33 * This function will also verify if a faulty condition is detected. See return
34 * documentation below for details.
36 * @param[in] pin The pin number to set [1-6].
37 * @param[in] val The value to be set [HIGH|LOW].
39 * @return SUCCESS if pin could be set and verified.\n
40 * -1 if pin number is out of range.\n
41 * -2 if val is not HIGH or LOW.\n
42 * -3 if pin could not be set. With current implementation this should
44 * -4 if pin is confirmed to be in trouble.
45 * This normally indicates a hardware failure and that the driver
46 * chip pulled the diagnostic pin.
48 int8_t rpp_mout_set(uint8_t pin, uint8_t val);
52 * Get the cached value of the given pin set by rpp_mout_set().
54 * The function is thread safe, unless compiled with -DRPP_THREADSAFE=0.
56 * This will not read the value on the pin. To confirm if the output is
57 * correctly set call rpp_mout_diag() and confirm SUCCESS.
59 * @param[in] pin The pin number to get cached value [1-6].
61 * @return HIGH or LOW cached from last rpp_mout_set() call for given pin.
62 * -1 if pin number is out of range.
64 int8_t rpp_mout_get(uint8_t pin);
68 * Reads the value on the given diagnostic pin.
70 * The function is thread safe, unless compiled with -DRPP_THREADSAFE=0.
72 * Note that rpp_mout_set() calls this routine already before returning.
74 * @param[in] pin The pin number to read [1-6].
76 * @return SUCCESS is output is operating normally.
77 * FAILURE if a faulty condition was detected.
79 int8_t rpp_mout_diag(uint8_t pin);
82 #endif /* __RPP_MOUT_H */