VIO: renamed definitions, functions and symbols (prefix "cv")
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index 2c2f816..6bdb69e 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -977,15 +977,16 @@
     <api Cclass="CMSIS Driver" Cgroup="WiFi" Capiversion="1.1.0" exclusive="0">
       <description>WiFi driver</description>
       <files>
-        <file category="doc"  name="CMSIS/Documentation/Driver/html/group__wifi__interface__gr.html" />
+        <file category="doc" name="CMSIS/Documentation/Driver/html/group__wifi__interface__gr.html" />
         <file category="header" name="CMSIS/Driver/Include/Driver_WiFi.h" />
       </files>
     </api>
     <api Cclass="CMSIS Driver" Cgroup="VIO" Capiversion="0.1.0" exclusive="1">
       <description>Virtual I/O</description>
       <files>
-  <!--  <file category="doc" name="CMSIS/Documentation/Driver/html/vio_pg.html"/> -->
+        <file category="doc"    name="CMSIS/Documentation/Driver/html/group__vio__interface__gr.html" />
         <file category="header" name="CMSIS/Driver/VIO/Include/cmsis_vio.h" />
+        <file category="other"  name="CMSIS/Driver/VIO/cmsis_vio.scvd" />
       </files>
     </api>
   </apis>
@@ -3984,14 +3985,12 @@
       <description>Virtual I/O custom implementation template</description>
       <files>
         <file category="sourceC" name="CMSIS/Driver/VIO/Source/vio.c" attr="template" select="Virtual I/O"/>
-        <file category="other"   name="CMSIS/Driver/VIO/cmsis_vio.scvd"/>
       </files>
     </component>
     <component Cclass="CMSIS Driver" Cgroup="VIO" Csub="Virtual" Cversion="1.0.0" Capiversion="0.1.0">
       <description>Virtual I/O implementation using memory only</description>
       <files>
         <file category="sourceC" name="CMSIS/Driver/VIO/Source/vio_memory.c"/>
-        <file category="other"   name="CMSIS/Driver/VIO/cmsis_vio.scvd"/>
       </files>
     </component>
 
diff --git a/CMSIS/Driver/VIO/Include/cmsis_vio.h b/CMSIS/Driver/VIO/Include/cmsis_vio.h
index 2f50f47..8339cc1 100644
--- a/CMSIS/Driver/VIO/Include/cmsis_vio.h
+++ b/CMSIS/Driver/VIO/Include/cmsis_vio.h
@@ -2,7 +2,7 @@
  * @file     cmsis_vio.h
  * @brief    CMSIS Virtual I/O header file
  * @version  V0.1.0
- * @date     18. March 2020
+ * @date     23. March 2020
  ******************************************************************************/
 /*
  * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
@@ -32,74 +32,70 @@
  * Note: not every I/O must be physically available
  */
  
-// cvSetSignal: mask values 
-#define cvLED0             (1U << 0)   ///< \ref cvSetSignal \a mask parameter: LED 0 (for 3-color: red)
-#define cvLED1             (1U << 1)   ///< \ref cvSetSignal \a mask parameter: LED 1 (for 3-color: green)
-#define cvLED2             (1U << 2)   ///< \ref cvSetSignal \a mask parameter: LED 2 (for 3-color: blue)
-#define cvLED3             (1U << 3)   ///< \ref cvSetSignal \a mask parameter: LED 3
-#define cvLED4             (1U << 4)   ///< \ref cvSetSignal \a mask parameter: LED 4
-#define cvLED5             (1U << 5)   ///< \ref cvSetSignal \a mask parameter: LED 5
-#define cvLED6             (1U << 6)   ///< \ref cvSetSignal \a mask parameter: LED 6
-#define cvLED7             (1U << 7)   ///< \ref cvSetSignal \a mask parameter: LED 7
+// vioSetSignal: mask values 
+#define vioLED0             (1U << 0)   ///< \ref vioSetSignal \a mask parameter: LED 0 (for 3-color: red)
+#define vioLED1             (1U << 1)   ///< \ref vioSetSignal \a mask parameter: LED 1 (for 3-color: green)
+#define vioLED2             (1U << 2)   ///< \ref vioSetSignal \a mask parameter: LED 2 (for 3-color: blue)
+#define vioLED3             (1U << 3)   ///< \ref vioSetSignal \a mask parameter: LED 3
+#define vioLED4             (1U << 4)   ///< \ref vioSetSignal \a mask parameter: LED 4
+#define vioLED5             (1U << 5)   ///< \ref vioSetSignal \a mask parameter: LED 5
+#define vioLED6             (1U << 6)   ///< \ref vioSetSignal \a mask parameter: LED 6
+#define vioLED7             (1U << 7)   ///< \ref vioSetSignal \a mask parameter: LED 7
 
-// cvSetSignal: signal values
-#define cvLEDon            (0xFFU)     ///< \ref cvSetSignal \a signal parameter: pattern to turn any LED on
-#define cvLEDoff           (0x00U)     ///< \ref cvSetSignal \a signal parameter: pattern to turn any LED off
+// vioSetSignal: signal values
+#define vioLEDon            (0xFFU)     ///< \ref vioSetSignal \a signal parameter: pattern to turn any LED on
+#define vioLEDoff           (0x00U)     ///< \ref vioSetSignal \a signal parameter: pattern to turn any LED off
 
+// vioGetSignal: mask values and return values
+#define vioBUTTON0          (1U << 0)   ///< \ref vioGetSignal \a mask parameter: Push button 0
+#define vioBUTTON1          (1U << 1)   ///< \ref vioGetSignal \a mask parameter: Push button 1
+#define vioBUTTON2          (1U << 2)   ///< \ref vioGetSignal \a mask parameter: Push button 2
+#define vioBUTTON3          (1U << 3)   ///< \ref vioGetSignal \a mask parameter: Push button 3
+#define vioJOYup            (1U << 4)   ///< \ref vioGetSignal \a mask parameter: Joystick button: up
+#define vioJOYdown          (1U << 5)   ///< \ref vioGetSignal \a mask parameter: Joystick button: down
+#define vioJOYleft          (1U << 6)   ///< \ref vioGetSignal \a mask parameter: Joystick button: left
+#define vioJOYright         (1U << 7)   ///< \ref vioGetSignal \a mask parameter: Joystick button: right
+#define vioJOYselect        (1U << 8)   ///< \ref vioGetSignal \a mask parameter: Joystick button: select
+#define vioJOYall           (vioJOYup    | \
+                             vioJOYdown  | \
+                             vioJOYleft  | \
+                             vioJOYright | \
+                             vioJOYselect)  ///< \ref vioGetSignal \a mask Joystick button: all
 
-// cvGetSignal: mask values and return values
-#define cvBUTTON0          (1U << 0)   ///< \ref cvGetSignal \a mask parameter: Push button 0
-#define cvBUTTON1          (1U << 1)   ///< \ref cvGetSignal \a mask parameter: Push button 1
-#define cvBUTTON2          (1U << 2)   ///< \ref cvGetSignal \a mask parameter: Push button 2
-#define cvBUTTON3          (1U << 3)   ///< \ref cvGetSignal \a mask parameter: Push button 3
-#define cvJOYup            (1U << 4)   ///< \ref cvGetSignal \a mask parameter: Joystick button: up
-#define cvJOYdown          (1U << 5)   ///< \ref cvGetSignal \a mask parameter: Joystick button: down
-#define cvJOYleft          (1U << 6)   ///< \ref cvGetSignal \a mask parameter: Joystick button: left
-#define cvJOYright         (1U << 7)   ///< \ref cvGetSignal \a mask parameter: Joystick button: right
-#define cvJOYselect        (1U << 8)   ///< \ref cvGetSignal \a mask parameter: Joystick button: select
-#define cvJOYall           (cvJOYup     | \
-                            cvJOYdown   | \
-                            cvJOYleft   | \
-                            cvJOYright  | \
-                            cvJOYselect | ) ///< \ref cvGetSignal \a mask Joystick button: all
+// vioSetValue / vioGetValue: id values
+#define vioAIN0             (0U)        ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 0
+#define vioAIN1             (1U)        ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 1
+#define vioAIN2             (2U)        ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 2
+#define vioAIN3             (3U)        ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 3
+#define vioAOUT0            (3U)        ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog output value 0
 
+// vioSetXYZ / vioGetXZY: id values
+#define vioMotionGyro       (0U)        ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Gyroscope
+#define vioMotionAccelero   (1U)        ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Accelerometer
+#define vioMotionMagneto    (2U)        ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Magnetometer
 
-// cvSetValue / cvGetValue: id values
-#define cvAIN0             (0U)        ///< \ref cvSetValue / \ref cvGetValue \a id parameter: Analog input value 0
-#define cvAIN1             (1U)        ///< \ref cvSetValue / \ref cvGetValue \a id parameter: Analog input value 1
-#define cvAIN2             (2U)        ///< \ref cvSetValue / \ref cvGetValue \a id parameter: Analog input value 2
-#define cvAIN3             (3U)        ///< \ref cvSetValue / \ref cvGetValue \a id parameter: Analog input value 3
-#define cvAOUT0            (3U)        ///< \ref cvSetValue / \ref cvGetValue \a id parameter: Analog output value 0
-
-
-// cvSetXYZ / cvGetXZY: id values
-#define cvMotionGyro       (0U)        ///< \ref cvSetXYZ / \ref cvGetXYZ \a id parameter: for Gyroscope
-#define cvMotionAccelero   (1U)        ///< \ref cvSetXYZ / \ref cvGetXYZ \a id parameter: for Accelerometer
-#define cvMotionMagneto    (2U)        ///< \ref cvSetXYZ / \ref cvGetXYZ \a id parameter: for Magnetometer
-
-
-// cvPrint: levels
-#define cvLevelNone        (0U)        ///< \ref cvPrint \a level parameter: None
-#define cvLevelHeading     (1U)        ///< \ref cvPrint \a level parameter: Heading
-#define cvLevelMessage     (2U)        ///< \ref cvPrint \a level parameter: Message
-#define cvLevelError       (3U)        ///< \ref cvPrint \a level parameter: Error
+// vioPrint: levels
+#define vioLevelNone        (0U)        ///< \ref vioPrint \a level parameter: None
+#define vioLevelHeading     (1U)        ///< \ref vioPrint \a level parameter: Heading
+#define vioLevelMessage     (2U)        ///< \ref vioPrint \a level parameter: Message
+#define vioLevelError       (3U)        ///< \ref vioPrint \a level parameter: Error
 
 /// 3-D vector value
-typedef struct cvValueXYZ {
-  int32_t   X;                         ///< X coordinate
-  int32_t   Y;                         ///< Y coordinate
-  int32_t   Z;                         ///< Z coordinate
-} cvValueXYZ_t;
+typedef struct {
+  int32_t   X;                          ///< X coordinate
+  int32_t   Y;                          ///< Y coordinate
+  int32_t   Z;                          ///< Z coordinate
+} vioValueXYZ_t;
 
 /// IPv4 Internet Address
 typedef struct {
-  uint8_t   addr[4];                   ///< IPv4 address value used in \ref cvSetIPv4 / \ref cvGetIPv4 
-} cvAddrIPv4_t;
+  uint8_t   addr[4];                    ///< IPv4 address value used in \ref vioSetIPv4 / \ref vioGetIPv4 
+} vioAddrIPv4_t;
 
 /// IPv6 Internet Address
 typedef struct {
-  uint8_t   addr[16];                  ///< IPv6 address value used in \ref cvSetIPv6 / \ref cvGetIPv6
-} cvAddrIPv6_t;
+  uint8_t   addr[16];                   ///< IPv6 address value used in \ref vioSetIPv6 / \ref vioGetIPv6
+} vioAddrIPv6_t;
 
 #ifdef  __cplusplus
 extern "C"
@@ -108,73 +104,69 @@
 
 /// Initialize test input, output.
 /// \return none.
-void cvInit (void);
+void vioInit (void);
 
 /// Print formated string to test terminal.
-/// \param[in]     level        level (cvLevel...).
+/// \param[in]     level        level (vioLevel...).
 /// \param[in]     format       formated string to print.
 /// \param[in]     ...          optional arguments (depending on format string).
 /// \return number of characters written or -1 in case of error.
-int32_t cvPrint (uint32_t level, const char *format, ...);
-
-/// Get character from test terminal.
-/// \return character from terminal or -1 in case of no character or error.
-int32_t cvGetChar (void);
+int32_t vioPrint (uint32_t level, const char *format, ...);
 
 /// Set signal output.
 /// \param[in]     mask         bit mask of signals to set.
 /// \param[in]     signal       signal value to set.
 /// \return none.
-void cvSetSignal (uint32_t mask, uint32_t signal);
+void vioSetSignal (uint32_t mask, uint32_t signal);
 
 /// Get signal input.
 /// \param[in]     mask         bit mask of signals to read.
 /// \return signal value.
-uint32_t cvGetSignal (uint32_t mask);
+uint32_t vioGetSignal (uint32_t mask);
 
 /// Set value output.
 /// \param[in]     id           output identifier.
 /// \param[in]     value        value to set.
 /// \return none.
-void cvSetValue (uint32_t id, int32_t value);
+void vioSetValue (uint32_t id, int32_t value);
 
 /// Get value input.
 /// \param[in]     id           input identifier.
 /// \return  value retrieved from input.
-int32_t cvGetValue (uint32_t id);
+int32_t vioGetValue (uint32_t id);
 
 /// Set XYZ value output.
 /// \param[in]     id           output identifier.
 /// \param[in]     valueXYZ     XYZ data to set.
 /// \return none.
-void cvSetXYZ (uint32_t id, cvValueXYZ_t valueXYZ);
+void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ);
 
 /// Get XYZ value input.
 /// \param[in]     id           input identifier.
 /// \return  XYZ data retrieved from XYZ peripheral.
-cvValueXYZ_t cvGetXYZ (uint32_t id);
+vioValueXYZ_t vioGetXYZ (uint32_t id);
 
 /// Set IPv4 address output.
 /// \param[in]     id           output identifier.
 /// \param[in]     addrIPv4     pointer to IPv4 address.
 /// \return none.
-void cvSetIPv4 (uint32_t id, cvAddrIPv4_t addrIPv4);
+void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4);
 
 /// Get IPv4 address input.
 /// \param[in]     id           input identifier.
 /// \return IPv4 address retrieved from peripheral.
-cvAddrIPv4_t cvGetIPv4 (uint32_t id);
+vioAddrIPv4_t vioGetIPv4 (uint32_t id);
 
 /// Set IPv6 address output.
 /// \param[in]     id           output identifier.
 /// \param[in]     addrIPv6     pointer to IPv6 address.
 /// \return none.
-void cvSetIPv6 (uint32_t id, cvAddrIPv6_t addrIPv6);
+void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6);
 
 /// Get IPv6 address from peripheral.
 /// \param[in]     id           input identifier.
 /// \return IPv6 address retrieved from peripheral.
-cvAddrIPv6_t cvGetIPv6 (uint32_t id);
+vioAddrIPv6_t vioGetIPv6 (uint32_t id);
 
 #ifdef  __cplusplus
 }
diff --git a/CMSIS/Driver/VIO/Source/vio.c b/CMSIS/Driver/VIO/Source/vio.c
index 01f5e65..db8d97b 100644
--- a/CMSIS/Driver/VIO/Source/vio.c
+++ b/CMSIS/Driver/VIO/Source/vio.c
@@ -2,7 +2,7 @@
  * @file     vio.c
  * @brief    Virtual I/O implementation template
  * @version  V1.0.0
- * @date     18. March 2020
+ * @date     23. March 2020
  ******************************************************************************/
 /*
  * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
@@ -30,249 +30,236 @@
 #include "RTE_Components.h"             // Component selection
 #include CMSIS_device_header
 
-// CV input, output definitions
-#define CV_PRINT_MAX_SIZE       64U     // maximum size of print memory
-#define CV_PRINTMEM_NUM          4U     // number of print memories
-#define CV_VALUE_NUM             3U     // number of values
-#define CV_VALUEXYZ_NUM          3U     // number of XYZ values
-#define CV_IPV4_ADDRESS_NUM      2U     // number of IPv4 addresses
-#define CV_IPV6_ADDRESS_NUM      2U     // number of IPv6 addresses
+// VIO input, output definitions
+#define VIO_PRINT_MAX_SIZE      64U     // maximum size of print memory
+#define VIO_PRINTMEM_NUM         4U     // number of print memories
+#define VIO_VALUE_NUM            3U     // number of values
+#define VIO_VALUEXYZ_NUM         3U     // number of XYZ values
+#define VIO_IPV4_ADDRESS_NUM     2U     // number of IPv4 addresses
+#define VIO_IPV6_ADDRESS_NUM     2U     // number of IPv6 addresses
 
-// CV input, output variables
-__USED uint32_t     cvSignalIn;
-__USED uint32_t     cvSignalOut;
-__USED char         cvPrintMem[CV_PRINTMEM_NUM][CV_PRINT_MAX_SIZE];
-__USED int32_t      cvValue   [CV_VALUE_NUM];
-__USED cvValueXYZ_t cvValueXYZ[CV_VALUEXYZ_NUM];
-__USED cvAddrIPv4_t cvAddrIPv4[CV_IPV4_ADDRESS_NUM];
-__USED cvAddrIPv6_t cvAddrIPv6[CV_IPV6_ADDRESS_NUM];
+// VIO input, output variables
+__USED uint32_t      vioSignalIn;
+__USED uint32_t      vioSignalOut;
+__USED char          vioPrintMem[VIO_PRINTMEM_NUM][VIO_PRINT_MAX_SIZE];
+__USED int32_t       vioValue   [VIO_VALUE_NUM];
+__USED vioValueXYZ_t vioValueXYZ[VIO_VALUEXYZ_NUM];
+__USED vioAddrIPv4_t vioAddrIPv4[VIO_IPV4_ADDRESS_NUM];
+__USED vioAddrIPv6_t vioAddrIPv6[VIO_IPV6_ADDRESS_NUM];
 
 // Initialize test input, output.
-void cvInit (void) {
+void vioInit (void) {
 
-  cvSignalIn  = 0U;
-  cvSignalOut = 0U;
+  vioSignalIn  = 0U;
+  vioSignalOut = 0U;
 
-  memset (cvPrintMem, 0, sizeof(cvPrintMem));
-  memset (cvValue,    0, sizeof(cvValue));
-  memset (cvValueXYZ, 0, sizeof(cvValueXYZ));
-  memset (cvAddrIPv4, 0, sizeof(cvAddrIPv4));
-  memset (cvAddrIPv6, 0, sizeof(cvAddrIPv6));
+  memset (vioPrintMem, 0, sizeof(vioPrintMem));
+  memset (vioValue,    0, sizeof(vioValue));
+  memset (vioValueXYZ, 0, sizeof(vioValueXYZ));
+  memset (vioAddrIPv4, 0, sizeof(vioAddrIPv4));
+  memset (vioAddrIPv6, 0, sizeof(vioAddrIPv6));
 
 // Add user code here:
-// <code cvInit>
+// <code vioInit>
 
 // </code>
 }
 
 // Print formated string to test terminal.
-int32_t cvPrint (uint32_t level, const char *format, ...) {
+int32_t vioPrint (uint32_t level, const char *format, ...) {
   va_list args;
   int32_t ret;
 
-  if (level > cvLevelError) {
+  if (level > vioLevelError) {
     return (-1);
   }
 
-  if (level > CV_PRINTMEM_NUM) {
+  if (level > VIO_PRINTMEM_NUM) {
     return (-1);
   }
 
   va_start(args, format);
 
-  ret = vsnprintf((char *)cvPrintMem[level], sizeof(cvPrintMem[level]), format, args);
+  ret = vsnprintf((char *)vioPrintMem[level], sizeof(vioPrintMem[level]), format, args);
 
   va_end(args);
 
 // Add user code here:
-// <code cvPrint>
+// <code vioPrint>
 
 // </code>
 
   return (ret);
 }
 
-// Get character from test terminal.
-int32_t cvGetChar (void) {
-  int32_t ch = -1;
-
-// Add user code here:
-// <code cvGetChar>
-
-//   ch = ...;
-// </code>
-
-  return ch;
-}
-
 // Set signal output.
-void cvSetSignal (uint32_t mask, uint32_t signal) {
+void vioSetSignal (uint32_t mask, uint32_t signal) {
 
-  cvSignalOut &= ~mask;
-  cvSignalOut |=  mask & signal;
+  vioSignalOut &= ~mask;
+  vioSignalOut |=  mask & signal;
 
 // Add user code here:
-// <code cvSetSignal>
+// <code vioSetSignal>
 
 // </code>
 }
 
 // Get signal input.
-uint32_t cvGetSignal (uint32_t mask) {
+uint32_t vioGetSignal (uint32_t mask) {
   uint32_t signal;
 
 // Add user code here:
-// <code cvGetSignal>
+// <code vioGetSignal>
 
-//   cvSignalIn = ...;
+//   vioSignalIn = ...;
 // </code>
 
-  signal = cvSignalIn;
+  signal = vioSignalIn;
 
   return (signal & mask);
 }
 
 // Set value output.
-void cvSetValue (uint32_t id, int32_t value) {
+void vioSetValue (uint32_t id, int32_t value) {
   uint32_t index = id;
 
-  if (index >= CV_VALUE_NUM) {
+  if (index >= VIO_VALUE_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvValue[index] = value;
+  vioValue[index] = value;
 
 // Add user code here:
-// <code cvSetValue>
+// <code vioSetValue>
 
 // </code>
 }
 
 // Get value input.
-int32_t cvGetValue (uint32_t id) {
+int32_t vioGetValue (uint32_t id) {
   uint32_t index = id;
   int32_t  value = 0;
 
-  if (index >= CV_VALUE_NUM) {
+  if (index >= VIO_VALUE_NUM) {
     return value;                       /* return default in case of out-of-range index */
   }
 
 // Add user code here:
-// <code cvGetValue>
+// <code vioGetValue>
 
-//   cvValue[index] = ...;
+//   vioValue[index] = ...;
 // </code>
 
-  value = cvValue[index];
+  value = vioValue[index];
 
   return value;
 }
 
 // Set XYZ value output.
-void cvSetXYZ (uint32_t id, cvValueXYZ_t valueXYZ) {
+void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ) {
   uint32_t index = id;
 
-  if (index >= CV_VALUEXYZ_NUM) {
+  if (index >= VIO_VALUEXYZ_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvValueXYZ[index] = valueXYZ;
+  vioValueXYZ[index] = valueXYZ;
 
 // Add user code here:
-// <code cvSetXYZ>
+// <code vioSetXYZ>
 
 // </code>
 }
 
 // Get XYZ value input.
-cvValueXYZ_t cvGetXYZ (uint32_t id) {
+vioValueXYZ_t vioGetXYZ (uint32_t id) {
   uint32_t index = id;
-  cvValueXYZ_t valueXYZ = {0, 0, 0};
+  vioValueXYZ_t valueXYZ = {0, 0, 0};
 
-  if (index >= CV_VALUEXYZ_NUM) {
+  if (index >= VIO_VALUEXYZ_NUM) {
     return valueXYZ;                    /* return default in case of out-of-range index */
   }
 
 // Add user code here:
-// <code cvGetXYZ>
+// <code vioGetXYZ>
 
-//   cvValueXYZ[index] = ...;
+//   vioValueXYZ[index] = ...;
 // </code>
 
-  valueXYZ = cvValueXYZ[index];
+  valueXYZ = vioValueXYZ[index];
 
   return valueXYZ;
 }
 
 // Set IPv4 address output.
-void cvSetIPv4 (uint32_t id, cvAddrIPv4_t addrIPv4) {
+void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4) {
   uint32_t index = id;
 
-  if (index >= CV_IPV4_ADDRESS_NUM) {
+  if (index >= VIO_IPV4_ADDRESS_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvAddrIPv4[index] = addrIPv4;
+  vioAddrIPv4[index] = addrIPv4;
 
 // Add user code here:
-// <code cvSetIPv4>
+// <code vioSetIPv4>
 
 // </code>
 }
 
 // Get IPv4 address input.
-cvAddrIPv4_t cvGetIPv4 (uint32_t id) {
+vioAddrIPv4_t vioGetIPv4 (uint32_t id) {
   uint32_t index = id;
-  cvAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U};
+  vioAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U};
 
-  if (index >= CV_IPV4_ADDRESS_NUM) {
+  if (index >= VIO_IPV4_ADDRESS_NUM) {
     return addrIPv4;                    /* return default in case of out-of-range index */
   }
 
 // Add user code here:
-// <code cvGetIPv4>
+// <code vioGetIPv4>
 
-//   cvAddrIPv4[index] = ...;
+//   vioAddrIPv4[index] = ...;
 // </code>
 
-  addrIPv4 = cvAddrIPv4[index];
+  addrIPv4 = vioAddrIPv4[index];
 
   return addrIPv4;
 }
 
 // Set IPv6 address output.
-void cvSetIPv6 (uint32_t id, cvAddrIPv6_t addrIPv6) {
+void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6) {
   uint32_t index = id;
 
-  if (index >= CV_IPV6_ADDRESS_NUM) {
+  if (index >= VIO_IPV6_ADDRESS_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvAddrIPv6[index] = addrIPv6;
+  vioAddrIPv6[index] = addrIPv6;
 
 // Add user code here:
-// <code cvSetIPv6>
+// <code vioSetIPv6>
 
 // </code>
 }
 
 // Get IPv6 address input.
-cvAddrIPv6_t cvGetIPv6 (uint32_t id) {
+vioAddrIPv6_t vioGetIPv6 (uint32_t id) {
   uint32_t index = id;
-  cvAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
-                           0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U};
+  vioAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
+                            0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U};
 
-  if (index >= CV_IPV6_ADDRESS_NUM) {
+  if (index >= VIO_IPV6_ADDRESS_NUM) {
     return addrIPv6;                    /* return default in case of out-of-range index */
   }
 
 // Add user code here:
-// <code cvGetIPv6>
+// <code vioGetIPv6>
 
-//   cvAddrIPv6[index] = ...;
+//   vioAddrIPv6[index] = ...;
 // </code>
 
-  addrIPv6 = cvAddrIPv6[index];
+  addrIPv6 = vioAddrIPv6[index];
 
   return addrIPv6;
 }
diff --git a/CMSIS/Driver/VIO/Source/vio_memory.c b/CMSIS/Driver/VIO/Source/vio_memory.c
index dbabfce..6c432c2 100644
--- a/CMSIS/Driver/VIO/Source/vio_memory.c
+++ b/CMSIS/Driver/VIO/Source/vio_memory.c
@@ -2,7 +2,7 @@
  * @file     vio_memory.c
  * @brief    Virtual I/O implementation using memory only
  * @version  V1.0.0
- * @date     18. March 2020
+ * @date     23. March 2020
  ******************************************************************************/
 /*
  * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
@@ -30,186 +30,179 @@
 #include "RTE_Components.h"             // Component selection
 #include CMSIS_device_header
 
-// CV input, output definitions
-#define CV_PRINT_MAX_SIZE       64U     // maximum size of print memory
-#define CV_PRINTMEM_NUM          4U     // number of print memories
-#ifndef CV_VALUE_NUM
-#define CV_VALUE_NUM             3U     // number of values
+// VIO input, output definitions
+#define VIO_PRINT_MAX_SIZE      64U     // maximum size of print memory
+#define VIO_PRINTMEM_NUM         4U     // number of print memories
+#ifndef VIO_VALUE_NUM
+#define VIO_VALUE_NUM            3U     // number of values
 #endif
-#ifndef CV_VALUEXYZ_NUM
-#define CV_VALUEXYZ_NUM          3U     // number of XYZ values
+#ifndef VIO_VALUEXYZ_NUM
+#define VIO_VALUEXYZ_NUM         3U     // number of XYZ values
 #endif
-#ifndef CV_IPV4_ADDRESS_NUM
-#define CV_IPV4_ADDRESS_NUM      2U     // number of IPv4 addresses
+#ifndef VIO_IPV4_ADDRESS_NUM
+#define VIO_IPV4_ADDRESS_NUM     2U     // number of IPv4 addresses
 #endif
-#ifndef CV_IPV6_ADDRESS_NUM
-#define CV_IPV6_ADDRESS_NUM      2U     // number of IPv6 addresses
+#ifndef VIO_IPV6_ADDRESS_NUM
+#define VIO_IPV6_ADDRESS_NUM     2U     // number of IPv6 addresses
 #endif
 
-// CV input, output variables
-__USED uint32_t     cvSignalIn;
-__USED uint32_t     cvSignalOut;
-__USED char         cvPrintMem[CV_PRINTMEM_NUM][CV_PRINT_MAX_SIZE];
-__USED int32_t      cvValue   [CV_VALUE_NUM];
-__USED cvValueXYZ_t cvValueXYZ[CV_VALUEXYZ_NUM];
-__USED cvAddrIPv4_t cvAddrIPv4[CV_IPV4_ADDRESS_NUM];
-__USED cvAddrIPv6_t cvAddrIPv6[CV_IPV6_ADDRESS_NUM];
+// VIO input, output variables
+__USED uint32_t      vioSignalIn;
+__USED uint32_t      vioSignalOut;
+__USED char          vioPrintMem[VIO_PRINTMEM_NUM][VIO_PRINT_MAX_SIZE];
+__USED int32_t       vioValue   [VIO_VALUE_NUM];
+__USED vioValueXYZ_t vioValueXYZ[VIO_VALUEXYZ_NUM];
+__USED vioAddrIPv4_t vioAddrIPv4[VIO_IPV4_ADDRESS_NUM];
+__USED vioAddrIPv6_t vioAddrIPv6[VIO_IPV6_ADDRESS_NUM];
 
 // Initialize test input, output.
-void cvInit (void) {
+void vioInit (void) {
 
-  cvSignalIn  = 0U;
-  cvSignalOut = 0U;
+  vioSignalIn  = 0U;
+  vioSignalOut = 0U;
 
-  memset (cvPrintMem, 0, sizeof(cvPrintMem));
-  memset (cvValue,    0, sizeof(cvValue));
-  memset (cvValueXYZ, 0, sizeof(cvValueXYZ));
-  memset (cvAddrIPv4, 0, sizeof(cvAddrIPv4));
-  memset (cvAddrIPv6, 0, sizeof(cvAddrIPv6));
+  memset (vioPrintMem, 0, sizeof(vioPrintMem));
+  memset (vioValue,    0, sizeof(vioValue));
+  memset (vioValueXYZ, 0, sizeof(vioValueXYZ));
+  memset (vioAddrIPv4, 0, sizeof(vioAddrIPv4));
+  memset (vioAddrIPv6, 0, sizeof(vioAddrIPv6));
 }
 
 // Print formated string to test terminal.
-int32_t cvPrint (uint32_t level, const char *format, ...) {
+int32_t vioPrint (uint32_t level, const char *format, ...) {
   va_list args;
   int32_t ret;
 
-  if (level > cvLevelError) {
+  if (level > vioLevelError) {
     return (-1);
   }
 
-  if (level > CV_PRINTMEM_NUM) {
+  if (level > VIO_PRINTMEM_NUM) {
     return (-1);
   }
 
   va_start(args, format);
 
-  ret = vsnprintf((char *)cvPrintMem[level], sizeof(cvPrintMem[level]), format, args);
+  ret = vsnprintf((char *)vioPrintMem[level], sizeof(vioPrintMem[level]), format, args);
 
   va_end(args);
 
   return (ret);
 }
 
-// Get character from test terminal.
-int32_t cvGetChar (void) {
-  int32_t ch = -1;
-
-  return ch;
-}
-
 // Set signal output.
-void cvSetSignal (uint32_t mask, uint32_t signal) {
+void vioSetSignal (uint32_t mask, uint32_t signal) {
 
-  cvSignalOut &= ~mask;
-  cvSignalOut |=  mask & signal;
+  vioSignalOut &= ~mask;
+  vioSignalOut |=  mask & signal;
 }
 
 // Get signal input.
-uint32_t cvGetSignal (uint32_t mask) {
+uint32_t vioGetSignal (uint32_t mask) {
   uint32_t signal;
 
-  signal = cvSignalIn;
+  signal = vioSignalIn;
 
   return (signal & mask);
 }
 
 // Set value output.
-void cvSetValue (uint32_t id, int32_t value) {
+void vioSetValue (uint32_t id, int32_t value) {
   uint32_t index = id;
 
-  if (index >= CV_VALUE_NUM) {
+  if (index >= VIO_VALUE_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvValue[index] = value;
+  vioValue[index] = value;
 }
 
 // Get value input.
-int32_t cvGetValue (uint32_t id) {
+int32_t vioGetValue (uint32_t id) {
   uint32_t index = id;
   int32_t  value = 0;
 
-  if (index >= CV_VALUE_NUM) {
+  if (index >= VIO_VALUE_NUM) {
     return value;                       /* return default in case of out-of-range index */
   }
 
-  value = cvValue[index];
+  value = vioValue[index];
 
   return value;
 }
 
 // Set XYZ value output.
-void cvSetXYZ (uint32_t id, cvValueXYZ_t valueXYZ) {
+void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ) {
   uint32_t index = id;
 
-  if (index >= CV_VALUEXYZ_NUM) {
+  if (index >= VIO_VALUEXYZ_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvValueXYZ[index] = valueXYZ;
+  vioValueXYZ[index] = valueXYZ;
 }
 
 // Get XYZ value input.
-cvValueXYZ_t cvGetXYZ (uint32_t id) {
+vioValueXYZ_t vioGetXYZ (uint32_t id) {
   uint32_t index = id;
-  cvValueXYZ_t valueXYZ = {0, 0, 0};
+  vioValueXYZ_t valueXYZ = {0, 0, 0};
 
-  if (index >= CV_VALUEXYZ_NUM) {
+  if (index >= VIO_VALUEXYZ_NUM) {
     return valueXYZ;                    /* return default in case of out-of-range index */
   }
 
-  valueXYZ = cvValueXYZ[index];
+  valueXYZ = vioValueXYZ[index];
 
   return valueXYZ;
 }
 
 // Set IPv4 address output.
-void cvSetIPv4 (uint32_t id, cvAddrIPv4_t addrIPv4) {
+void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4) {
   uint32_t index = id;
 
-  if (index >= CV_IPV4_ADDRESS_NUM) {
+  if (index >= VIO_IPV4_ADDRESS_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvAddrIPv4[index] = addrIPv4;
+  vioAddrIPv4[index] = addrIPv4;
 }
 
 // Get IPv4 address input.
-cvAddrIPv4_t cvGetIPv4 (uint32_t id) {
+vioAddrIPv4_t vioGetIPv4 (uint32_t id) {
   uint32_t index = id;
-  cvAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U};
+  vioAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U};
 
-  if (index >= CV_IPV4_ADDRESS_NUM) {
+  if (index >= VIO_IPV4_ADDRESS_NUM) {
     return addrIPv4;                    /* return default in case of out-of-range index */
   }
 
-  addrIPv4 = cvAddrIPv4[index];
+  addrIPv4 = vioAddrIPv4[index];
 
   return addrIPv4;
 }
 
 // Set IPv6 address output.
-void cvSetIPv6 (uint32_t id, cvAddrIPv6_t addrIPv6) {
+void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6) {
   uint32_t index = id;
 
-  if (index >= CV_IPV6_ADDRESS_NUM) {
+  if (index >= VIO_IPV6_ADDRESS_NUM) {
     return;                             /* return in case of out-of-range index */
   }
 
-  cvAddrIPv6[index] = addrIPv6;
+  vioAddrIPv6[index] = addrIPv6;
 }
 
 // Get IPv6 address input.
-cvAddrIPv6_t cvGetIPv6 (uint32_t id) {
+vioAddrIPv6_t vioGetIPv6 (uint32_t id) {
   uint32_t index = id;
-  cvAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
-                           0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U};
+  vioAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
+                            0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U};
 
-  if (index >= CV_IPV6_ADDRESS_NUM) {
+  if (index >= VIO_IPV6_ADDRESS_NUM) {
     return addrIPv6;                    /* return default in case of out-of-range index */
   }
 
-  addrIPv6 = cvAddrIPv6[index];
+  addrIPv6 = vioAddrIPv6[index];
 
   return addrIPv6;
 }
diff --git a/CMSIS/Driver/VIO/cmsis_vio.scvd b/CMSIS/Driver/VIO/cmsis_vio.scvd
index f963959..a84cac2 100644
--- a/CMSIS/Driver/VIO/cmsis_vio.scvd
+++ b/CMSIS/Driver/VIO/cmsis_vio.scvd
@@ -1,41 +1,41 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component_viewer schemaVersion="1.2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
-<component name="CMSIS Virtual I/O" version="1.0.0"/>
+<component name="CMSIS-Driver VIO" version="1.0.0"/>
 
   <typedefs>
-    <typedef name="cvPrintMem_t" size="64">
+    <typedef name="vioPrintMem_t" size="64">
       <member name="mem" type="uint8_t" size="64" offset="0"/>
     </typedef>
 
-    <typedef name="cvValueXYZ_t" size="12">
+    <typedef name="vioValueXYZ_t" size="12">
       <member name="X" type="int32_t" offset="0"/>
       <member name="Y" type="int32_t" offset="4"/>
       <member name="Z" type="int32_t" offset="8"/>
     </typedef>
 
-    <typedef name="cvAddrIPv4_t" size="4">
+    <typedef name="vioAddrIPv4_t" size="4">
       <member name="addr" type="uint8_t" size="4"  offset="0"/>
     </typedef>
 
-    <typedef name="cvAddrIPv6_t" size="16">
+    <typedef name="vioAddrIPv6_t" size="16">
       <member name="addr" type="uint8_t" size="16" offset="0"/>
     </typedef>
 
   </typedefs>
 
   <objects>
-    <object name="Virtual I/O Object">
+    <object name="VIO Object">
       <var name="i" type="int32_t" value="0"/>
 
-      <read     name="SignalIn"    type="uint32_t"     symbol="cvSignalIn"/>
-      <read     name="SignalOut"   type="uint32_t"     symbol="cvSignalOut"/>
-      <readlist name="PrintMem"    type="cvPrintMem_t" symbol="cvPrintMem" count="4"/>
-      <read     name="Value"       type="int32_t"      symbol="cvValue"    size="__size_of(&quot;cvValue&quot;)"/>
-      <readlist name="ValueXYZ"    type="cvValueXYZ_t" symbol="cvValueXYZ" count="__size_of(&quot;cvValueXYZ&quot;)"/>
-      <readlist name="IPv4Address" type="cvAddrIPv4_t" symbol="cvAddrIPv4" count="__size_of(&quot;cvAddrIPv4&quot;)"/>
-      <readlist name="IPv6Address" type="cvAddrIPv6_t" symbol="cvAddrIPv6" count="__size_of(&quot;cvAddrIPv6&quot;)"/>
+      <read     name="SignalIn"    type="uint32_t"      symbol="vioSignalIn"/>
+      <read     name="SignalOut"   type="uint32_t"      symbol="vioSignalOut"/>
+      <readlist name="PrintMem"    type="vioPrintMem_t" symbol="vioPrintMem" count="4"/>
+      <read     name="Value"       type="int32_t"       symbol="vioValue"    size="__size_of(&quot;vioValue&quot;)"/>
+      <readlist name="ValueXYZ"    type="vioValueXYZ_t" symbol="vioValueXYZ" count="__size_of(&quot;vioValueXYZ&quot;)"/>
+      <readlist name="IPv4Address" type="vioAddrIPv4_t" symbol="vioAddrIPv4" count="__size_of(&quot;vioAddrIPv4&quot;)"/>
+      <readlist name="IPv6Address" type="vioAddrIPv6_t" symbol="vioAddrIPv6" count="__size_of(&quot;vioAddrIPv6&quot;)"/>
 
-      <out name="Virtual I/O">
+      <out name="CMSIS-Driver VIO">
         <item property="Signal Bits (Input)"  value="%x[SignalIn]"/>
         <item property="Signal Bits (Output)" value="%x[SignalOut]"/>