-/* Copyright (C) 2013 Czech Technical University in Prague
+/* Copyright (C) 2013, 2014 Czech Technical University in Prague
*
* Authors:
* - Carlos Jenkins <carlos@jenkins.co.cr>
*
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
*
* File : sfunction_lout.c
* Abstract:
* <matlabroot>/bin/mex sfunction_lout.c
*/
+/*
+%YAML 1.2
+---
+Name: Digital Output
+Category: IO blocks
+Header: rpp/lout.h
+Mnemonic: LOUT
+
+Inputs:
+ - { name: "Digital Output", type: "bool" }
+
+Outputs:
+ - { name: "ErrFlag", type: "bool" }
+
+Parameters:
+ - { name: "Pin number", type: "uint8", range: "[1-8]" }
+
+# Description and Help is in Markdown mark-up
+Description: |
+
+ Sends the digital value to the specified logic output pin on the RPP
+ board.
+
+ An input of 1 sets the pin high and 0 sets the pin low.
+
+ If an error is detected while setting the pin, the ErrFlag is set
+ high.
+
+Help: |
+
+ This block allows to write to the digital outputs on the RPP board. The ErrFlag should raise if
+ `rpp_lout_set()` or `rpp_lout_update()` returns error. Because the ErrFlag should never set,
+ once set the following steps will never clear it back. `rpp_lout_update()` is called on each
+ block, which is not the most efficient but guaranties consistent behavior.
+
+Status: Stable
+
+RPP API functions used:
+ - rpp_lout_set()
+ - rpp_lout_update()
+
+Relevant demos:
+ - digital_passthrough
+ - led_blink_all
+ - led_blink
+...
+*/
#define S_FUNCTION_NAME sfunction_lout
#include "header.c"