]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blobdiff - rpp/blocks/sfunction_ain.c
Change license to MIT
[jenkicar/rpp-simulink.git] / rpp / blocks / sfunction_ain.c
index 79eff0dff0a604652cf246897a409e5e7560738c..f30ceebd1580b3727e1da97d47e7a11a8fd1aa42 100644 (file)
@@ -1,12 +1,28 @@
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
+/* Copyright (C) 2013, 2014, 2015 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_ain.c
  * Abstract:
@@ -21,6 +37,7 @@
  */
 
 /*
+TODO: Change Pin number range to use macro SFUNCTION_AIN_PIN_COUNT, expanded by C preprocesor
 %YAML 1.2
 ---
 Name: Analog Input
@@ -35,11 +52,22 @@ Outputs:
   - { name: "ErrFlag",                 type: "bool"   }
 
 Parameters:
-  - { name: "Pin number", type: "uint8", range: "[1–12]" }
+  - { name: "AD1IN pin number", type: "uint8", range: "[1–16]" }
+# TODO: Use this for RPP: - { name: "Pin number", type: "uint8", range: "[1–12]" }
 
-# Description is in Markdown mark-up
+# Description and Help is in Markdown mark-up
 Description: |
 
+  Gets the analog value of the specified analog input pin on the RPP
+  board.
+
+  The value is an unsigned 16 bit integer between 0–4095 (12 bit ADC).
+
+  If an error is detected while reading the value, the ErrFlag is set
+  high.
+
+Help: |
+
   This block allows to read the analog inputs on the RPP board. The
   ErrFlag should if raise `rpp_adc_update()` or `rpp_adc_get()`
   returns error. `rpp_adc_update()` is called just by the first DIN
@@ -48,13 +76,7 @@ Description: |
   always be 0. Because the ErrFlag should never set, once set the
   following steps will never clear it back.
 
-Status:
-  Tested:
-    - Changing the pin.
-    - Compilation and general use.
-  Untested:
-    - Faulty situation for the ErrFlag to set.
-  Not working:
+Status: Stable
 
 RPP API functions used:
   - rpp_adc_update()
@@ -76,7 +98,7 @@ static void mdlInitializeSizes(SimStruct *S)
 {
     /*
      * Configure parameters: 1
-     *  - Pin number: [1-12]
+     *  - Pin number: [1-16]
      */
     if (!rppSetNumParams(S, 1)) {
         return;
@@ -110,7 +132,7 @@ static void mdlInitializeSizes(SimStruct *S)
 static void mdlCheckParameters(SimStruct *S)
 {
     /* Check the parameter 1 */
-    if (!rppValidParamRange(S, 0, 1, 12)) {
+    if (!rppValidParamRange(S, 0, 1, 16)) {
         return;
     }
 }