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("cvValue")"/>
- <readlist name="ValueXYZ" type="cvValueXYZ_t" symbol="cvValueXYZ" count="__size_of("cvValueXYZ")"/>
- <readlist name="IPv4Address" type="cvAddrIPv4_t" symbol="cvAddrIPv4" count="__size_of("cvAddrIPv4")"/>
- <readlist name="IPv6Address" type="cvAddrIPv6_t" symbol="cvAddrIPv6" count="__size_of("cvAddrIPv6")"/>
+ <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("vioValue")"/>
+ <readlist name="ValueXYZ" type="vioValueXYZ_t" symbol="vioValueXYZ" count="__size_of("vioValueXYZ")"/>
+ <readlist name="IPv4Address" type="vioAddrIPv4_t" symbol="vioAddrIPv4" count="__size_of("vioAddrIPv4")"/>
+ <readlist name="IPv6Address" type="vioAddrIPv6_t" symbol="vioAddrIPv6" count="__size_of("vioAddrIPv6")"/>
- <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]"/>