From 3f26ee095581c7074581bffee0ff9b5f3cf008a7 Mon Sep 17 00:00:00 2001 From: Mahesh Mahadevan Date: Mon, 27 Aug 2018 13:42:26 -0500 Subject: [PATCH 001/202] MIMXRT1050_EVK: Update SPI HAL driver Use a different SDK API to write to the SPI Bus Signed-off-by: Mahesh Mahadevan --- .../TARGET_MCUXpresso_MCUS/TARGET_IMX/spi_api.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/spi_api.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/spi_api.c index 5795639d87..710d813813 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/spi_api.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/spi_api.c @@ -107,15 +107,9 @@ static inline int spi_readable(spi_t * obj) int spi_master_write(spi_t *obj, int value) { - lpspi_transfer_t masterXfer; uint32_t rx_data; - masterXfer.txData = (uint8_t *)&value; - masterXfer.rxData = NULL; - masterXfer.dataSize = 1; - masterXfer.configFlags = kLPSPI_MasterPcs0 | kLPSPI_MasterPcsContinuous | kLPSPI_SlaveByteSwap; - - LPSPI_MasterTransferBlocking(spi_address[obj->instance], &masterXfer); + LPSPI_WriteData(spi_address[obj->instance], value); // wait rx buffer full while (!spi_readable(obj)); From 9f613512eb19225f203da1400b6609898ff5d638 Mon Sep 17 00:00:00 2001 From: Taiki Date: Mon, 27 Aug 2018 19:39:02 +0200 Subject: [PATCH 002/202] Switch the IPv4 parser to the one recently introduced in libservice. Return a bool value on wether parsing of the IPv4 address string was successful --- .../UNITTESTS/stubs/SocketAddress_stub.cpp | 24 ------- features/netsocket/SocketAddress.cpp | 71 ++----------------- 2 files changed, 5 insertions(+), 90 deletions(-) diff --git a/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp b/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp index 76e02aa12b..9ed53f03cf 100644 --- a/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp +++ b/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp @@ -22,40 +22,16 @@ #include "mbed.h" -static bool ipv4_is_valid(const char *addr) -{ - return false; -} - static bool ipv6_is_valid(const char *addr) { return false; } -static void ipv4_from_address(uint8_t *bytes, const char *addr) -{ - -} - static int ipv6_scan_chunk(uint16_t *shorts, const char *chunk) { return 0; } -static void ipv6_from_address(uint8_t *bytes, const char *addr) -{ - -} - -static void ipv4_to_address(char *addr, const uint8_t *bytes) -{ - -} - -static void ipv6_to_address(char *addr, const uint8_t *bytes) -{ -} - SocketAddress::SocketAddress(nsapi_addr_t addr, uint16_t port) { diff --git a/features/netsocket/SocketAddress.cpp b/features/netsocket/SocketAddress.cpp index b83c690fca..3e42619a5e 100644 --- a/features/netsocket/SocketAddress.cpp +++ b/features/netsocket/SocketAddress.cpp @@ -19,29 +19,11 @@ #include "NetworkStack.h" #include #include +#include "ip4string.h" #include "ip6string.h" -static bool ipv4_is_valid(const char *addr) -{ - int i = 0; - - // Check each digit for [0-9.] - for (; addr[i]; i++) { - if (!(addr[i] >= '0' && addr[i] <= '9') && addr[i] != '.') { - return false; - } - } - - // Ending with '.' garuntees host - if (i > 0 && addr[i - 1] == '.') { - return false; - } - - return true; -} - static bool ipv6_is_valid(const char *addr) { // Check each digit for [0-9a-fA-F:] @@ -62,48 +44,6 @@ static bool ipv6_is_valid(const char *addr) return colons >= 2; } -static void ipv4_from_address(uint8_t *bytes, const char *addr) -{ - int count = 0; - int i = 0; - - for (; count < NSAPI_IPv4_BYTES; count++) { - unsigned d; - // Not using %hh, since it might be missing in newlib-based toolchains. - // See also: https://git.io/vxiw5 - int scanned = sscanf(&addr[i], "%u", &d); - if (scanned < 1) { - return; - } - - bytes[count] = static_cast(d); - - for (; addr[i] != '.'; i++) { - if (!addr[i]) { - return; - } - } - - i++; - } -} - -static void ipv6_from_address(uint8_t *bytes, const char *addr) -{ - stoip6(addr, strlen(addr), bytes); -} - -static void ipv4_to_address(char *addr, const uint8_t *bytes) -{ - sprintf(addr, "%d.%d.%d.%d", bytes[0], bytes[1], bytes[2], bytes[3]); -} - -static void ipv6_to_address(char *addr, const uint8_t *bytes) -{ - ip6tos(bytes, addr); -} - - SocketAddress::SocketAddress(nsapi_addr_t addr, uint16_t port) { _ip_address = NULL; @@ -137,13 +77,12 @@ bool SocketAddress::set_ip_address(const char *addr) delete[] _ip_address; _ip_address = NULL; - if (addr && ipv4_is_valid(addr)) { + if (addr && stoip4(addr, strlen(addr), _addr.bytes)) { _addr.version = NSAPI_IPv4; - ipv4_from_address(_addr.bytes, addr); return true; } else if (addr && ipv6_is_valid(addr)) { _addr.version = NSAPI_IPv6; - ipv6_from_address(_addr.bytes, addr); + stoip6(addr, strlen(addr), _addr.bytes); return true; } else { _addr = nsapi_addr_t(); @@ -186,9 +125,9 @@ const char *SocketAddress::get_ip_address() const if (!_ip_address) { _ip_address = new char[NSAPI_IP_SIZE]; if (_addr.version == NSAPI_IPv4) { - ipv4_to_address(_ip_address, _addr.bytes); + ip4tos(_addr.bytes, _ip_address); } else if (_addr.version == NSAPI_IPv6) { - ipv6_to_address(_ip_address, _addr.bytes); + ip6tos(_addr.bytes, _ip_address); } } From 8c677fc9a113f0c8c5f3e2c9589e51728076d1ba Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Thu, 30 Aug 2018 08:41:15 -0500 Subject: [PATCH 003/202] SImplify linkerscirpt usage Avoids assigning to things that we can't assign --- tools/export/embitz/__init__.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/export/embitz/__init__.py b/tools/export/embitz/__init__.py index 9d4ebac9b1..7588da6e74 100644 --- a/tools/export/embitz/__init__.py +++ b/tools/export/embitz/__init__.py @@ -64,17 +64,13 @@ class EmBitz(Exporter): l, _ = splitext(basename(lib)) libraries.append(l[3:]) - - if self.resources.linker_script is None: - self.resources.linker_script = '' - ctx = { 'name': self.project_name, 'target': self.target, 'toolchain': self.toolchain.name, 'source_files': source_files, 'include_paths': self.resources.inc_dirs, - 'script_file': self.resources.linker_script, + 'script_file': self.resources.linker_script or '', 'library_paths': self.resources.lib_dirs, 'libraries': libraries, 'symbols': self.toolchain.get_symbols(), From ce1ea568f2dacc382ffa26b085c44e4d5bf81be8 Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Wed, 5 Sep 2018 12:00:59 +0300 Subject: [PATCH 004/202] Fix TCPSocket::accept() This one was actually always return NULL, and unsted because we only have tests with one device. We will add the testcase for this soon --- features/netsocket/TCPSocket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/netsocket/TCPSocket.cpp b/features/netsocket/TCPSocket.cpp index 00bac9a3f9..dc304070ee 100644 --- a/features/netsocket/TCPSocket.cpp +++ b/features/netsocket/TCPSocket.cpp @@ -265,7 +265,7 @@ TCPSocket *TCPSocket::accept(nsapi_error_t *error) ret = _stack->socket_accept(_socket, &socket, &address); if (0 == ret) { - TCPSocket *connection = new TCPSocket(); + connection = new TCPSocket(); connection->_lock.lock(); connection->_factory_allocated = true; // Destroy automatically on close() connection->_remote_peer = address; From 98021cb47d081f078cf07c8911b7e358236a72bb Mon Sep 17 00:00:00 2001 From: jeromecoutant Date: Thu, 9 Aug 2018 13:21:36 +0200 Subject: [PATCH 005/202] STM32L4 : code cleanup in MSI SetSysClock --- .../TARGET_NUCLEO_L432KC/system_clock.c | 12 ++++++++++-- .../TARGET_NUCLEO_L433RC_P/system_clock.c | 12 ++++++++++-- .../TARGET_MTB_ADV_WISE_1510/system_clock.c | 12 ++++++++++-- .../TARGET_DISCO_L475VG_IOT01A/system_clock.c | 12 ++++++++++-- .../TARGET_DISCO_L476VG/system_clock.c | 12 ++++++++++-- .../TARGET_NUCLEO_L476RG/system_clock.c | 12 ++++++++++-- .../TARGET_SILICA_SENSOR_NODE/system_clock.c | 12 ++++++++++-- .../TARGET_MTB_ADV_WISE_1570/system_clock.c | 12 ++++++++++-- .../TARGET_NUCLEO_L486RG/system_clock.c | 12 ++++++++++-- .../TARGET_DISCO_L496AG/system_clock.c | 12 ++++++++++-- .../TARGET_NUCLEO_L496ZG/system_clock.c | 12 ++++++++++-- 11 files changed, 110 insertions(+), 22 deletions(-) diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/system_clock.c index 8f7409a57c..c47c24bb84 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/system_clock.c @@ -322,15 +322,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -349,8 +353,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L433xC/TARGET_NUCLEO_L433RC_P/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L433xC/TARGET_NUCLEO_L433RC_P/system_clock.c index 8f7409a57c..c47c24bb84 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L433xC/TARGET_NUCLEO_L433RC_P/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L433xC/TARGET_NUCLEO_L433RC_P/system_clock.c @@ -322,15 +322,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -349,8 +353,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L443xC/TARGET_MTB_ADV_WISE_1510/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L443xC/TARGET_MTB_ADV_WISE_1510/system_clock.c index 8f7409a57c..c47c24bb84 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L443xC/TARGET_MTB_ADV_WISE_1510/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L443xC/TARGET_MTB_ADV_WISE_1510/system_clock.c @@ -322,15 +322,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -349,8 +353,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L475xG/TARGET_DISCO_L475VG_IOT01A/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L475xG/TARGET_DISCO_L475VG_IOT01A/system_clock.c index 4c232a41c3..d71a36fb67 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L475xG/TARGET_DISCO_L475VG_IOT01A/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L475xG/TARGET_DISCO_L475VG_IOT01A/system_clock.c @@ -309,15 +309,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -336,8 +340,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_DISCO_L476VG/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_DISCO_L476VG/system_clock.c index 4c232a41c3..d71a36fb67 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_DISCO_L476VG/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_DISCO_L476VG/system_clock.c @@ -309,15 +309,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -336,8 +340,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_NUCLEO_L476RG/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_NUCLEO_L476RG/system_clock.c index 4c232a41c3..d71a36fb67 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_NUCLEO_L476RG/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_NUCLEO_L476RG/system_clock.c @@ -309,15 +309,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -336,8 +340,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/system_clock.c index 4c232a41c3..d71a36fb67 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L476xG/TARGET_SILICA_SENSOR_NODE/system_clock.c @@ -309,15 +309,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -336,8 +340,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_MTB_ADV_WISE_1570/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_MTB_ADV_WISE_1570/system_clock.c index 09fdb7c9e9..2f32d14892 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_MTB_ADV_WISE_1570/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_MTB_ADV_WISE_1570/system_clock.c @@ -321,15 +321,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -348,8 +352,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_NUCLEO_L486RG/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_NUCLEO_L486RG/system_clock.c index 8e2272547c..fbc19d8920 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_NUCLEO_L486RG/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L486xG/TARGET_NUCLEO_L486RG/system_clock.c @@ -309,15 +309,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -336,8 +340,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_DISCO_L496AG/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_DISCO_L496AG/system_clock.c index cddb9c174a..97902d6886 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_DISCO_L496AG/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_DISCO_L496AG/system_clock.c @@ -323,15 +323,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -349,8 +353,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ diff --git a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_NUCLEO_L496ZG/system_clock.c b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_NUCLEO_L496ZG/system_clock.c index cddb9c174a..97902d6886 100644 --- a/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_NUCLEO_L496ZG/system_clock.c +++ b/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/TARGET_NUCLEO_L496ZG/system_clock.c @@ -323,15 +323,19 @@ uint8_t SetSysClock_PLL_MSI(void) RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; +#if MBED_CONF_TARGET_LSE_AVAILABLE // Enable LSE Oscillator to automatically calibrate the MSI clock RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // No PLL update RCC_OscInitStruct.LSEState = RCC_LSE_ON; // External 32.768 kHz clock on OSC_IN/OSC_OUT - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { - RCC->CR |= RCC_CR_MSIPLLEN; // Enable MSI PLL-mode + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + return 0; // FAIL } + /* Enable the CSS interrupt in case LSE signal is corrupted or not present */ HAL_RCCEx_DisableLSECSS(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Enable MSI Oscillator and activate PLL with MSI as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.MSIState = RCC_MSI_ON; @@ -349,8 +353,12 @@ uint8_t SetSysClock_PLL_MSI(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { return 0; // FAIL } + +#if MBED_CONF_TARGET_LSE_AVAILABLE /* Enable MSI Auto-calibration through LSE */ HAL_RCCEx_EnableMSIPLLMode(); +#endif /* MBED_CONF_TARGET_LSE_AVAILABLE */ + /* Select MSI output as USB clock source */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_MSI; /* 48 MHz */ From d88d19e620cfe245d03dd3065aaa49036a3c92be Mon Sep 17 00:00:00 2001 From: rklaassen Date: Fri, 17 Aug 2018 10:11:47 -0500 Subject: [PATCH 006/202] Added ARM Permissive Binary License to MTS bootloaders --- .../bootloaders/MTB_MTS_DRAGONFLY/LICENSE.txt | 49 +++++++++++++++++++ .../MTS_DRAGONFLY_F411RE/LICENSE.txt | 49 +++++++++++++++++++ tools/bootloaders/MTS_MDOT_F411RE/LICENSE.txt | 49 +++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 tools/bootloaders/MTB_MTS_DRAGONFLY/LICENSE.txt create mode 100644 tools/bootloaders/MTS_DRAGONFLY_F411RE/LICENSE.txt create mode 100644 tools/bootloaders/MTS_MDOT_F411RE/LICENSE.txt diff --git a/tools/bootloaders/MTB_MTS_DRAGONFLY/LICENSE.txt b/tools/bootloaders/MTB_MTS_DRAGONFLY/LICENSE.txt new file mode 100644 index 0000000000..d648fd563a --- /dev/null +++ b/tools/bootloaders/MTB_MTS_DRAGONFLY/LICENSE.txt @@ -0,0 +1,49 @@ +Permissive Binary License + +Version 1.0, September 2015 + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +1) Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +2) Unless to the extent explicitly permitted by law, no reverse + engineering, decompilation, or disassembly of this software is + permitted. + +3) Redistribution as part of a software development kit must include the + accompanying file named “DEPENDENCIES” and any dependencies listed in + that file. + +4) Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Limited patent license. The copyright holders (and contributors) grant a +worldwide, non-exclusive, no-charge, royalty-free patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer this software, where such license applies only to those patent +claims licensable by the copyright holders (and contributors) that are +necessarily infringed by this software. This patent license shall not +apply to any combinations that include this software. No hardware is +licensed hereunder. + +If you institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the software +itself infringes your patent(s), then your rights granted under this +license shall terminate as of the date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tools/bootloaders/MTS_DRAGONFLY_F411RE/LICENSE.txt b/tools/bootloaders/MTS_DRAGONFLY_F411RE/LICENSE.txt new file mode 100644 index 0000000000..d648fd563a --- /dev/null +++ b/tools/bootloaders/MTS_DRAGONFLY_F411RE/LICENSE.txt @@ -0,0 +1,49 @@ +Permissive Binary License + +Version 1.0, September 2015 + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +1) Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +2) Unless to the extent explicitly permitted by law, no reverse + engineering, decompilation, or disassembly of this software is + permitted. + +3) Redistribution as part of a software development kit must include the + accompanying file named “DEPENDENCIES” and any dependencies listed in + that file. + +4) Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Limited patent license. The copyright holders (and contributors) grant a +worldwide, non-exclusive, no-charge, royalty-free patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer this software, where such license applies only to those patent +claims licensable by the copyright holders (and contributors) that are +necessarily infringed by this software. This patent license shall not +apply to any combinations that include this software. No hardware is +licensed hereunder. + +If you institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the software +itself infringes your patent(s), then your rights granted under this +license shall terminate as of the date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tools/bootloaders/MTS_MDOT_F411RE/LICENSE.txt b/tools/bootloaders/MTS_MDOT_F411RE/LICENSE.txt new file mode 100644 index 0000000000..d648fd563a --- /dev/null +++ b/tools/bootloaders/MTS_MDOT_F411RE/LICENSE.txt @@ -0,0 +1,49 @@ +Permissive Binary License + +Version 1.0, September 2015 + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +1) Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +2) Unless to the extent explicitly permitted by law, no reverse + engineering, decompilation, or disassembly of this software is + permitted. + +3) Redistribution as part of a software development kit must include the + accompanying file named “DEPENDENCIES” and any dependencies listed in + that file. + +4) Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Limited patent license. The copyright holders (and contributors) grant a +worldwide, non-exclusive, no-charge, royalty-free patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer this software, where such license applies only to those patent +claims licensable by the copyright holders (and contributors) that are +necessarily infringed by this software. This patent license shall not +apply to any combinations that include this software. No hardware is +licensed hereunder. + +If you institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the software +itself infringes your patent(s), then your rights granted under this +license shall terminate as of the date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 6bcfdb91be28ff01af953f3fbbb7826c81701800 Mon Sep 17 00:00:00 2001 From: Deepika Date: Mon, 27 Aug 2018 10:32:35 -0500 Subject: [PATCH 007/202] Fixed: @44,18: unused variable 'tid' [-Wunused-variable] --- rtos/TARGET_CORTEX/mbed_rtx_handlers.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/rtos/TARGET_CORTEX/mbed_rtx_handlers.c b/rtos/TARGET_CORTEX/mbed_rtx_handlers.c index 8afa16c8fb..f0b2ad7402 100644 --- a/rtos/TARGET_CORTEX/mbed_rtx_handlers.c +++ b/rtos/TARGET_CORTEX/mbed_rtx_handlers.c @@ -55,8 +55,6 @@ __NO_RETURN void osRtxIdleThread(void *argument) __NO_RETURN uint32_t osRtxErrorNotify(uint32_t code, void *object_id) { - osThreadId_t tid = osThreadGetId(); - switch (code) { case osRtxErrorStackUnderflow: // Stack underflow detected for thread (thread_id=object_id) From d656be84947f03d7f9c059def2be44e65fad3626 Mon Sep 17 00:00:00 2001 From: Deepika Date: Mon, 27 Aug 2018 10:34:58 -0500 Subject: [PATCH 008/202] Fixed: comparison between signed and unsigned integer expressions --- hal/mbed_ticker_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hal/mbed_ticker_api.c b/hal/mbed_ticker_api.c index ad61c43659..cb23074c30 100644 --- a/hal/mbed_ticker_api.c +++ b/hal/mbed_ticker_api.c @@ -47,7 +47,7 @@ static void initialize(const ticker_data_t *ticker) uint8_t frequency_shifts = 0; for (uint8_t i = 31; i > 0; --i) { - if ((1 << i) == frequency) { + if ((1U << i) == frequency) { frequency_shifts = i; break; } From 5e55fdfa2013a15fe80f44741c89d566389ec8d9 Mon Sep 17 00:00:00 2001 From: Ron Eldor Date: Mon, 3 Sep 2018 08:38:57 +0300 Subject: [PATCH 009/202] Change mbedtls_platform_context parameter to NULL Change the parameter being sent to `mbedtls_platform_setup()` and `mbedtls_platfrm_teardown()` to NULL, as it is now being unused in Mbed OS. --- TESTS/mbedtls/multi/main.cpp | 5 ++--- TESTS/mbedtls/selftest/main.cpp | 5 ++--- .../TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.cpp | 4 ++-- .../targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.h | 1 - 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/TESTS/mbedtls/multi/main.cpp b/TESTS/mbedtls/multi/main.cpp index e84ad489ef..76d5ff1b8f 100644 --- a/TESTS/mbedtls/multi/main.cpp +++ b/TESTS/mbedtls/multi/main.cpp @@ -188,15 +188,14 @@ int main() { int ret = 0; #if defined(MBEDTLS_PLATFORM_C) - mbedtls_platform_context platform_ctx; - if ((ret = mbedtls_platform_setup(&platform_ctx)) != 0) { + if ((ret = mbedtls_platform_setup(NULL)) != 0) { mbedtls_printf("Mbed TLS multitest failed! mbedtls_platform_setup returned %d\n", ret); return 1; } #endif ret = (Harness::run(specification) ? 0 : 1); #if defined(MBEDTLS_PLATFORM_C) - mbedtls_platform_teardown(&platform_ctx); + mbedtls_platform_teardown(NULL); #endif return ret; } diff --git a/TESTS/mbedtls/selftest/main.cpp b/TESTS/mbedtls/selftest/main.cpp index f2ef3582c2..3704f65123 100644 --- a/TESTS/mbedtls/selftest/main.cpp +++ b/TESTS/mbedtls/selftest/main.cpp @@ -96,15 +96,14 @@ int main() { int ret = 0; #if defined(MBEDTLS_PLATFORM_C) - mbedtls_platform_context platform_ctx; - if ((ret = mbedtls_platform_setup(&platform_ctx)) != 0) { + if ((ret = mbedtls_platform_setup(NULL)) != 0) { mbedtls_printf("Mbed TLS selftest failed! mbedtls_platform_setup returned %d\n", ret); return 1; } #endif ret = (Harness::run(specification) ? 0 : 1); #if defined(MBEDTLS_PLATFORM_C) - mbedtls_platform_teardown(&platform_ctx); + mbedtls_platform_teardown(NULL); #endif return ret; } diff --git a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.cpp b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.cpp index 8b8c57474e..32419875a2 100644 --- a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.cpp +++ b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.cpp @@ -47,7 +47,7 @@ namespace vendor { namespace nordic { CryptoToolbox::CryptoToolbox() : _initialized(false) { - mbedtls_platform_setup(&_platform_context); + mbedtls_platform_setup(NULL); mbedtls_entropy_init(&_entropy_context); mbedtls_ecp_group_init(&_group); int err = mbedtls_ecp_group_load( @@ -60,7 +60,7 @@ CryptoToolbox::CryptoToolbox() : _initialized(false) { CryptoToolbox::~CryptoToolbox() { mbedtls_ecp_group_free(&_group); mbedtls_entropy_free(&_entropy_context); - mbedtls_platform_teardown(&_platform_context); + mbedtls_platform_teardown(NULL); } bool CryptoToolbox::generate_keys( diff --git a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.h b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.h index 7a522e2222..35c56a875e 100644 --- a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.h +++ b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF52/source/nRF5xCrypto.h @@ -132,7 +132,6 @@ private: void swap_endian(uint8_t* buf, size_t len); bool _initialized; - mbedtls_platform_context _platform_context; mbedtls_entropy_context _entropy_context; mbedtls_ecp_group _group; }; From a3c3f7af3c2590816b86b5ab6cd700c8ba1467b9 Mon Sep 17 00:00:00 2001 From: Hasnain Virk Date: Tue, 4 Sep 2018 15:21:40 +0300 Subject: [PATCH 010/202] LoRaWAN: Memory overrun correction A typo in LoRaPHYCN470 is causing memory overrun. We were supposed to fill-in default channel mask and iterate over CN470_CHANNEL_MASK_SIZE times. --- features/lorawan/lorastack/phy/LoRaPHYCN470.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/lorawan/lorastack/phy/LoRaPHYCN470.cpp b/features/lorawan/lorastack/phy/LoRaPHYCN470.cpp index 6a004eb9e5..777677765a 100644 --- a/features/lorawan/lorastack/phy/LoRaPHYCN470.cpp +++ b/features/lorawan/lorastack/phy/LoRaPHYCN470.cpp @@ -220,7 +220,7 @@ LoRaPHYCN470::LoRaPHYCN470() } // Initialize the channels default mask - for (uint8_t i = 0; i < CN470_MAX_NB_CHANNELS; i++) { + for (uint8_t i = 0; i < CN470_CHANNEL_MASK_SIZE; i++) { default_channel_mask[i] = 0xFFFF & fsb_mask[i]; } From a8aeea1cfd82e55411186df88f3c02012f3ab57a Mon Sep 17 00:00:00 2001 From: Mahesh Mahadevan Date: Wed, 5 Sep 2018 13:30:36 -0500 Subject: [PATCH 011/202] NXP: Update serial driver's parity handling This is a fix for issue 6305. This fix set the default parity value to NONE. Signed-off-by: Mahesh Mahadevan --- targets/TARGET_NXP/TARGET_LPC11U6X/serial_api.c | 4 ++-- targets/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c | 3 +-- targets/TARGET_NXP/TARGET_LPC13XX/serial_api.c | 2 +- targets/TARGET_NXP/TARGET_LPC15XX/serial_api.c | 2 +- targets/TARGET_NXP/TARGET_LPC176X/serial_api.c | 3 +-- .../TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088/serial_api.c | 2 +- .../TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088_DM/serial_api.c | 2 +- targets/TARGET_NXP/TARGET_LPC43XX/serial_api.c | 5 ++--- targets/TARGET_NXP/TARGET_LPC81X/serial_api.c | 2 +- 9 files changed, 11 insertions(+), 14 deletions(-) diff --git a/targets/TARGET_NXP/TARGET_LPC11U6X/serial_api.c b/targets/TARGET_NXP/TARGET_LPC11U6X/serial_api.c index b897ebfacb..a046cb1e62 100644 --- a/targets/TARGET_NXP/TARGET_LPC11U6X/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC11U6X/serial_api.c @@ -266,7 +266,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b (parity == ParityForced1) || (parity == ParityForced0)); data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; @@ -274,7 +274,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b case ParityForced1: parity_enable = 1; parity_select = 2; break; case ParityForced0: parity_enable = 1; parity_select = 3; break; default: - return; + break; } obj->uart->LCR = data_bits << 0 diff --git a/targets/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c b/targets/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c index 87b2ea39f4..084a6ff184 100644 --- a/targets/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c @@ -193,7 +193,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; @@ -201,7 +201,6 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b case ParityForced1: parity_enable = 1; parity_select = 2; break; case ParityForced0: parity_enable = 1; parity_select = 3; break; default: - parity_enable = 0, parity_select = 0; break; } diff --git a/targets/TARGET_NXP/TARGET_LPC13XX/serial_api.c b/targets/TARGET_NXP/TARGET_LPC13XX/serial_api.c index 5020afc54b..34c0aaf29a 100644 --- a/targets/TARGET_NXP/TARGET_LPC13XX/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC13XX/serial_api.c @@ -196,7 +196,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; diff --git a/targets/TARGET_NXP/TARGET_LPC15XX/serial_api.c b/targets/TARGET_NXP/TARGET_LPC15XX/serial_api.c index ab06380329..12e6be7b0b 100644 --- a/targets/TARGET_NXP/TARGET_LPC15XX/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC15XX/serial_api.c @@ -203,7 +203,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 7; - int paritysel; + int paritysel = 0; switch (parity) { case ParityNone: paritysel = 0; break; case ParityEven: paritysel = 2; break; diff --git a/targets/TARGET_NXP/TARGET_LPC176X/serial_api.c b/targets/TARGET_NXP/TARGET_LPC176X/serial_api.c index 32da943249..b7c00c61b1 100644 --- a/targets/TARGET_NXP/TARGET_LPC176X/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC176X/serial_api.c @@ -256,7 +256,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; @@ -264,7 +264,6 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b case ParityForced1: parity_enable = 1; parity_select = 2; break; case ParityForced0: parity_enable = 1; parity_select = 3; break; default: - parity_enable = 0, parity_select = 0; break; } diff --git a/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088/serial_api.c b/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088/serial_api.c index 210353d11c..4eebc5b9ec 100644 --- a/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088/serial_api.c @@ -219,7 +219,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; diff --git a/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088_DM/serial_api.c b/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088_DM/serial_api.c index f3dd6c51b4..ce8a25c55c 100644 --- a/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088_DM/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC408X/TARGET_LPC4088_DM/serial_api.c @@ -206,7 +206,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; diff --git a/targets/TARGET_NXP/TARGET_LPC43XX/serial_api.c b/targets/TARGET_NXP/TARGET_LPC43XX/serial_api.c index 3ca5ba9338..bf246e3130 100644 --- a/targets/TARGET_NXP/TARGET_LPC43XX/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC43XX/serial_api.c @@ -264,7 +264,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b } data_bits -= 5; - int parity_enable, parity_select; + int parity_enable = 0, parity_select = 0; switch (parity) { case ParityNone: parity_enable = 0; parity_select = 0; break; case ParityOdd : parity_enable = 1; parity_select = 0; break; @@ -272,8 +272,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b case ParityForced1: parity_enable = 1; parity_select = 2; break; case ParityForced0: parity_enable = 1; parity_select = 3; break; default: - error("Invalid serial parity setting"); - return; + break; } obj->uart->LCR = data_bits << 0 diff --git a/targets/TARGET_NXP/TARGET_LPC81X/serial_api.c b/targets/TARGET_NXP/TARGET_LPC81X/serial_api.c index fa5127d298..dc22cac896 100644 --- a/targets/TARGET_NXP/TARGET_LPC81X/serial_api.c +++ b/targets/TARGET_NXP/TARGET_LPC81X/serial_api.c @@ -188,7 +188,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b stop_bits -= 1; data_bits -= 7; - int paritysel; + int paritysel = 0; switch (parity) { case ParityNone: paritysel = 0; break; case ParityEven: paritysel = 2; break; From 33d04b016ddee43c7930921da33f4deb9cb861d3 Mon Sep 17 00:00:00 2001 From: Kevin Bracey Date: Mon, 10 Sep 2018 11:19:17 +0300 Subject: [PATCH 012/202] FileBase: Fix unsetting of default when destroyed Code that should unset a FileBase from being the default when it is destroyed was broken by a `==` instead of `=` typo. --- platform/FileBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/FileBase.cpp b/platform/FileBase.cpp index ce0229bace..1c8c35a3fb 100644 --- a/platform/FileBase.cpp +++ b/platform/FileBase.cpp @@ -57,7 +57,7 @@ FileBase::~FileBase() } if (_default == this) { - _default == NULL; + _default = NULL; } _mutex->unlock(); From 8c3a350c2b566ad583619771b0e0d88515b9a99e Mon Sep 17 00:00:00 2001 From: Brian Daniels Date: Mon, 10 Sep 2018 15:37:39 -0500 Subject: [PATCH 013/202] Spelling fixes and general readability improvements --- TEST_APPS/readme.md | 47 +++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/TEST_APPS/readme.md b/TEST_APPS/readme.md index 814e768df2..a1bdbf670d 100644 --- a/TEST_APPS/readme.md +++ b/TEST_APPS/readme.md @@ -2,54 +2,55 @@ ### Structure -mbed-os has a folder called TEST_APPS that contains everything related to Icetea testing. +Mbed OS has a folder called `TEST_APPS` that contains everything related to Icetea testing. There are currently 3 folders: -- device - contains all the different test applications you can flash to your board -- icetea-plugins - contains plugins that are being used by some of the testcases, needed for the test execution -- testcases - contains Icetea testcases written in Python +- `device` - contains all the different test applications you can flash to your board +- `icetea_plugins` - contains plugins that are being used by some of the testcases, needed for the test execution +- `testcases` - contains Icetea testcases written in Python -The testcases depends on test applications +The testcases depend on test applications. ### Preparing your work environment -#### Prerequisities +#### Prerequisites -You need Icetea and mbed-cli that supports Icetea, installed. +You need Icetea and version 1.8.0 or higher of Mbed CLI installed. #### Selecting the network interface to use -Depending on a device, there might be a default network interface type defined in the mbed-os/targets/targets.json, which is used to locate a test-config file by default. -If there is not, or you want to use a different interface than the default, you need to provide a relevant test-config -file to the mbed test with --test-config option. -The test-config file contains the necessary information for the test application, there are some test-config files located under mbed-os/tools/test_configs. -Devices which have their network drivers residing inside mbed-os can use generic test_configs like HeapBlockDeviceAndEthernetInterface.json and HeapBlockDeviceAndWifiInterface.json. Otherwise you need to use a device specific test-config. +Depending on the device, there might be a default network interface type defined in `mbed-os/targets/targets.json`, which is used to locate a default test-config file. +If default network interface type is not defined, or you want to use a different interface than the default, you need to provide a test-config file to the mbed test with `--test-config` option. + +The test-config file contains the necessary information for the test application. There are some test-config files located under `mbed-os/tools/test_configs`. +Devices which have their network drivers residing inside mbed-os can use generic test_configs like `HeapBlockDeviceAndEthernetInterface.json` and `HeapBlockDeviceAndWifiInterface.json`. Otherwise you need to use a device specific test-config. ### Running the tests -Now that the interface has been selected you can run the icetea tests from the mbed-os root on your command line by +Now that the interface has been selected you can run the icetea tests from the mbed-os root on your command line by running the following command: -`>mbed test -m -t --icetea` +`mbed test -m -t --icetea` -This command will compile the mbed-os, then compiles the test applications, creates a test suite and then starts running the tests. +This command compiles the OS, compiles the test applications, creates a test suite and then starts running the tests. -If you want only to run some specific tests, you can use the -n -option. You can list multiple tests by separating them by comma (,). +If you only want to run some specific tests, you can use the `-n` option. You can choose multiple tests by separating them with a comma (`,`): -`>mbed test -m -t --icetea -n test1,test2` +`mbed test -m -t --icetea -n test1,test2` -#### Running the tests with specifig test-config +#### Running the tests with a specific test-config -Some devices may offer multiple network interfaces to operate with. For example, UBLOX_EVK_ODIN_W2 offers ethernet and Wi-Fi capabilities. +Some devices may offer multiple network interfaces to operate with. For example, `UBLOX_EVK_ODIN_W2` offers ethernet and Wi-Fi capabilities. The tests can be run for either one of those using already existing test-config -files. -To run the tests with Wi-Fi interface: -`>mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndWifiInterface.json` +To run the tests with the Wi-Fi interface: +`mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndWifiInterface.json` -To run the tests with ethernet interface: -`>mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndEthernetInterface.json` +To run the tests with the ethernet interface: +`mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndEthernetInterface.json` #### Providing Wi-Fi access point information -If you are using Wi-Fi interface for running the tests, you need to provide also information about the used access point. +If you are using the Wi-Fi interface for running the tests, you need to also provide information about the used access point. The information can be provided in the used test-config file. Example of access point information: From e70f3b52ed28697a1a1a2553fad582c0ab85a104 Mon Sep 17 00:00:00 2001 From: Amanda Butler Date: Tue, 11 Sep 2018 12:49:28 -0500 Subject: [PATCH 014/202] Copy edit readme.md Extend copy edits. --- TEST_APPS/readme.md | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/TEST_APPS/readme.md b/TEST_APPS/readme.md index a1bdbf670d..2d5f50bfac 100644 --- a/TEST_APPS/readme.md +++ b/TEST_APPS/readme.md @@ -3,11 +3,12 @@ ### Structure Mbed OS has a folder called `TEST_APPS` that contains everything related to Icetea testing. -There are currently 3 folders: -- `device` - contains all the different test applications you can flash to your board -- `icetea_plugins` - contains plugins that are being used by some of the testcases, needed for the test execution -- `testcases` - contains Icetea testcases written in Python +There are currently three folders: + +- `device` - contains all the different test applications you can flash to your board. +- `icetea_plugins` - contains plugins that are being used by some of the testcases, needed for the test execution. +- `testcases` - contains Icetea testcases written in Python. The testcases depend on test applications. @@ -19,15 +20,17 @@ You need Icetea and version 1.8.0 or higher of Mbed CLI installed. #### Selecting the network interface to use -Depending on the device, there might be a default network interface type defined in `mbed-os/targets/targets.json`, which is used to locate a default test-config file. -If default network interface type is not defined, or you want to use a different interface than the default, you need to provide a test-config file to the mbed test with `--test-config` option. +Depending on the device, there might be a default network interface type defined in `mbed-os/targets/targets.json`, which you can use to locate a default test-config file. + +If the default network interface type is not defined or you want to use a different interface than the default, you need to provide a test-config file to the mbed test with `--test-config` option. The test-config file contains the necessary information for the test application. There are some test-config files located under `mbed-os/tools/test_configs`. -Devices which have their network drivers residing inside mbed-os can use generic test_configs like `HeapBlockDeviceAndEthernetInterface.json` and `HeapBlockDeviceAndWifiInterface.json`. Otherwise you need to use a device specific test-config. + +Devices that have their network drivers residing inside `mbed-os` can use generic `test_configs`, such as `HeapBlockDeviceAndEthernetInterface.json` and `HeapBlockDeviceAndWifiInterface.json`. Otherwise, you need to use a device-specific test-config. ### Running the tests -Now that the interface has been selected you can run the icetea tests from the mbed-os root on your command line by running the following command: +Now that you have selected the interface, you can run the Icetea tests from the `mbed-os` root on your command-line by running the following command: `mbed test -m -t --icetea` @@ -40,20 +43,25 @@ If you only want to run some specific tests, you can use the `-n` option. You ca #### Running the tests with a specific test-config Some devices may offer multiple network interfaces to operate with. For example, `UBLOX_EVK_ODIN_W2` offers ethernet and Wi-Fi capabilities. + The tests can be run for either one of those using already existing test-config -files. To run the tests with the Wi-Fi interface: + `mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndWifiInterface.json` To run the tests with the ethernet interface: + `mbed test -m UBLOX_EVK_ODIN_W2 -t --icetea --test-config tools/test_configs/HeapBlockDeviceAndEthernetInterface.json` #### Providing Wi-Fi access point information If you are using the Wi-Fi interface for running the tests, you need to also provide information about the used access point. + The information can be provided in the used test-config file. Example of access point information: + ``` "target_overrides": { "*": { @@ -67,7 +75,7 @@ Example of access point information: ### Test results -Icetea prints the results from the test run to the command line, and the final result looks similar to this. +Icetea prints the results from the test run to the command-line, and the final result looks similar to this: ``` +--------------------------------+---------+-------------+-------------+-----------+----------+ @@ -90,5 +98,6 @@ Icetea prints the results from the test run to the command line, and the final r +---------------+----------------+ ``` -The results from the tests can also be found in the mbed-os/log folder. -You probably want to add the log folder to your .mbedignore file to prevent issues with build commands becoming too long over the time. +You can also find the results from the tests in the `mbed-os/log` folder. + +You probably want to add the log folder to your `.mbedignore` file to prevent issues with build commands becoming too long over the time. From c0f99a47a478bfd1a70193ed69c919d3f8523fac Mon Sep 17 00:00:00 2001 From: "Fred.Li" Date: Wed, 22 Aug 2018 15:01:55 +0800 Subject: [PATCH 015/202] Fix link issue for mbed-cloud-client-example with ARM toolchain. --- .../TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c index d7845c6b7d..7a7a96b62c 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c @@ -199,4 +199,13 @@ void gpio_deinit(gpio_t *obj) HAL_GPIO_DeInit(&obj->hal_pin); } +int gpio_is_connected(const gpio_t *obj) +{ + if(obj->pin != (PinName)NC){ + return 1; + } else { + return 0; + } +} + #endif From f3627530f47d9eda50ee6bd9ee47c288b1198b87 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 4 Sep 2018 13:30:08 +0100 Subject: [PATCH 016/202] missing onDataSent calblack for cordio --- .../targets/TARGET_CORDIO/source/CordioGattServer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp index 41568ab5f3..2ed03c6fff 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp @@ -624,6 +624,8 @@ ble_error_t GattServer::write( // successful uint16_t conn_id = 0; uint16_t conn_found = 0; + size_t updates_sent = 0; + while((conn_found < DM_CONN_MAX) && (conn_id < CONNECTION_ID_LIMIT)) { if (DmConnInUse(conn_id) == true) { ++conn_found; @@ -631,15 +633,21 @@ ble_error_t GattServer::write( uint16_t cccd_config = AttsCccEnabled(conn_id, cccd_index); if (cccd_config & ATT_CLIENT_CFG_NOTIFY) { AttsHandleValueNtf(conn_id, att_handle, len, (uint8_t*)buffer); + updates_sent++; } if (cccd_config & ATT_CLIENT_CFG_INDICATE) { AttsHandleValueInd(conn_id, att_handle, len, (uint8_t*)buffer); + updates_sent++; } } } ++conn_id; } + if (updates_sent) { + handleDataSentEvent(updates_sent); + } + return BLE_ERROR_NONE; } From cadfb7edea8d2b183ba0e43f41517abc128bb51d Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 4 Sep 2018 13:58:50 +0100 Subject: [PATCH 017/202] missing overload --- .../targets/TARGET_CORDIO/source/CordioGattServer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp index 2ed03c6fff..af13e72db3 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioGattServer.cpp @@ -682,16 +682,24 @@ ble_error_t GattServer::write( } // This characteristic has a CCCD attribute. Handle notifications and indications. + size_t updates_sent = 0; + if (is_update_authorized(connection, att_handle)) { uint16_t cccEnabled = AttsCccEnabled(connection, cccd_index); if (cccEnabled & ATT_CLIENT_CFG_NOTIFY) { AttsHandleValueNtf(connection, att_handle, len, (uint8_t*)buffer); + updates_sent++; } if (cccEnabled & ATT_CLIENT_CFG_INDICATE) { AttsHandleValueInd(connection, att_handle, len, (uint8_t*)buffer); + updates_sent++; } } + if (updates_sent) { + handleDataSentEvent(updates_sent); + } + return BLE_ERROR_NONE; } From 287c7508d3421b81b3e3b69a0ce9284837e542c4 Mon Sep 17 00:00:00 2001 From: Antti Kauppila Date: Thu, 30 Aug 2018 13:29:42 +0300 Subject: [PATCH 018/202] cellular unittests ported to googletest framework --- UNITTESTS/CMakeLists.txt | 21 +- .../AT_CellularBase/at_cellularbasetest.cpp | 49 - .../AT_CellularBase/test_at_cellularbase.cpp | 59 - .../at_cellularbase/at_cellularbasetest.cpp | 137 ++ .../unittest.cmake | 3 +- .../at_cellulardevicetest.cpp | 261 ++++ .../AT/at_cellulardevice/unittest.cmake | 38 + .../at_cellularinformationtest.cpp | 155 +++ .../AT/at_cellularinformation/unittest.cmake | 31 + .../at_cellularnetworktest.cpp | 1167 +++++++++++++++++ .../AT/at_cellularnetwork/unittest.cmake | 37 + .../at_cellularpower/at_cellularpowertest.cpp | 201 +++ .../AT/at_cellularpower/unittest.cmake | 31 + .../AT/at_cellularsim/at_cellularsimtest.cpp | 204 +++ .../AT/at_cellularsim/unittest.cmake | 32 + .../AT/at_cellularsms/at_cellularsmstest.cpp | 203 +++ .../AT/at_cellularsms/unittest.cmake | 33 + .../at_cellularstack/at_cellularstacktest.cpp | 377 ++++++ .../AT/at_cellularstack/unittest.cmake | 34 + .../framework/AT/athandler/athandlertest.cpp | 1022 +++++++++++++++ .../framework/AT/athandler/unittest.cmake | 41 + .../framework/common/util/test_util.cpp | 179 --- .../framework/common/util/unittest.cmake | 3 +- .../framework/common/util/utiltest.cpp | 162 ++- UNITTESTS/stubs/ATCmdParser_stub.cpp | 420 ++++++ UNITTESTS/stubs/ATHandler_stub.cpp | 82 +- UNITTESTS/stubs/ATHandler_stub.h | 22 +- UNITTESTS/stubs/AT_CellularBase_stub.cpp | 48 + UNITTESTS/stubs/AT_CellularBase_stub.h | 25 + UNITTESTS/stubs/AT_CellularDevice_stub.cpp | 91 ++ .../stubs/AT_CellularInformation_stub.cpp | 49 + .../stubs/AT_CellularMultiplexer_stub.cpp | 35 + UNITTESTS/stubs/AT_CellularNetwork_stub.cpp | 256 ++++ UNITTESTS/stubs/AT_CellularPower_stub.cpp | 81 ++ UNITTESTS/stubs/AT_CellularSIM_stub.cpp | 59 + UNITTESTS/stubs/AT_CellularSMS_stub.cpp | 190 +++ UNITTESTS/stubs/AT_CellularStack_stub.cpp | 90 ++ UNITTESTS/stubs/BufferedBlockDevice_stub.cpp | 104 ++ UNITTESTS/stubs/CellularUtil_stub.cpp | 113 ++ UNITTESTS/stubs/ChainingBlockDevice_stub.cpp | 88 ++ UNITTESTS/stubs/EventFlags_stub.cpp | 1 + .../stubs/ExhaustibleBlockDevice_stub.cpp | 88 ++ UNITTESTS/stubs/FlashSimBlockDevice_stub.cpp | 97 ++ UNITTESTS/stubs/HeapBlockDevice_stub.cpp | 82 ++ UNITTESTS/stubs/Kernel_stub.cpp | 25 + UNITTESTS/stubs/MBRBlockDevice_stub.cpp | 156 +++ UNITTESTS/stubs/NetworkInterface_stub.cpp | 89 ++ UNITTESTS/stubs/NetworkStack_stub.cpp | 95 ++ UNITTESTS/stubs/ObservingBlockDevice_stub.cpp | 100 ++ UNITTESTS/stubs/ProfilingBlockDevice_stub.cpp | 101 ++ UNITTESTS/stubs/ReadOnlyBlockDevice_stub.cpp | 95 ++ UNITTESTS/stubs/Semaphore_stub.cpp | 57 + UNITTESTS/stubs/SlicingBlockDevice_stub.cpp | 83 ++ UNITTESTS/stubs/SocketAddress_stub.cpp | 145 ++ UNITTESTS/stubs/Thread_stub.cpp | 27 + UNITTESTS/stubs/Timer_stub.cpp | 74 ++ UNITTESTS/stubs/Timer_stub.h | 24 + UNITTESTS/stubs/equeue_stub.c | 85 +- UNITTESTS/stubs/mbed_assert_stub.cpp | 24 + UNITTESTS/stubs/mbed_critical_stub.c | 115 ++ .../mbed_poll_stub.cpp} | 23 +- UNITTESTS/stubs/mbed_poll_stub.h | 27 + UNITTESTS/stubs/mbed_wait_api_stub.cpp | 30 + UNITTESTS/stubs/randLIB_stub.cpp | 27 + UNITTESTS/stubs/us_ticker_stub.cpp | 54 + UNITTESTS/target_h/ATCmdParser.h | 33 + UNITTESTS/target_h/arm_math.h | 16 + UNITTESTS/target_h/cmsis.h | 16 + UNITTESTS/target_h/cmsis_compiler.h | 16 + .../util/test_util.h => target_h/cmsis_os.h} | 25 +- UNITTESTS/target_h/cmsis_os2.h | 78 ++ UNITTESTS/target_h/mbed.h | 3 +- UNITTESTS/target_h/mbed_rtos1_types.h | 1 + UNITTESTS/target_h/mbed_rtos_storage.h | 16 +- UNITTESTS/target_h/mbed_rtx.h | 16 + UNITTESTS/target_h/mbed_rtx_conf.h | 20 + UNITTESTS/target_h/nsapi_ppp.h | 16 + UNITTESTS/target_h/platform/mbed_power_mgmt.h | 17 + UNITTESTS/target_h/platform/mbed_retarget.h | 79 ++ UNITTESTS/target_h/randLIB.h | 27 + UNITTESTS/target_h/rtos/Mutex.h | 48 + UNITTESTS/target_h/rtos/Semaphore.h | 18 + UNITTESTS/target_h/rtx_lib.h | 25 + UNITTESTS/target_h/rtx_os.h | 70 + UNITTESTS/target_h/sys/syslimits.h | 17 + 85 files changed, 8140 insertions(+), 374 deletions(-) delete mode 100644 UNITTESTS/features/cellular/framework/AT/AT_CellularBase/at_cellularbasetest.cpp delete mode 100644 UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularbase/at_cellularbasetest.cpp rename UNITTESTS/features/cellular/framework/AT/{AT_CellularBase => at_cellularbase}/unittest.cmake (84%) create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularinformation/at_cellularinformationtest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularpower/at_cellularpowertest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularsim/at_cellularsimtest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularstack/at_cellularstacktest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake create mode 100644 UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp create mode 100644 UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake delete mode 100644 UNITTESTS/features/cellular/framework/common/util/test_util.cpp create mode 100644 UNITTESTS/stubs/ATCmdParser_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularBase_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularBase_stub.h create mode 100644 UNITTESTS/stubs/AT_CellularDevice_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularInformation_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularNetwork_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularPower_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularSIM_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularSMS_stub.cpp create mode 100644 UNITTESTS/stubs/AT_CellularStack_stub.cpp create mode 100644 UNITTESTS/stubs/BufferedBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/CellularUtil_stub.cpp create mode 100644 UNITTESTS/stubs/ChainingBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/ExhaustibleBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/FlashSimBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/HeapBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/Kernel_stub.cpp create mode 100644 UNITTESTS/stubs/MBRBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/NetworkInterface_stub.cpp create mode 100644 UNITTESTS/stubs/NetworkStack_stub.cpp create mode 100644 UNITTESTS/stubs/ObservingBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/ProfilingBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/ReadOnlyBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/Semaphore_stub.cpp create mode 100644 UNITTESTS/stubs/SlicingBlockDevice_stub.cpp create mode 100644 UNITTESTS/stubs/SocketAddress_stub.cpp create mode 100644 UNITTESTS/stubs/Thread_stub.cpp create mode 100644 UNITTESTS/stubs/Timer_stub.cpp create mode 100644 UNITTESTS/stubs/Timer_stub.h create mode 100644 UNITTESTS/stubs/mbed_assert_stub.cpp create mode 100644 UNITTESTS/stubs/mbed_critical_stub.c rename UNITTESTS/{features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.h => stubs/mbed_poll_stub.cpp} (63%) create mode 100644 UNITTESTS/stubs/mbed_poll_stub.h create mode 100644 UNITTESTS/stubs/mbed_wait_api_stub.cpp create mode 100644 UNITTESTS/stubs/randLIB_stub.cpp create mode 100644 UNITTESTS/stubs/us_ticker_stub.cpp create mode 100644 UNITTESTS/target_h/ATCmdParser.h create mode 100644 UNITTESTS/target_h/arm_math.h create mode 100644 UNITTESTS/target_h/cmsis.h create mode 100644 UNITTESTS/target_h/cmsis_compiler.h rename UNITTESTS/{features/cellular/framework/common/util/test_util.h => target_h/cmsis_os.h} (61%) create mode 100644 UNITTESTS/target_h/cmsis_os2.h create mode 100644 UNITTESTS/target_h/mbed_rtx.h create mode 100644 UNITTESTS/target_h/mbed_rtx_conf.h create mode 100644 UNITTESTS/target_h/nsapi_ppp.h create mode 100644 UNITTESTS/target_h/platform/mbed_power_mgmt.h create mode 100644 UNITTESTS/target_h/randLIB.h create mode 100644 UNITTESTS/target_h/rtos/Mutex.h create mode 100644 UNITTESTS/target_h/rtos/Semaphore.h create mode 100644 UNITTESTS/target_h/rtx_lib.h create mode 100644 UNITTESTS/target_h/rtx_os.h create mode 100644 UNITTESTS/target_h/sys/syslimits.h diff --git a/UNITTESTS/CMakeLists.txt b/UNITTESTS/CMakeLists.txt index 5b28cd46b6..76a0fddf4a 100644 --- a/UNITTESTS/CMakeLists.txt +++ b/UNITTESTS/CMakeLists.txt @@ -90,17 +90,35 @@ endif(COVERAGE) set(unittest-includes-base "${PROJECT_SOURCE_DIR}/target_h" "${PROJECT_SOURCE_DIR}/target_h/events" + "${PROJECT_SOURCE_DIR}/target_h/events/equeue" + "${PROJECT_SOURCE_DIR}/target_h/platform" "${PROJECT_SOURCE_DIR}/stubs" "${PROJECT_SOURCE_DIR}/.." "${PROJECT_SOURCE_DIR}/../features" + "${PROJECT_SOURCE_DIR}/../features/netsocket" "${PROJECT_SOURCE_DIR}/../platform" "${PROJECT_SOURCE_DIR}/../drivers" "${PROJECT_SOURCE_DIR}/../hal" "${PROJECT_SOURCE_DIR}/../events" + "${PROJECT_SOURCE_DIR}/../events/equeue" + "${PROJECT_SOURCE_DIR}/../rtos" "${PROJECT_SOURCE_DIR}/../rtos/TARGET_CORTEX" "${PROJECT_SOURCE_DIR}/../rtos/TARGET_CORTEX/rtx5/Include" "${PROJECT_SOURCE_DIR}/../cmsis" - "${PROJECT_SOURCE_DIR}/../features/frameworks/nanostack-libservice/mbed-client-libservice/" + "${PROJECT_SOURCE_DIR}/../features/frameworks" + "${PROJECT_SOURCE_DIR}/../features/frameworks/mbed-trace" + "${PROJECT_SOURCE_DIR}/../features/frameworks/nanostack-libservice" + "${PROJECT_SOURCE_DIR}/../features/frameworks/nanostack-libservice/mbed-client-libservice" + "${PROJECT_SOURCE_DIR}/../features/filesystem/fat" + "${PROJECT_SOURCE_DIR}/../features/filesystem/fat/ChaN" + "${PROJECT_SOURCE_DIR}/../features/filesystem/bd" + "${PROJECT_SOURCE_DIR}/../features/filesystem/" + "${PROJECT_SOURCE_DIR}/../features/filesystem/littlefs" + "${PROJECT_SOURCE_DIR}/../features/filesystem/littlefs/littlefs" + "${PROJECT_SOURCE_DIR}/../features/cellular/framework/API" + "${PROJECT_SOURCE_DIR}/../features/cellular/framework/AT" + "${PROJECT_SOURCE_DIR}/../features/cellular/framework" + "${PROJECT_SOURCE_DIR}/../features/cellular/framework/common" ) # Create a list for test suites. @@ -168,3 +186,4 @@ foreach(testfile ${unittest-file-list}) message(WARNING "No test source files found for ${TEST_SUITE_NAME}.\n") endif(unittest-test-sources) endforeach(testfile) + diff --git a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/at_cellularbasetest.cpp b/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/at_cellularbasetest.cpp deleted file mode 100644 index 08ec439c7f..0000000000 --- a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/at_cellularbasetest.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gtest/gtest.h" -#include "test_at_cellularbase.h" -#include "AT_CellularBase.h" - -class TestAT_CellularBase : public testing::Test { -protected: - Test_AT_CellularBase *unit; - - virtual void SetUp() - { - unit = new Test_AT_CellularBase(); - } - - virtual void TearDown() - { - delete unit; - } -}; - -TEST_F(TestAT_CellularBase, Create) -{ - EXPECT_TRUE(unit); -} - -TEST_F(TestAT_CellularBase, test_AT_CellularBase_get_at_handler) -{ - unit->test_AT_CellularBase_get_at_handler(); -} - -TEST_F(TestAT_CellularBase, test_AT_CellularBase_get_device_error) -{ - unit->test_AT_CellularBase_get_device_error(); -} diff --git a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.cpp b/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.cpp deleted file mode 100644 index 11d28a225c..0000000000 --- a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gtest/gtest.h" -#include "test_at_cellularbase.h" -#include "EventQueue.h" -#include "AT_CellularBase.h" -#include "ATHandler_stub.h" -#include "FileHandle_stub.h" -#include - -using namespace mbed; -using namespace events; - -Test_AT_CellularBase::Test_AT_CellularBase() -{ - -} - -Test_AT_CellularBase::~Test_AT_CellularBase() -{ -} - -void Test_AT_CellularBase::test_AT_CellularBase_get_at_handler() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 100, ","); - AT_CellularBase at(ah); - - EXPECT_EQ(&ah, &at.get_at_handler()); -} - -void Test_AT_CellularBase::test_AT_CellularBase_get_device_error() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularBase at(ah); - - ATHandler_stub::device_err_value.errCode = 8; - - EXPECT_EQ(8, at.get_device_error().errCode); - - ATHandler_stub::device_err_value.errCode = 0; -} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularbase/at_cellularbasetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/at_cellularbasetest.cpp new file mode 100644 index 0000000000..3537aa9c8a --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/at_cellularbasetest.cpp @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "AT_CellularBase.h" +#include "EventQueue.h" +#include "AT_CellularBase.h" +#include "ATHandler_stub.h" +#include "FileHandle_stub.h" +#include + +using namespace mbed; +using namespace events; + +class my_base : public AT_CellularBase { +public: + my_base(ATHandler &at) : AT_CellularBase(at) + { + } + bool check_not_supported() + { + static const AT_CellularBase::SupportedFeature unsupported_features[] = { + AT_CellularBase::AT_CGSN_WITH_TYPE, + AT_CellularBase::SUPPORTED_FEATURE_END_MARK + }; + set_unsupported_features(unsupported_features); + return is_supported(AT_CGSN_WITH_TYPE); + } + + bool check_supported() + { + set_unsupported_features(NULL); + return is_supported(AT_CGSN_WITH_TYPE); + } + + bool check_supported_not_found() + { + static const AT_CellularBase::SupportedFeature unsupported_features[] = { + AT_CellularBase::AT_CGSN_WITH_TYPE, + AT_CellularBase::SUPPORTED_FEATURE_END_MARK + }; + set_unsupported_features(unsupported_features); + return is_supported(SUPPORTED_FEATURE_END_MARK); + } +}; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularBase : public testing::Test { +protected: + + void SetUp() + { + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestAT_CellularBase, Create) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 100, ","); + AT_CellularBase *unit = new AT_CellularBase(ah); + + EXPECT_TRUE(unit != NULL); + + delete unit; +} + +TEST_F(TestAT_CellularBase, test_AT_CellularBase_get_at_handler) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 100, ","); + AT_CellularBase at(ah); + + EXPECT_TRUE(&ah == &at.get_at_handler()); +} + +TEST_F(TestAT_CellularBase, test_AT_CellularBase_get_device_error) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularBase at(ah); + + ATHandler_stub::device_err_value.errCode = 8; + + EXPECT_EQ(8, at.get_device_error().errCode); + + ATHandler_stub::device_err_value.errCode = 0; +} + +TEST_F(TestAT_CellularBase, test_AT_CellularBase_set_unsupported_features) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularBase at(ah); + + static const AT_CellularBase::SupportedFeature unsupported_features[] = { + AT_CellularBase::AT_CGSN_WITH_TYPE, + AT_CellularBase::SUPPORTED_FEATURE_END_MARK + }; + + at.set_unsupported_features(unsupported_features); +} + +TEST_F(TestAT_CellularBase, test_AT_CellularBase_is_supported) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + my_base my_at(ah); + + EXPECT_TRUE(true == my_at.check_supported()); + EXPECT_TRUE(true == my_at.check_supported_not_found()); + EXPECT_TRUE(false == my_at.check_not_supported()); +} diff --git a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake similarity index 84% rename from UNITTESTS/features/cellular/framework/AT/AT_CellularBase/unittest.cmake rename to UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake index 8229144a79..b842f53743 100644 --- a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake @@ -23,10 +23,9 @@ set(unittest-sources # Test files set(unittest-test-sources + features/cellular/framework/AT/at_cellularbase/at_cellularbasetest.cpp stubs/mbed_assert_stub.c stubs/ATHandler_stub.cpp stubs/EventQueue_stub.cpp stubs/FileHandle_stub.cpp - features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.cpp - features/cellular/framework/AT/AT_CellularBase/at_cellularbasetest.cpp ) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp new file mode 100644 index 0000000000..98eae84cd7 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp @@ -0,0 +1,261 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include "AT_CellularDevice.h" +#include "ATHandler_stub.h" +#include "AT_CellularBase_stub.h" +#include + +using namespace mbed; +using namespace events; + +class TestAT_CellularDevice : public testing::Test { +protected: + + void SetUp() { + } + + void TearDown() { + } +}; + +TEST_F(TestAT_CellularDevice, Create) +{ + EventQueue que; + AT_CellularDevice dev(que); + + CellularDevice *dev2 = new AT_CellularDevice(que); + + EXPECT_TRUE(dev2 != NULL); + delete dev2; +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_at_handler) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + FileHandle_stub fh2; + FileHandle_stub fh3; + + EXPECT_TRUE(dev.open_network(&fh1)); + EXPECT_TRUE(dev.open_sms(&fh2)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + EXPECT_TRUE(dev.open_sim(&fh3)); + ATHandler_stub::fh_value = &fh1; + EXPECT_TRUE(dev.open_power(&fh1)); + + ATHandler_stub::fh_value = NULL; +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_network) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + EXPECT_TRUE(!dev.open_network(NULL)); + EXPECT_TRUE(dev.open_network(&fh1)); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_sms) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + EXPECT_TRUE(!dev.open_sms(NULL)); + EXPECT_TRUE(dev.open_sms(&fh1)); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_power) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + EXPECT_TRUE(!dev.open_power(NULL)); + EXPECT_TRUE(dev.open_power(&fh1)); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_sim) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + EXPECT_TRUE(! dev.open_sim(NULL)); + EXPECT_TRUE(dev.open_sim(&fh1)); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_open_information) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + EXPECT_TRUE(!dev.open_information(NULL)); + EXPECT_TRUE(dev.open_information(&fh1)); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_network) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::ref_count = 0; + + EXPECT_TRUE(dev.open_network(&fh1)); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.close_network(); + EXPECT_TRUE(ATHandler_stub::ref_count == 0); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sms) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::ref_count = 0; + + EXPECT_TRUE(dev.open_sms(&fh1)); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.close_sms(); + EXPECT_TRUE(ATHandler_stub::ref_count == 0); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::ref_count = 0; + + EXPECT_TRUE(dev.open_power(&fh1)); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.close_power(); + EXPECT_TRUE(ATHandler_stub::ref_count == 0); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::ref_count = 0; + + + EXPECT_TRUE(dev.open_sim(&fh1)); + dev.close_sms(); // this should not affect to refcount as it's not opened + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.close_sim(); + EXPECT_TRUE(ATHandler_stub::ref_count == 0); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_information) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::int_value = 0; + + EXPECT_TRUE(dev.open_information(&fh1)); + + ATHandler_stub::fh_value = NULL; + AT_CellularBase_stub::handler_value = NULL; + dev.close_information(); + + ATHandler_stub::fh_value = &fh1; + ATHandler at(&fh1, que, 0, ","); + AT_CellularBase_stub::handler_value = &at; + + EXPECT_TRUE(dev.open_information(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + + dev.close_information(); + + ATHandler_stub::fh_value = NULL; +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_set_timeout) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::timeout = 0; + ATHandler_stub::default_timeout = false; + + // no interfaces open so settings timeout should not change anything + dev.set_timeout(5000); + EXPECT_TRUE(ATHandler_stub::timeout == 0); + EXPECT_TRUE(ATHandler_stub::default_timeout == false); + + EXPECT_TRUE(dev.open_sim(&fh1)); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.set_timeout(5000); + EXPECT_TRUE(ATHandler_stub::timeout == 5000); + EXPECT_TRUE(ATHandler_stub::default_timeout == true); + + dev.close_sim(); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_modem_debug_on) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + ATHandler_stub::debug_on = false; + + // no interfaces open so debug toggling should not affect + dev.modem_debug_on(true); + EXPECT_TRUE(ATHandler_stub::debug_on == false); + + EXPECT_TRUE(dev.open_sim(&fh1)); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); + + dev.modem_debug_on(true); + EXPECT_TRUE(ATHandler_stub::debug_on == true); + + dev.close_sim(); +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_stack) +{ + EventQueue que; + AT_CellularDevice dev(que); + FileHandle_stub fh1; + + NetworkStack *stack = dev.get_stack(); + EXPECT_TRUE(stack == NULL); + + EXPECT_TRUE(dev.open_network(&fh1)); + + stack = dev.get_stack(); + EXPECT_TRUE(stack == NULL); // Not in PPP so also null but this is got from the network class +} + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_send_delay) +{ + EventQueue que; + AT_CellularDevice dev(que); + EXPECT_TRUE(0 == dev.get_send_delay()); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake new file mode 100644 index 0000000000..36b69e0dbe --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake @@ -0,0 +1,38 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_device_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + stubs/randLIB_stub.c + ../features/cellular/framework/AT/AT_CellularDevice.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp + stubs/AT_CellularNetwork_stub.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularSMS_stub.cpp + stubs/AT_CellularSIM_stub.cpp + stubs/AT_CellularPower_stub.cpp + stubs/AT_CellularInformation_stub.cpp + stubs/CellularUtil_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/NetworkInterface_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/mbed_assert_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/at_cellularinformationtest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/at_cellularinformationtest.cpp new file mode 100644 index 0000000000..4f2be58fbe --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/at_cellularinformationtest.cpp @@ -0,0 +1,155 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include +#include "ATHandler_stub.h" +#include "EventQueue.h" +#include "FileHandle_stub.h" +#include "AT_CellularBase_stub.h" +#include "ATHandler.h" +#include "AT_CellularInformation.h" +#include "AT_CellularBase.h" + +using namespace mbed; +using namespace events; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularInformation : public testing::Test { +protected: + + void SetUp() + { + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestAT_CellularInformation, Create) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularInformation *unit = new AT_CellularInformation(ah); + EXPECT_TRUE(unit != NULL); + delete unit; +} + +TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_manufacturer) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularInformation aci(ah); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "some"; + ATHandler_stub::ssize_value = 4; + + char buf[8]; + EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_manufacturer(buf, 8)); + EXPECT_TRUE(strcmp("some", buf) == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::ssize_value = -1; + buf[0] = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_manufacturer(buf, 8)); + EXPECT_TRUE(strlen(buf) == 0); +} + +TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_model) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularInformation aci(ah); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "model"; + ATHandler_stub::ssize_value = 5; + char buf[8]; + EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_model(buf, 8)); + EXPECT_TRUE(strcmp("model", buf) == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::ssize_value = -1; + buf[0] = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_model(buf, 8)); + EXPECT_TRUE(strlen(buf) == 0); +} + +TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_revision) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + + //Used heap var here to visit heap constructor + AT_CellularInformation *aci = new AT_CellularInformation(ah); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "revision"; + ATHandler_stub::ssize_value = 8; + + char buf[9]; + EXPECT_TRUE(NSAPI_ERROR_OK == aci->get_revision(buf, 9)); + EXPECT_TRUE(strcmp("revision", buf) == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::ssize_value = -1; + buf[0] = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8)); + EXPECT_TRUE(strlen(buf) == 0); + + delete aci; +} + +TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_serial_number) +{ + EventQueue eq; + FileHandle_stub fh; + ATHandler ah(&fh, eq, 0, ","); + AT_CellularInformation aci(ah); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "1234567"; + ATHandler_stub::ssize_value = 7; + char buf[8]; + + EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::SN)); + EXPECT_TRUE(strcmp("1234567", buf) == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::ssize_value = -1; + buf[0] = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_serial_number(buf, 8, CellularInformation::SN)); + EXPECT_TRUE(strlen(buf) == 0); + + AT_CellularBase_stub::supported_bool = false; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); + EXPECT_TRUE(strlen(buf) == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "1234567"; + ATHandler_stub::ssize_value = 7; + AT_CellularBase_stub::supported_bool = true; + EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); + EXPECT_TRUE(strcmp("1234567", buf) == 0); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake new file mode 100644 index 0000000000..0a64cf5242 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake @@ -0,0 +1,31 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_information_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + stubs/randLIB_stub.c + ../features/cellular/framework/AT/AT_CellularInformation.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT//at_cellularinformation/at_cellularinformationtest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/mbed_assert_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp new file mode 100644 index 0000000000..4ff0837b16 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp @@ -0,0 +1,1167 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularDevice.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" +#include "ATHandler_stub.h" +#include "AT_CellularStack.h" + +using namespace mbed; +using namespace events; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularNetwork : public testing::Test { +protected: + + void SetUp() + { + ATHandler_stub::int_count = kRead_int_table_size; + ATHandler_stub::read_string_index = kRead_string_table_size; + ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::int_value = -1; + } + + void TearDown() + { + } +}; +// *INDENT-ON* +class my_stack : public AT_CellularStack { +public: + my_stack(ATHandler &atHandler) : AT_CellularStack(atHandler, 1, IPV4_STACK) {} + virtual int get_max_socket_count() + { + return 1; + } + virtual int get_max_packet_size() + { + return 200; + } + virtual bool is_protocol_supported(nsapi_protocol_t protocol) + { + return true; + } + virtual nsapi_error_t socket_close_impl(int sock_id) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t create_socket_impl(CellularSocket *socket) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_size_or_error_t socket_sendto_impl(CellularSocket *socket, const SocketAddress &address, + const void *data, nsapi_size_t size) + { + return 100; + } + virtual nsapi_size_or_error_t socket_recvfrom_impl(CellularSocket *socket, SocketAddress *address, + void *buffer, nsapi_size_t size) + { + return 100; + } +}; + +class my_AT_CN : public AT_CellularNetwork { +public: + my_AT_CN(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {} + virtual ~my_AT_CN() {} + NetworkStack *get_stack() + { + if (!_stack) { + return new my_stack(get_at_handler()); + } else { + return _stack; + } + } + virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type) + { + if (reg_type == C_GREG) { + return RegistrationModeDisable; + } + return RegistrationModeEnable; + } + virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat) + { + return NSAPI_ERROR_OK; + } + virtual bool get_modem_stack_type(nsapi_ip_stack_t requested_stack) + { + if (requested_stack == IPV4_STACK || requested_stack == DEFAULT_STACK) { + return true; + } + return false; + } +}; + +class my_AT_CNipv6 : public AT_CellularNetwork { +public: + my_AT_CNipv6(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {} + virtual ~my_AT_CNipv6() {} + NetworkStack *get_stack() + { + if (!_stack) { + return new my_stack(get_at_handler()); + } else { + return _stack; + } + } + virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type) + { + if (reg_type == C_GREG) { + return RegistrationModeDisable; + } + return RegistrationModeEnable; + } + virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat) + { + return NSAPI_ERROR_OK; + } + virtual bool get_modem_stack_type(nsapi_ip_stack_t requested_stack) + { + if (requested_stack == IPV6_STACK || requested_stack == DEFAULT_STACK) { + return true; + } + return false; + } +}; + +static int network_cb_count; +static void network_cb(nsapi_event_t ev, intptr_t intptr) +{ + network_cb_count++; +} + +TEST_F(TestAT_CellularNetwork, Create) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork *cn = new AT_CellularNetwork(at); + EXPECT_TRUE(cn != NULL); + delete cn; +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_init) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + AT_CellularNetwork cn(at); + + EXPECT_TRUE(NSAPI_ERROR_OK == cn.init()); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_NO_MEMORY; + EXPECT_TRUE(NSAPI_ERROR_NO_MEMORY == cn.init()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_credentials) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork *cnn = new AT_CellularNetwork(at); + delete cnn; + + AT_CellularNetwork cn(at); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL, NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL, "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL, NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL, "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", "user", NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", "user")); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", "user", "passwd")); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_activate_context) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + my_AT_CN my_cn(at); + my_AT_CNipv6 my_cnipv6(at); + + // get_context return true and new context created. But now stack and so error. + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); + + // get_context return true and new context created, also do_user_authentication called with success. + // But now stack and so error. + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); + + // get_context return true and new context created, also do_user_authentication called with failure. + ATHandler_stub::resp_stop_success_count = 2; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == cn.activate_context()); + + + // get_context return true and new context created, also do_user_authentication called with success. + // Now there is stack. + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + // get_context return true and new context created, test delete context + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + + + // get_context pdp type gives zero len, fails with no stack + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 1; + ATHandler_stub::read_string_table[0] = ""; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); + + // get_context pdp type gives proper type, apn reading fails + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 1; + ATHandler_stub::read_string_table[0] = "IPV6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_NO_CONNECTION == cn.activate_context()); + + // get_context pdp type gives proper type, apn does not match, now other contexts so new one created + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IP"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 2; // set to 2 so cgact will give that this context is active + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IPV4V6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_stack_type(IPV4_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IPV6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(IPV6_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IPV4V6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_stack_type(DEFAULT_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IPV4V6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(DEFAULT_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IPV6"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(DEFAULT_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cnipv6.activate_context()); + + // get_context pdp type gives proper type, apn match + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[0] = "internet"; + ATHandler_stub::read_string_table[1] = "IP"; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_stack_type(DEFAULT_STACK)); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.activate_context()); + + // get_context pdp type gives proper type, apn match. Test Delete the created context. + ATHandler_stub::resp_info_true_counter = 0; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::int_value = 1; + //ATHandler_stub::nsapi_error_ok_counter = 2; + ATHandler_stub::resp_stop_success_count = 2; + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials(NULL, NULL, NULL)); + EXPECT_TRUE(NSAPI_ERROR_NO_CONNECTION == my_cn.activate_context()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_connect) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + // no stack so will fail + cn.attach(&network_cb); + network_cb_count = 0; + + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.connect("APN", "a", "b")); + EXPECT_TRUE(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); + EXPECT_TRUE(network_cb_count == 2); + + network_cb_count = 0; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_NO_CONNECTION == cn.connect("APN")); + EXPECT_TRUE(network_cb_count == 2); + EXPECT_TRUE(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); + + my_AT_CN my_cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + cn.set_stack_type(IPV4_STACK); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.connect()); + EXPECT_TRUE(network_cb_count == 2); + EXPECT_TRUE(NSAPI_STATUS_GLOBAL_UP == my_cn.get_connection_status()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_disconnect) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.disconnect()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_stack) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + my_AT_CN my_cn(at); + my_stack *mystack = (my_stack *)my_cn.get_stack(); + EXPECT_TRUE(mystack); + delete mystack; +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_registration) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration("12345")); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration("12345")); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_registration_status) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::int_value = 3; + CellularNetwork::RegistrationStatus stat = CellularNetwork::NotRegistered; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_EREG, stat)); + EXPECT_TRUE(stat == CellularNetwork::RegistrationDenied); + stat = CellularNetwork::NotRegistered; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_GREG, stat)); + EXPECT_TRUE(stat == CellularNetwork::RegistrationDenied); + + my_AT_CN nw(at); + stat = CellularNetwork::NotRegistered; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.get_registration_status(CellularNetwork::C_GREG, stat)); + EXPECT_TRUE(stat == CellularNetwork::NotRegistered); + EXPECT_TRUE(NSAPI_ERROR_OK == nw.get_registration_status(CellularNetwork::C_EREG, stat)); + EXPECT_TRUE(stat == CellularNetwork::RegistrationDenied); + + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + stat = CellularNetwork::NotRegistered; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_status(CellularNetwork::C_EREG, stat)); + EXPECT_TRUE(stat == -1); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_status(CellularNetwork::C_GREG, stat)); + EXPECT_TRUE(stat == -1); + + stat = CellularNetwork::NotRegistered; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.get_registration_status(CellularNetwork::C_GREG, stat)); + EXPECT_TRUE(stat == CellularNetwork::NotRegistered); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.get_registration_status(CellularNetwork::C_EREG, stat)); + EXPECT_TRUE(stat == -1); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_network_registering_mode) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + ATHandler_stub::int_value = 0; + CellularNetwork::NWRegisteringMode mode = CellularNetwork::NWModeManual; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_network_registering_mode(mode)); + EXPECT_TRUE(mode == CellularNetwork::NWModeAutomatic); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + mode = CellularNetwork::NWModeManual; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_network_registering_mode(mode)); + EXPECT_TRUE(mode == -1); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_registration_urc) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + CellularNetwork::RegistrationType type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); + + my_AT_CN nw(at); + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, true)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, true)); + + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); + + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, false)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, false)); + + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); + + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true)); + + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); + + type = CellularNetwork::C_EREG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false)); + type = CellularNetwork::C_GREG; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false)); + type = CellularNetwork::C_REG; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false)); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_attach) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::int_value = 0; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_attach()); + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_attach()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_attach()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_attach) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + CellularNetwork::AttachStatus stat = CellularNetwork::Detached; + ATHandler_stub::int_value = 1; + ATHandler_stub::bool_value = true; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_attach(stat)); + EXPECT_TRUE(stat == CellularNetwork::Attached); + + ATHandler_stub::int_value = 0; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_attach(stat)); + EXPECT_TRUE(stat == CellularNetwork::Detached); + + stat = CellularNetwork::Attached; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_attach(stat)); + EXPECT_TRUE(stat == CellularNetwork::Detached); + + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_attach(stat)); + EXPECT_TRUE(stat == CellularNetwork::Detached); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_attach(stat)); + EXPECT_TRUE(stat == CellularNetwork::Detached); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_detach) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + my_AT_CN cn(at); + + EXPECT_TRUE(NSAPI_ERROR_OK == cn.detach()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.detach()); + + // connect so we can test callback in detach + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + cn.set_stack_type(IPV4_STACK); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.connect()); + EXPECT_TRUE(NSAPI_STATUS_GLOBAL_UP == cn.get_connection_status()); + // attach callback + cn.attach(&network_cb); + network_cb_count = 0; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.detach()); + EXPECT_TRUE(network_cb_count == 1); + EXPECT_TRUE(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_rate_control) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int ur = -1; + CellularNetwork::RateControlExceptionReports reports = CellularNetwork::NotAllowedToBeSent; + CellularNetwork::RateControlUplinkTimeUnit timeUnit = CellularNetwork::Unrestricted; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::NotAllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Unrestricted); + EXPECT_TRUE(ur == -1); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::int_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::AllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Minute); + EXPECT_TRUE(ur == 1); + + // test second if in get_rate_control + reports = CellularNetwork::NotAllowedToBeSent; + timeUnit = CellularNetwork::Unrestricted; + ur = -1; + + ATHandler_stub::int_count = 1; + ATHandler_stub::int_valid_count_table[0] = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::NotAllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Unrestricted); + EXPECT_TRUE(ur == -1); + + // test second if in get_rate_control + ATHandler_stub::int_count = 2; + ATHandler_stub::int_valid_count_table[0] = 1; + ATHandler_stub::int_valid_count_table[1] = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::AllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Unrestricted); + EXPECT_TRUE(ur == -1); + + // test third if in get_rate_control + ATHandler_stub::int_count = 3; + ATHandler_stub::int_valid_count_table[0] = 3; + ATHandler_stub::int_valid_count_table[1] = 1; + ATHandler_stub::int_valid_count_table[2] = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::AllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Day); + EXPECT_TRUE(ur == -1); + + ATHandler_stub::int_count = 4; + ATHandler_stub::int_valid_count_table[0] = 5; + ATHandler_stub::int_valid_count_table[1] = 3; + ATHandler_stub::int_valid_count_table[2] = 1; + ATHandler_stub::int_valid_count_table[3] = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_rate_control(reports, timeUnit, ur)); + EXPECT_TRUE(reports == CellularNetwork::AllowedToBeSent); + EXPECT_TRUE(timeUnit == CellularNetwork::Day); + EXPECT_TRUE(ur == 5); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_apn_backoff_timer) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int time = -1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_PARAMETER == cn.get_apn_backoff_timer(time)); + EXPECT_TRUE(time == -1); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_PARAMETER == cn.get_apn_backoff_timer(time)); + EXPECT_TRUE(time == -1); + + ATHandler_stub::resp_info_true_counter = 0; + ATHandler_stub::bool_value = false; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + cn.set_credentials("internet", NULL, NULL); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_apn_backoff_timer(time)); + EXPECT_TRUE(time == -1); + + ATHandler_stub::resp_info_true_counter = 0; + ATHandler_stub::bool_value = true; + ATHandler_stub::int_value = 55; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + cn.set_credentials("internet", NULL, NULL); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_apn_backoff_timer(time)); + EXPECT_TRUE(time == 55); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_ip_address) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + EXPECT_TRUE(!cn.get_ip_address()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_access_technology) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_UNKNOWN)); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_GSM_COMPACT)); + + my_AT_CN my_cn(at); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_access_technology(CellularNetwork::RAT_GSM_COMPACT)); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_access_technology) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + CellularNetwork::RadioAccessTechnology rat; + + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_access_technology(rat)); + EXPECT_TRUE(CellularNetwork::RAT_UNKNOWN == rat); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_scan_plmn) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int c = -1; + CellularNetwork::operList_t ops; + ATHandler_stub::bool_value = false; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.scan_plmn(ops, c)); + EXPECT_TRUE(c == 0); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); + EXPECT_TRUE(c == 0); + + + ATHandler_stub::read_string_index = 3; + ATHandler_stub::read_string_table[0] = "44444"; + ATHandler_stub::read_string_table[1] = "33333"; + ATHandler_stub::read_string_table[2] = "12345"; + ATHandler_stub::int_value = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::info_elem_true_counter = 1; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); + EXPECT_TRUE(c == 1); + EXPECT_TRUE(ops.get_head() != NULL); + CellularNetwork::operator_t *op = ops.get_head(); + EXPECT_TRUE(op->op_status == CellularNetwork::operator_t::Available); + EXPECT_TRUE(strcmp(op->op_long, "12345") == 0); + EXPECT_TRUE(strcmp(op->op_short, "33333") == 0); + EXPECT_TRUE(strcmp(op->op_num, "44444") == 0); + ops.delete_all(); + + ATHandler_stub::read_string_index = 3; + ATHandler_stub::int_value = 6; // RAT_HSDPA_HSUPA + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::info_elem_true_counter = 1; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_UTRAN)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); + EXPECT_TRUE(c == 0); + EXPECT_TRUE(ops.get_head() == NULL); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_ciot_optimization_config) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE)); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_ciot_optimization_config) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + CellularNetwork::Supported_UE_Opt sup = CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT; + CellularNetwork::Preferred_UE_Opt pref = CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE; + ATHandler_stub::int_value = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_ciot_optimization_config(sup, pref)); + EXPECT_TRUE(sup == CellularNetwork::SUPPORTED_UE_OPT_CONTROL_PLANE); + EXPECT_TRUE(pref == CellularNetwork::PREFERRED_UE_OPT_CONTROL_PLANE); + + sup = CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT; + pref = CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE; + ATHandler_stub::int_value = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_ciot_optimization_config(sup, pref)); + EXPECT_TRUE(sup == CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT); + EXPECT_TRUE(pref == CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_stack_type) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + EXPECT_TRUE(NSAPI_ERROR_PARAMETER == cn.set_stack_type(IPV4_STACK)); + + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_stack_type(DEFAULT_STACK)); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_stack_type) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + EXPECT_TRUE(DEFAULT_STACK == cn.get_stack_type()); + + my_AT_CN my_cn(at); + EXPECT_TRUE(DEFAULT_STACK == my_cn.get_stack_type()); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_stack_type(IPV4_STACK)); + EXPECT_TRUE(DEFAULT_STACK == my_cn.get_stack_type()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_pdpcontext_params) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + CellularNetwork::pdpContextList_t list; + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_pdpcontext_params(list)); + + // don't got to while loop + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + ATHandler_stub::resp_info_true_counter = 0; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_pdpcontext_params(list)); + EXPECT_TRUE(NULL == list.get_head()); + + // go to while loop and check values + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::int_count = 9; + ATHandler_stub::int_valid_count_table[8] = 1; + ATHandler_stub::int_valid_count_table[7] = 2; + ATHandler_stub::int_valid_count_table[6] = 3; + ATHandler_stub::int_valid_count_table[5] = 4; + ATHandler_stub::int_valid_count_table[4] = 5; + ATHandler_stub::int_valid_count_table[3] = 6; + ATHandler_stub::int_valid_count_table[2] = 7; + ATHandler_stub::int_valid_count_table[1] = 8; + ATHandler_stub::int_valid_count_table[0] = 9; + + ATHandler_stub::read_string_index = 7; + ATHandler_stub::read_string_table[6] = "internet"; + ATHandler_stub::read_string_table[5] = "1.2.3.4.5.6.7.8.9.10.11.112.13.14.15.16.1.2.3.44.55.6.7.8.9.10.11.12.13.14.15.16"; + ATHandler_stub::read_string_table[4] = "23.33.44.1.2.3.55.123.225.34.11.1.0.0.123.234"; + ATHandler_stub::read_string_table[3] = "1.2.3.4"; + ATHandler_stub::read_string_table[2] = "0.255.0.255"; + ATHandler_stub::read_string_table[1] = "25.66.77.88"; + ATHandler_stub::read_string_table[0] = "004.003.002.001"; + + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_pdpcontext_params(list)); + CellularNetwork::pdpcontext_params_t *params = list.get_head(); + EXPECT_TRUE(params != NULL); + EXPECT_TRUE(params->next == NULL); + EXPECT_TRUE(params->cid == 1); + EXPECT_TRUE(params->bearer_id == 2); + EXPECT_TRUE(params->im_signalling_flag == 3); + EXPECT_TRUE(params->lipa_indication == 4); + EXPECT_TRUE(params->ipv4_mtu == 5); + EXPECT_TRUE(params->wlan_offload == 6); + EXPECT_TRUE(params->local_addr_ind == 7); + EXPECT_TRUE(params->non_ip_mtu == 8); + EXPECT_TRUE(params->serving_plmn_rate_control_value == 9); + EXPECT_TRUE(strcmp(params->apn, "internet") == 0); + EXPECT_TRUE(strcmp(params->local_addr, "102:304:506:708:90A:B70:D0E:F10") == 0); + EXPECT_TRUE(strcmp(params->local_subnet_mask, "102:32C:3706:708:90A:B0C:D0E:F10") == 0); + EXPECT_TRUE(strcmp(params->gateway_addr, "1721:2C01:203:377B:E122:B01:000:7BEA") == 0); + EXPECT_TRUE(strcmp(params->dns_primary_addr, "1.2.3.4") == 0); + EXPECT_TRUE(strcmp(params->dns_secondary_addr, "0.255.0.255") == 0); + EXPECT_TRUE(strcmp(params->p_cscf_prim_addr, "25.66.77.88") == 0); + EXPECT_TRUE(strcmp(params->p_cscf_sec_addr, "004.003.002.001") == 0); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_extended_signal_quality) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + int rx = -1, be = -1, rs = -1, ec = -1, rsrq = -1, rsrp = -1; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_extended_signal_quality(rx, be, rs, ec, rsrq, rsrp)); + EXPECT_TRUE(rx == -1 && be == -1 && rs == -1 && ec == -1 && rsrq == -1 && rsrp == -1); + + ATHandler_stub::int_value = 5; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_extended_signal_quality(rx, be, rs, ec, rsrq, rsrp)); + EXPECT_TRUE(rx == 5 && be == 5 && rs == 5 && ec == 5 && rsrq == 5 && rsrp == 5); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_signal_quality) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int rs = -1, ber = -1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_signal_quality(rs, ber)); + EXPECT_TRUE(rs == -1 && ber == -1); + + ATHandler_stub::int_value = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_signal_quality(rs, ber)); + EXPECT_TRUE(rs == 1 && ber == 1); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_cell_id) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int id = 0; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_cell_id(id)); + EXPECT_TRUE(id == -1); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_cell_id(id)); + EXPECT_TRUE(id == -1); + + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[1] = "00C3"; + ATHandler_stub::read_string_table[0] = "1234FFC1"; //== cellid and in dec: 305463233 + ATHandler_stub::int_value = 1; + // Get registration status to modify cell_id + CellularNetwork::RegistrationType type; + CellularNetwork::RegistrationStatus status; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_EREG, status)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_cell_id(id)); + EXPECT_TRUE(id == 305463233); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_3gpp_error) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::int_value = 8; + EXPECT_TRUE(8 == cn.get_3gpp_error()); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_operator_params) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + int format; + CellularNetwork::operator_t ops; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_operator_params(format, ops)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::int_value = 0; + ATHandler_stub::read_string_index = 1; + ATHandler_stub::read_string_table[0] = "12345"; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); + EXPECT_TRUE(format == 0); + EXPECT_TRUE(strcmp(ops.op_long, "12345") == 0); + EXPECT_TRUE(strlen(ops.op_short) == 0); + EXPECT_TRUE(strlen(ops.op_num) == 0); + EXPECT_TRUE(ops.op_rat == CellularNetwork::RAT_GSM); + + ops.op_long[0] = 0; + ATHandler_stub::int_value = 1; + ATHandler_stub::read_string_index = 1; + ATHandler_stub::read_string_table[0] = "12345"; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); + EXPECT_TRUE(format == 1); + EXPECT_TRUE(strlen(ops.op_long) == 0); + EXPECT_TRUE(strcmp(ops.op_short, "12345") == 0); + EXPECT_TRUE(strlen(ops.op_num) == 0); + EXPECT_TRUE(ops.op_rat == CellularNetwork::RAT_GSM_COMPACT); + + ops.op_short[0] = 0; + ATHandler_stub::int_value = 2; + ATHandler_stub::read_string_index = 1; + ATHandler_stub::read_string_table[0] = "12345"; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); + EXPECT_TRUE(format == 2); + EXPECT_TRUE(strlen(ops.op_long) == 0); + EXPECT_TRUE(strlen(ops.op_short) == 0); + EXPECT_TRUE(strcmp(ops.op_num, "12345") == 0); + EXPECT_TRUE(ops.op_rat == CellularNetwork::RAT_UTRAN); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_operator_names) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + CellularNetwork::operator_names_list name_list; + + ATHandler_stub::resp_info_true_counter = 0; + ATHandler_stub::bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_operator_names(name_list)); + EXPECT_TRUE(name_list.get_head() == NULL); + + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_operator_names(name_list)); + EXPECT_TRUE(name_list.get_head() != NULL); + EXPECT_TRUE(name_list.get_head()->next == NULL); + + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_index = 2; + ATHandler_stub::read_string_table[1] = "12345"; + ATHandler_stub::read_string_table[0] = "56789"; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + name_list.delete_all(); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_operator_names(name_list)); + CellularNetwork::operator_names_t *op_names = name_list.get_head(); + EXPECT_TRUE(op_names != NULL); + EXPECT_TRUE(op_names->next == NULL); + EXPECT_TRUE(strcmp(op_names->numeric, "12345") == 0); + EXPECT_TRUE(strcmp(op_names->alpha, "56789") == 0); +} + +TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_attach) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + network_cb_count = 0; + cn.attach(&network_cb); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.connect()); + EXPECT_TRUE(network_cb_count == 2); // check that attached callback was called twice +} + +TEST_F(TestAT_CellularNetwork, test_get_connection_status) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + network_cb_count = 0; + cn.attach(&network_cb); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == cn.connect()); + EXPECT_TRUE(network_cb_count == 2); // check that attached callback was called twice + EXPECT_TRUE(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); + + my_AT_CN my_cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::bool_value = false; + cn.set_stack_type(IPV4_STACK); + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.connect()); + EXPECT_TRUE(network_cb_count == 2); + EXPECT_TRUE(NSAPI_STATUS_GLOBAL_UP == my_cn.get_connection_status()); +} + +TEST_F(TestAT_CellularNetwork, test_set_blocking) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularNetwork cn(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_blocking(false)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_blocking(true)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_blocking(false)); + EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_blocking(true)); +} + diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake new file mode 100644 index 0000000000..e41cf3c6de --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake @@ -0,0 +1,37 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_network_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/AT_CellularNetwork.cpp + ../features/cellular/framework/AT/AT_CellularStack.cpp + ../features/cellular/framework/common/CellularUtil.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/NetworkInterface_stub.cpp + stubs/NetworkStack_stub.cpp + stubs/us_ticker_stub.cpp + stubs/mbed_assert_stub.cpp + stubs/SocketAddress_stub.cpp + stubs/randLIB_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularpower/at_cellularpowertest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/at_cellularpowertest.cpp new file mode 100644 index 0000000000..48b67abd2f --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/at_cellularpowertest.cpp @@ -0,0 +1,201 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularPower.h" +#include "FileHandle_stub.h" +#include "ATHandler_stub.h" + +using namespace mbed; +using namespace events; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularPower : public testing::Test { +protected: + + void SetUp() { + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + } + + void TearDown() { + } +}; +// *INDENT-ON* + + +static void device_ready_cb() +{ +} + +TEST_F(TestAT_CellularPower, Create) +{ + + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower *pow = new AT_CellularPower(at); + + EXPECT_TRUE(pow != NULL); + + delete pow; +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_on) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.on()); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_off) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.off()); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_set_at_mode) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == pow.set_at_mode()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.set_at_mode()); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_set_power_level) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == pow.set_power_level(6)); + EXPECT_TRUE(NSAPI_ERROR_OK == pow.set_power_level(1, 1)); + EXPECT_TRUE(NSAPI_ERROR_OK == pow.set_power_level(1, 0)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.set_power_level(6)); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_reset) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == pow.reset()); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.reset()); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_opt_power_save_mode) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(0, 0)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(10, 0)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(912, 0)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(1834, 1834)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(18345, 18345)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(101234, 101234)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(1012345, 1012345)); + + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_power_save_mode(39612345, 39612345)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.opt_power_save_mode(0, 0)); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_opt_receive_period) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3)); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_is_device_ready) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == pow.is_device_ready()); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_set_device_ready_urc_cb) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb)); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(NULL)); +} + +TEST_F(TestAT_CellularPower, test_AT_CellularPower_remove_device_ready_urc_cb) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularPower pow(at); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb)); + + pow.remove_device_ready_urc_cb(NULL); + pow.remove_device_ready_urc_cb(&device_ready_cb); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake new file mode 100644 index 0000000000..118bdac47c --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake @@ -0,0 +1,31 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_power_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/AT_CellularPower.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellularpower/at_cellularpowertest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/CellularUtil_stub.cpp + stubs/mbed_assert_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsim/at_cellularsimtest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/at_cellularsimtest.cpp new file mode 100644 index 0000000000..eb82bc6c9a --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/at_cellularsimtest.cpp @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include "ATHandler_stub.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularSIM.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" +#include "ATHandler_stub.h" + +using namespace mbed; +using namespace events; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularSIM : public testing::Test { +protected: + + void SetUp() + { + ATHandler_stub::read_string_index = kRead_string_table_size; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = NULL; + ATHandler_stub::ssize_value = 0; + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestAT_CellularSIM, Create) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSIM *sim = new AT_CellularSIM(at); + + EXPECT_TRUE(sim != NULL); + delete sim; +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_set_pin) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSIM sim(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin("12")); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin("12")); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "READY"; + ATHandler_stub::ssize_value = 5; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin("12")); + + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin(NULL)); +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_change_pin) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSIM sim(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.change_pin("12", "34")); + EXPECT_TRUE(NSAPI_ERROR_OK == sim.change_pin(NULL, "34")); + EXPECT_TRUE(NSAPI_ERROR_OK == sim.change_pin("12", NULL)); + EXPECT_TRUE(NSAPI_ERROR_OK == sim.change_pin(NULL, NULL)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.change_pin("12", "34")); +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_set_pin_query) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSIM sim(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin_query("12", true)); + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin_query(NULL, true)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin_query("12", false)); + EXPECT_TRUE(NSAPI_ERROR_OK == sim.set_pin_query(NULL, false)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin_query("12", false)); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin_query("12", true)); +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_get_sim_state) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSIM sim(at); + CellularSIM::SimState state; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::ssize_value = -1; + ATHandler_stub::read_string_value = NULL; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_sim_state(state)); + EXPECT_TRUE(CellularSIM::SimStateUnknown == state); + + ATHandler_stub::read_string_value = "READY"; + ATHandler_stub::ssize_value = 5; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_sim_state(state)); + EXPECT_TRUE(CellularSIM::SimStateReady == state); + + ATHandler_stub::read_string_value = "SIM PIN"; + ATHandler_stub::ssize_value = 7; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_sim_state(state)); + EXPECT_TRUE(CellularSIM::SimStatePinNeeded == state); + + ATHandler_stub::read_string_value = "SIM PUK"; + ATHandler_stub::ssize_value = 7; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_sim_state(state)); + EXPECT_TRUE(CellularSIM::SimStatePukNeeded == state); + + ATHandler_stub::read_string_value = "SOME CRAP"; + ATHandler_stub::ssize_value = 9; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_sim_state(state)); + EXPECT_TRUE(CellularSIM::SimStateUnknown == state); +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_get_imsi) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + char imsi[16]; + AT_CellularSIM sim(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "123456789012345"; + ATHandler_stub::ssize_value = 15; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_imsi(imsi)); + EXPECT_TRUE(strcmp(ATHandler_stub::read_string_value, imsi) == 0); + + ATHandler_stub::read_string_value = NULL; + ATHandler_stub::ssize_value = -1; + ATHandler_stub::read_string_index = -1; + imsi[0] = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.get_imsi(imsi)); + EXPECT_TRUE(strlen(imsi) == 0); + + EXPECT_TRUE(NSAPI_ERROR_PARAMETER == sim.get_imsi(NULL)); + + // this would fail as get_imsi should take another param which is the size of the buffer which we could use for validation. + // Now we have improved documentation that that the given imsi buffer size must be over 15. + //char imsi2[5]; + //EXPECT_TRUE(NSAPI_ERROR_PARAMETER == sim.get_imsi(imsi2)); +} + +TEST_F(TestAT_CellularSIM, test_AT_CellularSIM_get_iccid) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + char buf[16]; + AT_CellularSIM sim(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::read_string_value = "123456789012345"; + ATHandler_stub::ssize_value = 15; + EXPECT_TRUE(NSAPI_ERROR_OK == sim.get_iccid(buf, 16)); + EXPECT_TRUE(strcmp(ATHandler_stub::read_string_value, buf) == 0); + + buf[0] = 0; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + ATHandler_stub::read_string_value = NULL; + ATHandler_stub::ssize_value = -1; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == sim.get_iccid(buf, 16)); + EXPECT_TRUE(strlen(buf) == 0); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake new file mode 100644 index 0000000000..ab4f3c0763 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake @@ -0,0 +1,32 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_sim_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/AT_CellularSIM.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellularsim/at_cellularsimtest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/CellularUtil_stub.cpp + stubs/us_ticker_stub.cpp + stubs/mbed_assert_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp new file mode 100644 index 0000000000..a586c2e652 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "ATHandler_stub.h" +#include "AT_CellularSMS.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" + +using namespace mbed; +using namespace events; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularSMS : public testing::Test { +protected: + + void SetUp() + { + ATHandler_stub::return_given_size = false; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestAT_CellularSMS, Create) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS *sms = new AT_CellularSMS(at); + + EXPECT_TRUE(sms != NULL); + delete sms; +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_initialize) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_NO_MEMORY == sms.initialize(CellularSMS::CellularSMSMmodeText)); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_send_sms) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + EXPECT_EQ(NSAPI_ERROR_PARAMETER, sms.send_sms(NULL, "2", 1)); + + sms.initialize(CellularSMS::CellularSMSMmodeText); + ATHandler_stub::size_value = 1; + EXPECT_EQ(1, sms.send_sms("1", "22", 2)); + + ATHandler_stub::size_value = 2; + EXPECT_EQ(2, sms.send_sms("1", "22", 2)); + + ATHandler_stub::return_given_size = true; // PDU mode write is much longer than than msg len + sms.initialize(CellularSMS::CellularSMSMmodePDU); + EXPECT_EQ(2, sms.send_sms("1", "23", 2));; + + ATHandler_stub::nsapi_error_ok_counter = 1; + ATHandler_stub::size_value = 32; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_EQ(NSAPI_ERROR_AUTH_FAILURE, sms.send_sms("1", "23232323", 8)); + + ATHandler_stub::nsapi_error_ok_counter = 2; + ATHandler_stub::size_value = 32; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_EQ(NSAPI_ERROR_AUTH_FAILURE, sms.send_sms("1", "23232323", 8)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + char table[] = "232323232323232323232323232323232323232323232323232323\ + 232323232323232323232323232323232323232323232323232323\ + 232323232323232323232323232323232323232323232323232323\ + 23232323232323232323232323232323232323\0"; + + EXPECT_EQ(strlen(table), sms.send_sms("1", table, strlen(table))); + EXPECT_EQ(strlen(table), sms.send_sms("12", table, strlen(table))); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_get_sms) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + char buf[16]; + char phone[21]; + char stamp[21]; + int size; + EXPECT_TRUE(NSAPI_ERROR_PARAMETER == sms.get_sms(NULL, 16, phone, 21, stamp, 21, &size)); + + ATHandler_stub::resp_info_true_counter = 1; + ATHandler_stub::int_value = 0; + EXPECT_TRUE(-1 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); + + ATHandler_stub::resp_info_true_counter = 2; + ATHandler_stub::int_value = 11; + EXPECT_TRUE(0 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); + //TODO: Should make add_info to happen, before calling get_sms! + + ATHandler_stub::resp_info_true_counter = 2; + ATHandler_stub::int_value = 11; + sms.initialize(CellularSMS::CellularSMSMmodePDU); + EXPECT_TRUE(0 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_set_sms_callback) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + sms.set_sms_callback(NULL); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_set_cpms) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == sms.set_cpms("2", "3", "4")); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_set_csca) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == sms.set_csca("2", 1)); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_set_cscs) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == sms.set_cscs("2")); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_delete_all_messages) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == sms.delete_all_messages()); +} + +TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_set_extra_sim_wait_time) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + AT_CellularSMS sms(at); + sms.set_extra_sim_wait_time(56); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake new file mode 100644 index 0000000000..ba6c5b52c8 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake @@ -0,0 +1,33 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_sms_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/AT_CellularSMS.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/CellularUtil_stub.cpp + stubs/us_ticker_stub.cpp + stubs/mbed_assert_stub.cpp + stubs/mbed_wait_api_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularstack/at_cellularstacktest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/at_cellularstacktest.cpp new file mode 100644 index 0000000000..40e2aebe9c --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/at_cellularstacktest.cpp @@ -0,0 +1,377 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include "AT_CellularStack.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularStack.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" +#include "ATHandler_stub.h" +#include "SocketAddress.h" + +using namespace mbed; +using namespace events; + +class MyStack : public AT_CellularStack { +public: + bool bool_value; + bool max_sock_value; + nsapi_error_t create_error; + CellularSocket socket; + + MyStack(ATHandler &atr, int cid, nsapi_ip_stack_t typ) : AT_CellularStack(atr, cid, typ) + { + bool_value = false; + max_sock_value = 0; + create_error = NSAPI_ERROR_OK; + } + + virtual int get_max_socket_count() + { + return max_sock_value; + } + + virtual bool is_protocol_supported(nsapi_protocol_t protocol) + { + return bool_value; + } + + virtual nsapi_error_t socket_close_impl(int sock_id) + { + return NSAPI_ERROR_OK; + } + + virtual nsapi_error_t create_socket_impl(CellularSocket *socket) + { + return create_error; + } + + virtual nsapi_size_or_error_t socket_sendto_impl(CellularSocket *socket, const SocketAddress &address, + const void *data, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + + virtual nsapi_size_or_error_t socket_recvfrom_impl(CellularSocket *socket, SocketAddress *address, + void *buffer, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + + virtual nsapi_error_t socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) + { + return AT_CellularStack::socket_open(handle, proto); + } + + virtual nsapi_error_t socket_close(nsapi_socket_t handle) + { + return AT_CellularStack::socket_close(handle); + } + + virtual nsapi_error_t socket_bind(nsapi_socket_t handle, const SocketAddress &address) + { + return AT_CellularStack::socket_bind(handle, address); + } + + virtual nsapi_error_t socket_listen(nsapi_socket_t handle, int backlog) + { + return AT_CellularStack::socket_listen(handle, backlog); + } + + virtual nsapi_error_t socket_connect(nsapi_socket_t handle, const SocketAddress &address) + { + return AT_CellularStack::socket_connect(handle, address); + } + + virtual nsapi_error_t socket_accept(nsapi_socket_t server, + nsapi_socket_t *handle, SocketAddress *address = 0) + { + return AT_CellularStack::socket_accept(server, handle, address); + } + + virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle, + const void *data, nsapi_size_t size) + { + return AT_CellularStack::socket_send(handle, data, size); + } + + virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle, + void *data, nsapi_size_t size) + { + return AT_CellularStack::socket_recv(handle, data, size); + } + + virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address, + const void *data, nsapi_size_t size) + { + return AT_CellularStack::socket_sendto(handle, address, data, size); + } + + virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address, + void *buffer, nsapi_size_t size) + { + return AT_CellularStack::socket_recvfrom(handle, address, buffer, size); + } + + virtual void socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) + { + return AT_CellularStack::socket_attach(handle, callback, data); + } +}; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestAT_CellularStack : public testing::Test { +protected: + + void SetUp() + { + ATHandler_stub::return_given_size = false; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + ATHandler_stub::ssize_value = 0; + ATHandler_stub::bool_value = false; + ATHandler_stub::read_string_value = NULL; + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestAT_CellularStack, Create) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack *st = new MyStack(at, 0, IPV4_STACK); + + EXPECT_TRUE(st != NULL); + delete st; +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_get_ip_address) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + EXPECT_TRUE(0 == strlen(st.get_ip_address())); + + char table[] = "1.2.3.4.5.65.7.8.9.10.11\0"; + ATHandler_stub::ssize_value = -1; + ATHandler_stub::bool_value = true; + ATHandler_stub::read_string_value = table; + EXPECT_TRUE(NULL == st.get_ip_address()); + + ATHandler_stub::ssize_value = strlen(table); + ATHandler_stub::bool_value = true; + ATHandler_stub::read_string_value = table; + EXPECT_TRUE(st.get_ip_address()); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_open) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + st.bool_value = false; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_open(NULL, NSAPI_TCP)); + + st.bool_value = true; + st.max_sock_value = 0; + nsapi_socket_t sock = &st.socket; + EXPECT_TRUE(NSAPI_ERROR_NO_SOCKET == st.socket_open(&sock, NSAPI_TCP)); + + MyStack st2(at, 0, IPV6_STACK); + st2.bool_value = true; + st2.max_sock_value = 1; + sock = &st2.socket; + EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_close) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(&st.socket)); + + nsapi_socket_t sock = &st.socket; + st.bool_value = true; + st.max_sock_value = 1; + EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_open(&sock, NSAPI_TCP)); + st.max_sock_value = 0; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(sock)); + + MyStack st2(at, 0, IPV6_STACK); + st2.max_sock_value = 1; + st2.bool_value = true; + sock = &st2.socket; + EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP)); + EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_close(sock)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_bind) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + SocketAddress addr; + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_ALREADY; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_bind(NULL, addr)); + + EXPECT_TRUE(NSAPI_ERROR_ALREADY == st.socket_bind(&st.socket, addr)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_listen) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_listen(&st.socket, 4)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_connect) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + SocketAddress addr; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_connect(NULL, addr)); + + EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_connect(&st.socket, addr)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_accept) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + nsapi_socket_t sock = &st.socket; + EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_accept(NULL, &sock)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_send) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(NULL, "addr", 4)); + + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(&st.socket, "addr", 4)); + + SocketAddress addr; + st.max_sock_value = 1; + st.bool_value = true; + nsapi_socket_t sock = &st.socket; + st.socket_open(&sock, NSAPI_TCP); + st.socket_connect(sock, addr); + EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_send(sock, "addr", 4)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_sendto) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + + SocketAddress addr; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_sendto(NULL, addr, "addr", 4)); + + st.max_sock_value = 1; + st.bool_value = true; + nsapi_socket_t sock = &st.socket; + st.socket_open(&sock, NSAPI_TCP); + st.socket_connect(sock, addr); + st.create_error = NSAPI_ERROR_CONNECTION_LOST; + EXPECT_TRUE(NSAPI_ERROR_CONNECTION_LOST == st.socket_sendto(sock, addr, "addr", 4)); + + st.create_error = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_sendto(sock, addr, "addr", 4)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recv) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + char table[4]; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_recv(NULL, table, 4)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recvfrom) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + char table[4]; + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_recvfrom(NULL, NULL, table, 4)); + + SocketAddress addr; + st.max_sock_value = 1; + st.bool_value = true; + nsapi_socket_t sock = &st.socket; + st.socket_open(&sock, NSAPI_TCP); + st.socket_connect(sock, addr); + st.create_error = NSAPI_ERROR_CONNECTION_LOST; + EXPECT_TRUE(NSAPI_ERROR_CONNECTION_LOST == st.socket_recvfrom(sock, &addr, table, 4)); + + st.create_error = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_recvfrom(sock, &addr, table, 4)); +} + +TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_attach) +{ + EventQueue que; + FileHandle_stub fh1; + ATHandler at(&fh1, que, 0, ","); + + MyStack st(at, 0, IPV6_STACK); + + st.socket_attach(NULL, NULL, NULL); + st.max_sock_value = 1; + st.bool_value = true; + nsapi_socket_t sock = &st.socket; + st.socket_open(&sock, NSAPI_TCP); + st.socket_attach(sock, NULL, NULL); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake new file mode 100644 index 0000000000..32ed822154 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake @@ -0,0 +1,34 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_cellular_stack_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/AT_CellularStack.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/at_cellularstack/at_cellularstacktest.cpp + stubs/ATHandler_stub.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/CellularUtil_stub.cpp + stubs/us_ticker_stub.cpp + stubs/NetworkStack_stub.cpp + stubs/SocketAddress_stub.cpp + stubs/mbed_assert_stub.cpp +) diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp new file mode 100644 index 0000000000..df0780cfc5 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp @@ -0,0 +1,1022 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "gtest/gtest.h" +#include +#include "AT_CellularNetwork.h" +#include "EventQueue.h" +#include "ATHandler.h" +#include "AT_CellularStack.h" +#include "FileHandle_stub.h" +#include "CellularLog.h" +#include "mbed_poll_stub.h" + +#include "Timer_stub.h" + +using namespace mbed; +using namespace events; + +void urc_callback() +{ +} + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class TestATHandler : public testing::Test { +protected: + + void SetUp() + { + } + + void TearDown() + { + } +}; +// *INDENT-ON* + +TEST_F(TestATHandler, Create) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler *at = new ATHandler(&fh1, que, 0, ","); + + delete at; + + at = new ATHandler(&fh1, que, 0, NULL); + + EXPECT_TRUE(at != NULL); + delete at; +} + +TEST_F(TestATHandler, test_ATHandler_get_file_handle) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_EQ(&fh1, at.get_file_handle()); +} + +TEST_F(TestATHandler, test_ATHandler_set_file_handle) +{ + EventQueue que; + FileHandle_stub fh1, fh2; + + ATHandler at(&fh1, que, 0, ","); + + at.set_file_handle(&fh2); +} + +TEST_F(TestATHandler, test_ATHandler_lock) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + + at.lock(); +} + +TEST_F(TestATHandler, test_ATHandler_unlock) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + filehandle_stub_short_value_counter = 1; + fh1.short_value = POLLIN; + at.unlock(); +} + +TEST_F(TestATHandler, test_ATHandler_unlock_return_error) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(NSAPI_ERROR_OK == at.unlock_return_error()); +} + +TEST_F(TestATHandler, test_ATHandler_set_urc_handler) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + const char ch[] = "testtesttesttest"; + at.set_urc_handler(ch, &urc_callback); +} + +TEST_F(TestATHandler, test_ATHandler_get_last_error) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(NSAPI_ERROR_OK == at.get_last_error()); +} + +TEST_F(TestATHandler, test_ATHandler_get_last_device_error) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(0 == at.get_last_device_error().errCode); +} + +TEST_F(TestATHandler, test_ATHandler_inc_ref_count) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.inc_ref_count(); +} + +TEST_F(TestATHandler, test_ATHandler_dec_ref_count) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.dec_ref_count(); +} + +TEST_F(TestATHandler, test_ATHandler_get_ref_count) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(1 == at.get_ref_count()); + + at.inc_ref_count(); + EXPECT_TRUE(2 == at.get_ref_count()); + + at.inc_ref_count(); + EXPECT_TRUE(3 == at.get_ref_count()); + + at.dec_ref_count(); + at.dec_ref_count(); + EXPECT_TRUE(1 == at.get_ref_count()); +} + +TEST_F(TestATHandler, test_ATHandler_set_at_timeout) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_at_timeout(8); + + at.set_at_timeout(80, true); +} + +TEST_F(TestATHandler, test_ATHandler_restore_at_timeout) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_at_timeout(80, true); + at.set_at_timeout(800); + at.restore_at_timeout(); +} + +TEST_F(TestATHandler, test_ATHandler_clear_error) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.clear_error(); +} + +TEST_F(TestATHandler, test_ATHandler_process_oob) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + filehandle_stub_short_value_counter = 1; + fh1.short_value = POLLIN; + at.set_urc_handler("s", &urc_callback); + at.process_oob(); + + filehandle_stub_short_value_counter = 2; + at.process_oob(); + + //at.fill_buffer(); + uint8_t buf[5]; + at.clear_error(); + char table[] = "ssssssssssssssssssssssssssssssss\0"; + filehandle_stub_table = table; + filehandle_stub_table_pos = 0; + at.read_bytes(buf, 5); + + filehandle_stub_short_value_counter = 2; + at.process_oob(); + + at.clear_error(); + timer_stub_value = 0; + filehandle_stub_table_pos = 0; + at.read_bytes(buf, 5); + + filehandle_stub_short_value_counter = 1; + at.process_oob(); + + char table2[4]; + table2[0] = '\r'; + table2[1] = '\r'; + table2[2] = '\n'; + table2[3] = 0; + filehandle_stub_table = table2; + + at.clear_error(); + timer_stub_value = 0; + filehandle_stub_table_pos = 0; + at.read_bytes(buf, 1); + + filehandle_stub_short_value_counter = 1; + at.process_oob(); + + + filehandle_stub_table = table; + + + filehandle_stub_short_value_counter = 0; + filehandle_stub_table_pos = 0; + filehandle_stub_table = NULL; +} + +TEST_F(TestATHandler, test_ATHandler_set_filehandle_sigio) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_filehandle_sigio(); +} + +TEST_F(TestATHandler, test_ATHandler_flush) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + filehandle_stub_short_value_counter = 1; + fh1.short_value = POLLIN; + at.flush(); +} + +TEST_F(TestATHandler, test_ATHandler_cmd_start) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + mbed_poll_stub::revents_value = POLLOUT; + mbed_poll_stub::int_value = 1; + fh1.size_value = 3; + at.cmd_start("s"); + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 0; + + at.cmd_start("s"); + + at.cmd_start("s"); +} + +TEST_F(TestATHandler, test_ATHandler_write_int) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + fh1.size_value = -1; + at.write_int(4); + + at.clear_error(); + mbed_poll_stub::revents_value = POLLOUT; + mbed_poll_stub::int_value = 1; + fh1.size_value = 6; + at.write_int(4); + + at.write_int(2147483647); + + at.write_int(2147483647 + 1); + +// at.at_error(0, DeviceErrorType(0)); +// at.write_int(4); +} + +TEST_F(TestATHandler, test_ATHandler_write_string) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + fh1.size_value = -1; + at.write_string("help"); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + + at.clear_error(); + mbed_poll_stub::revents_value = POLLOUT; + mbed_poll_stub::int_value = 1; + fh1.size_value = -1; + at.cmd_start("s"); + at.write_string("help", true); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + + at.clear_error(); + mbed_poll_stub::revents_value = POLLOUT; + mbed_poll_stub::int_value = 1; + fh1.size_value = -1; + at.write_string("help", true); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + + at.clear_error(); + mbed_poll_stub::revents_value = POLLOUT; + mbed_poll_stub::int_value = 1; + fh1.size_value = 7; + at.write_string("help", true); + EXPECT_TRUE(NSAPI_ERROR_OK == at.get_last_error()); +} + +TEST_F(TestATHandler, test_ATHandler_cmd_stop) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + fh1.size_value = -1; + at.cmd_stop(); + + at.write_string("help", true); + + at.cmd_stop(); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); +} + +TEST_F(TestATHandler, test_ATHandler_write_bytes) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + fh1.size_value = -1; + uint8_t data[] = "data"; + at.write_bytes(data, 4); + + at.write_bytes(data, 4); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); +} + +TEST_F(TestATHandler, test_ATHandler_set_stop_tag) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_stop_tag("s"); +} + +TEST_F(TestATHandler, test_ATHandler_set_delimiter) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_delimiter('+'); +} + +TEST_F(TestATHandler, test_ATHandler_skip_param) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.skip_param(); + + char table[] = "ssssssssssssssssssssssssssssOK\r\n\0"; + filehandle_stub_table = table; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + at.skip_param(); + EXPECT_TRUE(at.get_last_error() == NSAPI_ERROR_DEVICE_ERROR); + + char table1[] = "ss,sssssssssssss,sssssssssssOK\r\n\0"; + filehandle_stub_table = table1; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + at.skip_param(); + + char table2[] = "sssOK\r\n\0"; + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + at.skip_param(); + + char table3[] = "sssssssOK\nssss\0"; + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + + //Need to create a new instance because stop tag already found + ATHandler at2(&fh1, que, 0, ","); + at2.flush(); + at2.clear_error(); + at2.resp_start(); + at2.skip_param(); + + at2.skip_param(4, 3); + + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + + at2.flush(); + at2.clear_error(); + at2.resp_start(); + at2.skip_param(4, 3); + + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + + at2.flush(); + at2.clear_error(); + at2.resp_start(); + at2.skip_param(24, 17); +} + +TEST_F(TestATHandler, test_ATHandler_read_bytes) +{ + EventQueue que; + FileHandle_stub fh1; + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + ATHandler at(&fh1, que, 0, ","); + uint8_t buf[5]; + + // TEST EMPTY BUFFER + // Shouldn't read any byte since buffer is empty + EXPECT_TRUE(-1 == at.read_bytes(buf, 1)); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + // Return error due to error set to at handler by the above call on empty buffer + EXPECT_TRUE(-1 == at.read_bytes(buf, 1)); + + // TEST DATA IN BUFFER + at.clear_error(); + char table1[] = "1234512345678OK\r\n\0"; + filehandle_stub_table = table1; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1;; + + // Read 5 bytes + EXPECT_TRUE(5 == at.read_bytes(buf, 5)); + EXPECT_TRUE(!memcmp(buf, table1, 5)); + // get_char triggered above should have filled in the whole reading buffer(fill_buffer()) + EXPECT_TRUE(filehandle_stub_table_pos == (strlen(table1) - 1)); + // Read another 8 bytes + EXPECT_TRUE(8 == at.read_bytes(buf, 8) && !memcmp(buf, table1 + 5, 8)); + // Reading more than the 4 bytes left -> ERROR + EXPECT_TRUE(-1 == at.read_bytes(buf, 5)); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); +} + +TEST_F(TestATHandler, test_ATHandler_read_string) +{ + EventQueue que; + FileHandle_stub fh1; + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + ATHandler at(&fh1, que, 0, ","); + + // *** EMPTY *** + at.clear_error(); + char table1[] = ""; + at.flush(); + filehandle_stub_table = table1; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf1[1]; + // No _stop_tag set without resp_start + EXPECT_TRUE(-1 == at.read_string(buf1, 1)); + at.clear_error(); + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + // Device error because buffer is empty + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + at.clear_error(); + // Device error because empty buffer and attempt to fill_buffer by consume_char('\"') + EXPECT_TRUE(-1 == at.read_string(buf1, 1)); + + // *** 1 BYTE *** + at.clear_error(); + char table2[] = "s\0"; + at.flush(); + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf2[1]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + // Device error because no CRLF and no more data to read + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + at.clear_error(); + EXPECT_TRUE(0 == at.read_string(buf2, 1)); + + // *** CRLF *** + at.clear_error(); + char table3[] = "\r\ns\r\n\0"; + at.flush(); + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf3[1]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + // OK because after CRLF matched there is more data to read ending in CRLF + EXPECT_TRUE(NSAPI_ERROR_OK == at.get_last_error()); + // To read 0 bytes from: s\r\n + EXPECT_TRUE(0 == at.read_string(buf3, 0 + 1/*for NULL*/)); + // To read 1 byte from: s\r\n -> read s + EXPECT_TRUE(1 == at.read_string(buf3, 1 + 1/*for NULL*/)); + + // *** Reading more than available in buffer *** + at.clear_error(); + char table4[] = "\"s,\"OK\r\n\0"; + at.flush(); + filehandle_stub_table = table4; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf4[7]; + uint8_t buf5[5]; + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read 5 bytes from: "s,"OK\r\n -> read "s,"O + at.read_bytes(buf5, 5); + // K\r\n left to be read -> reading more than 3 + 1(for NULL) -> ERROR + EXPECT_TRUE(-1 == at.read_string(buf4, 4 + 1/*for NULL*/)); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + + // *** Encountering delimiter after reading 1 byte *** + at.clear_error(); + at.flush(); + filehandle_stub_table = table4; + filehandle_stub_table_pos = 0; + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read 1 byte from: "s,"OK\r\n -> read " + at.read_bytes(buf5, 1); + // TO read max 4 from: s,"OK\r\n -> read s and stop on , + EXPECT_TRUE(1 == at.read_string(buf4, 4 + 1/*for NULL*/)); + + // *** Encountering delimiter as first char in buffer *** + at.clear_error(); + at.flush(); + filehandle_stub_table = table4; + filehandle_stub_table_pos = 0; + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read 2 bytes from: "s,"OK\r\n -> read "s + at.read_bytes(buf5, 2); + // TO read max 4 bytes from: ,"OK\r\n -> stop on , + EXPECT_TRUE(0 == at.read_string(buf4, 4 + 1/*for NULL*/)); + + // *** Read as much as buffer size is without encountering any delimiter " or OKCRLF *** + at.clear_error(); + char table5[] = "\"s\"OK\r\nabcd\0"; + at.flush(); + filehandle_stub_table = table5; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read 1 byte from: "s"OK\r\n -> read " + at.read_bytes(buf5, 1); + // TO read max 1 byte from: s"OK\r\n -> read s + EXPECT_TRUE(1 == at.read_string(buf4, 1 + 1/*for NULL*/)); + + // *** Consume " and run into OKCRLF *** + // TO read max 1 byte from: "OK\r\n -> consume " and find stop tag OKCRLF + EXPECT_TRUE(0 == at.read_string(buf4, 1 + 1/*for NULL*/)); + + // *** Try to read after stop tag was found *** + // stop tag found do not read further + EXPECT_TRUE(-1 == at.read_string(buf4, 1 + 1/*for NULL*/)); + + // *** Try to read after stop tag was found when parameter allows it *** + // stop tag found but flag indicates to read despite stop_tag found + EXPECT_TRUE(4 == at.read_string(buf4, 4 + 1/*for NULL*/, true)); + + // *** Read as much as buffer size is without encountering any delimiter " or OKCRLF *** + at.clear_error(); + char table6[] = "sss\rsss\0"; + at.flush(); + filehandle_stub_table = table6; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + at.resp_start("s"); + // TO read from: ss\rsss -> read all 6 chars ss\rsss + EXPECT_TRUE(6 == at.read_string(buf4, 6 + 1/*for NULL*/)); + + // *** Reading when buffer only has " *** + at.clear_error(); + char table7[] = "s\"\0"; + at.flush(); + filehandle_stub_table = table7; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + at.resp_start("s"); + // TO read from buffer having only " -> consume " -> trying to read when nothing in buffer + EXPECT_TRUE(-1 == at.read_string(buf4, 5)); + EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); + + // *** Reading through partially matching stop tag *** + at.clear_error(); + char table8[] = "\"s\"OK\rabcd\r\n\0"; + at.flush(); + filehandle_stub_table = table8; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf8[9]; + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read from + EXPECT_TRUE(8 == at.read_string(buf8, 8 + 1/*for NULL*/)); + + // *** Reading through partially matching stop tag *** + at.clear_error(); + char table9[] = "\"s\"Oabcd\r\n\0"; + at.flush(); + filehandle_stub_table = table9; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf9[5]; + + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read from + EXPECT_TRUE(6 == at.read_string(buf9, 6 + 1/*for NULL*/)); + + // *** CRLF part of the string *** + at.clear_error(); + char table10[] = "\"s\"\r\nOK\r\n\0"; + at.flush(); + filehandle_stub_table = table10; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf10[10]; + + // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read + at.resp_start(); + // TO read from + EXPECT_TRUE(3 == at.read_string(buf10, 9 + 1/*for NULL*/)); +} + +TEST_F(TestATHandler, test_ATHandler_read_hex_string) +{ + EventQueue que; + FileHandle_stub fh1; + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + ATHandler at(&fh1, que, 0, ","); + + // *** Read up to delimiter, even length *** + at.clear_error(); + char table1[] = "68656C6C6F,"; + at.flush(); + filehandle_stub_table = table1; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf1[10]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + EXPECT_TRUE(5 == at.read_hex_string(buf1, 5)); + EXPECT_TRUE(!strncmp(buf1, "hello", 5)); + + // *** Read up to delimiter, odd length *** + at.clear_error(); + char table2[] = "68656C6C6F7,"; + at.flush(); + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf2[10]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + EXPECT_TRUE(5 == at.read_hex_string(buf2, 6)); + EXPECT_TRUE(!strncmp(buf2, "hello", 5)); + + // *** Read with stop tag, even length *** + at.clear_error(); + char table3[] = "6865OK\r\n"; + at.flush(); + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf3[6]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + EXPECT_TRUE(2 == at.read_hex_string(buf3, 2 + 1/*get to stop tag match*/)); + EXPECT_TRUE(!strncmp(buf3, "he", 2)); + at.resp_stop(); + + // *** Read with stop tag, odd length *** + at.clear_error(); + char table4[] = "686OK\r\n"; + at.flush(); + filehandle_stub_table = table4; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + char buf4[6]; + // Set _stop_tag to resp_stop(OKCRLF) + at.resp_start(); + EXPECT_TRUE(1 == at.read_hex_string(buf4, 2 + 1/*get to stop tag match*/)); + EXPECT_TRUE(!strncmp(buf4, "h", 1)); +} + +TEST_F(TestATHandler, test_ATHandler_read_int) +{ + EventQueue que; + FileHandle_stub fh1; + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + ATHandler at(&fh1, que, 0, ","); + + int32_t ret = at.read_int(); + EXPECT_TRUE(-1 == ret); + at.clear_error(); + + char table[] = "\",\"OK\r\n\0"; + filehandle_stub_table = table; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table); + + at.resp_start(); + + ret = at.read_int(); + EXPECT_TRUE(-1 == ret); + at.flush(); + at.clear_error(); + + char table2[] = "\"2,\"OK\r\n\0"; + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table2); + + at.resp_start(); + + ret = at.read_int(); + EXPECT_TRUE(2 == ret); +} + +TEST_F(TestATHandler, test_ATHandler_resp_start) +{ + EventQueue que; + FileHandle_stub fh1; + + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + ATHandler at(&fh1, que, 0, ","); + at.resp_start(); + at.resp_start(); + + char table2[] = "\"2,\"OK\r\n\0"; + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start("ssssaaaassssaaaassss"); //too long prefix + + char table3[] = "+CME ERROR: 108\0"; + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + char table4[] = "+CMS ERROR: 6\0"; + filehandle_stub_table = table4; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + char table5[] = "ERROR\r\n\0"; + filehandle_stub_table = table5; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + char table6[] = "OK\r\n\0"; + filehandle_stub_table = table6; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + char table7[] = "ssssss\0"; + filehandle_stub_table = table7; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.set_urc_handler("ss", NULL); + at.resp_start(); +} + +TEST_F(TestATHandler, test_ATHandler_resp_stop) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + + char table[] = "21 OK\r\n\0"; + filehandle_stub_table = table; + filehandle_stub_table_pos = 0; + + at.info_elem('2'); + at.set_stop_tag("OK\r\n"); + at.resp_stop(); + + char table3[] = "+CME ERROR: 108\0"; + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start(); + + at.resp_stop(); + + char table7[] = "ssssss\0"; + filehandle_stub_table = table7; + filehandle_stub_table_pos = 0; + + at.flush(); + at.clear_error(); + at.resp_start("ss", false); + at.resp_stop(); +} + +TEST_F(TestATHandler, test_ATHandler_info_resp) +{ + EventQueue que; + FileHandle_stub fh1; + + filehandle_stub_table = NULL; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(at.info_resp()); + + at.resp_start(); + EXPECT_TRUE(!at.info_resp()); + + at.flush(); + at.clear_error(); + + char table2[] = "21 OK\r\n\0"; + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table2); + + at.resp_start("21"); + EXPECT_TRUE(at.info_resp()); + + EXPECT_TRUE(!at.info_resp()); + + at.flush(); + at.clear_error(); + + char table3[] = "21 OK\r\n\0"; + filehandle_stub_table = table3; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table3); + + EXPECT_TRUE(at.info_resp()); +} + +TEST_F(TestATHandler, test_ATHandler_info_elem) +{ + EventQueue que; + FileHandle_stub fh1; + + char table[] = "21 OK\r\n\0"; + filehandle_stub_table = table; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table); + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(!at.info_elem('O')); + at.flush(); + + char table2[] = "21 OK\r\n\0"; + filehandle_stub_table = table2; + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = strlen(table2); + + at.clear_error(); + at.resp_start("21"); + EXPECT_TRUE(at.info_elem('O')); + at.flush(); + + filehandle_stub_table = NULL; + filehandle_stub_table_pos = 0; + + at.clear_error(); + at.resp_start("21"); + EXPECT_TRUE(!at.info_elem('2')); +} + +TEST_F(TestATHandler, test_ATHandler_consume_to_stop_tag) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + EXPECT_TRUE(at.consume_to_stop_tag()); +} + +TEST_F(TestATHandler, test_ATHandler_set_debug) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.set_debug(true); + + at.set_debug(false); +} + +TEST_F(TestATHandler, test_ATHandler_get_3gpp_error) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + at.get_3gpp_error(); +} diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake new file mode 100644 index 0000000000..6f9c05df34 --- /dev/null +++ b/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake @@ -0,0 +1,41 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "at_handler_unit") + +# Add test specific include paths +set(unittest-includes ${unittest-includes} + features/cellular/framework/common/util + ../features/cellular/framework/common + ../features/cellular/framework/AT + ../features/frameworks/mbed-client-randlib/mbed-client-randlib +) + +# Source files +set(unittest-sources + ../features/cellular/framework/AT/ATHandler.cpp + ../features/cellular/framework/common/CellularUtil.cpp +) + +# Test files +set(unittest-test-sources + features/cellular/framework/AT/athandler/athandlertest.cpp + stubs/AT_CellularBase_stub.cpp + stubs/EventQueue_stub.cpp + stubs/FileHandle_stub.cpp + stubs/us_ticker_stub.cpp + stubs/mbed_wait_api_stub.cpp + stubs/mbed_assert_stub.cpp + stubs/mbed_poll_stub.cpp + stubs/Timer_stub.cpp + stubs/equeue_stub.c + stubs/Kernel_stub.cpp + stubs/Thread_stub.cpp + stubs/randLIB_stub.cpp +) + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMBED_CONF_CELLULAR_DEBUG_AT=true -DOS_STACK_SIZE=2048") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMBED_CONF_CELLULAR_DEBUG_AT=true -DOS_STACK_SIZE=2048") diff --git a/UNITTESTS/features/cellular/framework/common/util/test_util.cpp b/UNITTESTS/features/cellular/framework/common/util/test_util.cpp deleted file mode 100644 index 49aebf90b0..0000000000 --- a/UNITTESTS/features/cellular/framework/common/util/test_util.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gtest/gtest.h" -#include "test_util.h" -#include -#include "CellularUtil.h" -#include - -using namespace mbed_cellular_util; - -Test_util::Test_util() -{ - -} - -Test_util::~Test_util() -{ -} - -void Test_util::test_util_uint_to_binary_string() -{ - char str[33]; - uint_to_binary_str(15, str, 33, 32); - str[32] = '\0'; - // 15 is "1111" in binary but we ask all 32 bits so it should return "00000000000000000000000000001111" - EXPECT_STREQ("00000000000000000000000000001111", str); - - // test NULL pointer - uint_to_binary_str(15, NULL, 0, 32); - - // test give too small buffer - char too_small[5]; - uint_to_binary_str(15, too_small, 5, 6); -} - -void Test_util::test_util_char_str_to_hex() -{ - // basic conversion test, happy days - char hex_buf[50]; - uint16_t number_of_hex_chars = char_str_to_hex_str("1234", 4, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - EXPECT_STREQ("31323334", hex_buf); - EXPECT_EQ(8, number_of_hex_chars); - - number_of_hex_chars = char_str_to_hex_str("wuhuu", 5, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - EXPECT_STREQ("7775687575", hex_buf); - EXPECT_EQ(10, number_of_hex_chars); - - // First don't omit the leading zero and then omit and check that leading zero is missing - number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - EXPECT_STREQ("0A7775687575", hex_buf); - EXPECT_EQ(12, number_of_hex_chars); - - number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf, true); - hex_buf[number_of_hex_chars] = '\0'; - EXPECT_STREQ("A7775687575", hex_buf); - EXPECT_EQ(11, number_of_hex_chars); - - // test giving a null pointer - number_of_hex_chars = char_str_to_hex_str(NULL, 4, hex_buf); - EXPECT_EQ(0, number_of_hex_chars); - number_of_hex_chars = char_str_to_hex_str("1234", 4, NULL); - EXPECT_EQ(0, number_of_hex_chars); -} - -void Test_util::test_util_convert_ipv6() -{ - // leading zeros omitted - char ipv6[64]; - strncpy(ipv6, "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1", 64); - convert_ipv6(ipv6); - EXPECT_STREQ("101:101:101:101:101:101:101:101", ipv6); - EXPECT_EQ(31, strlen(ipv6)); - - // some omitted and some not so much - strncpy(ipv6, "255.1.120.2.244.12.55.45.201.110.11.2.233.154.85.96", 64); - convert_ipv6(ipv6); - EXPECT_STREQ("FF01:7802:F40C:372D:C96E:B02:E99A:5560", ipv6); - EXPECT_EQ(38, strlen(ipv6)); - - // test giving a null pointer - convert_ipv6(NULL); -} - -void Test_util::test_util_prefer_ipv6() -{ - char tt[20] = "62.241.198.246"; - char temp[64] = "2001:14B8:1000:000:000:000:000:002"; - - // not enough space to swap, arrays should stay the same - prefer_ipv6(tt, sizeof(tt), temp, sizeof(temp)); - EXPECT_STREQ("62.241.198.246", tt); - EXPECT_STREQ("2001:14B8:1000:000:000:000:000:002", temp); - - // should swap as first one was ip4 and later was ipv6 and enough space - char tt2[64] = "62.241.198.246"; - prefer_ipv6(tt2, sizeof(tt2), temp, sizeof(temp)); - EXPECT_STREQ("62.241.198.246", temp); - EXPECT_STREQ("2001:14B8:1000:000:000:000:000:002", tt2); -} - -void Test_util::test_util_separate_ip_addresses() -{ - char *s = (char *)calloc(128, 1); - - char ip[64] = {0}; - char subnet[64] = {0}; - - strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15", 94); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("2001:14BB:170:8BF5:FB88:E86E:7B33:E68A", ip); - EXPECT_STREQ("001:203:405:607:809:A0B:C0D:E0F", subnet); - - strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", 94); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); - EXPECT_STREQ("0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4\0", 8); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("1.2.3.4", ip); - EXPECT_STREQ("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4.5.6.7.8\0", 16); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("1.2.3.4", ip); - EXPECT_STREQ("5.6.7.8", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16\0", 39); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("102:304:506:708:90A:B0C:D0E:F10", ip); - EXPECT_STREQ("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 57); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); - EXPECT_STREQ("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4 32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 65); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("1.2.3.4", ip); - EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20\0", 51); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - EXPECT_STREQ("1.2.3.4", ip); - EXPECT_STREQ("506:708:90A:B0C:D0E:F10:1112:1314", subnet); - EXPECT_STREQ("1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20", s); - - free(s); -} diff --git a/UNITTESTS/features/cellular/framework/common/util/unittest.cmake b/UNITTESTS/features/cellular/framework/common/util/unittest.cmake index b1d43bac34..cefe41bb1c 100644 --- a/UNITTESTS/features/cellular/framework/common/util/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/common/util/unittest.cmake @@ -20,7 +20,6 @@ set(unittest-sources # Test files set(unittest-test-sources - stubs/randLIB_stub.c - features/cellular/framework/common/util/test_util.cpp features/cellular/framework/common/util/utiltest.cpp + stubs/randLIB_stub.cpp ) diff --git a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp index deaa0c5690..237316608b 100644 --- a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp +++ b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Arm Limited and affiliates + * Copyright (c) 2018, Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,49 +15,167 @@ * limitations under the License. */ #include "gtest/gtest.h" -#include "test_util.h" +#include +#include "CellularUtil.h" -class TestUtil : public testing::Test { +using namespace mbed_cellular_util; + +// AStyle ignored as the definition is not clear due to preprocessor usage +// *INDENT-OFF* +class Testutil : public testing::Test { protected: - Test_util *unit; - virtual void SetUp() + void SetUp() { - unit = new Test_util(); } - virtual void TearDown() + void TearDown() { - delete unit; } }; +// *INDENT-ON* -TEST_F(TestUtil, Create) +TEST_F(Testutil, test_util_uint_to_binary_string) { - EXPECT_TRUE(unit); + char str[33]; + uint_to_binary_str(15, str, 33, 32); + str[32] = '\0'; + // 15 is "1111" in binary but we ask all 32 bits so it should return "00000000000000000000000000001111" + EXPECT_STREQ("00000000000000000000000000001111", str); + + // test NULL pointer + uint_to_binary_str(15, NULL, 0, 32); + + // test give too small buffer + char too_small[5]; + uint_to_binary_str(15, too_small, 5, 6); } -TEST_F(TestUtil, test_util_uint_to_binary_string) +TEST_F(Testutil, char_str_to_hex) { - unit->test_util_uint_to_binary_string(); + // basic conversion test, happy days + char hex_buf[50]; + uint16_t number_of_hex_chars = char_str_to_hex_str("1234", 4, hex_buf); + hex_buf[number_of_hex_chars] = '\0'; + EXPECT_STREQ("31323334", hex_buf); + EXPECT_EQ(8, number_of_hex_chars); + + number_of_hex_chars = char_str_to_hex_str("wuhuu", 5, hex_buf); + hex_buf[number_of_hex_chars] = '\0'; + EXPECT_STREQ("7775687575", hex_buf); + EXPECT_EQ(10, number_of_hex_chars); + + // First don't omit the leading zero and then omit and check that leading zero is missing + number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf); + hex_buf[number_of_hex_chars] = '\0'; + EXPECT_STREQ("0A7775687575", hex_buf); + EXPECT_EQ(12, number_of_hex_chars); + + number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf, true); + hex_buf[number_of_hex_chars] = '\0'; + EXPECT_STREQ("A7775687575", hex_buf); + EXPECT_EQ(11, number_of_hex_chars); + + // test giving a null pointer + number_of_hex_chars = char_str_to_hex_str(NULL, 4, hex_buf); + EXPECT_EQ(0, number_of_hex_chars); + number_of_hex_chars = char_str_to_hex_str("1234", 4, NULL); + EXPECT_EQ(0, number_of_hex_chars); } -TEST_F(TestUtil, char_str_to_hex) +TEST_F(Testutil, convert_ipv6) { - unit->test_util_char_str_to_hex(); + // leading zeros omitted + char ipv6[64]; + strncpy(ipv6, "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1", 64); + convert_ipv6(ipv6); + EXPECT_STREQ("101:101:101:101:101:101:101:101", ipv6); + EXPECT_EQ(31, strlen(ipv6)); + + // some omitted and some not so much + strncpy(ipv6, "255.1.120.2.244.12.55.45.201.110.11.2.233.154.85.96", 64); + convert_ipv6(ipv6); + EXPECT_STREQ("FF01:7802:F40C:372D:C96E:B02:E99A:5560", ipv6); + EXPECT_EQ(38, strlen(ipv6)); + + // test giving a null pointer + convert_ipv6(NULL); } -TEST_F(TestUtil, convert_ipv6) +TEST_F(Testutil, prefer_ipv6) { - unit->test_util_convert_ipv6(); + char tt[20] = "62.241.198.246"; + char temp[64] = "2001:14B8:1000:000:000:000:000:002"; + + // not enough space to swap, arrays should stay the same + prefer_ipv6(tt, sizeof(tt), temp, sizeof(temp)); + EXPECT_STREQ("62.241.198.246", tt); + EXPECT_STREQ("2001:14B8:1000:000:000:000:000:002", temp); + + // should swap as first one was ip4 and later was ipv6 and enough space + char tt2[64] = "62.241.198.246"; + prefer_ipv6(tt2, sizeof(tt2), temp, sizeof(temp)); + EXPECT_STREQ("62.241.198.246", temp); + EXPECT_STREQ("2001:14B8:1000:000:000:000:000:002", tt2); } -TEST_F(TestUtil, prefer_ipv6) +TEST_F(Testutil, separate_ip_addresses) { - unit->test_util_prefer_ipv6(); -} + char *s = (char *)malloc(128); -TEST_F(TestUtil, separate_ip_addresses) -{ - unit->test_util_separate_ip_addresses(); + char ip[64] = {0}; + char subnet[64] = {0}; + + strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15", 94); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("2001:14BB:170:8BF5:FB88:E86E:7B33:E68A", ip); + EXPECT_STREQ("001:203:405:607:809:A0B:C0D:E0F", subnet); + + strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", 94); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); + EXPECT_STREQ("0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "1.2.3.4\0", 8); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("1.2.3.4", ip); + EXPECT_STREQ("", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "1.2.3.4.5.6.7.8\0", 16); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("1.2.3.4", ip); + EXPECT_STREQ("5.6.7.8", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16\0", 39); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("102:304:506:708:90A:B0C:D0E:F10", ip); + EXPECT_STREQ("", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 57); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); + EXPECT_STREQ("", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "1.2.3.4 32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 65); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("1.2.3.4", ip); + EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", subnet); + + ip[0] = '\0'; + subnet[0] = '\0'; + strncpy(s, "1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20\0", 51); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); + EXPECT_STREQ("1.2.3.4", ip); + EXPECT_STREQ("506:708:90A:B0C:D0E:F10:1112:1314", subnet); + EXPECT_STREQ("1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20", s); } diff --git a/UNITTESTS/stubs/ATCmdParser_stub.cpp b/UNITTESTS/stubs/ATCmdParser_stub.cpp new file mode 100644 index 0000000000..d9157ec848 --- /dev/null +++ b/UNITTESTS/stubs/ATCmdParser_stub.cpp @@ -0,0 +1,420 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ATCmdParser.h" +#include "mbed_poll.h" +#include "mbed_debug.h" + +#ifdef LF +#undef LF +#define LF 10 +#else +#define LF 10 +#endif + +#ifdef CR +#undef CR +#define CR 13 +#else +#define CR 13 +#endif + +// getc/putc handling with timeouts +int ATCmdParser::putc(char c) +{ + pollfh fhs; + fhs.fh = _fh; + fhs.events = POLLOUT; + + int count = poll(&fhs, 1, _timeout); + if (count > 0 && (fhs.revents & POLLOUT)) { + return _fh->write(&c, 1) == 1 ? 0 : -1; + } else { + return -1; + } +} + +int ATCmdParser::getc() +{ + pollfh fhs; + fhs.fh = _fh; + fhs.events = POLLIN; + + int count = poll(&fhs, 1, _timeout); + if (count > 0 && (fhs.revents & POLLIN)) { + unsigned char ch; + return _fh->read(&ch, 1) == 1 ? ch : -1; + } else { + return -1; + } +} + +void ATCmdParser::flush() +{ + while (_fh->readable()) { + unsigned char ch; + _fh->read(&ch, 1); + } +} + + +// read/write handling with timeouts +int ATCmdParser::write(const char *data, int size) +{ + int i = 0; + for (; i < size; i++) { + if (putc(data[i]) < 0) { + return -1; + } + } + return i; +} + +int ATCmdParser::read(char *data, int size) +{ + int i = 0; + for (; i < size; i++) { + int c = getc(); + if (c < 0) { + return -1; + } + data[i] = c; + } + return i; +} + + +// printf/scanf handling +int ATCmdParser::vprintf(const char *format, va_list args) +{ + + if (vsprintf(_buffer, format, args) < 0) { + return false; + } + + int i = 0; + for (; _buffer[i]; i++) { + if (putc(_buffer[i]) < 0) { + return -1; + } + } + return i; +} + +int ATCmdParser::vscanf(const char *format, va_list args) +{ + // Since format is const, we need to copy it into our buffer to + // add the line's null terminator and clobber value-matches with asterisks. + // + // We just use the beginning of the buffer to avoid unnecessary allocations. + int i = 0; + int offset = 0; + + while (format[i]) { + if (format[i] == '%' && format[i + 1] != '%' && format[i + 1] != '*') { + _buffer[offset++] = '%'; + _buffer[offset++] = '*'; + i++; + } else { + _buffer[offset++] = format[i++]; + } + } + + // Scanf has very poor support for catching errors + // fortunately, we can abuse the %n specifier to determine + // if the entire string was matched. + _buffer[offset++] = '%'; + _buffer[offset++] = 'n'; + _buffer[offset++] = 0; + + // To workaround scanf's lack of error reporting, we actually + // make two passes. One checks the validity with the modified + // format string that only stores the matched characters (%n). + // The other reads in the actual matched values. + // + // We keep trying the match until we succeed or some other error + // derails us. + int j = 0; + + while (true) { + // Ran out of space + if (j + 1 >= _buffer_size - offset) { + return false; + } + // Recieve next character + int c = getc(); + if (c < 0) { + return -1; + } + _buffer[offset + j++] = c; + _buffer[offset + j] = 0; + + // Check for match + int count = -1; + sscanf(_buffer + offset, _buffer, &count); + + // We only succeed if all characters in the response are matched + if (count == j) { + // Store the found results + vsscanf(_buffer + offset, format, args); + return j; + } + } +} + + +// Command parsing with line handling +bool ATCmdParser::vsend(const char *command, va_list args) +{ + // Create and send command + if (vsprintf(_buffer, command, args) < 0) { + return false; + } + + for (int i = 0; _buffer[i]; i++) { + if (putc(_buffer[i]) < 0) { + return false; + } + } + + // Finish with newline + for (size_t i = 0; _output_delimiter[i]; i++) { + if (putc(_output_delimiter[i]) < 0) { + return false; + } + } + + debug_if(_dbg_on, "AT> %s\n", _buffer); + return true; +} + +bool ATCmdParser::vrecv(const char *response, va_list args) +{ +restart: + _aborted = false; + // Iterate through each line in the expected response + while (response[0]) { + // Since response is const, we need to copy it into our buffer to + // add the line's null terminator and clobber value-matches with asterisks. + // + // We just use the beginning of the buffer to avoid unnecessary allocations. + int i = 0; + int offset = 0; + bool whole_line_wanted = false; + + while (response[i]) { + if (response[i] == '%' && response[i + 1] != '%' && response[i + 1] != '*') { + _buffer[offset++] = '%'; + _buffer[offset++] = '*'; + i++; + } else { + _buffer[offset++] = response[i++]; + // Find linebreaks, taking care not to be fooled if they're in a %[^\n] conversion specification + if (response[i - 1] == '\n' && !(i >= 3 && response[i - 3] == '[' && response[i - 2] == '^')) { + whole_line_wanted = true; + break; + } + } + } + + // Scanf has very poor support for catching errors + // fortunately, we can abuse the %n specifier to determine + // if the entire string was matched. + _buffer[offset++] = '%'; + _buffer[offset++] = 'n'; + _buffer[offset++] = 0; + + debug_if(_dbg_on, "AT? %s\n", _buffer); + // To workaround scanf's lack of error reporting, we actually + // make two passes. One checks the validity with the modified + // format string that only stores the matched characters (%n). + // The other reads in the actual matched values. + // + // We keep trying the match until we succeed or some other error + // derails us. + int j = 0; + + while (true) { + // Receive next character + int c = getc(); + if (c < 0) { + debug_if(_dbg_on, "AT(Timeout)\n"); + return false; + } + // Simplify newlines (borrowed from retarget.cpp) + if ((c == CR && _in_prev != LF) || + (c == LF && _in_prev != CR)) { + _in_prev = c; + c = '\n'; + } else if ((c == CR && _in_prev == LF) || + (c == LF && _in_prev == CR)) { + _in_prev = c; + // onto next character + continue; + } else { + _in_prev = c; + } + _buffer[offset + j++] = c; + _buffer[offset + j] = 0; + + // Check for oob data + for (struct oob *oob = _oobs; oob; oob = oob->next) { + if ((unsigned)j == oob->len && memcmp( + oob->prefix, _buffer + offset, oob->len) == 0) { + debug_if(_dbg_on, "AT! %s\n", oob->prefix); + oob->cb(); + + if (_aborted) { + debug_if(_dbg_on, "AT(Aborted)\n"); + return false; + } + // oob may have corrupted non-reentrant buffer, + // so we need to set it up again + goto restart; + } + } + + // Check for match + int count = -1; + if (whole_line_wanted && c != '\n') { + // Don't attempt scanning until we get delimiter if they included it in format + // This allows recv("Foo: %s\n") to work, and not match with just the first character of a string + // (scanf does not itself match whitespace in its format string, so \n is not significant to it) + } else { + sscanf(_buffer + offset, _buffer, &count); + } + + // We only succeed if all characters in the response are matched + if (count == j) { + debug_if(_dbg_on, "AT= %s\n", _buffer + offset); + // Reuse the front end of the buffer + memcpy(_buffer, response, i); + _buffer[i] = 0; + + // Store the found results + vsscanf(_buffer + offset, _buffer, args); + + // Jump to next line and continue parsing + response += i; + break; + } + + // Clear the buffer when we hit a newline or ran out of space + // running out of space usually means we ran into binary data + if (c == '\n' || j + 1 >= _buffer_size - offset) { + debug_if(_dbg_on, "AT< %s", _buffer + offset); + j = 0; + } + } + } + + return true; +} + +// Mapping to vararg functions +int ATCmdParser::printf(const char *format, ...) +{ + va_list args; + va_start(args, format); + int res = vprintf(format, args); + va_end(args); + return res; +} + +int ATCmdParser::scanf(const char *format, ...) +{ + va_list args; + va_start(args, format); + int res = vscanf(format, args); + va_end(args); + return res; +} + +bool ATCmdParser::send(const char *command, ...) +{ + va_list args; + va_start(args, command); + bool res = vsend(command, args); + va_end(args); + return res; +} + +bool ATCmdParser::recv(const char *response, ...) +{ + va_list args; + va_start(args, response); + bool res = vrecv(response, args); + va_end(args); + return res; +} + +// oob registration +void ATCmdParser::oob(const char *prefix, Callback cb) +{ + struct oob *oob = new struct oob; + oob->len = strlen(prefix); + oob->prefix = prefix; + oob->cb = cb; + oob->next = _oobs; + _oobs = oob; +} + +void ATCmdParser::abort() +{ + _aborted = true; +} + +bool ATCmdParser::process_oob() +{ + if (!_fh->readable()) { + return false; + } + + int i = 0; + while (true) { + // Receive next character + int c = getc(); + if (c < 0) { + return false; + } + _buffer[i++] = c; + _buffer[i] = 0; + + // Check for oob data + struct oob *oob = _oobs; + while (oob) { + if (i == (int)oob->len && memcmp( + oob->prefix, _buffer, oob->len) == 0) { + debug_if(_dbg_on, "AT! %s\r\n", oob->prefix); + oob->cb(); + return true; + } + oob = oob->next; + } + + // Clear the buffer when we hit a newline or ran out of space + // running out of space usually means we ran into binary data + if (i + 1 >= _buffer_size || + strcmp(&_buffer[i - _output_delim_size], _output_delimiter) == 0) { + + debug_if(_dbg_on, "AT< %s", _buffer); + i = 0; + } + } +} + + diff --git a/UNITTESTS/stubs/ATHandler_stub.cpp b/UNITTESTS/stubs/ATHandler_stub.cpp index cee8e30579..3daf8da115 100644 --- a/UNITTESTS/stubs/ATHandler_stub.cpp +++ b/UNITTESTS/stubs/ATHandler_stub.cpp @@ -31,6 +31,10 @@ const int DEFAULT_AT_TIMEOUT = 1000; // at default timeout in milliseconds nsapi_error_t ATHandler_stub::nsapi_error_value = 0; uint8_t ATHandler_stub::nsapi_error_ok_counter = 0; int ATHandler_stub::int_value = -1; +int ATHandler_stub::ref_count = 0; +int ATHandler_stub::timeout = 0; +bool ATHandler_stub::default_timeout = 0; +bool ATHandler_stub::debug_on = 0; ssize_t ATHandler_stub::ssize_value = 0; char *ATHandler_stub::read_string_value = NULL; size_t ATHandler_stub::size_value = 0; @@ -41,28 +45,45 @@ FileHandle_stub *ATHandler_stub::fh_value = NULL; device_err_t ATHandler_stub::device_err_value; Callback ATHandler_stub::callback = NULL; uint8_t ATHandler_stub::resp_info_true_counter = false; +uint8_t ATHandler_stub::info_elem_true_counter = false; +int ATHandler_stub::int_valid_count_table[kRead_int_table_size]; +int ATHandler_stub::int_count = kRead_int_table_size; -ATHandler::ATHandler(FileHandle *fh, EventQueue &queue, int timeout, const char *output_delimiter, uint16_t send_delay) : _nextATHandler(0), +int ATHandler_stub::read_string_index = kRead_string_table_size; +char *ATHandler_stub::read_string_table[kRead_string_table_size]; +int ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; + +ATHandler::ATHandler(FileHandle *fh, EventQueue &queue, int timeout, const char *output_delimiter, uint16_t send_delay) : + _nextATHandler(0), _fileHandle(fh), _queue(queue) { + ATHandler_stub::ref_count = 1; +} + +void ATHandler::set_debug(bool debug_on) +{ + ATHandler_stub::debug_on = debug_on; } ATHandler::~ATHandler() { + ATHandler_stub::ref_count = -909; } void ATHandler::inc_ref_count() { + ATHandler_stub::ref_count++; } void ATHandler::dec_ref_count() { + ATHandler_stub::ref_count--; } int ATHandler::get_ref_count() { - return ATHandler_stub::int_value; + return ATHandler_stub::ref_count; } FileHandle *ATHandler::get_file_handle() @@ -77,7 +98,7 @@ void ATHandler::set_file_handle(FileHandle *fh) nsapi_error_t ATHandler::set_urc_handler(const char *urc, mbed::Callback cb) { ATHandler_stub::callback = cb; - return NSAPI_ERROR_OK; + return ATHandler_stub::nsapi_error_value; } void ATHandler::remove_urc_handler(const char *prefix, mbed::Callback callback) @@ -108,6 +129,8 @@ nsapi_error_t ATHandler::unlock_return_error() void ATHandler::set_at_timeout(uint32_t timeout_milliseconds, bool default_timeout) { + ATHandler_stub::timeout = timeout_milliseconds; + ATHandler_stub::default_timeout = default_timeout; } void ATHandler::restore_at_timeout() @@ -120,10 +143,12 @@ void ATHandler::process_oob() void ATHandler::clear_error() { + ATHandler_stub::nsapi_error_ok_counter++; } void ATHandler::skip_param(uint32_t count) { + } void ATHandler::skip_param(ssize_t len, uint32_t count) @@ -137,15 +162,44 @@ ssize_t ATHandler::read_bytes(uint8_t *buf, size_t len) ssize_t ATHandler::read_string(char *buf, size_t size, bool read_even_stop_tag) { - if (ATHandler_stub::read_string_value && ATHandler_stub::ssize_value >= 0) { - memcpy(buf, ATHandler_stub::read_string_value, ATHandler_stub::ssize_value); + + if (ATHandler_stub::read_string_index == kRead_string_table_size) { + if (ATHandler_stub::read_string_value && ATHandler_stub::ssize_value >= 0) { + memcpy(buf, ATHandler_stub::read_string_value, ATHandler_stub::ssize_value + 1); + } + return ATHandler_stub::ssize_value; } - return ATHandler_stub::ssize_value; + + ATHandler_stub::read_string_index--; + if (ATHandler_stub::read_string_index >= 0) { + char *tmp = ATHandler_stub::read_string_table[ATHandler_stub::read_string_index]; + ssize_t len = strlen(tmp); + memcpy(buf, tmp, len + 1); + return len; + } + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + return -1; } -int ATHandler::read_int() +int32_t ATHandler::read_int() { - return ATHandler_stub::int_value; + if (ATHandler_stub::nsapi_error_value != NSAPI_ERROR_OK) { + return -1; + } + + if (ATHandler_stub::int_count == kRead_int_table_size) { + return ATHandler_stub::int_value; + } + + //printf("ATHandler_stub::int_count: %d", ATHandler_stub::int_count); + ATHandler_stub::int_count--; + if (ATHandler_stub::int_count < kRead_int_table_size && ATHandler_stub::int_count >= 0) { + return ATHandler_stub::int_valid_count_table[ATHandler_stub::int_count]; + } + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; + return -1; } void ATHandler::set_delimiter(char delimiter) @@ -180,6 +234,10 @@ bool ATHandler::info_resp() bool ATHandler::info_elem(char start_tag) { + if (ATHandler_stub::info_elem_true_counter) { + ATHandler_stub::info_elem_true_counter--; + return true; + } return ATHandler_stub::bool_value; } @@ -190,13 +248,18 @@ bool ATHandler::consume_to_stop_tag() void ATHandler::resp_stop() { + if (ATHandler_stub::resp_stop_success_count > 0) { + ATHandler_stub::resp_stop_success_count--; + return; + } + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; } void ATHandler::cmd_start(const char *cmd) { } -void ATHandler::write_int(int param) +void ATHandler::write_int(int32_t param) { } @@ -223,4 +286,5 @@ device_err_t ATHandler::get_last_device_error() const void ATHandler::flush() { + } diff --git a/UNITTESTS/stubs/ATHandler_stub.h b/UNITTESTS/stubs/ATHandler_stub.h index 6ea956601a..d259938488 100644 --- a/UNITTESTS/stubs/ATHandler_stub.h +++ b/UNITTESTS/stubs/ATHandler_stub.h @@ -23,21 +23,37 @@ #include "FileHandle_stub.h" #include "Callback.h" -namespace ATHandler_stub -{ +#ifndef __AT_HANDLER_STUB_H__ +#define __AT_HANDLER_STUB_H__ +static const int kRead_string_table_size = 100; +static const int kRead_int_table_size = 100; +static const int kResp_stop_count_default = 100; + +namespace ATHandler_stub { extern nsapi_error_t nsapi_error_value; extern uint8_t nsapi_error_ok_counter; extern int int_value; +extern int ref_count; +extern int timeout; +extern bool default_timeout; +extern bool debug_on; extern ssize_t ssize_value; extern char *read_string_value; extern size_t size_value; extern size_t return_given_size; extern bool bool_value; extern uint8_t resp_info_true_counter; +extern uint8_t info_elem_true_counter; extern uint8_t uint8_value; extern mbed::FileHandle_stub *fh_value; extern mbed::device_err_t device_err_value; extern mbed::Callback callback; +extern char *read_string_table[kRead_string_table_size]; +extern int read_string_index; +extern int int_valid_count_table[kRead_int_table_size]; +extern int int_count; +extern int resp_stop_success_count; +} -} // namespace ATHandler_stub +#endif diff --git a/UNITTESTS/stubs/AT_CellularBase_stub.cpp b/UNITTESTS/stubs/AT_CellularBase_stub.cpp new file mode 100644 index 0000000000..e1f8526f5f --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularBase_stub.cpp @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "nsapi_types.h" +#include "AT_CellularBase.h" +#include "AT_CellularBase_stub.h" + + +using namespace mbed; + +ATHandler *AT_CellularBase_stub::handler_value = NULL; +ATHandler *AT_CellularBase_stub::handler_at_constructor_value = NULL; +device_err_t AT_CellularBase_stub::device_err_value; +bool AT_CellularBase_stub::supported_bool = true; + +AT_CellularBase::AT_CellularBase(ATHandler &at) : _at(at) +{ + AT_CellularBase_stub::handler_at_constructor_value = &_at; +} + +ATHandler &AT_CellularBase::get_at_handler() +{ + return *AT_CellularBase_stub::handler_value; +} + +device_err_t AT_CellularBase::get_device_error() const +{ + return AT_CellularBase_stub::device_err_value; +} + +bool AT_CellularBase::is_supported(SupportedFeature feature) +{ + return AT_CellularBase_stub::supported_bool; +} diff --git a/UNITTESTS/stubs/AT_CellularBase_stub.h b/UNITTESTS/stubs/AT_CellularBase_stub.h new file mode 100644 index 0000000000..f7d117d192 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularBase_stub.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ATHandler.h" + +namespace AT_CellularBase_stub { +extern mbed::ATHandler *handler_value; +extern mbed::ATHandler *handler_at_constructor_value; +extern mbed::device_err_t device_err_value; +extern bool supported_bool; +} diff --git a/UNITTESTS/stubs/AT_CellularDevice_stub.cpp b/UNITTESTS/stubs/AT_CellularDevice_stub.cpp new file mode 100644 index 0000000000..2010018ced --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularDevice_stub.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularDevice.h" + +AT_CellularDevice::AT_CellularDevice(EventQueue &queue) : + _atHandlers(0), _network(0), _sms(0), _sim(0), _power(0), _multiplexer(0), _information(0), _queue(queue) +{ +} + +AT_CellularDevice::~AT_CellularDevice() +{ +} + +ATHandler *AT_CellularDevice::get_at_handler(FileHandle *fileHandle) +{ + return NULL; +} + +void AT_CellularDevice::release_at_handler(ATHandler *at_handler) +{ + +} + +CellularNetwork *AT_CellularDevice::open_network(FileHandle *fh) +{ + return NULL; +} + +CellularSMS *AT_CellularDevice::open_sms(FileHandle *fh) +{ + return NULL; +} + +CellularSIM *AT_CellularDevice::open_sim(FileHandle *fh) +{ + return NULL; +} + +CellularPower *AT_CellularDevice::open_power(FileHandle *fh) +{ + return NULL; +} + +CellularMultiplexer *AT_CellularDevice::open_multiplexer(FileHandle *fh) +{ + return NULL; +} + +CellularInformation *AT_CellularDevice::open_information(FileHandle *fh) +{ + return NULL; +} + +void AT_CellularDevice::close_network() +{ +} + +void AT_CellularDevice::close_sms() +{ +} + +void AT_CellularDevice::close_power() +{ +} + +void AT_CellularDevice::close_sim() +{ +} + +void AT_CellularDevice::close_multiplexer() +{ +} + +void AT_CellularDevice::close_information() +{ +} diff --git a/UNITTESTS/stubs/AT_CellularInformation_stub.cpp b/UNITTESTS/stubs/AT_CellularInformation_stub.cpp new file mode 100644 index 0000000000..a41b3080d5 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularInformation_stub.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularInformation.h" +#include "nsapi_types.h" + +using namespace mbed; + +AT_CellularInformation::AT_CellularInformation(ATHandler &at) : AT_CellularBase(at) +{ +} + +AT_CellularInformation::~AT_CellularInformation() +{ +} + +nsapi_error_t AT_CellularInformation::get_manufacturer(char *buf, size_t buf_size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularInformation::get_model(char *buf, size_t buf_size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularInformation::get_revision(char *buf, size_t buf_size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularInformation::get_serial_number(char *buf, size_t buf_size, SerialNumberType type) +{ + return NSAPI_ERROR_OK; +} diff --git a/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp b/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp new file mode 100644 index 0000000000..c397d5fb38 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularMultiplexer.h" +#include "CellularLog.h" +#include "nsapi_types.h" + +using namespace mbed; + +AT_CellularMultiplexer::AT_CellularMultiplexer(ATHandler &at) : AT_CellularBase(at) +{ +} + +AT_CellularMultiplexer::~AT_CellularMultiplexer() +{ +} + +nsapi_error_t AT_CellularMultiplexer::multiplexer_mode_start() +{ + return 0; +} diff --git a/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp b/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp new file mode 100644 index 0000000000..c4ba878439 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp @@ -0,0 +1,256 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularNetwork.h" +#include "CellularNetwork.h" +#include "CellularUtil.h" +#include "CellularLog.h" +#include "FileHandle.h" +#include "nsapi_types.h" + +using namespace mbed; +using namespace mbed_cellular_util; + +AT_CellularNetwork::AT_CellularNetwork(ATHandler &atHandler) : AT_CellularBase(atHandler) +{ +} + +AT_CellularNetwork::~AT_CellularNetwork() +{ +} + +nsapi_error_t AT_CellularNetwork::init() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, + const char *username, const char *password) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, + AuthenticationType type, const char *username, const char *password) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::connect(const char *apn, + const char *username, const char *password) +{ + return connect(); +} + +nsapi_error_t AT_CellularNetwork::connect() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::activate_context() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::open_data_channel() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::disconnect() +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularNetwork::attach(Callback status_cb) +{ +} + +nsapi_connection_status_t AT_CellularNetwork::get_connection_status() const +{ + return NSAPI_STATUS_LOCAL_UP; +} + +nsapi_error_t AT_CellularNetwork::set_blocking(bool blocking) +{ + return NSAPI_ERROR_OK;; +} + +nsapi_ip_stack_t AT_CellularNetwork::string_to_stack_type(const char *pdp_type) +{ + return IPV4_STACK; +} + +nsapi_error_t AT_CellularNetwork::set_registration_urc(RegistrationType type, bool urc_on) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_network_registering_mode(NWRegisteringMode &mode) +{ + mode = NWModeAutomatic; + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::set_registration(const char *plmn) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_registration_status(RegistrationType type, RegistrationStatus &status) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_cell_id(int &cell_id) +{ + return NSAPI_ERROR_OK; +} + +AT_CellularNetwork::RegistrationMode AT_CellularNetwork::has_registration(RegistrationType reg_type) +{ + return RegistrationModeDisable; +} + +nsapi_error_t AT_CellularNetwork::set_attach(int timeout) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_attach(AttachStatus &status) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::detach() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_apn_backoff_timer(int &backoffTime) +{ + return NSAPI_ERROR_OK; +} + +NetworkStack *AT_CellularNetwork::get_stack() +{ + return NULL; +} + +const char *AT_CellularNetwork::get_ip_address() +{ + return NULL; +} + +nsapi_error_t AT_CellularNetwork::set_stack_type(nsapi_ip_stack_t stack_type) +{ + return NSAPI_ERROR_OK; +} + +nsapi_ip_stack_t AT_CellularNetwork::get_stack_type() +{ + return IPV4_STACK; +} + +bool AT_CellularNetwork::get_modem_stack_type(nsapi_ip_stack_t requested_stack) +{ + return false; +} + +void AT_CellularNetwork::urc_no_carrier() +{ + +} + +nsapi_error_t AT_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opsAct) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::set_access_technology(RadioAccessTechnology opAct) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_access_technology(RadioAccessTechnology &rat) +{ + rat = RAT_CATM1; + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::scan_plmn(operList_t &operators, int &opsCount) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::set_ciot_optimization_config(Supported_UE_Opt supported_opt, + Preferred_UE_Opt preferred_opt) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_ciot_optimization_config(Supported_UE_Opt &supported_opt, + Preferred_UE_Opt &preferred_opt) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_rate_control( + CellularNetwork::RateControlExceptionReports &reports, + CellularNetwork::RateControlUplinkTimeUnit &timeUnit, int &uplinkRate) +{ + return NSAPI_ERROR_OK; +} + + +nsapi_error_t AT_CellularNetwork::get_pdpcontext_params(pdpContextList_t ¶ms_list) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_extended_signal_quality(int &rxlev, int &ber, int &rscp, int &ecno, int &rsrq, int &rsrp) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_signal_quality(int &rssi, int &ber) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::get_operator_params(int &format, operator_t &operator_params) +{ + return NSAPI_ERROR_OK; +} + +int AT_CellularNetwork::get_3gpp_error() +{ + return 0; +} + +nsapi_error_t AT_CellularNetwork::get_operator_names(operator_names_list &op_names) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularNetwork::do_user_authentication() +{ + return NSAPI_ERROR_OK; +} + + + diff --git a/UNITTESTS/stubs/AT_CellularPower_stub.cpp b/UNITTESTS/stubs/AT_CellularPower_stub.cpp new file mode 100644 index 0000000000..3459088ce5 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularPower_stub.cpp @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularPower.h" +#include "CellularUtil.h" +#include "CellularLog.h" + +using namespace mbed_cellular_util; +using namespace mbed; + +AT_CellularPower::AT_CellularPower(ATHandler &at) : AT_CellularBase(at) +{ +} + +AT_CellularPower::~AT_CellularPower() +{ +} + +nsapi_error_t AT_CellularPower::on() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::off() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::set_at_mode() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::set_power_level(int func_level, int do_reset) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::reset() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::opt_power_save_mode(int periodic_time, int active_time) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::opt_receive_period(int mode, EDRXAccessTechnology act_type, uint8_t edrx_value) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularPower::set_device_ready_urc_cb(mbed::Callback callback) +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularPower::remove_device_ready_urc_cb(mbed::Callback callback) +{ + +} + +nsapi_error_t AT_CellularPower::is_device_ready() +{ + return NSAPI_ERROR_OK; +} diff --git a/UNITTESTS/stubs/AT_CellularSIM_stub.cpp b/UNITTESTS/stubs/AT_CellularSIM_stub.cpp new file mode 100644 index 0000000000..fc4be35b94 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularSIM_stub.cpp @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularSIM.h" +#include "CellularLog.h" + +using namespace mbed; + +AT_CellularSIM::AT_CellularSIM(ATHandler &at) : AT_CellularBase(at) +{ +} + +AT_CellularSIM::~AT_CellularSIM() +{ +} + +nsapi_error_t AT_CellularSIM::get_sim_state(SimState &state) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSIM::set_pin(const char *sim_pin) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSIM::change_pin(const char *sim_pin, const char *new_pin) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSIM::set_pin_query(const char *sim_pin, bool query_pin) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSIM::get_imsi(char *imsi) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSIM::get_iccid(char *buf, size_t buf_size) +{ + return NSAPI_ERROR_OK; +} diff --git a/UNITTESTS/stubs/AT_CellularSMS_stub.cpp b/UNITTESTS/stubs/AT_CellularSMS_stub.cpp new file mode 100644 index 0000000000..66456d7295 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularSMS_stub.cpp @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "AT_CellularSMS.h" +#include "CellularLog.h" + +using namespace mbed; + +#define CTRL_Z "\x1a" +#define ESC "\x1b" + +const int SMS_STATUS_SIZE = 12 + 1; +const int FIRST_OCTET_DELIVER_SUBMIT = 17; +const int TP_VALIDITY_PERIOD_24_HOURS = 167; +const int TP_PROTOCOL_IDENTIFIER = 0; +const int SMS_DATA_CODING_SCHEME = 0; + +const uint16_t SMS_MAX_8BIT_CONCATENATED_SINGLE_SMS_SIZE = 134; +const uint16_t SMS_MAX_GSM7_CONCATENATED_SINGLE_SMS_SIZE = 153; + + +AT_CellularSMS::AT_CellularSMS(ATHandler &at) : AT_CellularBase(at), _cb(0), _mode(CellularSMSMmodeText), + _use_8bit_encoding(false), _sim_wait_time(0), _sms_message_ref_number(1), _sms_info(NULL) +{ +} + +AT_CellularSMS::~AT_CellularSMS() +{ +} + +void AT_CellularSMS::cmt_urc() +{ +} + +void AT_CellularSMS::cmti_urc() +{ +} + +nsapi_error_t AT_CellularSMS::set_cnmi() +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::set_cmgf(int msg_format) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::set_csmp(int fo, int vp, int pid, int dcs) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::set_csdh(int show_header) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode) +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularSMS::set_extra_sim_wait_time(int sim_wait_time) +{ +} + +char *AT_CellularSMS::create_pdu(const char *phone_number, const char *message, uint8_t message_length, uint8_t msg_parts, + uint8_t msg_part_number, uint8_t &header_size) +{ + return NULL; +} + +nsapi_size_or_error_t AT_CellularSMS::send_sms(const char *phone_number, const char *message, int msg_len) +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularSMS::set_sms_callback(Callback func) +{ +} + +nsapi_error_t AT_CellularSMS::set_cpms(const char *memr, const char *memw, const char *mems) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::set_csca(const char *sca, int type) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularSMS::set_cscs(const char *chr_set) +{ + return NSAPI_ERROR_OK; +} + +//nsapi_error_t AT_CellularSMS::set_csms(int msg_service) +//{ +// return NSAPI_ERROR_OK; +//} + +nsapi_error_t AT_CellularSMS::delete_sms(sms_info_t *sms) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularSMS::delete_all_messages() +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularSMS::read_sms_from_index(int msg_index, char *buf, uint16_t len, char *phone_num, char *time_stamp) +{ + return NSAPI_ERROR_OK; +} + +// read msg in PDU mode +nsapi_size_or_error_t AT_CellularSMS::read_sms(sms_info_t *sms, char *buf, char *phone_num, char *time_stamp) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularSMS::get_sms(char *buf, uint16_t len, char *phone_num, uint16_t phone_len, + char *time_stamp, uint16_t time_len, int *buf_size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularSMS::get_data_from_pdu(const char *pdu, sms_info_t *info, int *part_number, char *phone_number, char *msg) +{ + return NSAPI_ERROR_OK; +} + +// read params from User DEfined Header +int AT_CellularSMS::read_udh_from_pdu(const char *pdu, sms_info_t *info, int &part_number, int &padding_bits) +{ + return 0; +} + +nsapi_size_or_error_t AT_CellularSMS::read_pdu_payload(const char *pdu, int msg_len, int scheme, char *msg, int padding_bits) +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularSMS::free_linked_list() +{ +} + +void AT_CellularSMS::add_info(sms_info_t *info, int index, int part_number) +{ +} + +// reads all the messages to the linked list AT_CellularSMS::_sms_info +nsapi_error_t AT_CellularSMS::list_messages() +{ + return NSAPI_ERROR_OK; +} + +AT_CellularSMS::sms_info_t *AT_CellularSMS::get_oldest_sms_index() +{ + return NULL; +} + +// if time_string_1 is greater (more fresh date) then return 1, same 0, smaller -1. Error -2 +int AT_CellularSMS::compare_time_strings(const char *time_string_1, const char *time_string_2) +{ + return 0; +} + +bool AT_CellularSMS::create_time(const char *time_string, time_t *time) +{ + return 0; +} + diff --git a/UNITTESTS/stubs/AT_CellularStack_stub.cpp b/UNITTESTS/stubs/AT_CellularStack_stub.cpp new file mode 100644 index 0000000000..640d8c1b68 --- /dev/null +++ b/UNITTESTS/stubs/AT_CellularStack_stub.cpp @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AT_CellularStack.h" +#include "CellularUtil.h" +#include "CellularLog.h" + +using namespace mbed_cellular_util; + +AT_CellularStack::AT_CellularStack(ATHandler &atHandler, int cid, nsapi_ip_stack_t stack_type) : _at(atHandler), _socket(NULL), _cid(cid), _stack_type(stack_type) +{ +} + +AT_CellularStack::~AT_CellularStack() +{ +} + +const char *AT_CellularStack::get_ip_address() +{ + return NULL; +} + +nsapi_error_t AT_CellularStack::socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularStack::socket_close(nsapi_socket_t handle) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularStack::socket_bind(nsapi_socket_t handle, const SocketAddress &addr) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularStack::socket_listen(nsapi_socket_t handle, int backlog) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularStack::socket_connect(nsapi_socket_t handle, const SocketAddress &addr) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t AT_CellularStack::socket_accept(void *server, void **socket, SocketAddress *addr) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularStack::socket_send(nsapi_socket_t handle, const void *data, unsigned size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularStack::socket_sendto(nsapi_socket_t handle, const SocketAddress &addr, const void *data, unsigned size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularStack::socket_recv(nsapi_socket_t handle, void *data, unsigned size) +{ + return NSAPI_ERROR_OK; +} + +nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, SocketAddress *addr, void *buffer, unsigned size) +{ + return NSAPI_ERROR_OK; +} + +void AT_CellularStack::socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) +{ +} + diff --git a/UNITTESTS/stubs/BufferedBlockDevice_stub.cpp b/UNITTESTS/stubs/BufferedBlockDevice_stub.cpp new file mode 100644 index 0000000000..9c9fabea1f --- /dev/null +++ b/UNITTESTS/stubs/BufferedBlockDevice_stub.cpp @@ -0,0 +1,104 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "BufferedBlockDevice.h" +#include "mbed_assert.h" +#include "mbed_critical.h" +#include +#include + +static inline uint32_t align_down(bd_size_t val, bd_size_t size) +{ + return 0; +} + +BufferedBlockDevice::BufferedBlockDevice(BlockDevice *bd) +{ +} + +BufferedBlockDevice::~BufferedBlockDevice() +{ +} + +int BufferedBlockDevice::init() +{ + return 0; +} + +int BufferedBlockDevice::deinit() +{ + return 0; +} + +int BufferedBlockDevice::flush() +{ + return 0; +} + +int BufferedBlockDevice::sync() +{ + return 0; +} + +int BufferedBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int BufferedBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int BufferedBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int BufferedBlockDevice::trim(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t BufferedBlockDevice::get_read_size() const +{ + return 1; +} + +bd_size_t BufferedBlockDevice::get_program_size() const +{ + return 1; +} + +bd_size_t BufferedBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t BufferedBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int BufferedBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t BufferedBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/CellularUtil_stub.cpp b/UNITTESTS/stubs/CellularUtil_stub.cpp new file mode 100644 index 0000000000..d4bcaf4916 --- /dev/null +++ b/UNITTESTS/stubs/CellularUtil_stub.cpp @@ -0,0 +1,113 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "CellularUtil.h" +#include +#include +#include + +namespace mbed_cellular_util { + +#define MAX_STRING_LEN 200 + +void str_copy_skip_char(char *dest, uint16_t dest_size, const char *src, char c) +{ +} + +void str_remove_char(char *src, char c) +{ +} + +void uint_to_binary_str(uint32_t num, char *str, uint8_t str_size, uint8_t bit_cnt) +{ +} + +// converts the given str to hex string to buf +uint16_t char_str_to_hex(const char *str, uint16_t len, char *buf, bool omit_leading_zero) +{ + return 0; +} + +void convert_ipv6(char *ip) +{ + +} + +char *find_dot_number(char *str, int dot_number) +{ + return NULL; +} + +void separate_ip4like_addresses(char *orig, char *ip, size_t ip_size, char *ip2, size_t ip2_size) +{ +} + +void separate_ip_addresses(char *orig, char *ip, size_t ip_size, char *ip2, size_t ip2_size) +{ +} + +void prefer_ipv6(char *ip, size_t ip_size, char *ip2, size_t ip2_size) +{ +} + +void int_to_hex_str(uint8_t num, char *buf) +{ + buf[0] = '0'; + buf[1] = '2'; +} + +int hex_str_to_int(const char *hex_string, int hex_string_length) +{ + return 0; +} + +int hex_str_to_char_str(const char *str, uint16_t len, char *buf) +{ + return 0; +} + +void uint_to_binary_str(uint32_t num, char *str, int str_size, int bit_cnt) +{ + +} + +int char_str_to_hex_str(const char *str, uint16_t len, char *buf, bool omit_leading_zero) +{ + //The code is dependent on this, so this is easiest just to put here + if (!str || !buf) { + return 0; + } + + char *ptr = buf; + int i = 0; + while (i < len) { + if (omit_leading_zero == true && i == 0 && !(str[i] >> 4 & 0x0F)) { + *ptr++ = hex_values[(str[i]) & 0x0F]; + } else { + *ptr++ = hex_values[((str[i]) >> 4) & 0x0F]; + *ptr++ = hex_values[(str[i]) & 0x0F]; + } + i++; + } + return ptr - buf; +} + +uint16_t get_dynamic_ip_port() +{ + return 0; +} + +} // namespace mbed_cellular_util diff --git a/UNITTESTS/stubs/ChainingBlockDevice_stub.cpp b/UNITTESTS/stubs/ChainingBlockDevice_stub.cpp new file mode 100644 index 0000000000..51134b3553 --- /dev/null +++ b/UNITTESTS/stubs/ChainingBlockDevice_stub.cpp @@ -0,0 +1,88 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ChainingBlockDevice.h" +#include "mbed_critical.h" + + +ChainingBlockDevice::ChainingBlockDevice(BlockDevice **bds, size_t bd_count) +{ +} + +static bool is_aligned(uint64_t x, uint64_t alignment) +{ + return true; +} + +int ChainingBlockDevice::init() +{ + return 0; +} + +int ChainingBlockDevice::deinit() +{ + return 0; +} + +int ChainingBlockDevice::sync() +{ + return 0; +} + +int ChainingBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ChainingBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ChainingBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t ChainingBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t ChainingBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t ChainingBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t ChainingBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int ChainingBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t ChainingBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/EventFlags_stub.cpp b/UNITTESTS/stubs/EventFlags_stub.cpp index 95762b8b83..5e5b0736e5 100644 --- a/UNITTESTS/stubs/EventFlags_stub.cpp +++ b/UNITTESTS/stubs/EventFlags_stub.cpp @@ -15,6 +15,7 @@ * limitations under the License. */ +#include #include "rtos/EventFlags.h" rtos::EventFlags::EventFlags() {} diff --git a/UNITTESTS/stubs/ExhaustibleBlockDevice_stub.cpp b/UNITTESTS/stubs/ExhaustibleBlockDevice_stub.cpp new file mode 100644 index 0000000000..36cdb1cfac --- /dev/null +++ b/UNITTESTS/stubs/ExhaustibleBlockDevice_stub.cpp @@ -0,0 +1,88 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ExhaustibleBlockDevice.h" +#include "mbed.h" +#include "mbed_critical.h" + + +ExhaustibleBlockDevice::ExhaustibleBlockDevice(BlockDevice *bd, uint32_t erase_cycles) +{ +} + +ExhaustibleBlockDevice::~ExhaustibleBlockDevice() +{ +} + +int ExhaustibleBlockDevice::init() +{ + return 0; +} + +int ExhaustibleBlockDevice::deinit() +{ + return 0; +} + +int ExhaustibleBlockDevice::sync() +{ + return 0; +} + +int ExhaustibleBlockDevice::read(void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ExhaustibleBlockDevice::program(const void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ExhaustibleBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t ExhaustibleBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t ExhaustibleBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t ExhaustibleBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t ExhaustibleBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int ExhaustibleBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t ExhaustibleBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/FlashSimBlockDevice_stub.cpp b/UNITTESTS/stubs/FlashSimBlockDevice_stub.cpp new file mode 100644 index 0000000000..bbc9db57ce --- /dev/null +++ b/UNITTESTS/stubs/FlashSimBlockDevice_stub.cpp @@ -0,0 +1,97 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "FlashSimBlockDevice.h" +#include "mbed_assert.h" +#include "mbed_critical.h" +#include +#include +#include + +static const bd_size_t min_blank_buf_size = 32; + +static inline uint32_t align_up(bd_size_t val, bd_size_t size) +{ + return (((val - 1) / size) + 1) * size; +} + +FlashSimBlockDevice::FlashSimBlockDevice(BlockDevice *bd, uint8_t erase_value) +{ +} + +FlashSimBlockDevice::~FlashSimBlockDevice() +{ +} + +int FlashSimBlockDevice::init() +{ + return 0; +} + +int FlashSimBlockDevice::deinit() +{ + return 0; +} + +int FlashSimBlockDevice::sync() +{ + return 0; +} + +bd_size_t FlashSimBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t FlashSimBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t FlashSimBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t FlashSimBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +bd_size_t FlashSimBlockDevice::size() const +{ + return 0; +} + +int FlashSimBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int FlashSimBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int FlashSimBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int FlashSimBlockDevice::get_erase_value() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/HeapBlockDevice_stub.cpp b/UNITTESTS/stubs/HeapBlockDevice_stub.cpp new file mode 100644 index 0000000000..afa6e9bbbc --- /dev/null +++ b/UNITTESTS/stubs/HeapBlockDevice_stub.cpp @@ -0,0 +1,82 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "HeapBlockDevice.h" +#include "mbed_critical.h" + + +HeapBlockDevice::HeapBlockDevice(bd_size_t size, bd_size_t block) +{ +} + +HeapBlockDevice::HeapBlockDevice(bd_size_t size, bd_size_t read, bd_size_t program, bd_size_t erase) +{ +} + +HeapBlockDevice::~HeapBlockDevice() +{ +} + +int HeapBlockDevice::init() +{ + return 0; +} + +int HeapBlockDevice::deinit() +{ + return 0; +} + +bd_size_t HeapBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t HeapBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t HeapBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t HeapBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +bd_size_t HeapBlockDevice::size() const +{ + return 0; +} + +int HeapBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int HeapBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int HeapBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + diff --git a/UNITTESTS/stubs/Kernel_stub.cpp b/UNITTESTS/stubs/Kernel_stub.cpp new file mode 100644 index 0000000000..ecfa1d80af --- /dev/null +++ b/UNITTESTS/stubs/Kernel_stub.cpp @@ -0,0 +1,25 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "Kernel.h" + +namespace rtos { + +uint64_t Kernel::get_ms_count() +{ + return 20; +} +} diff --git a/UNITTESTS/stubs/MBRBlockDevice_stub.cpp b/UNITTESTS/stubs/MBRBlockDevice_stub.cpp new file mode 100644 index 0000000000..1e12f59cee --- /dev/null +++ b/UNITTESTS/stubs/MBRBlockDevice_stub.cpp @@ -0,0 +1,156 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "MBRBlockDevice.h" +#include "mbed_critical.h" +#include + + +// On disk structures, all entries are little endian +MBED_PACKED(struct) mbr_entry { + uint8_t status; + uint8_t chs_start[3]; + uint8_t type; + uint8_t chs_stop[3]; + uint32_t lba_offset; + uint32_t lba_size; +}; + +MBED_PACKED(struct) mbr_table { + struct mbr_entry entries[4]; + uint8_t signature[2]; +}; + +// Little-endian conversion, should compile to noop +// if system is little-endian +static inline uint32_t tole32(uint32_t a) +{ + return 0; +} + +static inline uint32_t fromle32(uint32_t a) +{ + return 0; +} + +static void tochs(uint32_t lba, uint8_t chs[3]) +{ +} + + +// Partition after address are turned into absolute +// addresses, assumes bd is initialized +static int partition_absolute( + BlockDevice *bd, int part, uint8_t type, + bd_size_t offset, bd_size_t size) +{ + return 0; +} + +int MBRBlockDevice::partition(BlockDevice *bd, int part, uint8_t type, bd_addr_t start) +{ + return 0; +} + +int MBRBlockDevice::partition(BlockDevice *bd, int part, uint8_t type, + bd_addr_t start, bd_addr_t stop) +{ + return 0; +} + +MBRBlockDevice::MBRBlockDevice(BlockDevice *bd, int part) +{ +} + +int MBRBlockDevice::init() +{ + return 0; +} + +int MBRBlockDevice::deinit() +{ + return 0; +} + +int MBRBlockDevice::sync() +{ + return 0; +} + +int MBRBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int MBRBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int MBRBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int MBRBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::size() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_partition_start() const +{ + return 0; +} + +bd_size_t MBRBlockDevice::get_partition_stop() const +{ + return 0; +} + +uint8_t MBRBlockDevice::get_partition_type() const +{ + return 0; +} + +int MBRBlockDevice::get_partition_number() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/NetworkInterface_stub.cpp b/UNITTESTS/stubs/NetworkInterface_stub.cpp new file mode 100644 index 0000000000..0e8eaa15a9 --- /dev/null +++ b/UNITTESTS/stubs/NetworkInterface_stub.cpp @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2015, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "netsocket/NetworkInterface.h" +#include "netsocket/NetworkStack.h" +#include + + +// Default network-interface state +const char *NetworkInterface::get_mac_address() +{ + return 0; +} + +const char *NetworkInterface::get_ip_address() +{ + return 0; +} + +const char *NetworkInterface::get_netmask() +{ + return 0; +} + +const char *NetworkInterface::get_gateway() +{ + return 0; +} + +nsapi_error_t NetworkInterface::set_network(const char *ip_address, const char *netmask, const char *gateway) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkInterface::set_dhcp(bool dhcp) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +// DNS operations go through the underlying stack by default +nsapi_error_t NetworkInterface::gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkInterface::add_dns_server(const SocketAddress &address) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +void NetworkInterface::attach(mbed::Callback status_cb) +{ + +} + +nsapi_connection_status_t NetworkInterface::get_connection_status() const +{ + return NSAPI_STATUS_LOCAL_UP; +} + +nsapi_error_t NetworkInterface::set_blocking(bool blocking) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_value_or_error_t NetworkInterface::gethostbyname_async(char const *, mbed::Callback, nsapi_version) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkInterface::gethostbyname_async_cancel(int id) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + diff --git a/UNITTESTS/stubs/NetworkStack_stub.cpp b/UNITTESTS/stubs/NetworkStack_stub.cpp new file mode 100644 index 0000000000..372812effb --- /dev/null +++ b/UNITTESTS/stubs/NetworkStack_stub.cpp @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2015, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "NetworkStack.h" +#include "nsapi_dns.h" +#include "mbed.h" +#include "stddef.h" +#include + +// Default NetworkStack operations +nsapi_error_t NetworkStack::gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t NetworkStack::add_dns_server(const SocketAddress &address) +{ + return NSAPI_ERROR_OK; +} + +nsapi_error_t NetworkStack::get_dns_server(int index, SocketAddress *address) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkStack::setstackopt(int level, int optname, const void *optval, unsigned optlen) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkStack::getstackopt(int level, int optname, void *optval, unsigned *optlen) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkStack::setsockopt(void *handle, int level, int optname, const void *optval, unsigned optlen) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkStack::getsockopt(void *handle, int level, int optname, void *optval, unsigned *optlen) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +// Conversion function for network stacks +NetworkStack *nsapi_create_stack(nsapi_stack_t *stack) +{ + return NULL; +} + +NetworkStack *nsapi_create_stack(NetworkStack *stack) +{ + return NULL; +} + +nsapi_value_or_error_t NetworkStack::gethostbyname_async(const char *host, hostbyname_cb_t callback, + nsapi_version_t version) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +nsapi_error_t NetworkStack::gethostbyname_async_cancel(int id) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +call_in_callback_cb_t NetworkStack::get_call_in_callback() +{ + return NULL; +} + +nsapi_error_t NetworkStack::call_in(int delay, mbed::Callback func) +{ + return NSAPI_ERROR_UNSUPPORTED; +} + +const char *NetworkStack::get_ip_address() +{ + return NULL; +} diff --git a/UNITTESTS/stubs/ObservingBlockDevice_stub.cpp b/UNITTESTS/stubs/ObservingBlockDevice_stub.cpp new file mode 100644 index 0000000000..ffd9450a83 --- /dev/null +++ b/UNITTESTS/stubs/ObservingBlockDevice_stub.cpp @@ -0,0 +1,100 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017-2017 ARM Limited + * + * 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. + */ + +#include "ObservingBlockDevice.h" +#include "ReadOnlyBlockDevice.h" +#include "mbed.h" + + +ObservingBlockDevice::ObservingBlockDevice(BlockDevice *bd) +{ + // Does nothing +} + +ObservingBlockDevice::~ObservingBlockDevice() +{ + // Does nothing +} + +void ObservingBlockDevice::attach(Callback cb) +{ +} + +int ObservingBlockDevice::init() +{ + return 0; +} + +int ObservingBlockDevice::deinit() +{ + return 0; +} + +int ObservingBlockDevice::sync() +{ + return 0; +} + +int ObservingBlockDevice::read(void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ObservingBlockDevice::program(const void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ObservingBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t ObservingBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t ObservingBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t ObservingBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t ObservingBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int ObservingBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t ObservingBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/ProfilingBlockDevice_stub.cpp b/UNITTESTS/stubs/ProfilingBlockDevice_stub.cpp new file mode 100644 index 0000000000..df41cb1da5 --- /dev/null +++ b/UNITTESTS/stubs/ProfilingBlockDevice_stub.cpp @@ -0,0 +1,101 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ProfilingBlockDevice.h" + + +ProfilingBlockDevice::ProfilingBlockDevice(BlockDevice *bd) +{ +} + +int ProfilingBlockDevice::init() +{ + return 0; +} + +int ProfilingBlockDevice::deinit() +{ + return 0; +} + +int ProfilingBlockDevice::sync() +{ + return 0; +} + +int ProfilingBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ProfilingBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ProfilingBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int ProfilingBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::size() const +{ + return 0; +} + +void ProfilingBlockDevice::reset() +{ +} + +bd_size_t ProfilingBlockDevice::get_read_count() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_program_count() const +{ + return 0; +} + +bd_size_t ProfilingBlockDevice::get_erase_count() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/ReadOnlyBlockDevice_stub.cpp b/UNITTESTS/stubs/ReadOnlyBlockDevice_stub.cpp new file mode 100644 index 0000000000..13e20d934e --- /dev/null +++ b/UNITTESTS/stubs/ReadOnlyBlockDevice_stub.cpp @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017-2017 ARM Limited + * + * 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. + */ + +#include "ReadOnlyBlockDevice.h" +#include "mbed_error.h" + + +ReadOnlyBlockDevice::ReadOnlyBlockDevice(BlockDevice *bd) +{ + // Does nothing +} + +ReadOnlyBlockDevice::~ReadOnlyBlockDevice() +{ + // Does nothing +} + +int ReadOnlyBlockDevice::init() +{ + return 0; +} + +int ReadOnlyBlockDevice::deinit() +{ + return 0; +} + +int ReadOnlyBlockDevice::sync() +{ + return 0; +} + +int ReadOnlyBlockDevice::read(void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ReadOnlyBlockDevice::program(const void *buffer, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int ReadOnlyBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t ReadOnlyBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t ReadOnlyBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t ReadOnlyBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t ReadOnlyBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int ReadOnlyBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t ReadOnlyBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/Semaphore_stub.cpp b/UNITTESTS/stubs/Semaphore_stub.cpp new file mode 100644 index 0000000000..ada09df114 --- /dev/null +++ b/UNITTESTS/stubs/Semaphore_stub.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Semaphore.h" + +namespace rtos { + +Semaphore::Semaphore(int32_t count) +{ + +} + +Semaphore::Semaphore(int32_t count, uint16_t max_count) +{ + +} + +void Semaphore::constructor(int32_t count, uint16_t max_count) +{ + +} + +int32_t Semaphore::wait(uint32_t millisec) +{ + return 0; +} + +int32_t Semaphore::wait_until(uint64_t millisec) +{ + return 0; +} + +osStatus Semaphore::release(void) +{ + return 0; +} + +Semaphore::~Semaphore() +{ + +} + +} diff --git a/UNITTESTS/stubs/SlicingBlockDevice_stub.cpp b/UNITTESTS/stubs/SlicingBlockDevice_stub.cpp new file mode 100644 index 0000000000..6b4fbabdcf --- /dev/null +++ b/UNITTESTS/stubs/SlicingBlockDevice_stub.cpp @@ -0,0 +1,83 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "SlicingBlockDevice.h" + + +SlicingBlockDevice::SlicingBlockDevice(BlockDevice *bd, bd_addr_t start, bd_addr_t stop) +{ + +} + +int SlicingBlockDevice::init() +{ + return 0; +} + +int SlicingBlockDevice::deinit() +{ + return 0; +} + +int SlicingBlockDevice::sync() +{ + return 0; +} + +int SlicingBlockDevice::read(void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int SlicingBlockDevice::program(const void *b, bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +int SlicingBlockDevice::erase(bd_addr_t addr, bd_size_t size) +{ + return 0; +} + +bd_size_t SlicingBlockDevice::get_read_size() const +{ + return 0; +} + +bd_size_t SlicingBlockDevice::get_program_size() const +{ + return 0; +} + +bd_size_t SlicingBlockDevice::get_erase_size() const +{ + return 0; +} + +bd_size_t SlicingBlockDevice::get_erase_size(bd_addr_t addr) const +{ + return 0; +} + +int SlicingBlockDevice::get_erase_value() const +{ + return 0; +} + +bd_size_t SlicingBlockDevice::size() const +{ + return 0; +} diff --git a/UNITTESTS/stubs/SocketAddress_stub.cpp b/UNITTESTS/stubs/SocketAddress_stub.cpp new file mode 100644 index 0000000000..76e02aa12b --- /dev/null +++ b/UNITTESTS/stubs/SocketAddress_stub.cpp @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2015, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "SocketAddress.h" +#include "NetworkInterface.h" +#include "NetworkStack.h" +#include +#include "mbed.h" + + +static bool ipv4_is_valid(const char *addr) +{ + return false; +} + +static bool ipv6_is_valid(const char *addr) +{ + return false; +} + +static void ipv4_from_address(uint8_t *bytes, const char *addr) +{ + +} + +static int ipv6_scan_chunk(uint16_t *shorts, const char *chunk) +{ + return 0; +} + +static void ipv6_from_address(uint8_t *bytes, const char *addr) +{ + +} + +static void ipv4_to_address(char *addr, const uint8_t *bytes) +{ + +} + +static void ipv6_to_address(char *addr, const uint8_t *bytes) +{ +} + + +SocketAddress::SocketAddress(nsapi_addr_t addr, uint16_t port) +{ +} + +SocketAddress::SocketAddress(const char *addr, uint16_t port) +{ +} + +SocketAddress::SocketAddress(const void *bytes, nsapi_version_t version, uint16_t port) +{ +} + +SocketAddress::SocketAddress(const SocketAddress &addr) +{ +} + +SocketAddress::~SocketAddress() +{ +} + +bool SocketAddress::set_ip_address(const char *addr) +{ + return false; +} + +void SocketAddress::set_ip_bytes(const void *bytes, nsapi_version_t version) +{ +} + +void SocketAddress::set_addr(nsapi_addr_t addr) +{ +} + +void SocketAddress::set_port(uint16_t port) +{ +} + +const char *SocketAddress::get_ip_address() const +{ + return NULL; +} + +const void *SocketAddress::get_ip_bytes() const +{ + return NULL; +} + +nsapi_version_t SocketAddress::get_ip_version() const +{ + nsapi_version_t ver = NSAPI_IPv6; + return ver; +} + +nsapi_addr_t SocketAddress::get_addr() const +{ + nsapi_addr_t addr; + addr.version = NSAPI_IPv6; + return _addr; +} + +uint16_t SocketAddress::get_port() const +{ + return 0; +} + +SocketAddress::operator bool() const +{ + return false; +} + +SocketAddress &SocketAddress::operator=(const SocketAddress &addr) +{ + set_addr(addr.get_addr()); + set_port(addr.get_port()); + return *this; +} + +bool operator==(const SocketAddress &a, const SocketAddress &b) +{ + return false; +} + +bool operator!=(const SocketAddress &a, const SocketAddress &b) +{ + return false; +} diff --git a/UNITTESTS/stubs/Thread_stub.cpp b/UNITTESTS/stubs/Thread_stub.cpp new file mode 100644 index 0000000000..8eed1e7f2a --- /dev/null +++ b/UNITTESTS/stubs/Thread_stub.cpp @@ -0,0 +1,27 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Thread.h" + +namespace rtos { + +osStatus Thread::wait_until(uint64_t millisec) +{ + return 0; +} + +} diff --git a/UNITTESTS/stubs/Timer_stub.cpp b/UNITTESTS/stubs/Timer_stub.cpp new file mode 100644 index 0000000000..2e20c161ae --- /dev/null +++ b/UNITTESTS/stubs/Timer_stub.cpp @@ -0,0 +1,74 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Timer.h" +#include "Timer_stub.h" + +namespace mbed { + +Timer::Timer() +{ +} + +Timer::Timer(const ticker_data_t *data) +{ +} + +Timer::~Timer() +{ +} + +void Timer::start() +{ +} + +void Timer::stop() +{ + ; +} + +int Timer::read_us() +{ + return 0; +} + +float Timer::read() +{ + return 0; +} + +int Timer::read_ms() +{ + timer_stub_value += timer_stub_step; + return timer_stub_value; +} + +us_timestamp_t Timer::read_high_resolution_us() +{ + return 0; +} + +void Timer::reset() +{ +} + +Timer::operator float() +{ + return 0; +} + +} // namespace mbed diff --git a/UNITTESTS/stubs/Timer_stub.h b/UNITTESTS/stubs/Timer_stub.h new file mode 100644 index 0000000000..699fdd0c53 --- /dev/null +++ b/UNITTESTS/stubs/Timer_stub.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef TIMER_STUB_H +#define TIMER_STUB_H + + +static uint16_t timer_stub_value = 0; +static uint16_t timer_stub_step = 20; + +#endif diff --git a/UNITTESTS/stubs/equeue_stub.c b/UNITTESTS/stubs/equeue_stub.c index bd9852bec2..55a52174e7 100644 --- a/UNITTESTS/stubs/equeue_stub.c +++ b/UNITTESTS/stubs/equeue_stub.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Arm Limited and affiliates. + * Copyright (c) , Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,25 +15,90 @@ * limitations under the License. */ -#include "equeue/equeue.h" +#include "equeue.h" -void *equeue_alloc(equeue_t *q, size_t size) -{ -} - -int equeue_post(equeue_t *q, void (*cb)(void *), void *p) +int equeue_create(equeue_t *queue, size_t size) { return 0; } -void equeue_event_delay(void *p, int ms) +int equeue_create_inplace(equeue_t *queue, size_t size, void *buffer) { + return 0; } -void equeue_event_period(void *p, int ms) +void equeue_destroy(equeue_t *queue) { + } -void equeue_event_dtor(void *p, void (*dtor)(void *)) +void equeue_dispatch(equeue_t *queue, int ms) { + +} + +void equeue_break(equeue_t *queue) +{ + +} + +int equeue_call(equeue_t *queue, void (*cb)(void *), void *data) +{ + return 0; +} + +int equeue_call_in(equeue_t *queue, int ms, void (*cb)(void *), void *data) +{ + return 0; +} + +int equeue_call_every(equeue_t *queue, int ms, void (*cb)(void *), void *data) +{ + return 0; +} + +void *equeue_alloc(equeue_t *queue, size_t size) +{ + return NULL; +} + +void equeue_dealloc(equeue_t *queue, void *event) +{ + +} + +void equeue_event_delay(void *event, int ms) +{ + +} + +void equeue_event_period(void *event, int ms) +{ + +} + +void equeue_event_dtor(void *event, void (*dtor)(void *)) +{ + +} + +int equeue_post(equeue_t *queue, void (*cb)(void *), void *event) +{ + return 0; +} + +void equeue_cancel(equeue_t *queue, int id) +{ + +} + +void equeue_background(equeue_t *queue, + void (*update)(void *timer, int ms), void *timer) +{ + +} + +void equeue_chain(equeue_t *queue, equeue_t *target) +{ + } diff --git a/UNITTESTS/stubs/mbed_assert_stub.cpp b/UNITTESTS/stubs/mbed_assert_stub.cpp new file mode 100644 index 0000000000..341881a7f5 --- /dev/null +++ b/UNITTESTS/stubs/mbed_assert_stub.cpp @@ -0,0 +1,24 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mbed_assert.h" + +void mbed_assert_internal(const char *expr, const char *file, int line) +{ + +} + diff --git a/UNITTESTS/stubs/mbed_critical_stub.c b/UNITTESTS/stubs/mbed_critical_stub.c new file mode 100644 index 0000000000..f812764382 --- /dev/null +++ b/UNITTESTS/stubs/mbed_critical_stub.c @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2015-2016, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Declare __STDC_LIMIT_MACROS so stdint.h defines UINT32_MAX when using C++ */ +#define __STDC_LIMIT_MACROS +#include "hal/critical_section_api.h" + +#include "cmsis.h" +#include "platform/mbed_assert.h" +#include "platform/mbed_critical.h" +#include "platform/mbed_toolchain.h" + +static volatile uint32_t critical_section_reentrancy_counter = 0; + +bool core_util_are_interrupts_enabled(void) +{ + return false; +} + +bool core_util_is_isr_active(void) +{ + return false; +} + +bool core_util_in_critical_section(void) +{ + return false; +} + +void core_util_critical_section_enter(void) +{ +} + +void core_util_critical_section_exit(void) +{ +} + +bool core_util_atomic_cas_u8(volatile uint8_t *ptr, uint8_t *expectedCurrentValue, uint8_t desiredValue) +{ + return false; +} + +bool core_util_atomic_cas_u16(volatile uint16_t *ptr, uint16_t *expectedCurrentValue, uint16_t desiredValue) +{ + return false; +} + + +bool core_util_atomic_cas_u32(volatile uint32_t *ptr, uint32_t *expectedCurrentValue, uint32_t desiredValue) +{ + return false; +} + + +uint8_t core_util_atomic_incr_u8(volatile uint8_t *valuePtr, uint8_t delta) +{ + return 0; +} + +uint16_t core_util_atomic_incr_u16(volatile uint16_t *valuePtr, uint16_t delta) +{ + return 0; +} + +uint32_t core_util_atomic_incr_u32(volatile uint32_t *valuePtr, uint32_t delta) +{ + return 0; +} + + +uint8_t core_util_atomic_decr_u8(volatile uint8_t *valuePtr, uint8_t delta) +{ + return 0; +} + +uint16_t core_util_atomic_decr_u16(volatile uint16_t *valuePtr, uint16_t delta) +{ + return 0; +} + +uint32_t core_util_atomic_decr_u32(volatile uint32_t *valuePtr, uint32_t delta) +{ + return 0; +} + + +bool core_util_atomic_cas_ptr(void *volatile *ptr, void **expectedCurrentValue, void *desiredValue) +{ + return false; +} + +void *core_util_atomic_incr_ptr(void *volatile *valuePtr, ptrdiff_t delta) +{ + return NULL; +} + +void *core_util_atomic_decr_ptr(void *volatile *valuePtr, ptrdiff_t delta) +{ + return NULL; +} + diff --git a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.h b/UNITTESTS/stubs/mbed_poll_stub.cpp similarity index 63% rename from UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.h rename to UNITTESTS/stubs/mbed_poll_stub.cpp index 3091dadb83..1914399d2a 100644 --- a/UNITTESTS/features/cellular/framework/AT/AT_CellularBase/test_at_cellularbase.h +++ b/UNITTESTS/stubs/mbed_poll_stub.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Arm Limited and affiliates. + * Copyright (c) , Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,18 +14,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef TEST_AT_CELLULARBASE_H -#define TEST_AT_CELLULARBASE_H -class Test_AT_CellularBase { -public: - Test_AT_CellularBase(); +#include "mbed_poll.h" +#include "mbed_poll_stub.h" - virtual ~Test_AT_CellularBase(); +int mbed_poll_stub::revents_value = POLLOUT; +int mbed_poll_stub::int_value = 0; - void test_AT_CellularBase_get_at_handler(); +namespace mbed { - void test_AT_CellularBase_get_device_error(); -}; +int poll(pollfh fhs[], unsigned nfhs, int timeout) +{ + fhs->revents = mbed_poll_stub::revents_value; + return mbed_poll_stub::int_value; +} -#endif // TEST_AT_CELLULARBASE_H +} diff --git a/UNITTESTS/stubs/mbed_poll_stub.h b/UNITTESTS/stubs/mbed_poll_stub.h new file mode 100644 index 0000000000..6c0a4327a9 --- /dev/null +++ b/UNITTESTS/stubs/mbed_poll_stub.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __MBED_POLL_STUB_H__ +#define __MBED_POLL_STUB_H__ + +#include + +namespace mbed_poll_stub { +extern int revents_value; +extern int int_value; +} + +#endif diff --git a/UNITTESTS/stubs/mbed_wait_api_stub.cpp b/UNITTESTS/stubs/mbed_wait_api_stub.cpp new file mode 100644 index 0000000000..f8b240544d --- /dev/null +++ b/UNITTESTS/stubs/mbed_wait_api_stub.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mbed_wait_api.h" + +void wait(float s) +{ +} + +void wait_ms(int ms) +{ +} + +void wait_us(int us) +{ +} diff --git a/UNITTESTS/stubs/randLIB_stub.cpp b/UNITTESTS/stubs/randLIB_stub.cpp new file mode 100644 index 0000000000..61cd893d0e --- /dev/null +++ b/UNITTESTS/stubs/randLIB_stub.cpp @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "randLIB.h" + +void randLIB_seed_random(void) +{ +} + +uint16_t randLIB_get_random_in_range(uint16_t min, uint16_t max) +{ + return min; +} + diff --git a/UNITTESTS/stubs/us_ticker_stub.cpp b/UNITTESTS/stubs/us_ticker_stub.cpp new file mode 100644 index 0000000000..69c96accee --- /dev/null +++ b/UNITTESTS/stubs/us_ticker_stub.cpp @@ -0,0 +1,54 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include "stdlib.h" +#include "us_ticker_api.h" + +const ticker_data_t *get_us_ticker_data(void) +{ + return NULL; +} + +void us_ticker_irq_handler(void) +{ +} + +void us_ticker_init(void) +{ +} + +uint32_t us_ticker_read(void) +{ + return 0; +} + +void us_ticker_set_interrupt(timestamp_t timestamp) +{ +} + +void us_ticker_disable_interrupt(void) +{ +} + +void us_ticker_clear_interrupt(void) +{ +} + +void us_ticker_fire_interrupt(void) +{ +} diff --git a/UNITTESTS/target_h/ATCmdParser.h b/UNITTESTS/target_h/ATCmdParser.h new file mode 100644 index 0000000000..c1994cc2af --- /dev/null +++ b/UNITTESTS/target_h/ATCmdParser.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __AT_CMD_PARSER_H__ +#define __AT_CMD_PARSER_H__ + +#include "mbed.h" +#include +#include "FileHandle.h" + +class ATCmdParser { +public: + ATCmdParser(mbed::FileHandle *fh, const char *output_delimiter = "\r", + int buffer_size = 256, int timeout = 8000, bool debug = false) {} + + ~ATCmdParser() {} +}; + +#endif //__AT_CMD_PARSER_H__ + diff --git a/UNITTESTS/target_h/arm_math.h b/UNITTESTS/target_h/arm_math.h new file mode 100644 index 0000000000..a431b392e7 --- /dev/null +++ b/UNITTESTS/target_h/arm_math.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/UNITTESTS/target_h/cmsis.h b/UNITTESTS/target_h/cmsis.h new file mode 100644 index 0000000000..a431b392e7 --- /dev/null +++ b/UNITTESTS/target_h/cmsis.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/UNITTESTS/target_h/cmsis_compiler.h b/UNITTESTS/target_h/cmsis_compiler.h new file mode 100644 index 0000000000..a431b392e7 --- /dev/null +++ b/UNITTESTS/target_h/cmsis_compiler.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/UNITTESTS/features/cellular/framework/common/util/test_util.h b/UNITTESTS/target_h/cmsis_os.h similarity index 61% rename from UNITTESTS/features/cellular/framework/common/util/test_util.h rename to UNITTESTS/target_h/cmsis_os.h index bb968ef5f4..a40ab9e73b 100644 --- a/UNITTESTS/features/cellular/framework/common/util/test_util.h +++ b/UNITTESTS/target_h/cmsis_os.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Arm Limited and affiliates. + * Copyright (c) , Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,24 +14,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef TEST_UTIL_H -#define TEST_UTIL_H -class Test_util { -public: - Test_util(); +#ifndef CMSIS_OS_H_ +#define CMSIS_OS_H_ - virtual ~Test_util(); +#include "cmsis_os2.h" - void test_util_uint_to_binary_string(); +#define osPriority osPriority_t - void test_util_char_str_to_hex(); +#define osThreadId osThreadId_t - void test_util_convert_ipv6(); +typedef struct { +} osEvent; - void test_util_prefer_ipv6(); - - void test_util_separate_ip_addresses(); -}; - -#endif // TEST_UTIL_H +#endif diff --git a/UNITTESTS/target_h/cmsis_os2.h b/UNITTESTS/target_h/cmsis_os2.h new file mode 100644 index 0000000000..c2a601fb16 --- /dev/null +++ b/UNITTESTS/target_h/cmsis_os2.h @@ -0,0 +1,78 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_OS2_H__ +#define __CMSIS_OS2_H__ + +#include + +//If conflicts, then remove these, copied from cmsis_os.h +typedef int32_t osStatus; + +#define osOK 0 + + + +//These are from cmsis_os2.h +typedef void *osSemaphoreId_t; + +typedef struct { + const char *name; ///< name of the semaphore + uint32_t attr_bits; ///< attribute bits + void *cb_mem; ///< memory for control block + uint32_t cb_size; ///< size of provided memory for control block +} osSemaphoreAttr_t; + +//Thread +typedef enum { + osPriorityNormal = 24 ///< Priority: normal +} osPriority_t; + +typedef void *osThreadId_t; + +typedef void *osEventFlagsId_t; + +/// Attributes structure for thread. +typedef struct { +} osThreadAttr_t; + +#define osWaitForever 0xFFFFFFFFU ///< Wait forever timeout value. + +// Flags options (\ref osThreadFlagsWait and \ref osEventFlagsWait). +#define osFlagsWaitAny 0x00000000U ///< Wait for any flag (default). +#define osFlagsWaitAll 0x00000001U ///< Wait for all flags. +#define osFlagsNoClear 0x00000002U ///< Do not clear flags which have been specified to wait for. + +// Flags errors (returned by osThreadFlagsXxxx and osEventFlagsXxxx). +#define osFlagsError 0x80000000U ///< Error indicator. +#define osFlagsErrorUnknown 0xFFFFFFFFU ///< osError (-1). +#define osFlagsErrorTimeout 0xFFFFFFFEU ///< osErrorTimeout (-2). +#define osFlagsErrorResource 0xFFFFFFFDU ///< osErrorResource (-3). +#define osFlagsErrorParameter 0xFFFFFFFCU ///< osErrorParameter (-4). +#define osFlagsErrorISR 0xFFFFFFFAU ///< osErrorISR (-6). + +// Thread attributes (attr_bits in \ref osThreadAttr_t). +#define osThreadDetached 0x00000000U ///< Thread created in detached mode (default) +#define osThreadJoinable 0x00000001U ///< Thread created in joinable mode + +// Mutex attributes (attr_bits in \ref osMutexAttr_t). +#define osMutexRecursive 0x00000001U ///< Recursive mutex. +#define osMutexPrioInherit 0x00000002U ///< Priority inherit protocol. +#define osMutexRobust 0x00000008U ///< Robust mutex. + + +#endif diff --git a/UNITTESTS/target_h/mbed.h b/UNITTESTS/target_h/mbed.h index 1f88324deb..276aebc58b 100644 --- a/UNITTESTS/target_h/mbed.h +++ b/UNITTESTS/target_h/mbed.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Arm Limited and affiliates. + * Copyright (c) 2018, Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,6 +22,7 @@ #include #include "events/mbed_events.h" +#include "events/mbed_shared_queues.h" namespace mbed { #include "platform/Callback.h" diff --git a/UNITTESTS/target_h/mbed_rtos1_types.h b/UNITTESTS/target_h/mbed_rtos1_types.h index e200f189f2..4ff0189351 100644 --- a/UNITTESTS/target_h/mbed_rtos1_types.h +++ b/UNITTESTS/target_h/mbed_rtos1_types.h @@ -18,6 +18,7 @@ #ifndef MBED_RTOS1_TYPES_H #define MBED_RTOS1_TYPES_H +#include "cmsis_os.h" #include "mbed_rtos_storage.h" #endif // MBED_RTOS1_TYPES_H diff --git a/UNITTESTS/target_h/mbed_rtos_storage.h b/UNITTESTS/target_h/mbed_rtos_storage.h index 48923f2a23..e1b1276138 100644 --- a/UNITTESTS/target_h/mbed_rtos_storage.h +++ b/UNITTESTS/target_h/mbed_rtos_storage.h @@ -23,17 +23,13 @@ extern "C" { #endif #include "cmsis_os2.h" +#include "rtx_os.h" +#include "rtx_lib.h" +#include "mbed_rtx_conf.h" -typedef osMutexId_t mbed_rtos_storage_mutex_t; -typedef osSemaphoreId_t mbed_rtos_storage_semaphore_t; -typedef osThreadId_t mbed_rtos_storage_thread_t; -typedef osThreadId_t osThreadId; -typedef osMemoryPoolId_t mbed_rtos_storage_mem_pool_t; -typedef osMessageQueueId_t mbed_rtos_storage_msg_queue_t; -typedef osEventFlagsId_t mbed_rtos_storage_event_flags_t; -typedef void *mbed_rtos_storage_message_t; -typedef osTimerId_t mbed_rtos_storage_timer_t; -typedef osStatus_t osStatus; +typedef os_semaphore_t mbed_rtos_storage_semaphore_t; +typedef os_thread_t mbed_rtos_storage_thread_t; +typedef osRtxEventFlags_t mbed_rtos_storage_event_flags_t; #ifdef __cplusplus } diff --git a/UNITTESTS/target_h/mbed_rtx.h b/UNITTESTS/target_h/mbed_rtx.h new file mode 100644 index 0000000000..a431b392e7 --- /dev/null +++ b/UNITTESTS/target_h/mbed_rtx.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/UNITTESTS/target_h/mbed_rtx_conf.h b/UNITTESTS/target_h/mbed_rtx_conf.h new file mode 100644 index 0000000000..17620e86e8 --- /dev/null +++ b/UNITTESTS/target_h/mbed_rtx_conf.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef OS_STACK_SIZE +#define OS_STACK_SIZE 0 +#endif diff --git a/UNITTESTS/target_h/nsapi_ppp.h b/UNITTESTS/target_h/nsapi_ppp.h new file mode 100644 index 0000000000..a431b392e7 --- /dev/null +++ b/UNITTESTS/target_h/nsapi_ppp.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/UNITTESTS/target_h/platform/mbed_power_mgmt.h b/UNITTESTS/target_h/platform/mbed_power_mgmt.h new file mode 100644 index 0000000000..2810b22dae --- /dev/null +++ b/UNITTESTS/target_h/platform/mbed_power_mgmt.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + diff --git a/UNITTESTS/target_h/platform/mbed_retarget.h b/UNITTESTS/target_h/platform/mbed_retarget.h index 0c513f53e3..b379eb0de3 100644 --- a/UNITTESTS/target_h/platform/mbed_retarget.h +++ b/UNITTESTS/target_h/platform/mbed_retarget.h @@ -18,7 +18,15 @@ #ifndef RETARGET_H #define RETARGET_H +#include #include +#include + +#include + +namespace mbed { + +#define NAME_MAX 255 #undef EPERM #define EPERM 1 /* Operation not permitted */ @@ -283,4 +291,75 @@ #undef ENOTRECOVERABLE #define ENOTRECOVERABLE 131 /* State not recoverable */ +#define _IFMT 0170000 //< type of file +#define _IFSOCK 0140000 //< socket +#define _IFLNK 0120000 //< symbolic link +#define _IFREG 0100000 //< regular +#define _IFBLK 0060000 //< block special +#define _IFDIR 0040000 //< directory +#define _IFCHR 0020000 //< character special +#define _IFIFO 0010000 //< fifo special + + +#define O_RDONLY 0 ///< Open for reading +#define O_WRONLY 1 ///< Open for writing +#define O_RDWR 2 ///< Open for reading and writing +#define O_NONBLOCK 0x0004 ///< Non-blocking mode +#define O_APPEND 0x0008 ///< Set file offset to end of file prior to each write +#define O_CREAT 0x0200 ///< Create file if it does not exist +#define O_TRUNC 0x0400 ///< Truncate file to zero length +#define O_EXCL 0x0800 ///< Fail if file exists +#define O_BINARY 0x8000 ///< Open file in binary mode + +#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) + +#define NAME_MAX 255 ///< Maximum size of a name in a file path + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + + +struct statvfs { + unsigned long f_bsize; ///< Filesystem block size + unsigned long f_frsize; ///< Fragment size (block size) + + fsblkcnt_t f_blocks; ///< Number of blocks + fsblkcnt_t f_bfree; ///< Number of free blocks + fsblkcnt_t f_bavail; ///< Number of free blocks for unprivileged users + + unsigned long f_fsid; ///< Filesystem ID + + unsigned long f_namemax; ///< Maximum filename length +}; + + +struct dirent { + char d_name[NAME_MAX + 1]; ///< Name of file + uint8_t d_type; ///< Type of file +}; + +enum { + DT_UNKNOWN, ///< The file type could not be determined. + DT_FIFO, ///< This is a named pipe (FIFO). + DT_CHR, ///< This is a character device. + DT_DIR, ///< This is a directory. + DT_BLK, ///< This is a block device. + DT_REG, ///< This is a regular file. + DT_LNK, ///< This is a symbolic link. + DT_SOCK, ///< This is a UNIX domain socket. +}; + +/* fcntl.h defines */ +#define F_GETFL 3 +#define F_SETFL 4 + +struct pollfd { + int fd; + short events; + short revents; +}; + +} + #endif //RETARGET_H diff --git a/UNITTESTS/target_h/randLIB.h b/UNITTESTS/target_h/randLIB.h new file mode 100644 index 0000000000..a621be3688 --- /dev/null +++ b/UNITTESTS/target_h/randLIB.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2017, Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ +#define FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ + +#include + +extern void randLIB_seed_random(void); + +uint16_t randLIB_get_random_in_range(uint16_t min, uint16_t max); + + +#endif /* FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ */ diff --git a/UNITTESTS/target_h/rtos/Mutex.h b/UNITTESTS/target_h/rtos/Mutex.h new file mode 100644 index 0000000000..a804e17212 --- /dev/null +++ b/UNITTESTS/target_h/rtos/Mutex.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __MUTEX_H__ +#define __MUTEX_H__ + +#include +#include "cmsis_os2.h" + +namespace rtos { + +class Mutex { +public: + Mutex(); + + Mutex(const char *name); + + osStatus lock(uint32_t millisec=osWaitForever); + + bool trylock(); + + bool trylock_for(uint32_t millisec); + + bool trylock_until(uint64_t millisec); + + osStatus unlock(); + + osThreadId_t get_owner(); + + ~Mutex(); +}; + +} + +#endif diff --git a/UNITTESTS/target_h/rtos/Semaphore.h b/UNITTESTS/target_h/rtos/Semaphore.h new file mode 100644 index 0000000000..34e472dea6 --- /dev/null +++ b/UNITTESTS/target_h/rtos/Semaphore.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +typedef void *Semaphore; diff --git a/UNITTESTS/target_h/rtx_lib.h b/UNITTESTS/target_h/rtx_lib.h new file mode 100644 index 0000000000..2b2368f0a6 --- /dev/null +++ b/UNITTESTS/target_h/rtx_lib.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __RTX_LIB_H__ +#define __RTX_LIB_H__ + +#include "rtx_os.h" + +#define os_semaphore_t osRtxSemaphore_t +#define os_thread_t osRtxThread_t + +#endif diff --git a/UNITTESTS/target_h/rtx_os.h b/UNITTESTS/target_h/rtx_os.h new file mode 100644 index 0000000000..dfa7082fa1 --- /dev/null +++ b/UNITTESTS/target_h/rtx_os.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __RTX_OS__ +#define __RTX_OS__ + +#include "inttypes.h" + +typedef struct osRtxSemaphore_s { + uint8_t id; ///< Object Identifier + uint8_t state; ///< Object State + uint8_t flags; ///< Object Flags + uint8_t reserved; + const char *name; ///< Object Name + uint16_t tokens; ///< Current number of tokens + uint16_t max_tokens; ///< Maximum number of tokens +} osRtxSemaphore_t; + +typedef struct osRtxThread_s { + uint8_t id; ///< Object Identifier + uint8_t state; ///< Object State + uint8_t flags; ///< Object Flags + uint8_t attr; ///< Object Attributes + const char *name; ///< Object Name + struct osRtxThread_s *thread_next; ///< Link pointer to next Thread in Object list + struct osRtxThread_s *thread_prev; ///< Link pointer to previous Thread in Object list + struct osRtxThread_s *delay_next; ///< Link pointer to next Thread in Delay list + struct osRtxThread_s *delay_prev; ///< Link pointer to previous Thread in Delay list + struct osRtxThread_s *thread_join; ///< Thread waiting to Join + uint32_t delay; ///< Delay Time + int8_t priority; ///< Thread Priority + int8_t priority_base; ///< Base Priority + uint8_t stack_frame; ///< Stack Frame (EXC_RETURN[7..0]) + uint8_t flags_options; ///< Thread/Event Flags Options + uint32_t wait_flags; ///< Waiting Thread/Event Flags + uint32_t thread_flags; ///< Thread Flags + struct osRtxMutex_s *mutex_list; ///< Link pointer to list of owned Mutexes + void *stack_mem; ///< Stack Memory + uint32_t stack_size; ///< Stack Size + uint32_t sp; ///< Current Stack Pointer + uint32_t thread_addr; ///< Thread entry address + uint32_t tz_memory; ///< TrustZone Memory Identifier + void *context; ///< Context for OsEventObserver objects +} osRtxThread_t; + +typedef struct { + uint8_t id; ///< Object Identifier + uint8_t state; ///< Object State + uint8_t flags; ///< Object Flags + uint8_t reserved; + const char *name; ///< Object Name + osRtxThread_t *thread_list; ///< Waiting Threads List + uint32_t event_flags; ///< Event Flags +} osRtxEventFlags_t; + +#endif diff --git a/UNITTESTS/target_h/sys/syslimits.h b/UNITTESTS/target_h/sys/syslimits.h new file mode 100644 index 0000000000..5c90b373f1 --- /dev/null +++ b/UNITTESTS/target_h/sys/syslimits.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) , Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define NAME_MAX 255 From 3945ea6bf529684bbcd8f49c613ce7e39446c2f8 Mon Sep 17 00:00:00 2001 From: Antti Kauppila Date: Fri, 31 Aug 2018 13:30:53 +0300 Subject: [PATCH 019/202] Old Cellular UNITTESTS removed --- .../at_cellulardevicetest.cpp | 6 + UNITTESTS/stubs/ATHandler_stub.cpp | 2 +- UNITTESTS/stubs/ATHandler_stub.h | 2 + UNITTESTS/stubs/SocketAddress_stub.cpp | 24 - features/cellular/UNITTESTS/Makefile | 19 - features/cellular/UNITTESTS/MakefileWorker.mk | 562 -------- .../UNITTESTS/at/at_cellularbase/Makefile | 21 - .../at_cellularbase/at_cellularbasetest.cpp | 62 - .../UNITTESTS/at/at_cellularbase/main.cpp | 28 - .../at_cellularbase/test_at_cellularbase.cpp | 119 -- .../at/at_cellularbase/test_at_cellularbase.h | 36 - .../UNITTESTS/at/at_cellulardevice/Makefile | 29 - .../at_cellulardevicetest.cpp | 116 -- .../UNITTESTS/at/at_cellulardevice/main.cpp | 28 - .../test_at_cellulardevice.h | 60 - .../at/at_cellularinformation/Makefile | 22 - .../at_cellularinformationtest.cpp | 61 - .../at/at_cellularinformation/main.cpp | 28 - .../test_at_cellularinformation.cpp | 141 -- .../test_at_cellularinformation.h | 36 - .../UNITTESTS/at/at_cellularnetwork/Makefile | 29 - .../at_cellularnetworktest.cpp | 216 --- .../UNITTESTS/at/at_cellularnetwork/main.cpp | 28 - .../test_at_cellularnetwork.cpp | 1160 ----------------- .../test_at_cellularnetwork.h | 96 -- .../UNITTESTS/at/at_cellularpower/Makefile | 23 - .../at_cellularpower/at_cellularpowertest.cpp | 94 -- .../UNITTESTS/at/at_cellularpower/main.cpp | 28 - .../test_at_cellularpower.cpp | 193 --- .../at_cellularpower/test_at_cellularpower.h | 50 - .../UNITTESTS/at/at_cellularsim/Makefile | 24 - .../at/at_cellularsim/at_cellularsimtest.cpp | 78 -- .../UNITTESTS/at/at_cellularsim/main.cpp | 28 - .../at/at_cellularsim/test_at_cellularsim.cpp | 195 --- .../at/at_cellularsim/test_at_cellularsim.h | 42 - .../UNITTESTS/at/at_cellularsms/Makefile | 25 - .../at/at_cellularsms/at_cellularsmstest.cpp | 91 -- .../UNITTESTS/at/at_cellularsms/main.cpp | 28 - .../at/at_cellularsms/test_at_cellularsms.cpp | 206 --- .../at/at_cellularsms/test_at_cellularsms.h | 48 - .../UNITTESTS/at/at_cellularstack/Makefile | 26 - .../at_cellularstack/at_cellularstacktest.cpp | 107 -- .../UNITTESTS/at/at_cellularstack/main.cpp | 28 - .../test_at_cellularstack.cpp | 367 ------ .../at_cellularstack/test_at_cellularstack.h | 54 - .../cellular/UNITTESTS/at/athandler/Makefile | 30 - .../UNITTESTS/at/athandler/athandlertest.cpp | 226 ---- .../cellular/UNITTESTS/at/athandler/main.cpp | 28 - .../UNITTESTS/at/athandler/test_athandler.cpp | 1016 --------------- .../UNITTESTS/at/athandler/test_athandler.h | 102 -- .../cellular/UNITTESTS/common/util/Makefile | 18 - .../cellular/UNITTESTS/common/util/main.cpp | 28 - .../UNITTESTS/common/util/test_util.cpp | 177 --- .../UNITTESTS/common/util/test_util.h | 38 - .../UNITTESTS/common/util/utiltest.cpp | 66 - .../cellular/UNITTESTS/makefile_defines.txt | 32 - features/cellular/UNITTESTS/run_tests | 48 - .../cellular/UNITTESTS/stubs/ATCmdParser.cpp | 420 ------ .../UNITTESTS/stubs/AT_CellularBase_stub.cpp | 48 - .../UNITTESTS/stubs/AT_CellularBase_stub.h | 25 - .../stubs/AT_CellularDevice_stub.cpp | 91 -- .../stubs/AT_CellularInformation_stub.cpp | 49 - .../stubs/AT_CellularMultiplexer_stub.cpp | 35 - .../stubs/AT_CellularNetwork_stub.cpp | 256 ---- .../UNITTESTS/stubs/AT_CellularPower_stub.cpp | 81 -- .../UNITTESTS/stubs/AT_CellularSIM_stub.cpp | 59 - .../UNITTESTS/stubs/AT_CellularSMS_stub.cpp | 190 --- .../UNITTESTS/stubs/AT_CellularStack_stub.cpp | 90 -- .../UNITTESTS/stubs/CellularUtil_stub.cpp | 113 -- .../UNITTESTS/stubs/EventQueue_stub.cpp | 58 - .../UNITTESTS/stubs/FileHandle_stub.cpp | 32 - .../UNITTESTS/stubs/FileHandle_stub.h | 94 -- features/cellular/UNITTESTS/stubs/Kernel.cpp | 25 - .../UNITTESTS/stubs/NetworkInterface_stub.cpp | 89 -- .../UNITTESTS/stubs/NetworkStack_stub.cpp | 95 -- .../UNITTESTS/stubs/Semaphore_stub.cpp | 57 - .../UNITTESTS/stubs/SocketAddress_stub.cpp | 121 -- .../cellular/UNITTESTS/stubs/Thread_stub.cpp | 27 - .../cellular/UNITTESTS/stubs/Timer_stub.cpp | 74 -- .../cellular/UNITTESTS/stubs/Timer_stub.h | 24 - .../cellular/UNITTESTS/stubs/equeue_stub.c | 104 -- .../UNITTESTS/stubs/mbed_assert_stub.cpp | 24 - .../UNITTESTS/stubs/mbed_poll_stub.cpp | 32 - .../cellular/UNITTESTS/stubs/mbed_poll_stub.h | 27 - .../UNITTESTS/stubs/mbed_wait_api_stub.cpp | 30 - .../cellular/UNITTESTS/stubs/randLIB_stub.cpp | 27 - .../UNITTESTS/stubs/us_ticker_stub.cpp | 54 - .../cellular/UNITTESTS/target_h/ATCmdParser.h | 33 - .../UNITTESTS/target_h/PeripheralNames.h | 16 - .../cellular/UNITTESTS/target_h/PinNames.h | 27 - .../cellular/UNITTESTS/target_h/arm_math.h | 16 - features/cellular/UNITTESTS/target_h/cmsis.h | 16 - .../UNITTESTS/target_h/cmsis_compiler.h | 16 - .../cellular/UNITTESTS/target_h/cmsis_os.h | 30 - .../cellular/UNITTESTS/target_h/cmsis_os2.h | 52 - features/cellular/UNITTESTS/target_h/device.h | 16 - .../target_h/mbed-trace/mbed_trace.h | 27 - features/cellular/UNITTESTS/target_h/mbed.h | 24 - .../UNITTESTS/target_h/mbed_rtos1_types.h | 18 - .../UNITTESTS/target_h/mbed_rtos_storage.h | 24 - .../cellular/UNITTESTS/target_h/mbed_rtx.h | 16 - .../UNITTESTS/target_h/mbed_rtx_conf.h | 18 - .../cellular/UNITTESTS/target_h/nsapi_ppp.h | 16 - .../target_h/platform/mbed_power_mgmt.h | 17 - .../target_h/platform/mbed_retarget.h | 20 - .../cellular/UNITTESTS/target_h/randLIB.h | 27 - .../cellular/UNITTESTS/target_h/rtos/Mutex.h | 18 - .../UNITTESTS/target_h/rtos/Semaphore.h | 18 - .../cellular/UNITTESTS/target_h/rtx_lib.h | 25 - features/cellular/UNITTESTS/target_h/rtx_os.h | 60 - .../UNITTESTS/target_h/sys/syslimits.h | 17 - 111 files changed, 9 insertions(+), 9484 deletions(-) delete mode 100755 features/cellular/UNITTESTS/Makefile delete mode 100755 features/cellular/UNITTESTS/MakefileWorker.mk delete mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/at_cellularpowertest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.h delete mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/Makefile delete mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/at_cellularstacktest.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.cpp delete mode 100644 features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.h delete mode 100644 features/cellular/UNITTESTS/at/athandler/Makefile delete mode 100644 features/cellular/UNITTESTS/at/athandler/athandlertest.cpp delete mode 100644 features/cellular/UNITTESTS/at/athandler/main.cpp delete mode 100644 features/cellular/UNITTESTS/at/athandler/test_athandler.cpp delete mode 100644 features/cellular/UNITTESTS/at/athandler/test_athandler.h delete mode 100644 features/cellular/UNITTESTS/common/util/Makefile delete mode 100644 features/cellular/UNITTESTS/common/util/main.cpp delete mode 100644 features/cellular/UNITTESTS/common/util/test_util.cpp delete mode 100644 features/cellular/UNITTESTS/common/util/test_util.h delete mode 100644 features/cellular/UNITTESTS/common/util/utiltest.cpp delete mode 100755 features/cellular/UNITTESTS/makefile_defines.txt delete mode 100755 features/cellular/UNITTESTS/run_tests delete mode 100644 features/cellular/UNITTESTS/stubs/ATCmdParser.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.h delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularDevice_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularInformation_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularPower_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularSIM_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularSMS_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/AT_CellularStack_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/CellularUtil_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/EventQueue_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/FileHandle_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/FileHandle_stub.h delete mode 100644 features/cellular/UNITTESTS/stubs/Kernel.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/NetworkInterface_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/NetworkStack_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/Semaphore_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/Thread_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/Timer_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/Timer_stub.h delete mode 100644 features/cellular/UNITTESTS/stubs/equeue_stub.c delete mode 100644 features/cellular/UNITTESTS/stubs/mbed_assert_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/mbed_poll_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/mbed_poll_stub.h delete mode 100644 features/cellular/UNITTESTS/stubs/mbed_wait_api_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/randLIB_stub.cpp delete mode 100644 features/cellular/UNITTESTS/stubs/us_ticker_stub.cpp delete mode 100644 features/cellular/UNITTESTS/target_h/ATCmdParser.h delete mode 100644 features/cellular/UNITTESTS/target_h/PeripheralNames.h delete mode 100644 features/cellular/UNITTESTS/target_h/PinNames.h delete mode 100644 features/cellular/UNITTESTS/target_h/arm_math.h delete mode 100644 features/cellular/UNITTESTS/target_h/cmsis.h delete mode 100644 features/cellular/UNITTESTS/target_h/cmsis_compiler.h delete mode 100644 features/cellular/UNITTESTS/target_h/cmsis_os.h delete mode 100644 features/cellular/UNITTESTS/target_h/cmsis_os2.h delete mode 100644 features/cellular/UNITTESTS/target_h/device.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed-trace/mbed_trace.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtos1_types.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtos_storage.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtx.h delete mode 100644 features/cellular/UNITTESTS/target_h/mbed_rtx_conf.h delete mode 100644 features/cellular/UNITTESTS/target_h/nsapi_ppp.h delete mode 100644 features/cellular/UNITTESTS/target_h/platform/mbed_power_mgmt.h delete mode 100644 features/cellular/UNITTESTS/target_h/platform/mbed_retarget.h delete mode 100644 features/cellular/UNITTESTS/target_h/randLIB.h delete mode 100644 features/cellular/UNITTESTS/target_h/rtos/Mutex.h delete mode 100644 features/cellular/UNITTESTS/target_h/rtos/Semaphore.h delete mode 100644 features/cellular/UNITTESTS/target_h/rtx_lib.h delete mode 100644 features/cellular/UNITTESTS/target_h/rtx_os.h delete mode 100644 features/cellular/UNITTESTS/target_h/sys/syslimits.h diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp index 98eae84cd7..33f47399af 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp @@ -120,6 +120,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_network) ATHandler_stub::ref_count = 0; EXPECT_TRUE(dev.open_network(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_network(); @@ -134,6 +135,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sms) ATHandler_stub::ref_count = 0; EXPECT_TRUE(dev.open_sms(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_sms(); @@ -148,6 +150,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power) ATHandler_stub::ref_count = 0; EXPECT_TRUE(dev.open_power(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_power(); @@ -163,6 +166,8 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim) EXPECT_TRUE(dev.open_sim(&fh1)); + AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + dev.close_sms(); // this should not affect to refcount as it's not opened EXPECT_TRUE(ATHandler_stub::ref_count == 1); @@ -191,6 +196,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_information) AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; dev.close_information(); + EXPECT_TRUE(ATHandler_stub::ref_count == 1); ATHandler_stub::fh_value = NULL; } diff --git a/UNITTESTS/stubs/ATHandler_stub.cpp b/UNITTESTS/stubs/ATHandler_stub.cpp index 3daf8da115..81267d0b44 100644 --- a/UNITTESTS/stubs/ATHandler_stub.cpp +++ b/UNITTESTS/stubs/ATHandler_stub.cpp @@ -68,7 +68,7 @@ void ATHandler::set_debug(bool debug_on) ATHandler::~ATHandler() { - ATHandler_stub::ref_count = -909; + ATHandler_stub::ref_count = kATHandler_destructor_ref_ount; } void ATHandler::inc_ref_count() diff --git a/UNITTESTS/stubs/ATHandler_stub.h b/UNITTESTS/stubs/ATHandler_stub.h index d259938488..856ed9cb7d 100644 --- a/UNITTESTS/stubs/ATHandler_stub.h +++ b/UNITTESTS/stubs/ATHandler_stub.h @@ -29,6 +29,8 @@ static const int kRead_string_table_size = 100; static const int kRead_int_table_size = 100; static const int kResp_stop_count_default = 100; +// set reference count to -909 to separate it from zero so we can test that ATHandler is really deleted. +static const int kATHandler_destructor_ref_ount = -909; namespace ATHandler_stub { extern nsapi_error_t nsapi_error_value; diff --git a/UNITTESTS/stubs/SocketAddress_stub.cpp b/UNITTESTS/stubs/SocketAddress_stub.cpp index 76e02aa12b..9ed53f03cf 100644 --- a/UNITTESTS/stubs/SocketAddress_stub.cpp +++ b/UNITTESTS/stubs/SocketAddress_stub.cpp @@ -22,40 +22,16 @@ #include "mbed.h" -static bool ipv4_is_valid(const char *addr) -{ - return false; -} - static bool ipv6_is_valid(const char *addr) { return false; } -static void ipv4_from_address(uint8_t *bytes, const char *addr) -{ - -} - static int ipv6_scan_chunk(uint16_t *shorts, const char *chunk) { return 0; } -static void ipv6_from_address(uint8_t *bytes, const char *addr) -{ - -} - -static void ipv4_to_address(char *addr, const uint8_t *bytes) -{ - -} - -static void ipv6_to_address(char *addr, const uint8_t *bytes) -{ -} - SocketAddress::SocketAddress(nsapi_addr_t addr, uint16_t port) { diff --git a/features/cellular/UNITTESTS/Makefile b/features/cellular/UNITTESTS/Makefile deleted file mode 100755 index 1327cf4601..0000000000 --- a/features/cellular/UNITTESTS/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -#scan for folders having "Makefile" in them and remove 'this' to prevent loop -DIRS := $(filter-out ./, $(sort $(dir $(shell find . -name 'Makefile')))) - -all: - for dir in $(DIRS); do \ - cd $$dir; make gcov; cd ..; cd ..;\ - done - -clean: - for dir in $(DIRS); do \ - cd $$dir; make clean; cd ..; cd ..;\ - done - rm -rf ../source/*gcov ../source/*gcda ../source/*o - rm -rf stubs/*gcov stubs/*gcda stubs/*o - rm -rf results/* - rm -rf coverages/* - rm -rf results - rm -rf coverages - diff --git a/features/cellular/UNITTESTS/MakefileWorker.mk b/features/cellular/UNITTESTS/MakefileWorker.mk deleted file mode 100755 index 2096ced036..0000000000 --- a/features/cellular/UNITTESTS/MakefileWorker.mk +++ /dev/null @@ -1,562 +0,0 @@ -#--------- -# -# MakefileWorker.mk -# -# Include this helper file in your makefile -# It makes -# A static library -# A test executable -# -# See this example for parameter settings -# examples/Makefile -# -#---------- -# Inputs - these variables describe what to build -# -# INCLUDE_DIRS - Directories used to search for include files. -# This generates a -I for each directory -# SRC_DIRS - Directories containing source file to built into the library -# SRC_FILES - Specific source files to build into library. Helpful when not all code -# in a directory can be built for test (hopefully a temporary situation) -# TEST_SRC_DIRS - Directories containing unit test code build into the unit test runner -# These do not go in a library. They are explicitly included in the test runner -# TEST_SRC_FILES - Specific source files to build into the unit test runner -# These do not go in a library. They are explicitly included in the test runner -# MOCKS_SRC_DIRS - Directories containing mock source files to build into the test runner -# These do not go in a library. They are explicitly included in the test runner -#---------- -# You can adjust these variables to influence how to build the test target -# and where to put and name outputs -# See below to determine defaults -# COMPONENT_NAME - the name of the thing being built -# TEST_TARGET - name the test executable. By default it is -# $(COMPONENT_NAME)_tests -# Helpful if you want 1 > make files in the same directory with different -# executables as output. -# CPPUTEST_HOME - where CppUTest home dir found -# TARGET_PLATFORM - Influences how the outputs are generated by modifying the -# CPPUTEST_OBJS_DIR and CPPUTEST_LIB_DIR to use a sub-directory under the -# normal objs and lib directories. Also modifies where to search for the -# CPPUTEST_LIB to link against. -# CPPUTEST_OBJS_DIR - a directory where o and d files go -# CPPUTEST_LIB_DIR - a directory where libs go -# CPPUTEST_ENABLE_DEBUG - build for debug -# CPPUTEST_USE_MEM_LEAK_DETECTION - Links with overridden new and delete -# CPPUTEST_USE_STD_CPP_LIB - Set to N to keep the standard C++ library out -# of the test harness -# CPPUTEST_USE_GCOV - Turn on coverage analysis -# Clean then build with this flag set to Y, then 'make gcov' -# CPPUTEST_MAPFILE - generate a map file -# CPPUTEST_WARNINGFLAGS - overly picky by default -# OTHER_MAKEFILE_TO_INCLUDE - a hook to use this makefile to make -# other targets. Like CSlim, which is part of fitnesse -# CPPUTEST_USE_VPATH - Use Make's VPATH functionality to support user -# specification of source files and directories that aren't below -# the user's Makefile in the directory tree, like: -# SRC_DIRS += ../../lib/foo -# It defaults to N, and shouldn't be necessary except in the above case. -#---------- -# -# Other flags users can initialize to sneak in their settings -# CPPUTEST_CXXFLAGS - flags for the C++ compiler -# CPPUTEST_CPPFLAGS - flags for the C++ AND C preprocessor -# CPPUTEST_CFLAGS - flags for the C complier -# CPPUTEST_LDFLAGS - Linker flags -#---------- - -# Some behavior is weird on some platforms. Need to discover the platform. - -# Platforms -UNAME_OUTPUT = "$(shell uname -a)" -MACOSX_STR = Darwin -MINGW_STR = MINGW -CYGWIN_STR = CYGWIN -LINUX_STR = Linux -SUNOS_STR = SunOS -UNKNWOWN_OS_STR = Unknown - -# Compilers -CC_VERSION_OUTPUT ="$(shell $(CXX) -v 2>&1)" -CLANG_STR = clang -SUNSTUDIO_CXX_STR = SunStudio - -UNAME_OS = $(UNKNWOWN_OS_STR) - -ifeq ($(findstring $(MINGW_STR),$(UNAME_OUTPUT)),$(MINGW_STR)) - UNAME_OS = $(MINGW_STR) -endif - -ifeq ($(findstring $(CYGWIN_STR),$(UNAME_OUTPUT)),$(CYGWIN_STR)) - UNAME_OS = $(CYGWIN_STR) -endif - -ifeq ($(findstring $(LINUX_STR),$(UNAME_OUTPUT)),$(LINUX_STR)) - UNAME_OS = $(LINUX_STR) -endif - -ifeq ($(findstring $(MACOSX_STR),$(UNAME_OUTPUT)),$(MACOSX_STR)) - UNAME_OS = $(MACOSX_STR) -#lion has a problem with the 'v' part of -a - UNAME_OUTPUT = "$(shell uname -pmnrs)" -endif - -ifeq ($(findstring $(SUNOS_STR),$(UNAME_OUTPUT)),$(SUNOS_STR)) - UNAME_OS = $(SUNOS_STR) - - SUNSTUDIO_CXX_ERR_STR = CC -flags -ifeq ($(findstring $(SUNSTUDIO_CXX_ERR_STR),$(CC_VERSION_OUTPUT)),$(SUNSTUDIO_CXX_ERR_STR)) - CC_VERSION_OUTPUT ="$(shell $(CXX) -V 2>&1)" - COMPILER_NAME = $(SUNSTUDIO_CXX_STR) -endif -endif - -ifeq ($(findstring $(CLANG_STR),$(CC_VERSION_OUTPUT)),$(CLANG_STR)) - COMPILER_NAME = $(CLANG_STR) -endif - -#Kludge for mingw, it does not have cc.exe, but gcc.exe will do -ifeq ($(UNAME_OS),$(MINGW_STR)) - CC := gcc -endif - -#And another kludge. Exception handling in gcc 4.6.2 is broken when linking the -# Standard C++ library as a shared library. Unbelievable. -ifeq ($(UNAME_OS),$(MINGW_STR)) - CPPUTEST_LDFLAGS += -static -endif -ifeq ($(UNAME_OS),$(CYGWIN_STR)) - CPPUTEST_LDFLAGS += -static -endif - - -#Kludge for MacOsX gcc compiler on Darwin9 who can't handle pendantic -ifeq ($(UNAME_OS),$(MACOSX_STR)) -ifeq ($(findstring Version 9,$(UNAME_OUTPUT)),Version 9) - CPPUTEST_PEDANTIC_ERRORS = N -endif -endif - -ifndef COMPONENT_NAME - COMPONENT_NAME = name_this_in_the_makefile -endif - -# Debug on by default -ifndef CPPUTEST_ENABLE_DEBUG - CPPUTEST_ENABLE_DEBUG = Y -endif - -# new and delete for memory leak detection on by default -ifndef CPPUTEST_USE_MEM_LEAK_DETECTION - CPPUTEST_USE_MEM_LEAK_DETECTION = Y -endif - -# Use the standard C library -ifndef CPPUTEST_USE_STD_C_LIB - CPPUTEST_USE_STD_C_LIB = Y -endif - -# Use the standard C++ library -ifndef CPPUTEST_USE_STD_CPP_LIB - CPPUTEST_USE_STD_CPP_LIB = Y -endif - -# Use gcov, off by default -ifndef CPPUTEST_USE_GCOV - CPPUTEST_USE_GCOV = N -endif - -ifndef CPPUTEST_PEDANTIC_ERRORS - CPPUTEST_PEDANTIC_ERRORS = Y -endif - -# Default warnings -ifndef CPPUTEST_WARNINGFLAGS - CPPUTEST_WARNINGFLAGS = -Wall -Wextra -Wshadow -Wswitch-default -Wswitch-enum -Wconversion -ifeq ($(CPPUTEST_PEDANTIC_ERRORS), Y) -# CPPUTEST_WARNINGFLAGS += -pedantic-errors - CPPUTEST_WARNINGFLAGS += -pedantic -endif -ifeq ($(UNAME_OS),$(LINUX_STR)) - CPPUTEST_WARNINGFLAGS += -Wsign-conversion -endif - CPPUTEST_CXX_WARNINGFLAGS = -Woverloaded-virtual - CPPUTEST_C_WARNINGFLAGS = -Wstrict-prototypes -endif - -#Wonderful extra compiler warnings with clang -ifeq ($(COMPILER_NAME),$(CLANG_STR)) -# -Wno-disabled-macro-expansion -> Have to disable the macro expansion warning as the operator new overload warns on that. -# -Wno-padded -> I sort-of like this warning but if there is a bool at the end of the class, it seems impossible to remove it! (except by making padding explicit) -# -Wno-global-constructors Wno-exit-time-destructors -> Great warnings, but in CppUTest it is impossible to avoid as the automatic test registration depends on the global ctor and dtor -# -Wno-weak-vtables -> The TEST_GROUP macro declares a class and will automatically inline its methods. Thats ok as they are only in one translation unit. Unfortunately, the warning can't detect that, so it must be disabled. - CPPUTEST_CXX_WARNINGFLAGS += -Weverything -Wno-disabled-macro-expansion -Wno-padded -Wno-global-constructors -Wno-exit-time-destructors -Wno-weak-vtables - CPPUTEST_C_WARNINGFLAGS += -Weverything -Wno-padded -endif - -# Uhm. Maybe put some warning flags for SunStudio here? -ifeq ($(COMPILER_NAME),$(SUNSTUDIO_CXX_STR)) - CPPUTEST_CXX_WARNINGFLAGS = - CPPUTEST_C_WARNINGFLAGS = -endif - -# Default dir for temporary files (d, o) -ifndef CPPUTEST_OBJS_DIR -ifndef TARGET_PLATFORM - CPPUTEST_OBJS_DIR = objs -else - CPPUTEST_OBJS_DIR = objs/$(TARGET_PLATFORM) -endif -endif - -# Default dir for the outout library -ifndef CPPUTEST_LIB_DIR -ifndef TARGET_PLATFORM - CPPUTEST_LIB_DIR = lib -else - CPPUTEST_LIB_DIR = lib/$(TARGET_PLATFORM) -endif -endif - -# No map by default -ifndef CPPUTEST_MAP_FILE - CPPUTEST_MAP_FILE = N -endif - -# No extentions is default -ifndef CPPUTEST_USE_EXTENSIONS - CPPUTEST_USE_EXTENSIONS = N -endif - -# No VPATH is default -ifndef CPPUTEST_USE_VPATH - CPPUTEST_USE_VPATH := N -endif -# Make empty, instead of 'N', for usage in $(if ) conditionals -ifneq ($(CPPUTEST_USE_VPATH), Y) - CPPUTEST_USE_VPATH := -endif - -ifndef TARGET_PLATFORM -#CPPUTEST_LIB_LINK_DIR = $(CPPUTEST_HOME)/lib -CPPUTEST_LIB_LINK_DIR = /usr/lib/x86_64-linux-gnu -else -CPPUTEST_LIB_LINK_DIR = $(CPPUTEST_HOME)/lib/$(TARGET_PLATFORM) -endif - -# -------------------------------------- -# derived flags in the following area -# -------------------------------------- - -# Without the C library, we'll need to disable the C++ library and ... -ifeq ($(CPPUTEST_USE_STD_C_LIB), N) - CPPUTEST_USE_STD_CPP_LIB = N - CPPUTEST_USE_MEM_LEAK_DETECTION = N - CPPUTEST_CPPFLAGS += -DCPPUTEST_STD_C_LIB_DISABLED - CPPUTEST_CPPFLAGS += -nostdinc -endif - -CPPUTEST_CPPFLAGS += -DCPPUTEST_COMPILATION - -ifeq ($(CPPUTEST_USE_MEM_LEAK_DETECTION), N) - CPPUTEST_CPPFLAGS += -DCPPUTEST_MEM_LEAK_DETECTION_DISABLED -else - ifndef CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE - CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE = -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorNewMacros.h - endif - ifndef CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE - CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE = -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorMallocMacros.h - endif -endif - -ifeq ($(CPPUTEST_ENABLE_DEBUG), Y) - CPPUTEST_CXXFLAGS += -g - CPPUTEST_CFLAGS += -g - CPPUTEST_LDFLAGS += -g -endif - -ifeq ($(CPPUTEST_USE_STD_CPP_LIB), N) - CPPUTEST_CPPFLAGS += -DCPPUTEST_STD_CPP_LIB_DISABLED -ifeq ($(CPPUTEST_USE_STD_C_LIB), Y) - CPPUTEST_CXXFLAGS += -nostdinc++ -endif -endif - -ifdef $(GMOCK_HOME) - GTEST_HOME = $(GMOCK_HOME)/gtest - CPPUTEST_CPPFLAGS += -I$(GMOCK_HOME)/include - GMOCK_LIBRARY = $(GMOCK_HOME)/lib/.libs/libgmock.a - LD_LIBRARIES += $(GMOCK_LIBRARY) - CPPUTEST_CPPFLAGS += -DINCLUDE_GTEST_TESTS - CPPUTEST_WARNINGFLAGS = - CPPUTEST_CPPFLAGS += -I$(GTEST_HOME)/include -I$(GTEST_HOME) - GTEST_LIBRARY = $(GTEST_HOME)/lib/.libs/libgtest.a - LD_LIBRARIES += $(GTEST_LIBRARY) -endif - - -ifeq ($(CPPUTEST_USE_GCOV), Y) - CPPUTEST_CXXFLAGS += -fprofile-arcs -ftest-coverage - CPPUTEST_CFLAGS += -fprofile-arcs -ftest-coverage -endif - -CPPUTEST_CXXFLAGS += $(CPPUTEST_WARNINGFLAGS) $(CPPUTEST_CXX_WARNINGFLAGS) -CPPUTEST_CPPFLAGS += $(CPPUTEST_WARNINGFLAGS) -CPPUTEST_CXXFLAGS += $(CPPUTEST_MEMLEAK_DETECTOR_NEW_MACRO_FILE) -CPPUTEST_CPPFLAGS += $(CPPUTEST_MEMLEAK_DETECTOR_MALLOC_MACRO_FILE) -CPPUTEST_CFLAGS += $(CPPUTEST_C_WARNINGFLAGS) - -TARGET_MAP = $(COMPONENT_NAME).map.txt -ifeq ($(CPPUTEST_MAP_FILE), Y) - CPPUTEST_LDFLAGS += -Wl,-map,$(TARGET_MAP) -endif - -# Link with CppUTest lib -CPPUTEST_LIB = $(CPPUTEST_LIB_LINK_DIR)/libCppUTest.a - -ifeq ($(CPPUTEST_USE_EXTENSIONS), Y) -CPPUTEST_LIB += $(CPPUTEST_LIB_LINK_DIR)/libCppUTestExt.a -endif - -ifdef CPPUTEST_STATIC_REALTIME - LD_LIBRARIES += -lrt -endif - -TARGET_LIB = \ - $(CPPUTEST_LIB_DIR)/lib$(COMPONENT_NAME).a - -ifndef TEST_TARGET - ifndef TARGET_PLATFORM - TEST_TARGET = $(COMPONENT_NAME)_tests - else - TEST_TARGET = $(COMPONENT_NAME)_$(TARGET_PLATFORM)_tests - endif -endif - -#Helper Functions -get_src_from_dir = $(wildcard $1/*.cpp) $(wildcard $1/*.cc) $(wildcard $1/*.c) -get_dirs_from_dirspec = $(wildcard $1) -get_src_from_dir_list = $(foreach dir, $1, $(call get_src_from_dir,$(dir))) -__src_to = $(subst .c,$1, $(subst .cc,$1, $(subst .cpp,$1,$(if $(CPPUTEST_USE_VPATH),$(notdir $2),$2)))) -src_to = $(addprefix $(CPPUTEST_OBJS_DIR)/,$(call __src_to,$1,$2)) -src_to_o = $(call src_to,.o,$1) -src_to_d = $(call src_to,.d,$1) -src_to_gcda = $(call src_to,.gcda,$1) -src_to_gcno = $(call src_to,.gcno,$1) -time = $(shell date +%s) -delta_t = $(eval minus, $1, $2) -debug_print_list = $(foreach word,$1,echo " $(word)";) echo; - -#Derived -STUFF_TO_CLEAN += $(TEST_TARGET) $(TEST_TARGET).exe $(TARGET_LIB) $(TARGET_MAP) - -SRC += $(call get_src_from_dir_list, $(SRC_DIRS)) $(SRC_FILES) -OBJ = $(call src_to_o,$(SRC)) - -STUFF_TO_CLEAN += $(OBJ) - -TEST_SRC += $(call get_src_from_dir_list, $(TEST_SRC_DIRS)) $(TEST_SRC_FILES) -TEST_OBJS = $(call src_to_o,$(TEST_SRC)) -STUFF_TO_CLEAN += $(TEST_OBJS) - - -MOCKS_SRC += $(call get_src_from_dir_list, $(MOCKS_SRC_DIRS)) -MOCKS_OBJS = $(call src_to_o,$(MOCKS_SRC)) -STUFF_TO_CLEAN += $(MOCKS_OBJS) - -ALL_SRC = $(SRC) $(TEST_SRC) $(MOCKS_SRC) - -# If we're using VPATH -ifeq ($(CPPUTEST_USE_VPATH), Y) -# gather all the source directories and add them - VPATH += $(sort $(dir $(ALL_SRC))) -# Add the component name to the objs dir path, to differentiate between same-name objects - CPPUTEST_OBJS_DIR := $(addsuffix /$(COMPONENT_NAME),$(CPPUTEST_OBJS_DIR)) -endif - -#Test coverage with gcov -GCOV_OUTPUT = gcov_output.txt -GCOV_REPORT = gcov_report.txt -GCOV_ERROR = gcov_error.txt -GCOV_GCDA_FILES = $(call src_to_gcda, $(ALL_SRC)) -GCOV_GCNO_FILES = $(call src_to_gcno, $(ALL_SRC)) -TEST_OUTPUT = $(TEST_TARGET).txt -STUFF_TO_CLEAN += \ - $(GCOV_OUTPUT)\ - $(GCOV_REPORT)\ - $(GCOV_REPORT).html\ - $(GCOV_ERROR)\ - $(GCOV_GCDA_FILES)\ - $(GCOV_GCNO_FILES)\ - $(TEST_OUTPUT) - -#The gcda files for gcov need to be deleted before each run -#To avoid annoying messages. -GCOV_CLEAN = $(SILENCE)rm -f $(GCOV_GCDA_FILES) $(GCOV_OUTPUT) $(GCOV_REPORT) $(GCOV_ERROR) -RUN_TEST_TARGET = $(SILENCE) $(GCOV_CLEAN) ; echo "Running $(TEST_TARGET)"; ./$(TEST_TARGET) $(CPPUTEST_EXE_FLAGS) -ojunit - -ifeq ($(CPPUTEST_USE_GCOV), Y) - - ifeq ($(COMPILER_NAME),$(CLANG_STR)) - LD_LIBRARIES += --coverage - else - LD_LIBRARIES += -lgcov - endif -endif - - -INCLUDES_DIRS_EXPANDED = $(call get_dirs_from_dirspec, $(INCLUDE_DIRS)) -INCLUDES += $(foreach dir, $(INCLUDES_DIRS_EXPANDED), -I$(dir)) -MOCK_DIRS_EXPANDED = $(call get_dirs_from_dirspec, $(MOCKS_SRC_DIRS)) -INCLUDES += $(foreach dir, $(MOCK_DIRS_EXPANDED), -I$(dir)) - -CPPUTEST_CPPFLAGS += $(INCLUDES) $(CPPUTESTFLAGS) - -DEP_FILES = $(call src_to_d, $(ALL_SRC)) -STUFF_TO_CLEAN += $(DEP_FILES) $(PRODUCTION_CODE_START) $(PRODUCTION_CODE_END) -STUFF_TO_CLEAN += $(STDLIB_CODE_START) $(MAP_FILE) cpputest_*.xml junit_run_output - -# We'll use the CPPUTEST_CFLAGS etc so that you can override AND add to the CppUTest flags -CFLAGS = $(CPPUTEST_CFLAGS) $(CPPUTEST_ADDITIONAL_CFLAGS) -CPPFLAGS = $(CPPUTEST_CPPFLAGS) $(CPPUTEST_ADDITIONAL_CPPFLAGS) -CXXFLAGS = $(CPPUTEST_CXXFLAGS) $(CPPUTEST_ADDITIONAL_CXXFLAGS) -LDFLAGS = $(CPPUTEST_LDFLAGS) $(CPPUTEST_ADDITIONAL_LDFLAGS) - -# Don't consider creating the archive a warning condition that does STDERR output -ARFLAGS := $(ARFLAGS)c - -DEP_FLAGS=-MMD -MP - -# Some macros for programs to be overridden. For some reason, these are not in Make defaults -RANLIB = ranlib - -# Targets - -.PHONY: all -all: start $(TEST_TARGET) - $(RUN_TEST_TARGET) - -.PHONY: start -start: $(TEST_TARGET) - $(SILENCE)START_TIME=$(call time) - -.PHONY: all_no_tests -all_no_tests: $(TEST_TARGET) - -.PHONY: flags -flags: - @echo - @echo "OS ${UNAME_OS}" - @echo "Compile C and C++ source with CPPFLAGS:" - @$(call debug_print_list,$(CPPFLAGS)) - @echo "Compile C++ source with CXXFLAGS:" - @$(call debug_print_list,$(CXXFLAGS)) - @echo "Compile C source with CFLAGS:" - @$(call debug_print_list,$(CFLAGS)) - @echo "Link with LDFLAGS:" - @$(call debug_print_list,$(LDFLAGS)) - @echo "Link with LD_LIBRARIES:" - @$(call debug_print_list,$(LD_LIBRARIES)) - @echo "Create libraries with ARFLAGS:" - @$(call debug_print_list,$(ARFLAGS)) - -TEST_DEPS = $(TEST_OBJS) $(MOCKS_OBJS) $(PRODUCTION_CODE_START) $(TARGET_LIB) $(USER_LIBS) $(PRODUCTION_CODE_END) $(CPPUTEST_LIB) $(STDLIB_CODE_START) -test-deps: $(TEST_DEPS) - -$(TEST_TARGET): $(TEST_DEPS) - @echo Linking $@ - $(SILENCE)$(CXX) -o $@ $^ $(LD_LIBRARIES) $(LDFLAGS) - -$(TARGET_LIB): $(OBJ) - @echo Building archive $@ - $(SILENCE)mkdir -p $(dir $@) - $(SILENCE)$(AR) $(ARFLAGS) $@ $^ - $(SILENCE)$(RANLIB) $@ - -test: $(TEST_TARGET) - $(RUN_TEST_TARGET) | tee $(TEST_OUTPUT) - -vtest: $(TEST_TARGET) - $(RUN_TEST_TARGET) -v | tee $(TEST_OUTPUT) - -$(CPPUTEST_OBJS_DIR)/%.o: %.cc - @echo compiling $(notdir $<) - $(SILENCE)mkdir -p $(dir $@) - $(SILENCE)$(COMPILE.cpp) $(DEP_FLAGS) $(OUTPUT_OPTION) $< - -$(CPPUTEST_OBJS_DIR)/%.o: %.cpp - @echo compiling $(notdir $<) - $(SILENCE)mkdir -p $(dir $@) - $(SILENCE)$(COMPILE.cpp) $(DEP_FLAGS) $(OUTPUT_OPTION) $< - -$(CPPUTEST_OBJS_DIR)/%.o: %.c - @echo compiling $(notdir $<) - $(SILENCE)mkdir -p $(dir $@) - $(SILENCE)$(COMPILE.c) $(DEP_FLAGS) $(OUTPUT_OPTION) $< - -ifneq "$(MAKECMDGOALS)" "clean" --include $(DEP_FILES) -endif - -.PHONY: clean -clean: - @echo Making clean - $(SILENCE)$(RM) $(STUFF_TO_CLEAN) - $(SILENCE)rm -rf gcov objs #$(CPPUTEST_OBJS_DIR) - $(SILENCE)rm -rf $(CPPUTEST_LIB_DIR) - $(SILENCE)find . -name "*.gcno" | xargs rm -f - $(SILENCE)find . -name "*.gcda" | xargs rm -f - -#realclean gets rid of all gcov, o and d files in the directory tree -#not just the ones made by this makefile -.PHONY: realclean -realclean: clean - $(SILENCE)rm -rf gcov - $(SILENCE)find . -name "*.gdcno" | xargs rm -f - $(SILENCE)find . -name "*.[do]" | xargs rm -f - -gcov: test -ifeq ($(CPPUTEST_USE_VPATH), Y) - $(SILENCE)gcov --object-directory $(CPPUTEST_OBJS_DIR) $(SRC) >> $(GCOV_OUTPUT) 2>> $(GCOV_ERROR) -else - $(SILENCE)for d in $(SRC_DIRS) ; do \ - gcov --object-directory $(CPPUTEST_OBJS_DIR)/$$d $$d/*.c $$d/*.cpp >> $(GCOV_OUTPUT) 2>>$(GCOV_ERROR) ; \ - done - $(SILENCE)for f in $(SRC_FILES) ; do \ - gcov --object-directory $(CPPUTEST_OBJS_DIR)/$$f $$f >> $(GCOV_OUTPUT) 2>>$(GCOV_ERROR) ; \ - done -endif -# $(CPPUTEST_HOME)/scripts/filterGcov.sh $(GCOV_OUTPUT) $(GCOV_ERROR) $(GCOV_REPORT) $(TEST_OUTPUT) - /usr/share/cpputest/scripts/filterGcov.sh $(GCOV_OUTPUT) $(GCOV_ERROR) $(GCOV_REPORT) $(TEST_OUTPUT) - $(SILENCE)cat $(GCOV_REPORT) - $(SILENCE)mkdir -p gcov - $(SILENCE)mv *.gcov gcov - $(SILENCE)mv gcov_* gcov - @echo "See gcov directory for details" - -.PHONEY: format -format: - $(CPPUTEST_HOME)/scripts/reformat.sh $(PROJECT_HOME_DIR) - -.PHONEY: debug -debug: - @echo - @echo "Target Source files:" - @$(call debug_print_list,$(SRC)) - @echo "Target Object files:" - @$(call debug_print_list,$(OBJ)) - @echo "Test Source files:" - @$(call debug_print_list,$(TEST_SRC)) - @echo "Test Object files:" - @$(call debug_print_list,$(TEST_OBJS)) - @echo "Mock Source files:" - @$(call debug_print_list,$(MOCKS_SRC)) - @echo "Mock Object files:" - @$(call debug_print_list,$(MOCKS_OBJS)) - @echo "All Input Dependency files:" - @$(call debug_print_list,$(DEP_FILES)) - @echo Stuff to clean: - @$(call debug_print_list,$(STUFF_TO_CLEAN)) - @echo Includes: - @$(call debug_print_list,$(INCLUDES)) - --include $(OTHER_MAKEFILE_TO_INCLUDE) diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/Makefile b/features/cellular/UNITTESTS/at/at_cellularbase/Makefile deleted file mode 100644 index 119b84aae9..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularbase/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularBase_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularBase.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularbasetest.cpp \ - test_at_cellularbase.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp b/features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp deleted file mode 100644 index 0c7ff37f60..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularbase.h" -#include "AT_CellularBase.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularBase) -{ - Test_AT_CellularBase *unit; - - void setup() - { - unit = new Test_AT_CellularBase(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularBase, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularBase, test_AT_CellularBase_get_at_handler) -{ - unit->test_AT_CellularBase_get_at_handler(); -} - -TEST(AT_CellularBase, test_AT_CellularBase_get_device_error) -{ - unit->test_AT_CellularBase_get_device_error(); -} - -TEST(AT_CellularBase, test_AT_CellularBase_set_unsupported_features) -{ - unit->test_AT_CellularBase_set_unsupported_features(); -} - -TEST(AT_CellularBase, test_AT_CellularBase_is_supported) -{ - unit->test_AT_CellularBase_is_supported(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/main.cpp b/features/cellular/UNITTESTS/at/at_cellularbase/main.cpp deleted file mode 100644 index 2c5e6a6356..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularbase/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularBase); - diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp b/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp deleted file mode 100644 index e69af7f28f..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularbase.h" -#include "EventQueue.h" -#include "AT_CellularBase.h" -#include "ATHandler_stub.h" -#include "FileHandle_stub.h" -#include - -using namespace mbed; -using namespace events; - -class my_base : public AT_CellularBase { -public: - my_base(ATHandler &at) : AT_CellularBase(at) - { - } - bool check_not_supported() - { - static const AT_CellularBase::SupportedFeature unsupported_features[] = { - AT_CellularBase::AT_CGSN_WITH_TYPE, - AT_CellularBase::SUPPORTED_FEATURE_END_MARK - }; - set_unsupported_features(unsupported_features); - return is_supported(AT_CGSN_WITH_TYPE); - } - - bool check_supported() - { - set_unsupported_features(NULL); - return is_supported(AT_CGSN_WITH_TYPE); - } - - bool check_supported_not_found() - { - static const AT_CellularBase::SupportedFeature unsupported_features[] = { - AT_CellularBase::AT_CGSN_WITH_TYPE, - AT_CellularBase::SUPPORTED_FEATURE_END_MARK - }; - set_unsupported_features(unsupported_features); - return is_supported(SUPPORTED_FEATURE_END_MARK); - } -}; - -Test_AT_CellularBase::Test_AT_CellularBase() -{ - -} - -Test_AT_CellularBase::~Test_AT_CellularBase() -{ -} - -void Test_AT_CellularBase::test_AT_CellularBase_get_at_handler() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 100, ","); - AT_CellularBase at(ah); - - CHECK(&ah == &at.get_at_handler()); -} - -void Test_AT_CellularBase::test_AT_CellularBase_get_device_error() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularBase at(ah); - - ATHandler_stub::device_err_value.errCode = 8; - - CHECK_EQUAL(8, at.get_device_error().errCode); - - ATHandler_stub::device_err_value.errCode = 0; -} - -void Test_AT_CellularBase::test_AT_CellularBase_set_unsupported_features() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularBase at(ah); - - static const AT_CellularBase::SupportedFeature unsupported_features[] = { - AT_CellularBase::AT_CGSN_WITH_TYPE, - AT_CellularBase::SUPPORTED_FEATURE_END_MARK - }; - - at.set_unsupported_features(unsupported_features); -} - -void Test_AT_CellularBase::test_AT_CellularBase_is_supported() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - my_base my_at(ah); - - CHECK(true == my_at.check_supported()); - CHECK(true == my_at.check_supported_not_found()); - CHECK(false == my_at.check_not_supported()); - -} diff --git a/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h b/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h deleted file mode 100644 index 57dab4ea2d..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARBASE_H -#define TEST_AT_CELLULARBASE_H - -class Test_AT_CellularBase { -public: - Test_AT_CellularBase(); - - virtual ~Test_AT_CellularBase(); - - void test_AT_CellularBase_get_at_handler(); - - void test_AT_CellularBase_get_device_error(); - - void test_AT_CellularBase_set_unsupported_features(); - - void test_AT_CellularBase_is_supported(); -}; - -#endif // TEST_AT_CELLULARBASE_H - diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile b/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile deleted file mode 100644 index cdc3e27799..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellulardevice/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularDevice_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularDevice.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellulardevicetest.cpp \ - test_at_cellulardevice.cpp \ - ../../stubs/AT_CellularNetwork_stub.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularSMS_stub.cpp \ - ../../stubs/AT_CellularSIM_stub.cpp \ - ../../stubs/AT_CellularPower_stub.cpp \ - ../../stubs/AT_CellularInformation_stub.cpp \ - ../../stubs/CellularUtil_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/NetworkInterface_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp b/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp deleted file mode 100644 index 8dae6677a0..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellulardevice.h" - -TEST_GROUP(AT_CellularDevice) -{ - Test_AT_CellularDevice *unit; - - void setup() { - unit = new Test_AT_CellularDevice(); - } - - void teardown() { - delete unit; - } -}; - -TEST(AT_CellularDevice, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_constructor) -{ - unit->test_AT_CellularDevice_constructor(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_get_at_handler) -{ - unit->test_AT_CellularDevice_get_at_handler(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_open_network) -{ - unit->test_AT_CellularDevice_open_network(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_open_sms) -{ - unit->test_AT_CellularDevice_open_sms(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_open_power) -{ - unit->test_AT_CellularDevice_open_power(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_open_sim) -{ - unit->test_AT_CellularDevice_open_sim(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_open_information) -{ - unit->test_AT_CellularDevice_open_information(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_close_network) -{ - unit->test_AT_CellularDevice_close_network(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_close_sms) -{ - unit->test_AT_CellularDevice_close_sms(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_close_power) -{ - unit->test_AT_CellularDevice_close_power(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_close_sim) -{ - unit->test_AT_CellularDevice_close_sim(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_close_information) -{ - unit->test_AT_CellularDevice_close_information(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_set_timeout) -{ - unit->test_AT_CellularDevice_set_timeout(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_modem_debug_on) -{ - unit->test_AT_CellularDevice_modem_debug_on(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_get_stack) -{ - unit->test_AT_CellularDevice_get_stack(); -} - -TEST(AT_CellularDevice, test_AT_CellularDevice_get_send_delay) -{ - unit->test_AT_CellularDevice_get_send_delay(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp b/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp deleted file mode 100644 index 827f00e9d4..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellulardevice/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularDevice); - diff --git a/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h b/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h deleted file mode 100644 index 6bc72d20ad..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARDEVICE_H -#define TEST_AT_CELLULARDEVICE_H - -class Test_AT_CellularDevice { -public: - Test_AT_CellularDevice(); - - virtual ~Test_AT_CellularDevice(); - - void test_AT_CellularDevice_constructor(); - - void test_AT_CellularDevice_get_at_handler(); //tests also releasing of those - - void test_AT_CellularDevice_open_network(); - - void test_AT_CellularDevice_open_sms(); - - void test_AT_CellularDevice_open_power(); - - void test_AT_CellularDevice_open_sim(); - - void test_AT_CellularDevice_open_information(); - - void test_AT_CellularDevice_close_network(); - - void test_AT_CellularDevice_close_sms(); - - void test_AT_CellularDevice_close_power(); - - void test_AT_CellularDevice_close_sim(); - - void test_AT_CellularDevice_close_information(); - - void test_AT_CellularDevice_set_timeout(); - - void test_AT_CellularDevice_modem_debug_on(); - - void test_AT_CellularDevice_get_stack(); - - void test_AT_CellularDevice_get_send_delay(); -}; - -#endif // TEST_AT_CELLULARDEVICE_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile b/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile deleted file mode 100644 index cd74bc1b01..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularinformation/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularInformation_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularInformation.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularinformationtest.cpp \ - test_at_cellularinformation.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp b/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp deleted file mode 100644 index 25581e69b1..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularinformation/at_cellularinformationtest.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularinformation.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularInformation) -{ - Test_AT_CellularInformation *unit; - - void setup() - { - unit = new Test_AT_CellularInformation(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularInformation, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularInformation, test_AT_CellularInformation_get_manufacturer) -{ - unit->test_AT_CellularInformation_get_manufacturer(); -} - -TEST(AT_CellularInformation, test_AT_CellularInformation_get_model) -{ - unit->test_AT_CellularInformation_get_model(); -} - -TEST(AT_CellularInformation, test_AT_CellularInformation_get_revision) -{ - unit->test_AT_CellularInformation_get_revision(); -} - -TEST(AT_CellularInformation, test_AT_CellularInformation_get_serial_number) -{ - unit->test_AT_CellularInformation_get_serial_number(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/main.cpp b/features/cellular/UNITTESTS/at/at_cellularinformation/main.cpp deleted file mode 100644 index bba3df884f..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularinformation/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularInformation); - diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp deleted file mode 100644 index 221ee054f9..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularinformation.h" -#include -#include "ATHandler_stub.h" -#include "EventQueue.h" -#include "FileHandle_stub.h" -#include "AT_CellularBase_stub.h" -#include "ATHandler.h" -#include "AT_CellularInformation.h" -#include "AT_CellularBase.h" - -using namespace mbed; -using namespace events; - -Test_AT_CellularInformation::Test_AT_CellularInformation() -{ - -} - -Test_AT_CellularInformation::~Test_AT_CellularInformation() -{ -} - -void Test_AT_CellularInformation::test_AT_CellularInformation_get_manufacturer() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularInformation aci(ah); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "some"; - ATHandler_stub::ssize_value = 4; - - char buf[8]; - CHECK(NSAPI_ERROR_OK == aci.get_manufacturer(buf, 8)); - CHECK(strcmp("some", buf) == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::ssize_value = -1; - buf[0] = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_manufacturer(buf, 8)); - CHECK(strlen(buf) == 0); -} - -void Test_AT_CellularInformation::test_AT_CellularInformation_get_model() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularInformation aci(ah); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "model"; - ATHandler_stub::ssize_value = 5; - char buf[8]; - CHECK(NSAPI_ERROR_OK == aci.get_model(buf, 8)); - CHECK(strcmp("model", buf) == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::ssize_value = -1; - buf[0] = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_model(buf, 8)); - CHECK(strlen(buf) == 0); -} - -void Test_AT_CellularInformation::test_AT_CellularInformation_get_revision() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - - //Used heap var here to visit heap constructor - AT_CellularInformation *aci = new AT_CellularInformation(ah); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "revision"; - ATHandler_stub::ssize_value = 8; - - char buf[9]; - CHECK(NSAPI_ERROR_OK == aci->get_revision(buf, 9)); - CHECK(strcmp("revision", buf) == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::ssize_value = -1; - buf[0] = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8)); - CHECK(strlen(buf) == 0); - - delete aci; -} - -void Test_AT_CellularInformation::test_AT_CellularInformation_get_serial_number() -{ - EventQueue eq; - FileHandle_stub fh; - ATHandler ah(&fh, eq, 0, ","); - AT_CellularInformation aci(ah); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "1234567"; - ATHandler_stub::ssize_value = 7; - char buf[8]; - - CHECK(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::SN)); - CHECK(strcmp("1234567", buf) == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::ssize_value = -1; - buf[0] = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_serial_number(buf, 8, CellularInformation::SN)); - CHECK(strlen(buf) == 0); - - AT_CellularBase_stub::supported_bool = false; - CHECK(NSAPI_ERROR_UNSUPPORTED == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); - CHECK(strlen(buf) == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "1234567"; - ATHandler_stub::ssize_value = 7; - AT_CellularBase_stub::supported_bool = true; - CHECK(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); - CHECK(strcmp("1234567", buf) == 0); -} - diff --git a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h b/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h deleted file mode 100644 index 64fabbb4d5..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularinformation/test_at_cellularinformation.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARINFORMATION_H -#define TEST_AT_CELLULARINFORMATION_H - -class Test_AT_CellularInformation { -public: - Test_AT_CellularInformation(); - - virtual ~Test_AT_CellularInformation(); - - void test_AT_CellularInformation_get_manufacturer(); - - void test_AT_CellularInformation_get_model(); - - void test_AT_CellularInformation_get_revision(); - - void test_AT_CellularInformation_get_serial_number(); -}; - -#endif // TEST_AT_CELLULARINFORMATION_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile b/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile deleted file mode 100644 index f834d5787f..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularnetwork/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularNetwork_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularNetwork.cpp \ - ../../../framework/AT/AT_CellularStack.cpp \ - ../../../framework/common/CellularUtil.cpp \ - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularnetworktest.cpp \ - test_at_cellularnetwork.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/NetworkInterface_stub.cpp \ - ../../stubs/NetworkStack_stub.cpp \ - ../../stubs/us_ticker_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - ../../stubs/SocketAddress_stub.cpp \ - ../../stubs/randLIB_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp deleted file mode 100644 index 538c527544..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularnetwork/at_cellularnetworktest.cpp +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularnetwork.h" -#include "ATHandler_stub.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularNetwork) -{ - Test_AT_CellularNetwork *unit; - - void setup() - { - unit = new Test_AT_CellularNetwork(); - ATHandler_stub::int_count = kRead_int_table_size; - ATHandler_stub::read_string_index = kRead_string_table_size; - ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularNetwork, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_constructor) -{ - unit->test_AT_CellularNetwork_constructor(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_init) -{ - unit->test_AT_CellularNetwork_init(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_credentials) -{ - unit->test_AT_CellularNetwork_set_credentials(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_activate_context) -{ - unit->test_AT_CellularNetwork_activate_context(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_connect) -{ - unit->test_AT_CellularNetwork_connect(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_disconnect) -{ - unit->test_AT_CellularNetwork_disconnect(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_stack) -{ - unit->test_AT_CellularNetwork_get_stack(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_registration) -{ - unit->test_AT_CellularNetwork_set_registration(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_registration_status) -{ - unit->test_AT_CellularNetwork_get_registration_status(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_network_registering_mode) -{ - unit->test_AT_CellularNetwork_get_network_registering_mode(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_registration_urc) -{ - unit->test_AT_CellularNetwork_set_registration_urc(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_attach) -{ - unit->test_AT_CellularNetwork_set_attach(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_attach) -{ - unit->test_AT_CellularNetwork_get_attach(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_detach) -{ - unit->test_AT_CellularNetwork_detach(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_rate_control) -{ - unit->test_AT_CellularNetwork_get_rate_control(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_apn_backoff_timer) -{ - unit->test_AT_CellularNetwork_get_apn_backoff_timer(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_ip_address) -{ - unit->test_AT_CellularNetwork_get_ip_address(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_access_technology) -{ - unit->test_AT_CellularNetwork_set_access_technology(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_access_technology) -{ - unit->test_AT_CellularNetwork_get_access_technology(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_scan_plmn) -{ - unit->test_AT_CellularNetwork_scan_plmn(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_ciot_optimization_config) -{ - unit->test_AT_CellularNetwork_set_ciot_optimization_config(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_ciot_optimization_config) -{ - unit->test_AT_CellularNetwork_get_ciot_optimization_config(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_set_stack_type) -{ - unit->test_AT_CellularNetwork_set_stack_type(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_stack_type) -{ - unit->test_AT_CellularNetwork_get_stack_type(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_pdpcontext_params) -{ - unit->test_AT_CellularNetwork_get_pdpcontext_params(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_extended_signal_quality) -{ - unit->test_AT_CellularNetwork_get_extended_signal_quality(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_signal_quality) -{ - unit->test_AT_CellularNetwork_get_signal_quality(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_cell_id) -{ - unit->test_AT_CellularNetwork_get_cell_id(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_3gpp_error) -{ - unit->test_AT_CellularNetwork_get_3gpp_error(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_operator_params) -{ - unit->test_AT_CellularNetwork_get_operator_params(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_get_operator_names) -{ - unit->test_AT_CellularNetwork_get_operator_names(); -} - -TEST(AT_CellularNetwork, test_AT_CellularNetwork_attach) -{ - unit->test_AT_CellularNetwork_attach(); -} - -TEST(AT_CellularNetwork, test_get_connection_status) -{ - unit->test_get_connection_status(); -} - -TEST(AT_CellularNetwork, test_set_blocking) -{ - unit->test_set_blocking(); -} - diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp deleted file mode 100644 index aec2c257bd..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularnetwork/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularNetwork); - diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp deleted file mode 100644 index 4dd3bbd2af..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.cpp +++ /dev/null @@ -1,1160 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularnetwork.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "AT_CellularDevice.h" -#include "FileHandle_stub.h" -#include "CellularLog.h" -#include "ATHandler_stub.h" -#include "AT_CellularStack.h" - -using namespace mbed; -using namespace events; - -class my_stack : public AT_CellularStack { -public: - my_stack(ATHandler &atHandler) : AT_CellularStack(atHandler, 1, IPV4_STACK) {} - virtual int get_max_socket_count() - { - return 1; - } - virtual int get_max_packet_size() - { - return 200; - } - virtual bool is_protocol_supported(nsapi_protocol_t protocol) - { - return true; - } - virtual nsapi_error_t socket_close_impl(int sock_id) - { - return NSAPI_ERROR_OK; - } - virtual nsapi_error_t create_socket_impl(CellularSocket *socket) - { - return NSAPI_ERROR_OK; - } - virtual nsapi_size_or_error_t socket_sendto_impl(CellularSocket *socket, const SocketAddress &address, - const void *data, nsapi_size_t size) - { - return 100; - } - virtual nsapi_size_or_error_t socket_recvfrom_impl(CellularSocket *socket, SocketAddress *address, - void *buffer, nsapi_size_t size) - { - return 100; - } -}; - -class my_AT_CN : public AT_CellularNetwork { -public: - my_AT_CN(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {} - virtual ~my_AT_CN() {} - NetworkStack *get_stack() - { - if (!_stack) { - return new my_stack(get_at_handler()); - } else { - return _stack; - } - } - virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type) - { - if (reg_type == C_GREG) { - return RegistrationModeDisable; - } - return RegistrationModeLAC; - } - virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat) - { - return NSAPI_ERROR_OK; - } - virtual bool get_modem_stack_type(nsapi_ip_stack_t requested_stack) - { - if (requested_stack == IPV4_STACK || requested_stack == DEFAULT_STACK) { - return true; - } - return false; - } -}; - -class my_AT_CNipv6 : public AT_CellularNetwork { -public: - my_AT_CNipv6(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {} - virtual ~my_AT_CNipv6() {} - NetworkStack *get_stack() - { - if (!_stack) { - return new my_stack(get_at_handler()); - } else { - return _stack; - } - } - virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type) - { - if (reg_type == C_GREG) { - return RegistrationModeDisable; - } - return RegistrationModeLAC; - } - virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat) - { - return NSAPI_ERROR_OK; - } - virtual bool get_modem_stack_type(nsapi_ip_stack_t requested_stack) - { - if (requested_stack == IPV6_STACK || requested_stack == DEFAULT_STACK) { - return true; - } - return false; - } -}; - -static int network_cb_count; -static void network_cb(nsapi_event_t ev, intptr_t intptr) -{ - network_cb_count++; -} - -Test_AT_CellularNetwork::Test_AT_CellularNetwork() -{ - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::int_value = -1; -} - -Test_AT_CellularNetwork::~Test_AT_CellularNetwork() -{ -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork *cn = new AT_CellularNetwork(at); - - delete cn; -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_init() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - AT_CellularNetwork cn(at); - - CHECK(NSAPI_ERROR_OK == cn.init()); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_NO_MEMORY; - CHECK(NSAPI_ERROR_NO_MEMORY == cn.init()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_credentials() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL, NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, NULL, "passwd")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL, NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", NULL, "passwd")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", "user", NULL)); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", "user")); - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", "user", "passwd")); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_activate_context() -{ - - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - my_AT_CN my_cn(at); - my_AT_CNipv6 my_cnipv6(at); - - // get_context return true and new context created. But now stack and so error. - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); - - // get_context return true and new context created, also do_user_authentication called with success. - // But now stack and so error. - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); - - // get_context return true and new context created, also do_user_authentication called with failure. - ATHandler_stub::resp_stop_success_count = 2; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_AUTH_FAILURE == cn.activate_context()); - - - // get_context return true and new context created, also do_user_authentication called with success. - // Now there is stack. - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - // get_context return true and new context created, test delete context - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::resp_stop_success_count = kResp_stop_count_default; - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - - - // get_context pdp type gives zero len, fails with no stack - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 1; - ATHandler_stub::read_string_table[0] = ""; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.activate_context()); - - // get_context pdp type gives proper type, apn reading fails - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 1; - ATHandler_stub::read_string_table[0] = "IPV6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_NO_CONNECTION == cn.activate_context()); - - // get_context pdp type gives proper type, apn does not match, now other contexts so new one created - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IP"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 2; // set to 2 so cgact will give that this context is active - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IPV4V6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cn.set_stack_type(IPV4_STACK)); - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IPV6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(IPV6_STACK)); - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cnipv6.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IPV4V6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cn.set_stack_type(DEFAULT_STACK)); - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IPV4V6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(DEFAULT_STACK)); - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cnipv6.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IPV6"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_stack_type(DEFAULT_STACK)); - CHECK(NSAPI_ERROR_OK == my_cnipv6.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cnipv6.activate_context()); - - // get_context pdp type gives proper type, apn match - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[0] = "internet"; - ATHandler_stub::read_string_table[1] = "IP"; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == my_cn.set_stack_type(DEFAULT_STACK)); - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials("internet")); - CHECK(NSAPI_ERROR_OK == my_cn.activate_context()); - - // get_context pdp type gives proper type, apn match. Test Delete the created context. - ATHandler_stub::resp_info_true_counter = 0; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::int_value = 1; - //ATHandler_stub::nsapi_error_ok_counter = 2; - ATHandler_stub::resp_stop_success_count = 2; - CHECK(NSAPI_ERROR_OK == my_cn.set_credentials(NULL, NULL, NULL)); - CHECK(NSAPI_ERROR_NO_CONNECTION == my_cn.activate_context()); - -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_connect() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - // no stack so will fail - cn.attach(&network_cb); - network_cb_count = 0; - - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.connect("APN", "a", "b")); - CHECK(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); - CHECK(network_cb_count == 2); - - network_cb_count = 0; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_NO_CONNECTION == cn.connect("APN")); - CHECK(network_cb_count == 2); - CHECK(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); - - my_AT_CN my_cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - cn.set_stack_type(IPV4_STACK); - CHECK(NSAPI_ERROR_OK == my_cn.connect()); - CHECK(network_cb_count == 2); - CHECK(NSAPI_STATUS_GLOBAL_UP == my_cn.get_connection_status()); - -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_disconnect() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CHECK(NSAPI_ERROR_OK == cn.disconnect()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - my_AT_CN my_cn(at); - my_stack *mystack = (my_stack *)my_cn.get_stack(); - CHECK(mystack); - delete mystack; -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_registration() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.set_registration()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration("12345")); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.set_registration("12345")); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_registration_status() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::int_value = 3; - CellularNetwork::RegistrationStatus stat = CellularNetwork::NotRegistered; - CHECK(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_EREG, stat)); - CHECK(stat == CellularNetwork::RegistrationDenied); - stat = CellularNetwork::NotRegistered; - CHECK(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_GREG, stat)); - CHECK(stat == CellularNetwork::RegistrationDenied); - - my_AT_CN nw(at); - stat = CellularNetwork::NotRegistered; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.get_registration_status(CellularNetwork::C_GREG, stat)); - CHECK(stat == CellularNetwork::NotRegistered); - CHECK(NSAPI_ERROR_OK == nw.get_registration_status(CellularNetwork::C_EREG, stat)); - CHECK(stat == CellularNetwork::RegistrationDenied); - - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - stat = CellularNetwork::NotRegistered; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_status(CellularNetwork::C_EREG, stat)); - CHECK(stat == -1); - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_status(CellularNetwork::C_GREG, stat)); - CHECK(stat == -1); - - stat = CellularNetwork::NotRegistered; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.get_registration_status(CellularNetwork::C_GREG, stat)); - CHECK(stat == CellularNetwork::NotRegistered); - CHECK(NSAPI_ERROR_DEVICE_ERROR == nw.get_registration_status(CellularNetwork::C_EREG, stat)); - CHECK(stat == -1); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_network_registering_mode() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - ATHandler_stub::int_value = 0; - CellularNetwork::NWRegisteringMode mode = CellularNetwork::NWModeManual; - CHECK(NSAPI_ERROR_OK == cn.get_network_registering_mode(mode)); - CHECK(mode == CellularNetwork::NWModeAutomatic); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - mode = CellularNetwork::NWModeManual; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_network_registering_mode(mode)); - CHECK(mode == -1); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_registration_urc() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - CellularNetwork::RegistrationType type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, true)); - - my_AT_CN nw(at); - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_OK == nw.set_registration_urc(type, true)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_OK == nw.set_registration_urc(type, true)); - - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_OK == cn.set_registration_urc(type, false)); - - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_OK == nw.set_registration_urc(type, false)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_OK == nw.set_registration_urc(type, false)); - - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true)); - - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true)); - - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false)); - - type = CellularNetwork::C_EREG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false)); - type = CellularNetwork::C_GREG; - CHECK(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false)); - type = CellularNetwork::C_REG; - CHECK(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false)); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_attach() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::int_value = 0; - CHECK(NSAPI_ERROR_OK == cn.set_attach()); - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == cn.set_attach()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_attach()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_attach() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CellularNetwork::AttachStatus stat = CellularNetwork::Detached; - ATHandler_stub::int_value = 1; - ATHandler_stub::bool_value = true; - CHECK(NSAPI_ERROR_OK == cn.get_attach(stat)); - CHECK(stat == CellularNetwork::Attached); - - ATHandler_stub::int_value = 0; - CHECK(NSAPI_ERROR_OK == cn.get_attach(stat)); - CHECK(stat == CellularNetwork::Detached); - - stat = CellularNetwork::Attached; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_attach(stat)); - CHECK(stat == CellularNetwork::Detached); - - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_OK == cn.get_attach(stat)); - CHECK(stat == CellularNetwork::Detached); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_attach(stat)); - CHECK(stat == CellularNetwork::Detached); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_detach() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - my_AT_CN cn(at); - - CHECK(NSAPI_ERROR_OK == cn.detach()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.detach()); - - // connect so we can test callback in detach - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - cn.set_stack_type(IPV4_STACK); - CHECK(NSAPI_ERROR_OK == cn.connect()); - CHECK(NSAPI_STATUS_GLOBAL_UP == cn.get_connection_status()); - // attach callback - cn.attach(&network_cb); - network_cb_count = 0; - CHECK(NSAPI_ERROR_OK == cn.detach()); - CHECK(network_cb_count == 1); - CHECK(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_rate_control() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int ur = -1; - CellularNetwork::RateControlExceptionReports reports = CellularNetwork::NotAllowedToBeSent; - CellularNetwork::RateControlUplinkTimeUnit timeUnit = CellularNetwork::Unrestricted; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::NotAllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Unrestricted); - CHECK(ur == -1); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::int_value = 1; - CHECK(NSAPI_ERROR_OK == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::AllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Minute); - CHECK(ur == 1); - - // test second if in get_rate_control - reports = CellularNetwork::NotAllowedToBeSent; - timeUnit = CellularNetwork::Unrestricted; - ur = -1; - - ATHandler_stub::int_count = 1; - ATHandler_stub::int_valid_count_table[0] = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::NotAllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Unrestricted); - CHECK(ur == -1); - - // test second if in get_rate_control - ATHandler_stub::int_count = 2; - ATHandler_stub::int_valid_count_table[0] = 1; - ATHandler_stub::int_valid_count_table[1] = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::AllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Unrestricted); - CHECK(ur == -1); - - // test third if in get_rate_control - ATHandler_stub::int_count = 3; - ATHandler_stub::int_valid_count_table[0] = 3; - ATHandler_stub::int_valid_count_table[1] = 1; - ATHandler_stub::int_valid_count_table[2] = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::AllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Day); - CHECK(ur == -1); - - ATHandler_stub::int_count = 4; - ATHandler_stub::int_valid_count_table[0] = 5; - ATHandler_stub::int_valid_count_table[1] = 3; - ATHandler_stub::int_valid_count_table[2] = 1; - ATHandler_stub::int_valid_count_table[3] = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.get_rate_control(reports, timeUnit, ur)); - CHECK(reports == CellularNetwork::AllowedToBeSent); - CHECK(timeUnit == CellularNetwork::Day); - CHECK(ur == 5); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_apn_backoff_timer() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int time = -1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_PARAMETER == cn.get_apn_backoff_timer(time)); - CHECK(time == -1); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_PARAMETER == cn.get_apn_backoff_timer(time)); - CHECK(time == -1); - - ATHandler_stub::resp_info_true_counter = 0; - ATHandler_stub::bool_value = false; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - cn.set_credentials("internet", NULL, NULL); - CHECK(NSAPI_ERROR_OK == cn.get_apn_backoff_timer(time)); - CHECK(time == -1); - - ATHandler_stub::resp_info_true_counter = 0; - ATHandler_stub::bool_value = true; - ATHandler_stub::int_value = 55; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - cn.set_credentials("internet", NULL, NULL); - CHECK(NSAPI_ERROR_OK == cn.get_apn_backoff_timer(time)); - CHECK(time == 55); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ip_address() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CHECK(!cn.get_ip_address()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_access_technology() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_UNKNOWN)); - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_GSM_COMPACT)); - - my_AT_CN my_cn(at); - CHECK(NSAPI_ERROR_OK == my_cn.set_access_technology(CellularNetwork::RAT_GSM_COMPACT)); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_access_technology() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CellularNetwork::RadioAccessTechnology rat; - - CHECK(NSAPI_ERROR_OK == cn.get_access_technology(rat)); - CHECK(CellularNetwork::RAT_UNKNOWN == rat); -} - - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_scan_plmn() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int c = -1; - CellularNetwork::operList_t ops; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.scan_plmn(ops, c)); - CHECK(c == 0); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); - CHECK(c == 0); - - - ATHandler_stub::read_string_index = 3; - ATHandler_stub::read_string_table[0] = "44444"; - ATHandler_stub::read_string_table[1] = "33333"; - ATHandler_stub::read_string_table[2] = "12345"; - ATHandler_stub::int_value = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::info_elem_true_counter = 1; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); - CHECK(c == 1); - CHECK(ops.get_head() != NULL); - CellularNetwork::operator_t *op = ops.get_head(); - CHECK(op->op_status == CellularNetwork::operator_t::Available); - CHECK(strcmp(op->op_long, "12345") == 0); - CHECK(strcmp(op->op_short, "33333") == 0); - CHECK(strcmp(op->op_num, "44444") == 0); - ops.delete_all(); - - ATHandler_stub::read_string_index = 3; - ATHandler_stub::int_value = 6; // RAT_HSDPA_HSUPA - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::info_elem_true_counter = 1; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.set_access_technology(CellularNetwork::RAT_UTRAN)); - CHECK(NSAPI_ERROR_OK == cn.scan_plmn(ops, c)); - CHECK(c == 0); - CHECK(ops.get_head() == NULL); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_ciot_optimization_config() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.set_ciot_optimization_config(CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT, CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE)); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_ciot_optimization_config() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CellularNetwork::Supported_UE_Opt sup = CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT; - CellularNetwork::Preferred_UE_Opt pref = CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE; - ATHandler_stub::int_value = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.get_ciot_optimization_config(sup, pref)); - CHECK(sup == CellularNetwork::SUPPORTED_UE_OPT_CONTROL_PLANE); - CHECK(pref == CellularNetwork::PREFERRED_UE_OPT_CONTROL_PLANE); - - sup = CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT; - pref = CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE; - ATHandler_stub::int_value = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_ciot_optimization_config(sup, pref)); - CHECK(sup == CellularNetwork::SUPPORTED_UE_OPT_NO_SUPPORT); - CHECK(pref == CellularNetwork::PREFERRED_UE_OPT_NO_PREFERENCE); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_set_stack_type() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CHECK(NSAPI_ERROR_PARAMETER == cn.set_stack_type(IPV4_STACK)); - - CHECK(NSAPI_ERROR_OK == cn.set_stack_type(DEFAULT_STACK)); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_stack_type() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CHECK(DEFAULT_STACK == cn.get_stack_type()); - - my_AT_CN my_cn(at); - CHECK(DEFAULT_STACK == my_cn.get_stack_type()); - CHECK(NSAPI_ERROR_OK == my_cn.set_stack_type(IPV4_STACK)); - CHECK(DEFAULT_STACK == my_cn.get_stack_type()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_pdpcontext_params() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CellularNetwork::pdpContextList_t list; - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_pdpcontext_params(list)); - - // don't got to while loop - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - ATHandler_stub::resp_info_true_counter = 0; - CHECK(NSAPI_ERROR_OK == cn.get_pdpcontext_params(list)); - CHECK(NULL == list.get_head()); - - // go to while loop and check values - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::int_count = 9; - ATHandler_stub::int_valid_count_table[8] = 1; - ATHandler_stub::int_valid_count_table[7] = 2; - ATHandler_stub::int_valid_count_table[6] = 3; - ATHandler_stub::int_valid_count_table[5] = 4; - ATHandler_stub::int_valid_count_table[4] = 5; - ATHandler_stub::int_valid_count_table[3] = 6; - ATHandler_stub::int_valid_count_table[2] = 7; - ATHandler_stub::int_valid_count_table[1] = 8; - ATHandler_stub::int_valid_count_table[0] = 9; - - ATHandler_stub::read_string_index = 7; - ATHandler_stub::read_string_table[6] = "internet"; - ATHandler_stub::read_string_table[5] = "1.2.3.4.5.6.7.8.9.10.11.112.13.14.15.16.1.2.3.44.55.6.7.8.9.10.11.12.13.14.15.16"; - ATHandler_stub::read_string_table[4] = "23.33.44.1.2.3.55.123.225.34.11.1.0.0.123.234"; - ATHandler_stub::read_string_table[3] = "1.2.3.4"; - ATHandler_stub::read_string_table[2] = "0.255.0.255"; - ATHandler_stub::read_string_table[1] = "25.66.77.88"; - ATHandler_stub::read_string_table[0] = "004.003.002.001"; - - CHECK(NSAPI_ERROR_OK == cn.get_pdpcontext_params(list)); - CellularNetwork::pdpcontext_params_t *params = list.get_head(); - CHECK(params != NULL); - CHECK(params->next == NULL); - CHECK(params->cid == 1); - CHECK(params->bearer_id == 2); - CHECK(params->im_signalling_flag == 3); - CHECK(params->lipa_indication == 4); - CHECK(params->ipv4_mtu == 5); - CHECK(params->wlan_offload == 6); - CHECK(params->local_addr_ind == 7); - CHECK(params->non_ip_mtu == 8); - CHECK(params->serving_plmn_rate_control_value == 9); - CHECK(strcmp(params->apn, "internet") == 0); - CHECK(strcmp(params->local_addr, "102:304:506:708:90A:B70:D0E:F10") == 0); - CHECK(strcmp(params->local_subnet_mask, "102:32C:3706:708:90A:B0C:D0E:F10") == 0); - CHECK(strcmp(params->gateway_addr, "1721:2C01:203:377B:E122:B01:000:7BEA") == 0); - CHECK(strcmp(params->dns_primary_addr, "1.2.3.4") == 0); - CHECK(strcmp(params->dns_secondary_addr, "0.255.0.255") == 0); - CHECK(strcmp(params->p_cscf_prim_addr, "25.66.77.88") == 0); - CHECK(strcmp(params->p_cscf_sec_addr, "004.003.002.001") == 0); - -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_extended_signal_quality() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - int rx = -1, be = -1, rs = -1, ec = -1, rsrq = -1, rsrp = -1; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_extended_signal_quality(rx, be, rs, ec, rsrq, rsrp)); - CHECK(rx == -1 && be == -1 && rs == -1 && ec == -1 && rsrq == -1 && rsrp == -1); - - ATHandler_stub::int_value = 5; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.get_extended_signal_quality(rx, be, rs, ec, rsrq, rsrp)); - CHECK(rx == 5 && be == 5 && rs == 5 && ec == 5 && rsrq == 5 && rsrp == 5); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_signal_quality() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int rs = -1, ber = -1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_signal_quality(rs, ber)); - CHECK(rs == -1 && ber == -1); - - ATHandler_stub::int_value = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.get_signal_quality(rs, ber)); - CHECK(rs == 1 && ber == 1); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_cell_id() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int id = 0; - CHECK(NSAPI_ERROR_OK == cn.get_cell_id(id)); - CHECK(id == -1); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_OK == cn.get_cell_id(id)); - CHECK(id == -1); - - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[1] = "00C3"; - ATHandler_stub::read_string_table[0] = "1234FFC1"; //== cellid and in dec: 305463233 - ATHandler_stub::int_value = 1; - // Get registration status to modify cell_id - CellularNetwork::RegistrationType type; - CellularNetwork::RegistrationStatus status; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.get_registration_status(CellularNetwork::C_EREG, status)); - CHECK(NSAPI_ERROR_OK == cn.get_cell_id(id)); - CHECK(id == 305463233); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_3gpp_error() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::int_value = 8; - CHECK(8 == cn.get_3gpp_error()); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_operator_params() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - int format; - CellularNetwork::operator_t ops; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_operator_params(format, ops)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::int_value = 0; - ATHandler_stub::read_string_index = 1; - ATHandler_stub::read_string_table[0] = "12345"; - CHECK(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); - CHECK(format == 0); - CHECK(strcmp(ops.op_long, "12345") == 0); - CHECK(strlen(ops.op_short) == 0); - CHECK(strlen(ops.op_num) == 0); - CHECK(ops.op_rat == CellularNetwork::RAT_GSM); - - ops.op_long[0] = 0; - ATHandler_stub::int_value = 1; - ATHandler_stub::read_string_index = 1; - ATHandler_stub::read_string_table[0] = "12345"; - CHECK(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); - CHECK(format == 1); - CHECK(strlen(ops.op_long) == 0); - CHECK(strcmp(ops.op_short, "12345") == 0); - CHECK(strlen(ops.op_num) == 0); - CHECK(ops.op_rat == CellularNetwork::RAT_GSM_COMPACT); - - ops.op_short[0] = 0; - ATHandler_stub::int_value = 2; - ATHandler_stub::read_string_index = 1; - ATHandler_stub::read_string_table[0] = "12345"; - CHECK(NSAPI_ERROR_OK == cn.get_operator_params(format, ops)); - CHECK(format == 2); - CHECK(strlen(ops.op_long) == 0); - CHECK(strlen(ops.op_short) == 0); - CHECK(strcmp(ops.op_num, "12345") == 0); - CHECK(ops.op_rat == CellularNetwork::RAT_UTRAN); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_get_operator_names() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - CellularNetwork::operator_names_list name_list; - - ATHandler_stub::resp_info_true_counter = 0; - ATHandler_stub::bool_value = false; - CHECK(NSAPI_ERROR_OK == cn.get_operator_names(name_list)); - CHECK(name_list.get_head() == NULL); - - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == cn.get_operator_names(name_list)); - CHECK(name_list.get_head() != NULL); - CHECK(name_list.get_head()->next == NULL); - - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_index = 2; - ATHandler_stub::read_string_table[1] = "12345"; - ATHandler_stub::read_string_table[0] = "56789"; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - name_list.delete_all(); - CHECK(NSAPI_ERROR_OK == cn.get_operator_names(name_list)); - CellularNetwork::operator_names_t *op_names = name_list.get_head(); - CHECK(op_names != NULL); - CHECK(op_names->next == NULL); - CHECK(strcmp(op_names->numeric, "12345") == 0); - CHECK(strcmp(op_names->alpha, "56789") == 0); -} - -void Test_AT_CellularNetwork::test_AT_CellularNetwork_attach() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - network_cb_count = 0; - cn.attach(&network_cb); - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.connect()); - CHECK(network_cb_count == 2); // check that attached callback was called twice -} - -void Test_AT_CellularNetwork::test_get_connection_status() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - network_cb_count = 0; - cn.attach(&network_cb); - CHECK(NSAPI_ERROR_UNSUPPORTED == cn.connect()); - CHECK(network_cb_count == 2); // check that attached callback was called twice - CHECK(NSAPI_STATUS_DISCONNECTED == cn.get_connection_status()); - - my_AT_CN my_cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::bool_value = false; - cn.set_stack_type(IPV4_STACK); - CHECK(NSAPI_ERROR_OK == my_cn.connect()); - CHECK(network_cb_count == 2); - CHECK(NSAPI_STATUS_GLOBAL_UP == my_cn.get_connection_status()); -} - -void Test_AT_CellularNetwork::test_set_blocking() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularNetwork cn(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == cn.set_blocking(false)); - CHECK(NSAPI_ERROR_OK == cn.set_blocking(true)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_OK == cn.set_blocking(false)); - CHECK(NSAPI_ERROR_OK == cn.set_blocking(true)); -} - diff --git a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h b/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h deleted file mode 100644 index 2327a30979..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularnetwork/test_at_cellularnetwork.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARNETWORK_H -#define TEST_AT_CELLULARNETWORK_H - -class Test_AT_CellularNetwork { -public: - Test_AT_CellularNetwork(); - - virtual ~Test_AT_CellularNetwork(); - - void test_AT_CellularNetwork_constructor(); - - void test_AT_CellularNetwork_init(); - - void test_AT_CellularNetwork_set_credentials(); - - void test_AT_CellularNetwork_activate_context(); - - void test_AT_CellularNetwork_connect(); - - void test_AT_CellularNetwork_disconnect(); - - void test_AT_CellularNetwork_get_stack(); - - void test_AT_CellularNetwork_set_registration(); - - void test_AT_CellularNetwork_get_registration_status(); - - void test_AT_CellularNetwork_get_network_registering_mode(); - - void test_AT_CellularNetwork_set_registration_urc(); - - void test_AT_CellularNetwork_set_attach(); - - void test_AT_CellularNetwork_get_attach(); - - void test_AT_CellularNetwork_detach(); - - void test_AT_CellularNetwork_get_rate_control(); - - void test_AT_CellularNetwork_get_apn_backoff_timer(); - - void test_AT_CellularNetwork_get_ip_address(); - - void test_AT_CellularNetwork_set_access_technology(); - - void test_AT_CellularNetwork_get_access_technology(); - - void test_AT_CellularNetwork_scan_plmn(); - - void test_AT_CellularNetwork_set_ciot_optimization_config(); - - void test_AT_CellularNetwork_get_ciot_optimization_config(); - - void test_AT_CellularNetwork_set_stack_type(); - - void test_AT_CellularNetwork_get_stack_type(); - - void test_AT_CellularNetwork_get_pdpcontext_params(); - - void test_AT_CellularNetwork_get_extended_signal_quality(); - - void test_AT_CellularNetwork_get_signal_quality(); - - void test_AT_CellularNetwork_get_cell_id(); - - void test_AT_CellularNetwork_get_3gpp_error(); - - void test_AT_CellularNetwork_get_operator_params(); - - void test_AT_CellularNetwork_get_operator_names(); - - void test_AT_CellularNetwork_attach(); - - void test_get_connection_status(); - - void test_set_blocking(); -}; - -#endif // TEST_AT_CELLULARNETWORK_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/Makefile b/features/cellular/UNITTESTS/at/at_cellularpower/Makefile deleted file mode 100644 index 6ebcef37e4..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularpower/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularPower_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularPower.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularpowertest.cpp \ - test_at_cellularpower.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/CellularUtil_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/at_cellularpowertest.cpp b/features/cellular/UNITTESTS/at/at_cellularpower/at_cellularpowertest.cpp deleted file mode 100644 index 2ce7b6dd02..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularpower/at_cellularpowertest.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularpower.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularPower) -{ - Test_AT_CellularPower *unit; - - void setup() { - unit = new Test_AT_CellularPower(); - } - - void teardown() { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularPower, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularPower, test_AT_CellularPower_constructor) -{ - unit->test_AT_CellularPower_constructor(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_on) -{ - unit->test_AT_CellularPower_on(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_off) -{ - unit->test_AT_CellularPower_off(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_set_at_mode) -{ - unit->test_AT_CellularPower_set_at_mode(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_set_power_level) -{ - unit->test_AT_CellularPower_set_power_level(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_reset) -{ - unit->test_AT_CellularPower_reset(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_opt_power_save_mode) -{ - unit->test_AT_CellularPower_opt_power_save_mode(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_opt_receive_period) -{ - unit->test_AT_CellularPower_opt_receive_period(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_is_device_ready) -{ - unit->test_AT_CellularPower_is_device_ready(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_set_device_ready_urc_cb) -{ - unit->test_AT_CellularPower_set_device_ready_urc_cb(); -} - -TEST(AT_CellularPower, test_AT_CellularPower_remove_device_ready_urc_cb) -{ - unit->test_AT_CellularPower_remove_device_ready_urc_cb(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp b/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp deleted file mode 100644 index 5580d26166..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularpower/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularPower); - diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp deleted file mode 100644 index 593f4c447b..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularpower.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "AT_CellularPower.h" -#include "FileHandle_stub.h" -#include "ATHandler_stub.h" - -using namespace mbed; -using namespace events; - -Test_AT_CellularPower::Test_AT_CellularPower() -{ - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; -} - -Test_AT_CellularPower::~Test_AT_CellularPower() -{ -} - -void Test_AT_CellularPower::test_AT_CellularPower_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower *pow = new AT_CellularPower(at); - - delete pow; -} - -void Test_AT_CellularPower::test_AT_CellularPower_on() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - CHECK(NSAPI_ERROR_UNSUPPORTED == pow.on()); -} - -void Test_AT_CellularPower::test_AT_CellularPower_off() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - CHECK(NSAPI_ERROR_UNSUPPORTED == pow.off()); -} - -void Test_AT_CellularPower::test_AT_CellularPower_set_at_mode() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == pow.set_at_mode()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_at_mode()); -} - -void Test_AT_CellularPower::test_AT_CellularPower_set_power_level() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == pow.set_power_level(6)); - CHECK(NSAPI_ERROR_OK == pow.set_power_level(1, 1)); - CHECK(NSAPI_ERROR_OK == pow.set_power_level(1, 0)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_power_level(6)); -} - -void Test_AT_CellularPower::test_AT_CellularPower_reset() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == pow.reset()); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.reset()); -} - -void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(0, 0)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(10, 0)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(912, 0)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1834, 1834)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(18345, 18345)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(101234, 101234)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1012345, 1012345)); - - CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(39612345, 39612345)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_power_save_mode(0, 0)); -} - -void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3)); -} - -void Test_AT_CellularPower::test_AT_CellularPower_is_device_ready() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.is_device_ready()); -} - -static void device_ready_cb() -{ -} - -void Test_AT_CellularPower::test_AT_CellularPower_set_device_ready_urc_cb() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb)); - CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(NULL)); -} - -void Test_AT_CellularPower::test_AT_CellularPower_remove_device_ready_urc_cb() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularPower pow(at); - CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb)); - - pow.remove_device_ready_urc_cb(NULL); - pow.remove_device_ready_urc_cb(&device_ready_cb); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h b/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h deleted file mode 100644 index c24f7809e6..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARPOWER_H -#define TEST_AT_CELLULARPOWER_H - -class Test_AT_CellularPower { -public: - Test_AT_CellularPower(); - - virtual ~Test_AT_CellularPower(); - - void test_AT_CellularPower_constructor(); - - void test_AT_CellularPower_on(); - - void test_AT_CellularPower_off(); - - void test_AT_CellularPower_set_at_mode(); - - void test_AT_CellularPower_set_power_level(); - - void test_AT_CellularPower_reset(); - - void test_AT_CellularPower_opt_power_save_mode(); - - void test_AT_CellularPower_opt_receive_period(); - - void test_AT_CellularPower_is_device_ready(); - - void test_AT_CellularPower_set_device_ready_urc_cb(); - - void test_AT_CellularPower_remove_device_ready_urc_cb(); -}; - -#endif // TEST_AT_CELLULARPOWER_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/Makefile b/features/cellular/UNITTESTS/at/at_cellularsim/Makefile deleted file mode 100644 index 8c50af13cc..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsim/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularSIM_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularSIM.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularsimtest.cpp \ - test_at_cellularsim.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/CellularUtil_stub.cpp \ - ../../stubs/us_ticker_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp b/features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp deleted file mode 100644 index 2d4c2c70ec..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularsim.h" -#include "ATHandler_stub.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularSIM) -{ - Test_AT_CellularSIM *unit; - - void setup() - { - unit = new Test_AT_CellularSIM(); - ATHandler_stub::read_string_index = kRead_string_table_size; - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularSIM, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_constructor) -{ - unit->test_AT_CellularSIM_constructor(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_set_pin) -{ - unit->test_AT_CellularSIM_set_pin(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_change_pin) -{ - unit->test_AT_CellularSIM_change_pin(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_set_pin_query) -{ - unit->test_AT_CellularSIM_set_pin_query(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_get_sim_state) -{ - unit->test_AT_CellularSIM_get_sim_state(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_get_imsi) -{ - unit->test_AT_CellularSIM_get_imsi(); -} - -TEST(AT_CellularSIM, test_AT_CellularSIM_get_iccid) -{ - unit->test_AT_CellularSIM_get_iccid(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp b/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp deleted file mode 100644 index 394a1f7d6d..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsim/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularSIM); - diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.cpp b/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.cpp deleted file mode 100644 index 3ba07f791e..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularsim.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "AT_CellularSIM.h" -#include "FileHandle_stub.h" -#include "CellularLog.h" -#include "ATHandler_stub.h" - -using namespace mbed; -using namespace events; - -Test_AT_CellularSIM::Test_AT_CellularSIM() -{ - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = NULL; - ATHandler_stub::ssize_value = 0; -} - -Test_AT_CellularSIM::~Test_AT_CellularSIM() -{ -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSIM *sim = new AT_CellularSIM(at); - - delete sim; -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_set_pin() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSIM sim(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == sim.set_pin("12")); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin("12")); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "READY"; - ATHandler_stub::ssize_value = 5; - CHECK(NSAPI_ERROR_OK == sim.set_pin("12")); - - CHECK(NSAPI_ERROR_OK == sim.set_pin(NULL)); -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_change_pin() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSIM sim(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == sim.change_pin("12", "34")); - CHECK(NSAPI_ERROR_OK == sim.change_pin(NULL, "34")); - CHECK(NSAPI_ERROR_OK == sim.change_pin("12", NULL)); - CHECK(NSAPI_ERROR_OK == sim.change_pin(NULL, NULL)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.change_pin("12", "34")); -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_set_pin_query() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSIM sim(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == sim.set_pin_query("12", true)); - CHECK(NSAPI_ERROR_OK == sim.set_pin_query(NULL, true)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == sim.set_pin_query("12", false)); - CHECK(NSAPI_ERROR_OK == sim.set_pin_query(NULL, false)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin_query("12", false)); - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.set_pin_query("12", true)); -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_get_sim_state() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSIM sim(at); - CellularSIM::SimState state; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::ssize_value = -1; - ATHandler_stub::read_string_value = NULL; - CHECK(NSAPI_ERROR_OK == sim.get_sim_state(state)); - CHECK(CellularSIM::SimStateUnknown == state); - - ATHandler_stub::read_string_value = "READY"; - ATHandler_stub::ssize_value = 5; - CHECK(NSAPI_ERROR_OK == sim.get_sim_state(state)); - CHECK(CellularSIM::SimStateReady == state); - - ATHandler_stub::read_string_value = "SIM PIN"; - ATHandler_stub::ssize_value = 7; - CHECK(NSAPI_ERROR_OK == sim.get_sim_state(state)); - CHECK(CellularSIM::SimStatePinNeeded == state); - - ATHandler_stub::read_string_value = "SIM PUK"; - ATHandler_stub::ssize_value = 7; - CHECK(NSAPI_ERROR_OK == sim.get_sim_state(state)); - CHECK(CellularSIM::SimStatePukNeeded == state); - - ATHandler_stub::read_string_value = "SOME CRAP"; - ATHandler_stub::ssize_value = 9; - CHECK(NSAPI_ERROR_OK == sim.get_sim_state(state)); - CHECK(CellularSIM::SimStateUnknown == state); -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_get_imsi() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - char imsi[16]; - AT_CellularSIM sim(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "123456789012345"; - ATHandler_stub::ssize_value = 15; - CHECK(NSAPI_ERROR_OK == sim.get_imsi(imsi)); - CHECK(strcmp(ATHandler_stub::read_string_value, imsi) == 0); - - ATHandler_stub::read_string_value = NULL; - ATHandler_stub::ssize_value = -1; - ATHandler_stub::read_string_index = -1; - imsi[0] = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.get_imsi(imsi)); - CHECK(strlen(imsi) == 0); - - CHECK(NSAPI_ERROR_PARAMETER == sim.get_imsi(NULL)); - - // this would fail as get_imsi should take another param which is the size of the buffer which we could use for validation. - // Now we have improved documentation that that the given imsi buffer size must be over 15. - //char imsi2[5]; - //CHECK(NSAPI_ERROR_PARAMETER == sim.get_imsi(imsi2)); -} - -void Test_AT_CellularSIM::test_AT_CellularSIM_get_iccid() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - char buf[16]; - AT_CellularSIM sim(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - ATHandler_stub::read_string_value = "123456789012345"; - ATHandler_stub::ssize_value = 15; - CHECK(NSAPI_ERROR_OK == sim.get_iccid(buf, 16)); - CHECK(strcmp(ATHandler_stub::read_string_value, buf) == 0); - - buf[0] = 0; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR; - ATHandler_stub::read_string_value = NULL; - ATHandler_stub::ssize_value = -1; - CHECK(NSAPI_ERROR_DEVICE_ERROR == sim.get_iccid(buf, 16)); - CHECK(strlen(buf) == 0); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h b/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h deleted file mode 100644 index 5c78cdbd40..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsim/test_at_cellularsim.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARSIM_H -#define TEST_AT_CELLULARSIM_H - -class Test_AT_CellularSIM { -public: - Test_AT_CellularSIM(); - - virtual ~Test_AT_CellularSIM(); - - void test_AT_CellularSIM_constructor(); - - void test_AT_CellularSIM_set_pin(); - - void test_AT_CellularSIM_change_pin(); - - void test_AT_CellularSIM_set_pin_query(); - - void test_AT_CellularSIM_get_sim_state(); - - void test_AT_CellularSIM_get_imsi(); - - void test_AT_CellularSIM_get_iccid(); -}; - -#endif // TEST_AT_CELLULARSIM_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/Makefile b/features/cellular/UNITTESTS/at/at_cellularsms/Makefile deleted file mode 100644 index dd7a07ce1b..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsms/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularSMS_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularSMS.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularsmstest.cpp \ - test_at_cellularsms.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/CellularUtil_stub.cpp \ - ../../stubs/us_ticker_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - ../../stubs/mbed_wait_api_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp b/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp deleted file mode 100644 index d207cc8291..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsms/at_cellularsmstest.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularsms.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularSMS) -{ - Test_AT_CellularSMS *unit; - - void setup() - { - unit = new Test_AT_CellularSMS(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularSMS, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_constructor) -{ - unit->test_AT_CellularSMS_constructor(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_initialize) -{ - unit->test_AT_CellularSMS_initialize(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_send_sms) -{ - unit->test_AT_CellularSMS_send_sms(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_get_sms) -{ - unit->test_AT_CellularSMS_get_sms(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_set_sms_callback) -{ - unit->test_AT_CellularSMS_set_sms_callback(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_set_cpms) -{ - unit->test_AT_CellularSMS_set_cpms(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_set_csca) -{ - unit->test_AT_CellularSMS_set_csca(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_set_cscs) -{ - unit->test_AT_CellularSMS_set_cscs(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_delete_all_messages) -{ - unit->test_AT_CellularSMS_delete_all_messages(); -} - -TEST(AT_CellularSMS, test_AT_CellularSMS_set_extra_sim_wait_time) -{ - unit->test_AT_CellularSMS_set_extra_sim_wait_time(); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/main.cpp b/features/cellular/UNITTESTS/at/at_cellularsms/main.cpp deleted file mode 100644 index 04d6d690b0..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsms/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularSMS); - diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.cpp b/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.cpp deleted file mode 100644 index 94c5884a63..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularsms.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "ATHandler_stub.h" -#include "AT_CellularSMS.h" -#include "FileHandle_stub.h" -#include "CellularLog.h" - -using namespace mbed; -using namespace events; - -Test_AT_CellularSMS::Test_AT_CellularSMS() -{ - ATHandler_stub::return_given_size = false; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; -} - -Test_AT_CellularSMS::~Test_AT_CellularSMS() -{ -} - -void Test_AT_CellularSMS::test_AT_CellularSMS_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS *sms = new AT_CellularSMS(at); - - delete sms; -} - -void Test_AT_CellularSMS::test_AT_CellularSMS_initialize() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_NO_MEMORY == sms.initialize(CellularSMS::CellularSMSMmodeText)); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_send_sms() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - LONGS_EQUAL(NSAPI_ERROR_PARAMETER, sms.send_sms(NULL, "2", 1)); - - sms.initialize(CellularSMS::CellularSMSMmodeText); - ATHandler_stub::size_value = 1; - LONGS_EQUAL(1, sms.send_sms("1", "22", 2)); - - ATHandler_stub::size_value = 2; - LONGS_EQUAL(2, sms.send_sms("1", "22", 2)); - - ATHandler_stub::return_given_size = true; // PDU mode write is much longer than than msg len - sms.initialize(CellularSMS::CellularSMSMmodePDU); - LONGS_EQUAL(2, sms.send_sms("1", "23", 2));; - - ATHandler_stub::nsapi_error_ok_counter = 1; - ATHandler_stub::size_value = 32; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - LONGS_EQUAL(NSAPI_ERROR_AUTH_FAILURE, sms.send_sms("1", "23232323", 8)); - - ATHandler_stub::nsapi_error_ok_counter = 2; - ATHandler_stub::size_value = 32; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - LONGS_EQUAL(NSAPI_ERROR_AUTH_FAILURE, sms.send_sms("1", "23232323", 8)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; - char table[] = "232323232323232323232323232323232323232323232323232323\ - 232323232323232323232323232323232323232323232323232323\ - 232323232323232323232323232323232323232323232323232323\ - 23232323232323232323232323232323232323\0"; - - LONGS_EQUAL(strlen(table), sms.send_sms("1", table, strlen(table))); - LONGS_EQUAL(strlen(table), sms.send_sms("12", table, strlen(table))); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_get_sms() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - char buf[16]; - char phone[21]; - char stamp[21]; - int size; - CHECK(NSAPI_ERROR_PARAMETER == sms.get_sms(NULL, 16, phone, 21, stamp, 21, &size)); - - ATHandler_stub::resp_info_true_counter = 1; - ATHandler_stub::int_value = 0; - CHECK(-1 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); - - ATHandler_stub::resp_info_true_counter = 2; - ATHandler_stub::int_value = 11; - CHECK(0 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); - //TODO: Should make add_info to happen, before calling get_sms! - - ATHandler_stub::resp_info_true_counter = 2; - ATHandler_stub::int_value = 11; - sms.initialize(CellularSMS::CellularSMSMmodePDU); - CHECK(0 == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); - - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == sms.get_sms(buf, 16, phone, 21, stamp, 21, &size)); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_set_sms_callback() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - sms.set_sms_callback(NULL); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_set_cpms() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == sms.set_cpms("2", "3", "4")); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_set_csca() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == sms.set_csca("2", 1)); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_set_cscs() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == sms.set_cscs("2")); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_delete_all_messages() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; - CHECK(NSAPI_ERROR_AUTH_FAILURE == sms.delete_all_messages()); -} - - -void Test_AT_CellularSMS::test_AT_CellularSMS_set_extra_sim_wait_time() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - AT_CellularSMS sms(at); - sms.set_extra_sim_wait_time(56); - -} - diff --git a/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.h b/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.h deleted file mode 100644 index c83d312fa1..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularsms/test_at_cellularsms.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARSMS_H -#define TEST_AT_CELLULARSMS_H - -class Test_AT_CellularSMS { -public: - Test_AT_CellularSMS(); - - virtual ~Test_AT_CellularSMS(); - - void test_AT_CellularSMS_constructor(); - - void test_AT_CellularSMS_initialize(); - - void test_AT_CellularSMS_send_sms(); - - void test_AT_CellularSMS_get_sms(); - - void test_AT_CellularSMS_set_sms_callback(); - - void test_AT_CellularSMS_set_cpms(); - - void test_AT_CellularSMS_set_csca(); - - void test_AT_CellularSMS_set_cscs(); - - void test_AT_CellularSMS_delete_all_messages(); - - void test_AT_CellularSMS_set_extra_sim_wait_time(); -}; - -#endif // TEST_AT_CELLULARSMS_H - diff --git a/features/cellular/UNITTESTS/at/at_cellularstack/Makefile b/features/cellular/UNITTESTS/at/at_cellularstack/Makefile deleted file mode 100644 index 5371687a3e..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularstack/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = AT_CellularStack_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/AT_CellularStack.cpp - -TEST_SRC_FILES = \ - main.cpp \ - at_cellularstacktest.cpp \ - test_at_cellularstack.cpp \ - ../../stubs/ATHandler_stub.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/CellularUtil_stub.cpp \ - ../../stubs/us_ticker_stub.cpp \ - ../../stubs/NetworkStack_stub.cpp \ - ../../stubs/SocketAddress_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/at/at_cellularstack/at_cellularstacktest.cpp b/features/cellular/UNITTESTS/at/at_cellularstack/at_cellularstacktest.cpp deleted file mode 100644 index 60a5ab6664..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularstack/at_cellularstacktest.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularstack.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(AT_CellularStack) -{ - Test_AT_CellularStack *unit; - - void setup() - { - unit = new Test_AT_CellularStack(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(AT_CellularStack, Create) -{ - CHECK(unit != NULL); -} - -TEST(AT_CellularStack, test_AT_CellularStack_constructor) -{ - unit->test_AT_CellularStack_constructor(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_get_ip_address) -{ - unit->test_AT_CellularStack_get_ip_address(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_open) -{ - unit->test_AT_CellularStack_socket_open(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_close) -{ - unit->test_AT_CellularStack_socket_close(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_bind) -{ - unit->test_AT_CellularStack_socket_bind(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_listen) -{ - unit->test_AT_CellularStack_socket_listen(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_connect) -{ - unit->test_AT_CellularStack_socket_connect(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_accept) -{ - unit->test_AT_CellularStack_socket_accept(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_send) -{ - unit->test_AT_CellularStack_socket_send(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_recv) -{ - unit->test_AT_CellularStack_socket_recv(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_sendto) -{ - unit->test_AT_CellularStack_socket_sendto(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_recvfrom) -{ - unit->test_AT_CellularStack_socket_recvfrom(); -} - -TEST(AT_CellularStack, test_AT_CellularStack_socket_attach) -{ - unit->test_AT_CellularStack_socket_attach(); -} - diff --git a/features/cellular/UNITTESTS/at/at_cellularstack/main.cpp b/features/cellular/UNITTESTS/at/at_cellularstack/main.cpp deleted file mode 100644 index ee45007dde..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularstack/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(AT_CellularStack); - diff --git a/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.cpp b/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.cpp deleted file mode 100644 index 0e4eefca2c..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.cpp +++ /dev/null @@ -1,367 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_at_cellularstack.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "AT_CellularStack.h" -#include "FileHandle_stub.h" -#include "CellularLog.h" -#include "ATHandler_stub.h" -#include "SocketAddress.h" - -using namespace mbed; -using namespace events; - -class MyStack : public AT_CellularStack { -public: - bool bool_value; - bool max_sock_value; - nsapi_error_t create_error; - CellularSocket socket; - - MyStack(ATHandler &atr, int cid, nsapi_ip_stack_t typ) : AT_CellularStack(atr, cid, typ) - { - bool_value = false; - max_sock_value = 0; - create_error = NSAPI_ERROR_OK; - } - - virtual int get_max_socket_count() - { - return max_sock_value; - } - - virtual bool is_protocol_supported(nsapi_protocol_t protocol) - { - return bool_value; - } - - virtual nsapi_error_t socket_close_impl(int sock_id) - { - return NSAPI_ERROR_OK; - } - - virtual nsapi_error_t create_socket_impl(CellularSocket *socket) - { - return create_error; - } - - virtual nsapi_size_or_error_t socket_sendto_impl(CellularSocket *socket, const SocketAddress &address, - const void *data, nsapi_size_t size) - { - return NSAPI_ERROR_OK; - } - - virtual nsapi_size_or_error_t socket_recvfrom_impl(CellularSocket *socket, SocketAddress *address, - void *buffer, nsapi_size_t size) - { - return NSAPI_ERROR_OK; - } - - virtual nsapi_error_t socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) - { - return AT_CellularStack::socket_open(handle, proto); - } - - virtual nsapi_error_t socket_close(nsapi_socket_t handle) - { - return AT_CellularStack::socket_close(handle); - } - - virtual nsapi_error_t socket_bind(nsapi_socket_t handle, const SocketAddress &address) - { - return AT_CellularStack::socket_bind(handle, address); - } - - virtual nsapi_error_t socket_listen(nsapi_socket_t handle, int backlog) - { - return AT_CellularStack::socket_listen(handle, backlog); - } - - virtual nsapi_error_t socket_connect(nsapi_socket_t handle, const SocketAddress &address) - { - return AT_CellularStack::socket_connect(handle, address); - } - - virtual nsapi_error_t socket_accept(nsapi_socket_t server, - nsapi_socket_t *handle, SocketAddress *address = 0) - { - return AT_CellularStack::socket_accept(server, handle, address); - } - - virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle, - const void *data, nsapi_size_t size) - { - return AT_CellularStack::socket_send(handle, data, size); - } - - virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle, - void *data, nsapi_size_t size) - { - return AT_CellularStack::socket_recv(handle, data, size); - } - - virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address, - const void *data, nsapi_size_t size) - { - return AT_CellularStack::socket_sendto(handle, address, data, size); - } - - virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address, - void *buffer, nsapi_size_t size) - { - return AT_CellularStack::socket_recvfrom(handle, address, buffer, size); - } - - virtual void socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) - { - return AT_CellularStack::socket_attach(handle, callback, data); - } -}; - -Test_AT_CellularStack::Test_AT_CellularStack() -{ - ATHandler_stub::ssize_value = 0; - ATHandler_stub::bool_value = false; - ATHandler_stub::read_string_value = NULL; -} - -Test_AT_CellularStack::~Test_AT_CellularStack() -{ -} - -void Test_AT_CellularStack::test_AT_CellularStack_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack *st = new MyStack(at, 0, IPV4_STACK); - - delete st; -} - -void Test_AT_CellularStack::test_AT_CellularStack_get_ip_address() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - CHECK(0 == strlen(st.get_ip_address())); - - char table[] = "1.2.3.4.5.65.7.8.9.10.11\0"; - ATHandler_stub::ssize_value = -1; - ATHandler_stub::bool_value = true; - ATHandler_stub::read_string_value = table; - CHECK(NULL == st.get_ip_address()); - - ATHandler_stub::ssize_value = strlen(table); - ATHandler_stub::bool_value = true; - ATHandler_stub::read_string_value = table; - CHECK(st.get_ip_address()); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_open() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - st.bool_value = false; - CHECK(NSAPI_ERROR_UNSUPPORTED == st.socket_open(NULL, NSAPI_TCP)); - - st.bool_value = true; - st.max_sock_value = 0; - nsapi_socket_t sock = &st.socket; - CHECK(NSAPI_ERROR_NO_SOCKET == st.socket_open(&sock, NSAPI_TCP)); - - MyStack st2(at, 0, IPV6_STACK); - st2.bool_value = true; - st2.max_sock_value = 1; - sock = &st2.socket; - CHECK(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_close() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(&st.socket)); - - nsapi_socket_t sock = &st.socket; - st.bool_value = true; - st.max_sock_value = 1; - CHECK(NSAPI_ERROR_OK == st.socket_open(&sock, NSAPI_TCP)); - st.max_sock_value = 0; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(sock)); - - MyStack st2(at, 0, IPV6_STACK); - st2.max_sock_value = 1; - st2.bool_value = true; - sock = &st2.socket; - CHECK(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP)); - CHECK(NSAPI_ERROR_OK == st2.socket_close(sock)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_bind() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - SocketAddress addr; - ATHandler_stub::nsapi_error_value = NSAPI_ERROR_ALREADY; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_bind(NULL, addr)); - - CHECK(NSAPI_ERROR_ALREADY == st.socket_bind(&st.socket, addr)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_listen() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - CHECK(NSAPI_ERROR_UNSUPPORTED == st.socket_listen(&st.socket, 4)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_connect() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - SocketAddress addr; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_connect(NULL, addr)); - - CHECK(NSAPI_ERROR_OK == st.socket_connect(&st.socket, addr)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_accept() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - nsapi_socket_t sock = &st.socket; - CHECK(NSAPI_ERROR_UNSUPPORTED == st.socket_accept(NULL, &sock)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_send() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(NULL, "addr", 4)); - - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(&st.socket, "addr", 4)); - - SocketAddress addr; - st.max_sock_value = 1; - st.bool_value = true; - nsapi_socket_t sock = &st.socket; - st.socket_open(&sock, NSAPI_TCP); - st.socket_connect(sock, addr); - CHECK(NSAPI_ERROR_OK == st.socket_send(sock, "addr", 4)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_sendto() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - - SocketAddress addr; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_sendto(NULL, addr, "addr", 4)); - - st.max_sock_value = 1; - st.bool_value = true; - nsapi_socket_t sock = &st.socket; - st.socket_open(&sock, NSAPI_TCP); - st.socket_connect(sock, addr); - st.create_error = NSAPI_ERROR_CONNECTION_LOST; - CHECK(NSAPI_ERROR_CONNECTION_LOST == st.socket_sendto(sock, addr, "addr", 4)); - - st.create_error = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == st.socket_sendto(sock, addr, "addr", 4)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_recv() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - char table[4]; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_recv(NULL, table, 4)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_recvfrom() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - char table[4]; - CHECK(NSAPI_ERROR_DEVICE_ERROR == st.socket_recvfrom(NULL, NULL, table, 4)); - - SocketAddress addr; - st.max_sock_value = 1; - st.bool_value = true; - nsapi_socket_t sock = &st.socket; - st.socket_open(&sock, NSAPI_TCP); - st.socket_connect(sock, addr); - st.create_error = NSAPI_ERROR_CONNECTION_LOST; - CHECK(NSAPI_ERROR_CONNECTION_LOST == st.socket_recvfrom(sock, &addr, table, 4)); - - st.create_error = NSAPI_ERROR_OK; - CHECK(NSAPI_ERROR_OK == st.socket_recvfrom(sock, &addr, table, 4)); -} - -void Test_AT_CellularStack::test_AT_CellularStack_socket_attach() -{ - EventQueue que; - FileHandle_stub fh1; - ATHandler at(&fh1, que, 0, ","); - - MyStack st(at, 0, IPV6_STACK); - - st.socket_attach(NULL, NULL, NULL); - st.max_sock_value = 1; - st.bool_value = true; - nsapi_socket_t sock = &st.socket; - st.socket_open(&sock, NSAPI_TCP); - st.socket_attach(sock, NULL, NULL); -} diff --git a/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.h b/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.h deleted file mode 100644 index b86a6d761c..0000000000 --- a/features/cellular/UNITTESTS/at/at_cellularstack/test_at_cellularstack.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_AT_CELLULARSTACK_H -#define TEST_AT_CELLULARSTACK_H - -class Test_AT_CellularStack { -public: - Test_AT_CellularStack(); - - virtual ~Test_AT_CellularStack(); - - void test_AT_CellularStack_constructor(); - - void test_AT_CellularStack_get_ip_address(); - - void test_AT_CellularStack_socket_open(); - - void test_AT_CellularStack_socket_close(); - - void test_AT_CellularStack_socket_bind(); - - void test_AT_CellularStack_socket_listen(); - - void test_AT_CellularStack_socket_connect(); - - void test_AT_CellularStack_socket_accept(); - - void test_AT_CellularStack_socket_send(); - - void test_AT_CellularStack_socket_recv(); - - void test_AT_CellularStack_socket_sendto(); - - void test_AT_CellularStack_socket_recvfrom(); - - void test_AT_CellularStack_socket_attach(); -}; - -#endif // TEST_AT_CELLULARSTACK_H - diff --git a/features/cellular/UNITTESTS/at/athandler/Makefile b/features/cellular/UNITTESTS/at/athandler/Makefile deleted file mode 100644 index 6e2b33c35c..0000000000 --- a/features/cellular/UNITTESTS/at/athandler/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = ATHandler_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/AT/ATHandler.cpp \ - ../../../framework/common/CellularUtil.cpp - -TEST_SRC_FILES = \ - main.cpp \ - athandlertest.cpp \ - test_athandler.cpp \ - ../../stubs/AT_CellularBase_stub.cpp \ - ../../stubs/EventQueue_stub.cpp \ - ../../stubs/FileHandle_stub.cpp \ - ../../stubs/us_ticker_stub.cpp \ - ../../stubs/mbed_wait_api_stub.cpp \ - ../../stubs/mbed_assert_stub.cpp \ - ../../stubs/mbed_poll_stub.cpp \ - ../../stubs/Timer_stub.cpp \ - ../../stubs/equeue_stub.cpp \ - ../../stubs/Kernel.cpp \ - ../../stubs/Thread_stub.cpp \ - ../../stubs/randLIB_stub.cpp - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT -DMBED_CONF_CELLULAR_DEBUG_AT=1 - diff --git a/features/cellular/UNITTESTS/at/athandler/athandlertest.cpp b/features/cellular/UNITTESTS/at/athandler/athandlertest.cpp deleted file mode 100644 index b8b46b2ca8..0000000000 --- a/features/cellular/UNITTESTS/at/athandler/athandlertest.cpp +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_athandler.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(ATHandler) -{ - Test_ATHandler *unit; - - void setup() - { - unit = new Test_ATHandler(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(ATHandler, Create) -{ - CHECK(unit != NULL); -} - -TEST(ATHandler, test_ATHandler_constructor) -{ - unit->test_ATHandler_constructor(); -} - -TEST(ATHandler, test_ATHandler_get_file_handle) -{ - unit->test_ATHandler_get_file_handle(); -} - -TEST(ATHandler, test_ATHandler_set_file_handle) -{ - unit->test_ATHandler_set_file_handle(); -} - -TEST(ATHandler, test_ATHandler_lock) -{ - unit->test_ATHandler_lock(); -} - -TEST(ATHandler, test_ATHandler_unlock) -{ - unit->test_ATHandler_unlock(); -} - -TEST(ATHandler, test_ATHandler_unlock_return_error) -{ - unit->test_ATHandler_unlock_return_error(); -} - -TEST(ATHandler, test_ATHandler_set_urc_handler) -{ - unit->test_ATHandler_set_urc_handler(); -} - -TEST(ATHandler, test_ATHandler_get_last_error) -{ - unit->test_ATHandler_get_last_error(); -} - -TEST(ATHandler, test_ATHandler_get_last_device_error) -{ - unit->test_ATHandler_get_last_device_error(); -} - -TEST(ATHandler, test_ATHandler_inc_ref_count) -{ - unit->test_ATHandler_inc_ref_count(); -} - -TEST(ATHandler, test_ATHandler_dec_ref_count) -{ - unit->test_ATHandler_dec_ref_count(); -} - -TEST(ATHandler, test_ATHandler_get_ref_count) -{ - unit->test_ATHandler_get_ref_count(); -} - -TEST(ATHandler, test_ATHandler_set_at_timeout) -{ - unit->test_ATHandler_set_at_timeout(); -} - -TEST(ATHandler, test_ATHandler_restore_at_timeout) -{ - unit->test_ATHandler_restore_at_timeout(); -} - -TEST(ATHandler, test_ATHandler_clear_error) -{ - unit->test_ATHandler_clear_error(); -} - -TEST(ATHandler, test_ATHandler_process_oob) -{ - unit->test_ATHandler_process_oob(); -} - -TEST(ATHandler, test_ATHandler_set_filehandle_sigio) -{ - unit->test_ATHandler_set_filehandle_sigio(); -} - -TEST(ATHandler, test_ATHandler_flush) -{ - unit->test_ATHandler_flush(); -} - -TEST(ATHandler, test_ATHandler_cmd_start) -{ - unit->test_ATHandler_cmd_start(); -} - -TEST(ATHandler, test_ATHandler_write_int) -{ - unit->test_ATHandler_write_int(); -} - -TEST(ATHandler, test_ATHandler_write_string) -{ - unit->test_ATHandler_write_string(); -} - -TEST(ATHandler, test_ATHandler_cmd_stop) -{ - unit->test_ATHandler_cmd_stop(); -} - -TEST(ATHandler, test_ATHandler_write_bytes) -{ - unit->test_ATHandler_write_bytes(); -} - -TEST(ATHandler, test_ATHandler_set_stop_tag) -{ - unit->test_ATHandler_set_stop_tag(); -} - -TEST(ATHandler, test_ATHandler_set_delimiter) -{ - unit->test_ATHandler_set_delimiter(); -} - -TEST(ATHandler, test_ATHandler_skip_param) -{ - unit->test_ATHandler_skip_param(); -} - -TEST(ATHandler, test_ATHandler_read_bytes) -{ - unit->test_ATHandler_read_bytes(); -} - -TEST(ATHandler, test_ATHandler_read_string) -{ - unit->test_ATHandler_read_string(); -} - -TEST(ATHandler, test_ATHandler_read_hex_string) -{ - unit->test_ATHandler_read_hex_string(); -} - -TEST(ATHandler, test_ATHandler_read_int) -{ - unit->test_ATHandler_read_int(); -} - -TEST(ATHandler, test_ATHandler_resp_start) -{ - unit->test_ATHandler_resp_start(); -} - -TEST(ATHandler, test_ATHandler_resp_stop) -{ - unit->test_ATHandler_resp_stop(); -} - -TEST(ATHandler, test_ATHandler_info_resp) -{ - unit->test_ATHandler_info_resp(); -} - -TEST(ATHandler, test_ATHandler_info_elem) -{ - unit->test_ATHandler_info_elem(); -} - -TEST(ATHandler, test_ATHandler_consume_to_stop_tag) -{ - unit->test_ATHandler_consume_to_stop_tag(); -} - -TEST(ATHandler, test_ATHandler_set_debug) -{ - unit->test_ATHandler_set_debug(); -} - -TEST(ATHandler, test_ATHandler_get_3gpp_error) -{ - unit->test_ATHandler_get_3gpp_error(); -} diff --git a/features/cellular/UNITTESTS/at/athandler/main.cpp b/features/cellular/UNITTESTS/at/athandler/main.cpp deleted file mode 100644 index 3f7505ccbb..0000000000 --- a/features/cellular/UNITTESTS/at/athandler/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(ATHandler); - diff --git a/features/cellular/UNITTESTS/at/athandler/test_athandler.cpp b/features/cellular/UNITTESTS/at/athandler/test_athandler.cpp deleted file mode 100644 index 3d01ad0cad..0000000000 --- a/features/cellular/UNITTESTS/at/athandler/test_athandler.cpp +++ /dev/null @@ -1,1016 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_athandler.h" -#include -#include "AT_CellularNetwork.h" -#include "EventQueue.h" -#include "ATHandler.h" -#include "AT_CellularStack.h" -#include "FileHandle_stub.h" -#include "CellularLog.h" -#include "mbed_poll_stub.h" - -#include "Timer_stub.h" - -using namespace mbed; -using namespace events; - -void urc_callback() -{ -} - -Test_ATHandler::Test_ATHandler() -{ - -} - -Test_ATHandler::~Test_ATHandler() -{ -} - -void Test_ATHandler::test_ATHandler_constructor() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler *at = new ATHandler(&fh1, que, 0, ","); - - delete at; - - at = new ATHandler(&fh1, que, 0, NULL); - - delete at; -} - -void Test_ATHandler::test_ATHandler_get_file_handle() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK_EQUAL(&fh1, at.get_file_handle()); -} - -void Test_ATHandler::test_ATHandler_set_file_handle() -{ - EventQueue que; - FileHandle_stub fh1, fh2; - - ATHandler at(&fh1, que, 0, ","); - - at.set_file_handle(&fh2); -} - -void Test_ATHandler::test_ATHandler_lock() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - - at.lock(); -} - -void Test_ATHandler::test_ATHandler_unlock() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - filehandle_stub_short_value_counter = 1; - fh1.short_value = POLLIN; - at.unlock(); -} - -void Test_ATHandler::test_ATHandler_unlock_return_error() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK(NSAPI_ERROR_OK == at.unlock_return_error()); -} - -void Test_ATHandler::test_ATHandler_set_urc_handler() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - const char ch[] = "testtesttesttest"; - at.set_urc_handler(ch, &urc_callback); -} - -void Test_ATHandler::test_ATHandler_get_last_error() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK(NSAPI_ERROR_OK == at.get_last_error()); -} - -void Test_ATHandler::test_ATHandler_get_last_device_error() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK(0 == at.get_last_device_error().errCode); -} - -void Test_ATHandler::test_ATHandler_inc_ref_count() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.inc_ref_count(); -} - -void Test_ATHandler::test_ATHandler_dec_ref_count() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.dec_ref_count(); -} - -void Test_ATHandler::test_ATHandler_get_ref_count() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK(1 == at.get_ref_count()); - - at.inc_ref_count(); - CHECK(2 == at.get_ref_count()); - - at.inc_ref_count(); - CHECK(3 == at.get_ref_count()); - - at.dec_ref_count(); - at.dec_ref_count(); - CHECK(1 == at.get_ref_count()); -} - -void Test_ATHandler::test_ATHandler_set_at_timeout() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_at_timeout(8); - - at.set_at_timeout(80, true); -} - -void Test_ATHandler::test_ATHandler_restore_at_timeout() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_at_timeout(80, true); - at.set_at_timeout(800); - at.restore_at_timeout(); -} - -void Test_ATHandler::test_ATHandler_clear_error() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.clear_error(); -} - -void Test_ATHandler::test_ATHandler_process_oob() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - filehandle_stub_short_value_counter = 1; - fh1.short_value = POLLIN; - at.set_urc_handler("s", &urc_callback); - at.process_oob(); - - filehandle_stub_short_value_counter = 2; - at.process_oob(); - - //at.fill_buffer(); - uint8_t buf[5]; - at.clear_error(); - char table[] = "ssssssssssssssssssssssssssssssss\0"; - filehandle_stub_table = table; - filehandle_stub_table_pos = 0; - at.read_bytes(buf, 5); - - filehandle_stub_short_value_counter = 2; - at.process_oob(); - - at.clear_error(); - timer_stub_value = 0; - filehandle_stub_table_pos = 0; - at.read_bytes(buf, 5); - - filehandle_stub_short_value_counter = 1; - at.process_oob(); - - char table2[4]; - table2[0] = '\r'; - table2[1] = '\r'; - table2[2] = '\n'; - table2[3] = 0; - filehandle_stub_table = table2; - - at.clear_error(); - timer_stub_value = 0; - filehandle_stub_table_pos = 0; - at.read_bytes(buf, 1); - - filehandle_stub_short_value_counter = 1; - at.process_oob(); - - - filehandle_stub_table = table; - - - filehandle_stub_short_value_counter = 0; - filehandle_stub_table_pos = 0; - filehandle_stub_table = NULL; -} - -void Test_ATHandler::test_ATHandler_set_filehandle_sigio() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_filehandle_sigio(); -} - -void Test_ATHandler::test_ATHandler_flush() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - filehandle_stub_short_value_counter = 1; - fh1.short_value = POLLIN; - at.flush(); -} - -void Test_ATHandler::test_ATHandler_cmd_start() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - mbed_poll_stub::revents_value = POLLOUT; - mbed_poll_stub::int_value = 1; - fh1.size_value = 3; - at.cmd_start("s"); - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 0; - - at.cmd_start("s"); - - at.cmd_start("s"); -} - -void Test_ATHandler::test_ATHandler_write_int() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - fh1.size_value = -1; - at.write_int(4); - - at.clear_error(); - mbed_poll_stub::revents_value = POLLOUT; - mbed_poll_stub::int_value = 1; - fh1.size_value = 6; - at.write_int(4); - - at.write_int(2147483647); - - at.write_int(2147483647 + 1); - -// at.at_error(0, DeviceErrorType(0)); -// at.write_int(4); -} - -void Test_ATHandler::test_ATHandler_write_string() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.write_string("help"); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - - at.clear_error(); - mbed_poll_stub::revents_value = POLLOUT; - mbed_poll_stub::int_value = 1; - fh1.size_value = -1; - at.cmd_start("s"); - at.write_string("help", true); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - - at.clear_error(); - mbed_poll_stub::revents_value = POLLOUT; - mbed_poll_stub::int_value = 1; - fh1.size_value = -1; - at.write_string("help", true); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - - at.clear_error(); - mbed_poll_stub::revents_value = POLLOUT; - mbed_poll_stub::int_value = 1; - fh1.size_value = 7; - at.write_string("help", true); - CHECK(NSAPI_ERROR_OK == at.get_last_error()); -} - -void Test_ATHandler::test_ATHandler_cmd_stop() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - fh1.size_value = -1; - at.cmd_stop(); - - at.write_string("help", true); - - at.cmd_stop(); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); -} - -void Test_ATHandler::test_ATHandler_write_bytes() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - fh1.size_value = -1; - uint8_t data[] = "data"; - at.write_bytes(data, 4); - - at.write_bytes(data, 4); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); -} - -void Test_ATHandler::test_ATHandler_set_stop_tag() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_stop_tag("s"); -} - -void Test_ATHandler::test_ATHandler_set_delimiter() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_delimiter('+'); -} - -void Test_ATHandler::test_ATHandler_skip_param() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.skip_param(); - - char table[] = "ssssssssssssssssssssssssssssOK\r\n\0"; - filehandle_stub_table = table; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - at.skip_param(); - CHECK(at.get_last_error() == NSAPI_ERROR_DEVICE_ERROR); - - char table1[] = "ss,sssssssssssss,sssssssssssOK\r\n\0"; - filehandle_stub_table = table1; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - at.skip_param(); - - char table2[] = "sssOK\r\n\0"; - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - at.skip_param(); - - char table3[] = "sssssssOK\nssss\0"; - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - - //Need to create a new instance because stop tag already found - ATHandler at2(&fh1, que, 0, ","); - at2.flush(); - at2.clear_error(); - at2.resp_start(); - at2.skip_param(); - - at2.skip_param(4, 3); - - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - - at2.flush(); - at2.clear_error(); - at2.resp_start(); - at2.skip_param(4, 3); - - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - - at2.flush(); - at2.clear_error(); - at2.resp_start(); - at2.skip_param(24, 17); -} - -void Test_ATHandler::test_ATHandler_read_bytes() -{ - EventQueue que; - FileHandle_stub fh1; - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - ATHandler at(&fh1, que, 0, ","); - uint8_t buf[5]; - - // TEST EMPTY BUFFER - // Shouldn't read any byte since buffer is empty - CHECK(-1 == at.read_bytes(buf, 1)); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - // Return error due to error set to at handler by the above call on empty buffer - CHECK(-1 == at.read_bytes(buf, 1)); - - // TEST DATA IN BUFFER - at.clear_error(); - char table1[] = "1234512345678OK\r\n\0"; - filehandle_stub_table = table1; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1;; - - // Read 5 bytes - CHECK(5 == at.read_bytes(buf, 5)); - CHECK(!memcmp(buf, table1, 5)); - // get_char triggered above should have filled in the whole reading buffer(fill_buffer()) - CHECK(filehandle_stub_table_pos == (strlen(table1) - 1)); - // Read another 8 bytes - CHECK(8 == at.read_bytes(buf, 8) && !memcmp(buf, table1 + 5, 8)); - // Reading more than the 4 bytes left -> ERROR - CHECK(-1 == at.read_bytes(buf, 5)); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); -} - -void Test_ATHandler::test_ATHandler_read_string() -{ - EventQueue que; - FileHandle_stub fh1; - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - ATHandler at(&fh1, que, 0, ","); - - // *** EMPTY *** - at.clear_error(); - char table1[] = ""; - at.flush(); - filehandle_stub_table = table1; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf1[1]; - // No _stop_tag set without resp_start - CHECK(-1 == at.read_string(buf1, 1)); - at.clear_error(); - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - // Device error because buffer is empty - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - at.clear_error(); - // Device error because empty buffer and attempt to fill_buffer by consume_char('\"') - CHECK(-1 == at.read_string(buf1, 1)); - - // *** 1 BYTE *** - at.clear_error(); - char table2[] = "s\0"; - at.flush(); - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf2[1]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - // Device error because no CRLF and no more data to read - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - at.clear_error(); - CHECK(0 == at.read_string(buf2, 1)); - - // *** CRLF *** - at.clear_error(); - char table3[] = "\r\ns\r\n\0"; - at.flush(); - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf3[1]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - // OK because after CRLF matched there is more data to read ending in CRLF - CHECK(NSAPI_ERROR_OK == at.get_last_error()); - // To read 0 bytes from: s\r\n - CHECK(0 == at.read_string(buf3, 0 + 1/*for NULL*/)); - // To read 1 byte from: s\r\n -> read s - CHECK(1 == at.read_string(buf3, 1 + 1/*for NULL*/)); - - // *** Reading more than available in buffer *** - at.clear_error(); - char table4[] = "\"s,\"OK\r\n\0"; - at.flush(); - filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf4[7]; - uint8_t buf5[5]; - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read 5 bytes from: "s,"OK\r\n -> read "s,"O - at.read_bytes(buf5, 5); - // K\r\n left to be read -> reading more than 3 + 1(for NULL) -> ERROR - CHECK(-1 == at.read_string(buf4, 4 + 1/*for NULL*/)); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - - // *** Encountering delimiter after reading 1 byte *** - at.clear_error(); - at.flush(); - filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read 1 byte from: "s,"OK\r\n -> read " - at.read_bytes(buf5, 1); - // TO read max 4 from: s,"OK\r\n -> read s and stop on , - CHECK(1 == at.read_string(buf4, 4 + 1/*for NULL*/)); - - // *** Encountering delimiter as first char in buffer *** - at.clear_error(); - at.flush(); - filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read 2 bytes from: "s,"OK\r\n -> read "s - at.read_bytes(buf5, 2); - // TO read max 4 bytes from: ,"OK\r\n -> stop on , - CHECK(0 == at.read_string(buf4, 4 + 1/*for NULL*/)); - - // *** Read as much as buffer size is without encountering any delimiter " or OKCRLF *** - at.clear_error(); - char table5[] = "\"s\"OK\r\nabcd\0"; - at.flush(); - filehandle_stub_table = table5; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read 1 byte from: "s"OK\r\n -> read " - at.read_bytes(buf5, 1); - // TO read max 1 byte from: s"OK\r\n -> read s - CHECK(1 == at.read_string(buf4, 1 + 1/*for NULL*/)); - - // *** Consume " and run into OKCRLF *** - // TO read max 1 byte from: "OK\r\n -> consume " and find stop tag OKCRLF - CHECK(0 == at.read_string(buf4, 1 + 1/*for NULL*/)); - - // *** Try to read after stop tag was found *** - // stop tag found do not read further - CHECK(-1 == at.read_string(buf4, 1 + 1/*for NULL*/)); - - // *** Try to read after stop tag was found when parameter allows it *** - // stop tag found but flag indicates to read despite stop_tag found - CHECK(4 == at.read_string(buf4, 4 + 1/*for NULL*/, true)); - - // *** Read as much as buffer size is without encountering any delimiter " or OKCRLF *** - at.clear_error(); - char table6[] = "sss\rsss\0"; - at.flush(); - filehandle_stub_table = table6; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - at.resp_start("s"); - // TO read from: ss\rsss -> read all 6 chars ss\rsss - CHECK(6 == at.read_string(buf4, 6 + 1/*for NULL*/)); - - // *** Reading when buffer only has " *** - at.clear_error(); - char table7[] = "s\"\0"; - at.flush(); - filehandle_stub_table = table7; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - at.resp_start("s"); - // TO read from buffer having only " -> consume " -> trying to read when nothing in buffer - CHECK(-1 == at.read_string(buf4, 5)); - CHECK(NSAPI_ERROR_DEVICE_ERROR == at.get_last_error()); - - // *** Reading through partially matching stop tag *** - at.clear_error(); - char table8[] = "\"s\"OK\rabcd\r\n\0"; - at.flush(); - filehandle_stub_table = table8; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf8[9]; - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read from - CHECK(8 == at.read_string(buf8, 8 + 1/*for NULL*/)); - - // *** Reading through partially matching stop tag *** - at.clear_error(); - char table9[] = "\"s\"Oabcd\r\n\0"; - at.flush(); - filehandle_stub_table = table9; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf9[5]; - - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read from - CHECK(6 == at.read_string(buf9, 6 + 1/*for NULL*/)); - - // *** CRLF part of the string *** - at.clear_error(); - char table10[] = "\"s\"\r\nOK\r\n\0"; - at.flush(); - filehandle_stub_table = table10; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf10[10]; - - // NO prefix, NO OK, NO ERROR and NO URC match, CRLF found -> return so buffer could be read - at.resp_start(); - // TO read from - CHECK(3 == at.read_string(buf10, 9 + 1/*for NULL*/)); -} - -void Test_ATHandler::test_ATHandler_read_hex_string() -{ - EventQueue que; - FileHandle_stub fh1; - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - ATHandler at(&fh1, que, 0, ","); - - // *** Read up to delimiter, even length *** - at.clear_error(); - char table1[] = "68656C6C6F,"; - at.flush(); - filehandle_stub_table = table1; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf1[10]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - CHECK(5 == at.read_hex_string(buf1, 5)); - CHECK(!strncmp(buf1, "hello", 5)); - - // *** Read up to delimiter, odd length *** - at.clear_error(); - char table2[] = "68656C6C6F7,"; - at.flush(); - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf2[10]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - CHECK(5 == at.read_hex_string(buf2, 6)); - CHECK(!strncmp(buf2, "hello", 5)); - - // *** Read with stop tag, even length *** - at.clear_error(); - char table3[] = "6865OK\r\n"; - at.flush(); - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf3[6]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - CHECK(2 == at.read_hex_string(buf3, 2 + 1/*get to stop tag match*/)); - CHECK(!strncmp(buf3, "he", 2)); - at.resp_stop(); - - // *** Read with stop tag, odd length *** - at.clear_error(); - char table4[] = "686OK\r\n"; - at.flush(); - filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = 1; - char buf4[6]; - // Set _stop_tag to resp_stop(OKCRLF) - at.resp_start(); - CHECK(1 == at.read_hex_string(buf4, 2 + 1/*get to stop tag match*/)); - CHECK(!strncmp(buf4, "h", 1)); -} - -void Test_ATHandler::test_ATHandler_read_int() -{ - EventQueue que; - FileHandle_stub fh1; - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - ATHandler at(&fh1, que, 0, ","); - - int32_t ret = at.read_int(); - CHECK(-1 == ret); - at.clear_error(); - - char table[] = "\",\"OK\r\n\0"; - filehandle_stub_table = table; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table); - - at.resp_start(); - - ret = at.read_int(); - CHECK(-1 == ret); - at.flush(); - at.clear_error(); - - char table2[] = "\"2,\"OK\r\n\0"; - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table2); - - at.resp_start(); - - ret = at.read_int(); - CHECK(2 == ret); - -} - -void Test_ATHandler::test_ATHandler_resp_start() -{ - EventQueue que; - FileHandle_stub fh1; - - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - ATHandler at(&fh1, que, 0, ","); - at.resp_start(); - at.resp_start(); - - char table2[] = "\"2,\"OK\r\n\0"; - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start("ssssaaaassssaaaassss"); //too long prefix - - char table3[] = "+CME ERROR: 108\0"; - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - char table4[] = "+CMS ERROR: 6\0"; - filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - char table5[] = "ERROR\r\n\0"; - filehandle_stub_table = table5; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - char table6[] = "OK\r\n\0"; - filehandle_stub_table = table6; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - char table7[] = "ssssss\0"; - filehandle_stub_table = table7; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.set_urc_handler("ss", NULL); - at.resp_start(); -} - -void Test_ATHandler::test_ATHandler_resp_stop() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - - char table[] = "21 OK\r\n\0"; - filehandle_stub_table = table; - filehandle_stub_table_pos = 0; - - at.info_elem('2'); - at.set_stop_tag("OK\r\n"); - at.resp_stop(); - - char table3[] = "+CME ERROR: 108\0"; - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start(); - - at.resp_stop(); - - char table7[] = "ssssss\0"; - filehandle_stub_table = table7; - filehandle_stub_table_pos = 0; - - at.flush(); - at.clear_error(); - at.resp_start("ss", false); - at.resp_stop(); -} - -void Test_ATHandler::test_ATHandler_info_resp() -{ - EventQueue que; - FileHandle_stub fh1; - - filehandle_stub_table = NULL; - - ATHandler at(&fh1, que, 0, ","); - CHECK(at.info_resp()); - - at.resp_start(); - CHECK(!at.info_resp()); - - at.flush(); - at.clear_error(); - - char table2[] = "21 OK\r\n\0"; - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table2); - - at.resp_start("21"); - CHECK(at.info_resp()); - - CHECK(!at.info_resp()); - - at.flush(); - at.clear_error(); - - char table3[] = "21 OK\r\n\0"; - filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table3); - - CHECK(at.info_resp()); -} - -void Test_ATHandler::test_ATHandler_info_elem() -{ - EventQueue que; - FileHandle_stub fh1; - - char table[] = "21 OK\r\n\0"; - filehandle_stub_table = table; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table); - - ATHandler at(&fh1, que, 0, ","); - CHECK(!at.info_elem('O')); - at.flush(); - - char table2[] = "21 OK\r\n\0"; - filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; - mbed_poll_stub::revents_value = POLLIN; - mbed_poll_stub::int_value = strlen(table2); - - at.clear_error(); - at.resp_start("21"); - CHECK(at.info_elem('O')); - at.flush(); - - filehandle_stub_table = NULL; - filehandle_stub_table_pos = 0; - - at.clear_error(); - at.resp_start("21"); - CHECK(!at.info_elem('2')); -} - -void Test_ATHandler::test_ATHandler_consume_to_stop_tag() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - CHECK(at.consume_to_stop_tag()); -} - -void Test_ATHandler::test_ATHandler_set_debug() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - at.set_debug(true); - - at.set_debug(false); -} - -void Test_ATHandler::test_ATHandler_get_3gpp_error() -{ - EventQueue que; - FileHandle_stub fh1; - - ATHandler at(&fh1, que, 0, ","); - int ret = at.get_3gpp_error(); -} diff --git a/features/cellular/UNITTESTS/at/athandler/test_athandler.h b/features/cellular/UNITTESTS/at/athandler/test_athandler.h deleted file mode 100644 index 3d74fb0afd..0000000000 --- a/features/cellular/UNITTESTS/at/athandler/test_athandler.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_ATHANDLER_H -#define TEST_ATHANDLER_H - -class Test_ATHandler { -public: - Test_ATHandler(); - - virtual ~Test_ATHandler(); - - void test_ATHandler_constructor(); - - void test_ATHandler_get_file_handle(); - - void test_ATHandler_set_file_handle(); - - void test_ATHandler_lock(); - - void test_ATHandler_unlock(); - - void test_ATHandler_unlock_return_error(); - - void test_ATHandler_set_urc_handler(); - - void test_ATHandler_get_last_error(); - - void test_ATHandler_get_last_device_error(); - - void test_ATHandler_inc_ref_count(); - - void test_ATHandler_dec_ref_count(); - - void test_ATHandler_get_ref_count(); - - void test_ATHandler_set_at_timeout(); - - void test_ATHandler_restore_at_timeout(); - - void test_ATHandler_clear_error(); - - void test_ATHandler_process_oob(); - - void test_ATHandler_set_filehandle_sigio(); - - void test_ATHandler_flush(); - - void test_ATHandler_cmd_start(); - - void test_ATHandler_write_int(); - - void test_ATHandler_write_string(); - - void test_ATHandler_cmd_stop(); - - void test_ATHandler_write_bytes(); - - void test_ATHandler_set_stop_tag(); - - void test_ATHandler_set_delimiter(); - - void test_ATHandler_skip_param(); - - void test_ATHandler_read_bytes(); - - void test_ATHandler_read_string(); - - void test_ATHandler_read_hex_string(); - - void test_ATHandler_read_int(); - - void test_ATHandler_resp_start(); - - void test_ATHandler_resp_stop(); - - void test_ATHandler_info_resp(); - - void test_ATHandler_info_elem(); - - void test_ATHandler_consume_to_stop_tag(); - - void test_ATHandler_set_debug(); - - void test_ATHandler_get_3gpp_error(); -}; - -#endif // TEST_ATHANDLER_H - diff --git a/features/cellular/UNITTESTS/common/util/Makefile b/features/cellular/UNITTESTS/common/util/Makefile deleted file mode 100644 index bcfa9092b2..0000000000 --- a/features/cellular/UNITTESTS/common/util/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -include ../../makefile_defines.txt - -COMPONENT_NAME = util_unit - -#This must be changed manually -SRC_FILES = \ - ../../../framework/common/CellularUtil.cpp - -TEST_SRC_FILES = \ - main.cpp \ - utiltest.cpp \ - test_util.cpp \ - ../../stubs/randLIB_stub.cpp \ - -include ../../MakefileWorker.mk - -CPPUTESTFLAGS += -DFEA_TRACE_SUPPORT - diff --git a/features/cellular/UNITTESTS/common/util/main.cpp b/features/cellular/UNITTESTS/common/util/main.cpp deleted file mode 100644 index 6ebe329133..0000000000 --- a/features/cellular/UNITTESTS/common/util/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/TestPlugin.h" -#include "CppUTest/TestRegistry.h" -#include "CppUTestExt/MockSupportPlugin.h" -int main(int ac, char **av) -{ - return CommandLineTestRunner::RunAllTests(ac, av); -} - -IMPORT_TEST_GROUP(util); - diff --git a/features/cellular/UNITTESTS/common/util/test_util.cpp b/features/cellular/UNITTESTS/common/util/test_util.cpp deleted file mode 100644 index a8078dcf5b..0000000000 --- a/features/cellular/UNITTESTS/common/util/test_util.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_util.h" -#include -#include "CellularUtil.h" - -using namespace mbed_cellular_util; - -Test_util::Test_util() -{ - -} - -Test_util::~Test_util() -{ -} - -void Test_util::test_util_uint_to_binary_string() -{ - char str[33]; - uint_to_binary_str(15, str, 33, 32); - str[32] = '\0'; - // 15 is "1111" in binary but we ask all 32 bits so it should return "00000000000000000000000000001111" - STRCMP_EQUAL("00000000000000000000000000001111", str); - - // test NULL pointer - uint_to_binary_str(15, NULL, 0, 32); - - // test give too small buffer - char too_small[5]; - uint_to_binary_str(15, too_small, 5, 6); -} - -void Test_util::test_util_char_str_to_hex() -{ - // basic conversion test, happy days - char hex_buf[50]; - uint16_t number_of_hex_chars = char_str_to_hex_str("1234", 4, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - STRCMP_EQUAL("31323334", hex_buf); - LONGS_EQUAL(8, number_of_hex_chars); - - number_of_hex_chars = char_str_to_hex_str("wuhuu", 5, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - STRCMP_EQUAL("7775687575", hex_buf); - LONGS_EQUAL(10, number_of_hex_chars); - - // First don't omit the leading zero and then omit and check that leading zero is missing - number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf); - hex_buf[number_of_hex_chars] = '\0'; - STRCMP_EQUAL("0A7775687575", hex_buf); - LONGS_EQUAL(12, number_of_hex_chars); - - number_of_hex_chars = char_str_to_hex_str("\nwuhuu", 6, hex_buf, true); - hex_buf[number_of_hex_chars] = '\0'; - STRCMP_EQUAL("A7775687575", hex_buf); - LONGS_EQUAL(11, number_of_hex_chars); - - // test giving a null pointer - number_of_hex_chars = char_str_to_hex_str(NULL, 4, hex_buf); - LONGS_EQUAL(0, number_of_hex_chars); - number_of_hex_chars = char_str_to_hex_str("1234", 4, NULL); - LONGS_EQUAL(0, number_of_hex_chars); -} - -void Test_util::test_util_convert_ipv6() -{ - // leading zeros omitted - char ipv6[64]; - strncpy(ipv6, "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1", 64); - convert_ipv6(ipv6); - STRCMP_EQUAL("101:101:101:101:101:101:101:101", ipv6); - LONGS_EQUAL(31, strlen(ipv6)); - - // some omitted and some not so much - strncpy(ipv6, "255.1.120.2.244.12.55.45.201.110.11.2.233.154.85.96", 64); - convert_ipv6(ipv6); - STRCMP_EQUAL("FF01:7802:F40C:372D:C96E:B02:E99A:5560", ipv6); - LONGS_EQUAL(38, strlen(ipv6)); - - // test giving a null pointer - convert_ipv6(NULL); -} - -void Test_util::test_util_prefer_ipv6() -{ - char tt[20] = "62.241.198.246"; - char temp[64] = "2001:14B8:1000:000:000:000:000:002"; - - // not enough space to swap, arrays should stay the same - prefer_ipv6(tt, sizeof(tt), temp, sizeof(temp)); - STRCMP_EQUAL("62.241.198.246", tt); - STRCMP_EQUAL("2001:14B8:1000:000:000:000:000:002", temp); - - // should swap as first one was ip4 and later was ipv6 and enough space - char tt2[64] = "62.241.198.246"; - prefer_ipv6(tt2, sizeof(tt2), temp, sizeof(temp)); - STRCMP_EQUAL("62.241.198.246", temp); - STRCMP_EQUAL("2001:14B8:1000:000:000:000:000:002", tt2); -} - -void Test_util::test_util_separate_ip_addresses() -{ - char *s = (char *)malloc(128); - - char ip[64] = {0}; - char subnet[64] = {0}; - - strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15", 94); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("2001:14BB:170:8BF5:FB88:E86E:7B33:E68A", ip); - STRCMP_EQUAL("001:203:405:607:809:A0B:C0D:E0F", subnet); - - strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", 94); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); - STRCMP_EQUAL("0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4\0", 8); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("1.2.3.4", ip); - STRCMP_EQUAL("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4.5.6.7.8\0", 16); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("1.2.3.4", ip); - STRCMP_EQUAL("5.6.7.8", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16\0", 39); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("102:304:506:708:90A:B0C:D0E:F10", ip); - STRCMP_EQUAL("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 57); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); - STRCMP_EQUAL("", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4 32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138\0", 65); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("1.2.3.4", ip); - STRCMP_EQUAL("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", subnet); - - ip[0] = '\0'; - subnet[0] = '\0'; - strncpy(s, "1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20\0", 51); - separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); - STRCMP_EQUAL("1.2.3.4", ip); - STRCMP_EQUAL("506:708:90A:B0C:D0E:F10:1112:1314", subnet); - STRCMP_EQUAL("1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20", s); - -} diff --git a/features/cellular/UNITTESTS/common/util/test_util.h b/features/cellular/UNITTESTS/common/util/test_util.h deleted file mode 100644 index 7f6b28ee5f..0000000000 --- a/features/cellular/UNITTESTS/common/util/test_util.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TEST_UTIL_H -#define TEST_UTIL_H - -class Test_util { -public: - Test_util(); - - virtual ~Test_util(); - - void test_util_uint_to_binary_string(); - - void test_util_char_str_to_hex(); - - void test_util_convert_ipv6(); - - void test_util_prefer_ipv6(); - - void test_util_separate_ip_addresses(); -}; - -#endif // TEST_UTIL_H - diff --git a/features/cellular/UNITTESTS/common/util/utiltest.cpp b/features/cellular/UNITTESTS/common/util/utiltest.cpp deleted file mode 100644 index 52a6db6c07..0000000000 --- a/features/cellular/UNITTESTS/common/util/utiltest.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CppUTest/TestHarness.h" -#include "test_util.h" - -// AStyle ignored as the definition is not clear due to preprocessor usage -// *INDENT-OFF* -TEST_GROUP(util) -{ - Test_util *unit; - - void setup() - { - unit = new Test_util(); - } - - void teardown() - { - delete unit; - } -}; -// *INDENT-ON* - -TEST(util, Create) -{ - CHECK(unit != NULL); -} - -TEST(util, test_util_uint_to_binary_string) -{ - unit->test_util_uint_to_binary_string(); -} - -TEST(util, char_str_to_hex) -{ - unit->test_util_char_str_to_hex(); -} - -TEST(util, convert_ipv6) -{ - unit->test_util_convert_ipv6(); -} - -TEST(util, prefer_ipv6) -{ - unit->test_util_prefer_ipv6(); -} - -TEST(util, separate_ip_addresses) -{ - unit->test_util_separate_ip_addresses(); -} diff --git a/features/cellular/UNITTESTS/makefile_defines.txt b/features/cellular/UNITTESTS/makefile_defines.txt deleted file mode 100755 index d11de61cfd..0000000000 --- a/features/cellular/UNITTESTS/makefile_defines.txt +++ /dev/null @@ -1,32 +0,0 @@ -#--- Inputs ----# -CPPUTEST_HOME = /usr -CPPUTEST_USE_EXTENSIONS = Y -CPPUTEST_USE_VPATH = Y -CPPUTEST_USE_GCOV = Y -CPPUTEST_USE_MEM_LEAK_DETECTION = N -CPP_PLATFORM = gcc -INCLUDE_DIRS =\ - .\ - ../../stubs\ - ../../target_h\ - ../../..\ - ../../../../../features \ - ../../../../../features/netsocket \ - ../../../../.. \ - ../../../../../rtos \ - ../../../../../rtos/TARGET_CORTEX \ - ../../../../../platform \ - ../../../../../hal \ - ../../../../../events \ - ../../../../../events/equeue \ - ../../../../../drivers \ - ../../../framework\ - ../../../framework/common\ - ../../../framework/AT\ - ../../../framework/API\ - /usr/include\ - $(CPPUTEST_HOME)/include\ - -CPPUTESTFLAGS = -D__thumb2__ -w -D__INLINE=__inline -CPPUTEST_CFLAGS += -std=gnu99 - diff --git a/features/cellular/UNITTESTS/run_tests b/features/cellular/UNITTESTS/run_tests deleted file mode 100755 index f4f7a48298..0000000000 --- a/features/cellular/UNITTESTS/run_tests +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -echo -echo Build Cellular unit tests -echo - -#replace by empty string if no branch coverage is needed -#branch_cov="--rc lcov_branch_coverage=1" -branch_cov="" -#branch_data="--rc branch-coverage=1" -branch_data="--no-branch-coverage" - -# Remember to add new test folder to Makefile -make clean >/dev/null 2>&1 -make all - -echo -echo Create results -echo -mkdir results - -find ./ -name '*.xml' | xargs cp -t ./results/ - -echo -echo Create coverage document -echo -mkdir coverages -cd coverages - -lcov -q -d ../. -c -o app.info $branch_cov -lcov -q -r app.info "/test*" -o app.info $branch_cov -lcov -q -r app.info "/usr*" -o app.info $branch_cov -lcov -q -r app.info "/UNITTESTS/common*" -o app.info $branch_cov -lcov -q -r app.info "/UNITTESTS/*" -o app.info $branch_cov -lcov -q -r app.info "/UNITTESTS/stubs*" -o app.info $branch_cov -lcov -q -r app.info "/UNITTESTS/target_h*" -o app.info $branch_cov -lcov -q -r app.info "/mbed-client*" -o app.info $branch_cov -lcov -q -r app.info "/events*" -o app.info $branch_cov -lcov -q -r app.info "/features/netsocket*" -o app.info $branch_cov -lcov -q -r app.info "/platform*" -o app.info $branch_cov -genhtml $branch_data app.info -cd .. -echo -echo -echo -echo Have a nice bug hunt! -echo -echo -echo diff --git a/features/cellular/UNITTESTS/stubs/ATCmdParser.cpp b/features/cellular/UNITTESTS/stubs/ATCmdParser.cpp deleted file mode 100644 index d9157ec848..0000000000 --- a/features/cellular/UNITTESTS/stubs/ATCmdParser.cpp +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ATCmdParser.h" -#include "mbed_poll.h" -#include "mbed_debug.h" - -#ifdef LF -#undef LF -#define LF 10 -#else -#define LF 10 -#endif - -#ifdef CR -#undef CR -#define CR 13 -#else -#define CR 13 -#endif - -// getc/putc handling with timeouts -int ATCmdParser::putc(char c) -{ - pollfh fhs; - fhs.fh = _fh; - fhs.events = POLLOUT; - - int count = poll(&fhs, 1, _timeout); - if (count > 0 && (fhs.revents & POLLOUT)) { - return _fh->write(&c, 1) == 1 ? 0 : -1; - } else { - return -1; - } -} - -int ATCmdParser::getc() -{ - pollfh fhs; - fhs.fh = _fh; - fhs.events = POLLIN; - - int count = poll(&fhs, 1, _timeout); - if (count > 0 && (fhs.revents & POLLIN)) { - unsigned char ch; - return _fh->read(&ch, 1) == 1 ? ch : -1; - } else { - return -1; - } -} - -void ATCmdParser::flush() -{ - while (_fh->readable()) { - unsigned char ch; - _fh->read(&ch, 1); - } -} - - -// read/write handling with timeouts -int ATCmdParser::write(const char *data, int size) -{ - int i = 0; - for (; i < size; i++) { - if (putc(data[i]) < 0) { - return -1; - } - } - return i; -} - -int ATCmdParser::read(char *data, int size) -{ - int i = 0; - for (; i < size; i++) { - int c = getc(); - if (c < 0) { - return -1; - } - data[i] = c; - } - return i; -} - - -// printf/scanf handling -int ATCmdParser::vprintf(const char *format, va_list args) -{ - - if (vsprintf(_buffer, format, args) < 0) { - return false; - } - - int i = 0; - for (; _buffer[i]; i++) { - if (putc(_buffer[i]) < 0) { - return -1; - } - } - return i; -} - -int ATCmdParser::vscanf(const char *format, va_list args) -{ - // Since format is const, we need to copy it into our buffer to - // add the line's null terminator and clobber value-matches with asterisks. - // - // We just use the beginning of the buffer to avoid unnecessary allocations. - int i = 0; - int offset = 0; - - while (format[i]) { - if (format[i] == '%' && format[i + 1] != '%' && format[i + 1] != '*') { - _buffer[offset++] = '%'; - _buffer[offset++] = '*'; - i++; - } else { - _buffer[offset++] = format[i++]; - } - } - - // Scanf has very poor support for catching errors - // fortunately, we can abuse the %n specifier to determine - // if the entire string was matched. - _buffer[offset++] = '%'; - _buffer[offset++] = 'n'; - _buffer[offset++] = 0; - - // To workaround scanf's lack of error reporting, we actually - // make two passes. One checks the validity with the modified - // format string that only stores the matched characters (%n). - // The other reads in the actual matched values. - // - // We keep trying the match until we succeed or some other error - // derails us. - int j = 0; - - while (true) { - // Ran out of space - if (j + 1 >= _buffer_size - offset) { - return false; - } - // Recieve next character - int c = getc(); - if (c < 0) { - return -1; - } - _buffer[offset + j++] = c; - _buffer[offset + j] = 0; - - // Check for match - int count = -1; - sscanf(_buffer + offset, _buffer, &count); - - // We only succeed if all characters in the response are matched - if (count == j) { - // Store the found results - vsscanf(_buffer + offset, format, args); - return j; - } - } -} - - -// Command parsing with line handling -bool ATCmdParser::vsend(const char *command, va_list args) -{ - // Create and send command - if (vsprintf(_buffer, command, args) < 0) { - return false; - } - - for (int i = 0; _buffer[i]; i++) { - if (putc(_buffer[i]) < 0) { - return false; - } - } - - // Finish with newline - for (size_t i = 0; _output_delimiter[i]; i++) { - if (putc(_output_delimiter[i]) < 0) { - return false; - } - } - - debug_if(_dbg_on, "AT> %s\n", _buffer); - return true; -} - -bool ATCmdParser::vrecv(const char *response, va_list args) -{ -restart: - _aborted = false; - // Iterate through each line in the expected response - while (response[0]) { - // Since response is const, we need to copy it into our buffer to - // add the line's null terminator and clobber value-matches with asterisks. - // - // We just use the beginning of the buffer to avoid unnecessary allocations. - int i = 0; - int offset = 0; - bool whole_line_wanted = false; - - while (response[i]) { - if (response[i] == '%' && response[i + 1] != '%' && response[i + 1] != '*') { - _buffer[offset++] = '%'; - _buffer[offset++] = '*'; - i++; - } else { - _buffer[offset++] = response[i++]; - // Find linebreaks, taking care not to be fooled if they're in a %[^\n] conversion specification - if (response[i - 1] == '\n' && !(i >= 3 && response[i - 3] == '[' && response[i - 2] == '^')) { - whole_line_wanted = true; - break; - } - } - } - - // Scanf has very poor support for catching errors - // fortunately, we can abuse the %n specifier to determine - // if the entire string was matched. - _buffer[offset++] = '%'; - _buffer[offset++] = 'n'; - _buffer[offset++] = 0; - - debug_if(_dbg_on, "AT? %s\n", _buffer); - // To workaround scanf's lack of error reporting, we actually - // make two passes. One checks the validity with the modified - // format string that only stores the matched characters (%n). - // The other reads in the actual matched values. - // - // We keep trying the match until we succeed or some other error - // derails us. - int j = 0; - - while (true) { - // Receive next character - int c = getc(); - if (c < 0) { - debug_if(_dbg_on, "AT(Timeout)\n"); - return false; - } - // Simplify newlines (borrowed from retarget.cpp) - if ((c == CR && _in_prev != LF) || - (c == LF && _in_prev != CR)) { - _in_prev = c; - c = '\n'; - } else if ((c == CR && _in_prev == LF) || - (c == LF && _in_prev == CR)) { - _in_prev = c; - // onto next character - continue; - } else { - _in_prev = c; - } - _buffer[offset + j++] = c; - _buffer[offset + j] = 0; - - // Check for oob data - for (struct oob *oob = _oobs; oob; oob = oob->next) { - if ((unsigned)j == oob->len && memcmp( - oob->prefix, _buffer + offset, oob->len) == 0) { - debug_if(_dbg_on, "AT! %s\n", oob->prefix); - oob->cb(); - - if (_aborted) { - debug_if(_dbg_on, "AT(Aborted)\n"); - return false; - } - // oob may have corrupted non-reentrant buffer, - // so we need to set it up again - goto restart; - } - } - - // Check for match - int count = -1; - if (whole_line_wanted && c != '\n') { - // Don't attempt scanning until we get delimiter if they included it in format - // This allows recv("Foo: %s\n") to work, and not match with just the first character of a string - // (scanf does not itself match whitespace in its format string, so \n is not significant to it) - } else { - sscanf(_buffer + offset, _buffer, &count); - } - - // We only succeed if all characters in the response are matched - if (count == j) { - debug_if(_dbg_on, "AT= %s\n", _buffer + offset); - // Reuse the front end of the buffer - memcpy(_buffer, response, i); - _buffer[i] = 0; - - // Store the found results - vsscanf(_buffer + offset, _buffer, args); - - // Jump to next line and continue parsing - response += i; - break; - } - - // Clear the buffer when we hit a newline or ran out of space - // running out of space usually means we ran into binary data - if (c == '\n' || j + 1 >= _buffer_size - offset) { - debug_if(_dbg_on, "AT< %s", _buffer + offset); - j = 0; - } - } - } - - return true; -} - -// Mapping to vararg functions -int ATCmdParser::printf(const char *format, ...) -{ - va_list args; - va_start(args, format); - int res = vprintf(format, args); - va_end(args); - return res; -} - -int ATCmdParser::scanf(const char *format, ...) -{ - va_list args; - va_start(args, format); - int res = vscanf(format, args); - va_end(args); - return res; -} - -bool ATCmdParser::send(const char *command, ...) -{ - va_list args; - va_start(args, command); - bool res = vsend(command, args); - va_end(args); - return res; -} - -bool ATCmdParser::recv(const char *response, ...) -{ - va_list args; - va_start(args, response); - bool res = vrecv(response, args); - va_end(args); - return res; -} - -// oob registration -void ATCmdParser::oob(const char *prefix, Callback cb) -{ - struct oob *oob = new struct oob; - oob->len = strlen(prefix); - oob->prefix = prefix; - oob->cb = cb; - oob->next = _oobs; - _oobs = oob; -} - -void ATCmdParser::abort() -{ - _aborted = true; -} - -bool ATCmdParser::process_oob() -{ - if (!_fh->readable()) { - return false; - } - - int i = 0; - while (true) { - // Receive next character - int c = getc(); - if (c < 0) { - return false; - } - _buffer[i++] = c; - _buffer[i] = 0; - - // Check for oob data - struct oob *oob = _oobs; - while (oob) { - if (i == (int)oob->len && memcmp( - oob->prefix, _buffer, oob->len) == 0) { - debug_if(_dbg_on, "AT! %s\r\n", oob->prefix); - oob->cb(); - return true; - } - oob = oob->next; - } - - // Clear the buffer when we hit a newline or ran out of space - // running out of space usually means we ran into binary data - if (i + 1 >= _buffer_size || - strcmp(&_buffer[i - _output_delim_size], _output_delimiter) == 0) { - - debug_if(_dbg_on, "AT< %s", _buffer); - i = 0; - } - } -} - - diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.cpp deleted file mode 100644 index e1f8526f5f..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "nsapi_types.h" -#include "AT_CellularBase.h" -#include "AT_CellularBase_stub.h" - - -using namespace mbed; - -ATHandler *AT_CellularBase_stub::handler_value = NULL; -ATHandler *AT_CellularBase_stub::handler_at_constructor_value = NULL; -device_err_t AT_CellularBase_stub::device_err_value; -bool AT_CellularBase_stub::supported_bool = true; - -AT_CellularBase::AT_CellularBase(ATHandler &at) : _at(at) -{ - AT_CellularBase_stub::handler_at_constructor_value = &_at; -} - -ATHandler &AT_CellularBase::get_at_handler() -{ - return *AT_CellularBase_stub::handler_value; -} - -device_err_t AT_CellularBase::get_device_error() const -{ - return AT_CellularBase_stub::device_err_value; -} - -bool AT_CellularBase::is_supported(SupportedFeature feature) -{ - return AT_CellularBase_stub::supported_bool; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.h b/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.h deleted file mode 100644 index f7d117d192..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularBase_stub.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ATHandler.h" - -namespace AT_CellularBase_stub { -extern mbed::ATHandler *handler_value; -extern mbed::ATHandler *handler_at_constructor_value; -extern mbed::device_err_t device_err_value; -extern bool supported_bool; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularDevice_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularDevice_stub.cpp deleted file mode 100644 index 2010018ced..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularDevice_stub.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularDevice.h" - -AT_CellularDevice::AT_CellularDevice(EventQueue &queue) : - _atHandlers(0), _network(0), _sms(0), _sim(0), _power(0), _multiplexer(0), _information(0), _queue(queue) -{ -} - -AT_CellularDevice::~AT_CellularDevice() -{ -} - -ATHandler *AT_CellularDevice::get_at_handler(FileHandle *fileHandle) -{ - return NULL; -} - -void AT_CellularDevice::release_at_handler(ATHandler *at_handler) -{ - -} - -CellularNetwork *AT_CellularDevice::open_network(FileHandle *fh) -{ - return NULL; -} - -CellularSMS *AT_CellularDevice::open_sms(FileHandle *fh) -{ - return NULL; -} - -CellularSIM *AT_CellularDevice::open_sim(FileHandle *fh) -{ - return NULL; -} - -CellularPower *AT_CellularDevice::open_power(FileHandle *fh) -{ - return NULL; -} - -CellularMultiplexer *AT_CellularDevice::open_multiplexer(FileHandle *fh) -{ - return NULL; -} - -CellularInformation *AT_CellularDevice::open_information(FileHandle *fh) -{ - return NULL; -} - -void AT_CellularDevice::close_network() -{ -} - -void AT_CellularDevice::close_sms() -{ -} - -void AT_CellularDevice::close_power() -{ -} - -void AT_CellularDevice::close_sim() -{ -} - -void AT_CellularDevice::close_multiplexer() -{ -} - -void AT_CellularDevice::close_information() -{ -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularInformation_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularInformation_stub.cpp deleted file mode 100644 index a41b3080d5..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularInformation_stub.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularInformation.h" -#include "nsapi_types.h" - -using namespace mbed; - -AT_CellularInformation::AT_CellularInformation(ATHandler &at) : AT_CellularBase(at) -{ -} - -AT_CellularInformation::~AT_CellularInformation() -{ -} - -nsapi_error_t AT_CellularInformation::get_manufacturer(char *buf, size_t buf_size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularInformation::get_model(char *buf, size_t buf_size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularInformation::get_revision(char *buf, size_t buf_size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularInformation::get_serial_number(char *buf, size_t buf_size, SerialNumberType type) -{ - return NSAPI_ERROR_OK; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp deleted file mode 100644 index c397d5fb38..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularMultiplexer_stub.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularMultiplexer.h" -#include "CellularLog.h" -#include "nsapi_types.h" - -using namespace mbed; - -AT_CellularMultiplexer::AT_CellularMultiplexer(ATHandler &at) : AT_CellularBase(at) -{ -} - -AT_CellularMultiplexer::~AT_CellularMultiplexer() -{ -} - -nsapi_error_t AT_CellularMultiplexer::multiplexer_mode_start() -{ - return 0; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp deleted file mode 100644 index c4ba878439..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularNetwork_stub.cpp +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularNetwork.h" -#include "CellularNetwork.h" -#include "CellularUtil.h" -#include "CellularLog.h" -#include "FileHandle.h" -#include "nsapi_types.h" - -using namespace mbed; -using namespace mbed_cellular_util; - -AT_CellularNetwork::AT_CellularNetwork(ATHandler &atHandler) : AT_CellularBase(atHandler) -{ -} - -AT_CellularNetwork::~AT_CellularNetwork() -{ -} - -nsapi_error_t AT_CellularNetwork::init() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, - const char *username, const char *password) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, - AuthenticationType type, const char *username, const char *password) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::connect(const char *apn, - const char *username, const char *password) -{ - return connect(); -} - -nsapi_error_t AT_CellularNetwork::connect() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::activate_context() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::open_data_channel() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::disconnect() -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularNetwork::attach(Callback status_cb) -{ -} - -nsapi_connection_status_t AT_CellularNetwork::get_connection_status() const -{ - return NSAPI_STATUS_LOCAL_UP; -} - -nsapi_error_t AT_CellularNetwork::set_blocking(bool blocking) -{ - return NSAPI_ERROR_OK;; -} - -nsapi_ip_stack_t AT_CellularNetwork::string_to_stack_type(const char *pdp_type) -{ - return IPV4_STACK; -} - -nsapi_error_t AT_CellularNetwork::set_registration_urc(RegistrationType type, bool urc_on) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_network_registering_mode(NWRegisteringMode &mode) -{ - mode = NWModeAutomatic; - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::set_registration(const char *plmn) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_registration_status(RegistrationType type, RegistrationStatus &status) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_cell_id(int &cell_id) -{ - return NSAPI_ERROR_OK; -} - -AT_CellularNetwork::RegistrationMode AT_CellularNetwork::has_registration(RegistrationType reg_type) -{ - return RegistrationModeDisable; -} - -nsapi_error_t AT_CellularNetwork::set_attach(int timeout) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_attach(AttachStatus &status) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::detach() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_apn_backoff_timer(int &backoffTime) -{ - return NSAPI_ERROR_OK; -} - -NetworkStack *AT_CellularNetwork::get_stack() -{ - return NULL; -} - -const char *AT_CellularNetwork::get_ip_address() -{ - return NULL; -} - -nsapi_error_t AT_CellularNetwork::set_stack_type(nsapi_ip_stack_t stack_type) -{ - return NSAPI_ERROR_OK; -} - -nsapi_ip_stack_t AT_CellularNetwork::get_stack_type() -{ - return IPV4_STACK; -} - -bool AT_CellularNetwork::get_modem_stack_type(nsapi_ip_stack_t requested_stack) -{ - return false; -} - -void AT_CellularNetwork::urc_no_carrier() -{ - -} - -nsapi_error_t AT_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opsAct) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::set_access_technology(RadioAccessTechnology opAct) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_access_technology(RadioAccessTechnology &rat) -{ - rat = RAT_CATM1; - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::scan_plmn(operList_t &operators, int &opsCount) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::set_ciot_optimization_config(Supported_UE_Opt supported_opt, - Preferred_UE_Opt preferred_opt) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_ciot_optimization_config(Supported_UE_Opt &supported_opt, - Preferred_UE_Opt &preferred_opt) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_rate_control( - CellularNetwork::RateControlExceptionReports &reports, - CellularNetwork::RateControlUplinkTimeUnit &timeUnit, int &uplinkRate) -{ - return NSAPI_ERROR_OK; -} - - -nsapi_error_t AT_CellularNetwork::get_pdpcontext_params(pdpContextList_t ¶ms_list) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_extended_signal_quality(int &rxlev, int &ber, int &rscp, int &ecno, int &rsrq, int &rsrp) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_signal_quality(int &rssi, int &ber) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::get_operator_params(int &format, operator_t &operator_params) -{ - return NSAPI_ERROR_OK; -} - -int AT_CellularNetwork::get_3gpp_error() -{ - return 0; -} - -nsapi_error_t AT_CellularNetwork::get_operator_names(operator_names_list &op_names) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularNetwork::do_user_authentication() -{ - return NSAPI_ERROR_OK; -} - - - diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularPower_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularPower_stub.cpp deleted file mode 100644 index 3459088ce5..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularPower_stub.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularPower.h" -#include "CellularUtil.h" -#include "CellularLog.h" - -using namespace mbed_cellular_util; -using namespace mbed; - -AT_CellularPower::AT_CellularPower(ATHandler &at) : AT_CellularBase(at) -{ -} - -AT_CellularPower::~AT_CellularPower() -{ -} - -nsapi_error_t AT_CellularPower::on() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::off() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::set_at_mode() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::set_power_level(int func_level, int do_reset) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::reset() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::opt_power_save_mode(int periodic_time, int active_time) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::opt_receive_period(int mode, EDRXAccessTechnology act_type, uint8_t edrx_value) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularPower::set_device_ready_urc_cb(mbed::Callback callback) -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularPower::remove_device_ready_urc_cb(mbed::Callback callback) -{ - -} - -nsapi_error_t AT_CellularPower::is_device_ready() -{ - return NSAPI_ERROR_OK; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularSIM_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularSIM_stub.cpp deleted file mode 100644 index fc4be35b94..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularSIM_stub.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularSIM.h" -#include "CellularLog.h" - -using namespace mbed; - -AT_CellularSIM::AT_CellularSIM(ATHandler &at) : AT_CellularBase(at) -{ -} - -AT_CellularSIM::~AT_CellularSIM() -{ -} - -nsapi_error_t AT_CellularSIM::get_sim_state(SimState &state) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSIM::set_pin(const char *sim_pin) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSIM::change_pin(const char *sim_pin, const char *new_pin) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSIM::set_pin_query(const char *sim_pin, bool query_pin) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSIM::get_imsi(char *imsi) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSIM::get_iccid(char *buf, size_t buf_size) -{ - return NSAPI_ERROR_OK; -} diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularSMS_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularSMS_stub.cpp deleted file mode 100644 index 66456d7295..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularSMS_stub.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "AT_CellularSMS.h" -#include "CellularLog.h" - -using namespace mbed; - -#define CTRL_Z "\x1a" -#define ESC "\x1b" - -const int SMS_STATUS_SIZE = 12 + 1; -const int FIRST_OCTET_DELIVER_SUBMIT = 17; -const int TP_VALIDITY_PERIOD_24_HOURS = 167; -const int TP_PROTOCOL_IDENTIFIER = 0; -const int SMS_DATA_CODING_SCHEME = 0; - -const uint16_t SMS_MAX_8BIT_CONCATENATED_SINGLE_SMS_SIZE = 134; -const uint16_t SMS_MAX_GSM7_CONCATENATED_SINGLE_SMS_SIZE = 153; - - -AT_CellularSMS::AT_CellularSMS(ATHandler &at) : AT_CellularBase(at), _cb(0), _mode(CellularSMSMmodeText), - _use_8bit_encoding(false), _sim_wait_time(0), _sms_message_ref_number(1), _sms_info(NULL) -{ -} - -AT_CellularSMS::~AT_CellularSMS() -{ -} - -void AT_CellularSMS::cmt_urc() -{ -} - -void AT_CellularSMS::cmti_urc() -{ -} - -nsapi_error_t AT_CellularSMS::set_cnmi() -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::set_cmgf(int msg_format) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::set_csmp(int fo, int vp, int pid, int dcs) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::set_csdh(int show_header) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode) -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularSMS::set_extra_sim_wait_time(int sim_wait_time) -{ -} - -char *AT_CellularSMS::create_pdu(const char *phone_number, const char *message, uint8_t message_length, uint8_t msg_parts, - uint8_t msg_part_number, uint8_t &header_size) -{ - return NULL; -} - -nsapi_size_or_error_t AT_CellularSMS::send_sms(const char *phone_number, const char *message, int msg_len) -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularSMS::set_sms_callback(Callback func) -{ -} - -nsapi_error_t AT_CellularSMS::set_cpms(const char *memr, const char *memw, const char *mems) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::set_csca(const char *sca, int type) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularSMS::set_cscs(const char *chr_set) -{ - return NSAPI_ERROR_OK; -} - -//nsapi_error_t AT_CellularSMS::set_csms(int msg_service) -//{ -// return NSAPI_ERROR_OK; -//} - -nsapi_error_t AT_CellularSMS::delete_sms(sms_info_t *sms) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularSMS::delete_all_messages() -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularSMS::read_sms_from_index(int msg_index, char *buf, uint16_t len, char *phone_num, char *time_stamp) -{ - return NSAPI_ERROR_OK; -} - -// read msg in PDU mode -nsapi_size_or_error_t AT_CellularSMS::read_sms(sms_info_t *sms, char *buf, char *phone_num, char *time_stamp) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularSMS::get_sms(char *buf, uint16_t len, char *phone_num, uint16_t phone_len, - char *time_stamp, uint16_t time_len, int *buf_size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularSMS::get_data_from_pdu(const char *pdu, sms_info_t *info, int *part_number, char *phone_number, char *msg) -{ - return NSAPI_ERROR_OK; -} - -// read params from User DEfined Header -int AT_CellularSMS::read_udh_from_pdu(const char *pdu, sms_info_t *info, int &part_number, int &padding_bits) -{ - return 0; -} - -nsapi_size_or_error_t AT_CellularSMS::read_pdu_payload(const char *pdu, int msg_len, int scheme, char *msg, int padding_bits) -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularSMS::free_linked_list() -{ -} - -void AT_CellularSMS::add_info(sms_info_t *info, int index, int part_number) -{ -} - -// reads all the messages to the linked list AT_CellularSMS::_sms_info -nsapi_error_t AT_CellularSMS::list_messages() -{ - return NSAPI_ERROR_OK; -} - -AT_CellularSMS::sms_info_t *AT_CellularSMS::get_oldest_sms_index() -{ - return NULL; -} - -// if time_string_1 is greater (more fresh date) then return 1, same 0, smaller -1. Error -2 -int AT_CellularSMS::compare_time_strings(const char *time_string_1, const char *time_string_2) -{ - return 0; -} - -bool AT_CellularSMS::create_time(const char *time_string, time_t *time) -{ - return 0; -} - diff --git a/features/cellular/UNITTESTS/stubs/AT_CellularStack_stub.cpp b/features/cellular/UNITTESTS/stubs/AT_CellularStack_stub.cpp deleted file mode 100644 index 640d8c1b68..0000000000 --- a/features/cellular/UNITTESTS/stubs/AT_CellularStack_stub.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "AT_CellularStack.h" -#include "CellularUtil.h" -#include "CellularLog.h" - -using namespace mbed_cellular_util; - -AT_CellularStack::AT_CellularStack(ATHandler &atHandler, int cid, nsapi_ip_stack_t stack_type) : _at(atHandler), _socket(NULL), _cid(cid), _stack_type(stack_type) -{ -} - -AT_CellularStack::~AT_CellularStack() -{ -} - -const char *AT_CellularStack::get_ip_address() -{ - return NULL; -} - -nsapi_error_t AT_CellularStack::socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularStack::socket_close(nsapi_socket_t handle) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularStack::socket_bind(nsapi_socket_t handle, const SocketAddress &addr) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularStack::socket_listen(nsapi_socket_t handle, int backlog) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularStack::socket_connect(nsapi_socket_t handle, const SocketAddress &addr) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t AT_CellularStack::socket_accept(void *server, void **socket, SocketAddress *addr) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularStack::socket_send(nsapi_socket_t handle, const void *data, unsigned size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularStack::socket_sendto(nsapi_socket_t handle, const SocketAddress &addr, const void *data, unsigned size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularStack::socket_recv(nsapi_socket_t handle, void *data, unsigned size) -{ - return NSAPI_ERROR_OK; -} - -nsapi_size_or_error_t AT_CellularStack::socket_recvfrom(nsapi_socket_t handle, SocketAddress *addr, void *buffer, unsigned size) -{ - return NSAPI_ERROR_OK; -} - -void AT_CellularStack::socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) -{ -} - diff --git a/features/cellular/UNITTESTS/stubs/CellularUtil_stub.cpp b/features/cellular/UNITTESTS/stubs/CellularUtil_stub.cpp deleted file mode 100644 index d4bcaf4916..0000000000 --- a/features/cellular/UNITTESTS/stubs/CellularUtil_stub.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "CellularUtil.h" -#include -#include -#include - -namespace mbed_cellular_util { - -#define MAX_STRING_LEN 200 - -void str_copy_skip_char(char *dest, uint16_t dest_size, const char *src, char c) -{ -} - -void str_remove_char(char *src, char c) -{ -} - -void uint_to_binary_str(uint32_t num, char *str, uint8_t str_size, uint8_t bit_cnt) -{ -} - -// converts the given str to hex string to buf -uint16_t char_str_to_hex(const char *str, uint16_t len, char *buf, bool omit_leading_zero) -{ - return 0; -} - -void convert_ipv6(char *ip) -{ - -} - -char *find_dot_number(char *str, int dot_number) -{ - return NULL; -} - -void separate_ip4like_addresses(char *orig, char *ip, size_t ip_size, char *ip2, size_t ip2_size) -{ -} - -void separate_ip_addresses(char *orig, char *ip, size_t ip_size, char *ip2, size_t ip2_size) -{ -} - -void prefer_ipv6(char *ip, size_t ip_size, char *ip2, size_t ip2_size) -{ -} - -void int_to_hex_str(uint8_t num, char *buf) -{ - buf[0] = '0'; - buf[1] = '2'; -} - -int hex_str_to_int(const char *hex_string, int hex_string_length) -{ - return 0; -} - -int hex_str_to_char_str(const char *str, uint16_t len, char *buf) -{ - return 0; -} - -void uint_to_binary_str(uint32_t num, char *str, int str_size, int bit_cnt) -{ - -} - -int char_str_to_hex_str(const char *str, uint16_t len, char *buf, bool omit_leading_zero) -{ - //The code is dependent on this, so this is easiest just to put here - if (!str || !buf) { - return 0; - } - - char *ptr = buf; - int i = 0; - while (i < len) { - if (omit_leading_zero == true && i == 0 && !(str[i] >> 4 & 0x0F)) { - *ptr++ = hex_values[(str[i]) & 0x0F]; - } else { - *ptr++ = hex_values[((str[i]) >> 4) & 0x0F]; - *ptr++ = hex_values[(str[i]) & 0x0F]; - } - i++; - } - return ptr - buf; -} - -uint16_t get_dynamic_ip_port() -{ - return 0; -} - -} // namespace mbed_cellular_util diff --git a/features/cellular/UNITTESTS/stubs/EventQueue_stub.cpp b/features/cellular/UNITTESTS/stubs/EventQueue_stub.cpp deleted file mode 100644 index 2df6028977..0000000000 --- a/features/cellular/UNITTESTS/stubs/EventQueue_stub.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "EventQueue.h" -#include "Callback.h" - -using namespace mbed; - -namespace events { - -EventQueue::EventQueue(unsigned event_size, unsigned char *event_pointer) -{ -} - -EventQueue::~EventQueue() -{ -} - -void EventQueue::dispatch(int ms) -{ -} - -void EventQueue::break_dispatch() -{ -} - -unsigned EventQueue::tick() -{ - return 0; -} - -void EventQueue::cancel(int id) -{ -} - -void EventQueue::background(Callback update) -{ -} - -void EventQueue::chain(EventQueue *target) -{ -} - -} diff --git a/features/cellular/UNITTESTS/stubs/FileHandle_stub.cpp b/features/cellular/UNITTESTS/stubs/FileHandle_stub.cpp deleted file mode 100644 index d14d52b6fb..0000000000 --- a/features/cellular/UNITTESTS/stubs/FileHandle_stub.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "FileHandle_stub.h" - -namespace mbed { - -off_t FileHandle::size() -{ - return 0; -} - -std::FILE *fdopen(FileHandle *fh, const char *mode) -{ - return NULL; -} - -} diff --git a/features/cellular/UNITTESTS/stubs/FileHandle_stub.h b/features/cellular/UNITTESTS/stubs/FileHandle_stub.h deleted file mode 100644 index e1548f2322..0000000000 --- a/features/cellular/UNITTESTS/stubs/FileHandle_stub.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __FILE_HANDLE_STUB_H__ -#define __FILE_HANDLE_STUB_H__ - -#include "FileHandle.h" - - -namespace mbed { - -static uint8_t filehandle_stub_short_value_counter = 0; -static char *filehandle_stub_table = NULL; -static uint8_t filehandle_stub_table_pos = 0; - -class FileHandle_stub : public FileHandle { -public: - ssize_t size_value; - - FileHandle_stub() - { - size_value = 0; - } - - virtual ssize_t read(void *buffer, size_t size) - { - if (filehandle_stub_table) { - ssize_t ret = strlen(filehandle_stub_table) - filehandle_stub_table_pos; - if (ret >= 0 && size < ret) { - ret = size; - } - if (ret >= 0) { - memcpy(buffer, filehandle_stub_table, ret); - } - - filehandle_stub_table_pos += ret; - return ret; - } - return 0; - } - - virtual ssize_t write(const void *buffer, size_t size) - { - if (size_value > 0) { - size_value--; - return size; - } else if (size_value < 0) { - return -1; - } - return 0; - } - - virtual off_t seek(off_t offset, int whence = SEEK_SET) - { - return 0; - } - - virtual int close() {} - - virtual short poll(short events) const - { - if (filehandle_stub_short_value_counter) { - filehandle_stub_short_value_counter--; - return short_value; - } - return 0; - } - - virtual void sigio(Callback func) - { - func(); - } - - short short_value; -}; - -} - -#endif - - diff --git a/features/cellular/UNITTESTS/stubs/Kernel.cpp b/features/cellular/UNITTESTS/stubs/Kernel.cpp deleted file mode 100644 index ecfa1d80af..0000000000 --- a/features/cellular/UNITTESTS/stubs/Kernel.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "Kernel.h" - -namespace rtos { - -uint64_t Kernel::get_ms_count() -{ - return 20; -} -} diff --git a/features/cellular/UNITTESTS/stubs/NetworkInterface_stub.cpp b/features/cellular/UNITTESTS/stubs/NetworkInterface_stub.cpp deleted file mode 100644 index 0e8eaa15a9..0000000000 --- a/features/cellular/UNITTESTS/stubs/NetworkInterface_stub.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "netsocket/NetworkInterface.h" -#include "netsocket/NetworkStack.h" -#include - - -// Default network-interface state -const char *NetworkInterface::get_mac_address() -{ - return 0; -} - -const char *NetworkInterface::get_ip_address() -{ - return 0; -} - -const char *NetworkInterface::get_netmask() -{ - return 0; -} - -const char *NetworkInterface::get_gateway() -{ - return 0; -} - -nsapi_error_t NetworkInterface::set_network(const char *ip_address, const char *netmask, const char *gateway) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkInterface::set_dhcp(bool dhcp) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -// DNS operations go through the underlying stack by default -nsapi_error_t NetworkInterface::gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkInterface::add_dns_server(const SocketAddress &address) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -void NetworkInterface::attach(mbed::Callback status_cb) -{ - -} - -nsapi_connection_status_t NetworkInterface::get_connection_status() const -{ - return NSAPI_STATUS_LOCAL_UP; -} - -nsapi_error_t NetworkInterface::set_blocking(bool blocking) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_value_or_error_t NetworkInterface::gethostbyname_async(char const *, mbed::Callback, nsapi_version) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkInterface::gethostbyname_async_cancel(int id) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - diff --git a/features/cellular/UNITTESTS/stubs/NetworkStack_stub.cpp b/features/cellular/UNITTESTS/stubs/NetworkStack_stub.cpp deleted file mode 100644 index 372812effb..0000000000 --- a/features/cellular/UNITTESTS/stubs/NetworkStack_stub.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "NetworkStack.h" -#include "nsapi_dns.h" -#include "mbed.h" -#include "stddef.h" -#include - -// Default NetworkStack operations -nsapi_error_t NetworkStack::gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t NetworkStack::add_dns_server(const SocketAddress &address) -{ - return NSAPI_ERROR_OK; -} - -nsapi_error_t NetworkStack::get_dns_server(int index, SocketAddress *address) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkStack::setstackopt(int level, int optname, const void *optval, unsigned optlen) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkStack::getstackopt(int level, int optname, void *optval, unsigned *optlen) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkStack::setsockopt(void *handle, int level, int optname, const void *optval, unsigned optlen) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkStack::getsockopt(void *handle, int level, int optname, void *optval, unsigned *optlen) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -// Conversion function for network stacks -NetworkStack *nsapi_create_stack(nsapi_stack_t *stack) -{ - return NULL; -} - -NetworkStack *nsapi_create_stack(NetworkStack *stack) -{ - return NULL; -} - -nsapi_value_or_error_t NetworkStack::gethostbyname_async(const char *host, hostbyname_cb_t callback, - nsapi_version_t version) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -nsapi_error_t NetworkStack::gethostbyname_async_cancel(int id) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -call_in_callback_cb_t NetworkStack::get_call_in_callback() -{ - return NULL; -} - -nsapi_error_t NetworkStack::call_in(int delay, mbed::Callback func) -{ - return NSAPI_ERROR_UNSUPPORTED; -} - -const char *NetworkStack::get_ip_address() -{ - return NULL; -} diff --git a/features/cellular/UNITTESTS/stubs/Semaphore_stub.cpp b/features/cellular/UNITTESTS/stubs/Semaphore_stub.cpp deleted file mode 100644 index ada09df114..0000000000 --- a/features/cellular/UNITTESTS/stubs/Semaphore_stub.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Semaphore.h" - -namespace rtos { - -Semaphore::Semaphore(int32_t count) -{ - -} - -Semaphore::Semaphore(int32_t count, uint16_t max_count) -{ - -} - -void Semaphore::constructor(int32_t count, uint16_t max_count) -{ - -} - -int32_t Semaphore::wait(uint32_t millisec) -{ - return 0; -} - -int32_t Semaphore::wait_until(uint64_t millisec) -{ - return 0; -} - -osStatus Semaphore::release(void) -{ - return 0; -} - -Semaphore::~Semaphore() -{ - -} - -} diff --git a/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp b/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp deleted file mode 100644 index 9ed53f03cf..0000000000 --- a/features/cellular/UNITTESTS/stubs/SocketAddress_stub.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) 2015, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "SocketAddress.h" -#include "NetworkInterface.h" -#include "NetworkStack.h" -#include -#include "mbed.h" - - -static bool ipv6_is_valid(const char *addr) -{ - return false; -} - -static int ipv6_scan_chunk(uint16_t *shorts, const char *chunk) -{ - return 0; -} - - -SocketAddress::SocketAddress(nsapi_addr_t addr, uint16_t port) -{ -} - -SocketAddress::SocketAddress(const char *addr, uint16_t port) -{ -} - -SocketAddress::SocketAddress(const void *bytes, nsapi_version_t version, uint16_t port) -{ -} - -SocketAddress::SocketAddress(const SocketAddress &addr) -{ -} - -SocketAddress::~SocketAddress() -{ -} - -bool SocketAddress::set_ip_address(const char *addr) -{ - return false; -} - -void SocketAddress::set_ip_bytes(const void *bytes, nsapi_version_t version) -{ -} - -void SocketAddress::set_addr(nsapi_addr_t addr) -{ -} - -void SocketAddress::set_port(uint16_t port) -{ -} - -const char *SocketAddress::get_ip_address() const -{ - return NULL; -} - -const void *SocketAddress::get_ip_bytes() const -{ - return NULL; -} - -nsapi_version_t SocketAddress::get_ip_version() const -{ - nsapi_version_t ver = NSAPI_IPv6; - return ver; -} - -nsapi_addr_t SocketAddress::get_addr() const -{ - nsapi_addr_t addr; - addr.version = NSAPI_IPv6; - return _addr; -} - -uint16_t SocketAddress::get_port() const -{ - return 0; -} - -SocketAddress::operator bool() const -{ - return false; -} - -SocketAddress &SocketAddress::operator=(const SocketAddress &addr) -{ - set_addr(addr.get_addr()); - set_port(addr.get_port()); - return *this; -} - -bool operator==(const SocketAddress &a, const SocketAddress &b) -{ - return false; -} - -bool operator!=(const SocketAddress &a, const SocketAddress &b) -{ - return false; -} diff --git a/features/cellular/UNITTESTS/stubs/Thread_stub.cpp b/features/cellular/UNITTESTS/stubs/Thread_stub.cpp deleted file mode 100644 index 8eed1e7f2a..0000000000 --- a/features/cellular/UNITTESTS/stubs/Thread_stub.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Thread.h" - -namespace rtos { - -osStatus Thread::wait_until(uint64_t millisec) -{ - return 0; -} - -} diff --git a/features/cellular/UNITTESTS/stubs/Timer_stub.cpp b/features/cellular/UNITTESTS/stubs/Timer_stub.cpp deleted file mode 100644 index 2e20c161ae..0000000000 --- a/features/cellular/UNITTESTS/stubs/Timer_stub.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Timer.h" -#include "Timer_stub.h" - -namespace mbed { - -Timer::Timer() -{ -} - -Timer::Timer(const ticker_data_t *data) -{ -} - -Timer::~Timer() -{ -} - -void Timer::start() -{ -} - -void Timer::stop() -{ - ; -} - -int Timer::read_us() -{ - return 0; -} - -float Timer::read() -{ - return 0; -} - -int Timer::read_ms() -{ - timer_stub_value += timer_stub_step; - return timer_stub_value; -} - -us_timestamp_t Timer::read_high_resolution_us() -{ - return 0; -} - -void Timer::reset() -{ -} - -Timer::operator float() -{ - return 0; -} - -} // namespace mbed diff --git a/features/cellular/UNITTESTS/stubs/Timer_stub.h b/features/cellular/UNITTESTS/stubs/Timer_stub.h deleted file mode 100644 index 699fdd0c53..0000000000 --- a/features/cellular/UNITTESTS/stubs/Timer_stub.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef TIMER_STUB_H -#define TIMER_STUB_H - - -static uint16_t timer_stub_value = 0; -static uint16_t timer_stub_step = 20; - -#endif diff --git a/features/cellular/UNITTESTS/stubs/equeue_stub.c b/features/cellular/UNITTESTS/stubs/equeue_stub.c deleted file mode 100644 index 55a52174e7..0000000000 --- a/features/cellular/UNITTESTS/stubs/equeue_stub.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "equeue.h" - -int equeue_create(equeue_t *queue, size_t size) -{ - return 0; -} - -int equeue_create_inplace(equeue_t *queue, size_t size, void *buffer) -{ - return 0; -} - -void equeue_destroy(equeue_t *queue) -{ - -} - -void equeue_dispatch(equeue_t *queue, int ms) -{ - -} - -void equeue_break(equeue_t *queue) -{ - -} - -int equeue_call(equeue_t *queue, void (*cb)(void *), void *data) -{ - return 0; -} - -int equeue_call_in(equeue_t *queue, int ms, void (*cb)(void *), void *data) -{ - return 0; -} - -int equeue_call_every(equeue_t *queue, int ms, void (*cb)(void *), void *data) -{ - return 0; -} - -void *equeue_alloc(equeue_t *queue, size_t size) -{ - return NULL; -} - -void equeue_dealloc(equeue_t *queue, void *event) -{ - -} - -void equeue_event_delay(void *event, int ms) -{ - -} - -void equeue_event_period(void *event, int ms) -{ - -} - -void equeue_event_dtor(void *event, void (*dtor)(void *)) -{ - -} - -int equeue_post(equeue_t *queue, void (*cb)(void *), void *event) -{ - return 0; -} - -void equeue_cancel(equeue_t *queue, int id) -{ - -} - -void equeue_background(equeue_t *queue, - void (*update)(void *timer, int ms), void *timer) -{ - -} - -void equeue_chain(equeue_t *queue, equeue_t *target) -{ - -} diff --git a/features/cellular/UNITTESTS/stubs/mbed_assert_stub.cpp b/features/cellular/UNITTESTS/stubs/mbed_assert_stub.cpp deleted file mode 100644 index 341881a7f5..0000000000 --- a/features/cellular/UNITTESTS/stubs/mbed_assert_stub.cpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mbed_assert.h" - -void mbed_assert_internal(const char *expr, const char *file, int line) -{ - -} - diff --git a/features/cellular/UNITTESTS/stubs/mbed_poll_stub.cpp b/features/cellular/UNITTESTS/stubs/mbed_poll_stub.cpp deleted file mode 100644 index 1914399d2a..0000000000 --- a/features/cellular/UNITTESTS/stubs/mbed_poll_stub.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mbed_poll.h" -#include "mbed_poll_stub.h" - -int mbed_poll_stub::revents_value = POLLOUT; -int mbed_poll_stub::int_value = 0; - -namespace mbed { - -int poll(pollfh fhs[], unsigned nfhs, int timeout) -{ - fhs->revents = mbed_poll_stub::revents_value; - return mbed_poll_stub::int_value; -} - -} diff --git a/features/cellular/UNITTESTS/stubs/mbed_poll_stub.h b/features/cellular/UNITTESTS/stubs/mbed_poll_stub.h deleted file mode 100644 index 6c0a4327a9..0000000000 --- a/features/cellular/UNITTESTS/stubs/mbed_poll_stub.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __MBED_POLL_STUB_H__ -#define __MBED_POLL_STUB_H__ - -#include - -namespace mbed_poll_stub { -extern int revents_value; -extern int int_value; -} - -#endif diff --git a/features/cellular/UNITTESTS/stubs/mbed_wait_api_stub.cpp b/features/cellular/UNITTESTS/stubs/mbed_wait_api_stub.cpp deleted file mode 100644 index f8b240544d..0000000000 --- a/features/cellular/UNITTESTS/stubs/mbed_wait_api_stub.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mbed_wait_api.h" - -void wait(float s) -{ -} - -void wait_ms(int ms) -{ -} - -void wait_us(int us) -{ -} diff --git a/features/cellular/UNITTESTS/stubs/randLIB_stub.cpp b/features/cellular/UNITTESTS/stubs/randLIB_stub.cpp deleted file mode 100644 index 61cd893d0e..0000000000 --- a/features/cellular/UNITTESTS/stubs/randLIB_stub.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "randLIB.h" - -void randLIB_seed_random(void) -{ -} - -uint16_t randLIB_get_random_in_range(uint16_t min, uint16_t max) -{ - return min; -} - diff --git a/features/cellular/UNITTESTS/stubs/us_ticker_stub.cpp b/features/cellular/UNITTESTS/stubs/us_ticker_stub.cpp deleted file mode 100644 index 69c96accee..0000000000 --- a/features/cellular/UNITTESTS/stubs/us_ticker_stub.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#include "stdlib.h" -#include "us_ticker_api.h" - -const ticker_data_t *get_us_ticker_data(void) -{ - return NULL; -} - -void us_ticker_irq_handler(void) -{ -} - -void us_ticker_init(void) -{ -} - -uint32_t us_ticker_read(void) -{ - return 0; -} - -void us_ticker_set_interrupt(timestamp_t timestamp) -{ -} - -void us_ticker_disable_interrupt(void) -{ -} - -void us_ticker_clear_interrupt(void) -{ -} - -void us_ticker_fire_interrupt(void) -{ -} diff --git a/features/cellular/UNITTESTS/target_h/ATCmdParser.h b/features/cellular/UNITTESTS/target_h/ATCmdParser.h deleted file mode 100644 index c1994cc2af..0000000000 --- a/features/cellular/UNITTESTS/target_h/ATCmdParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __AT_CMD_PARSER_H__ -#define __AT_CMD_PARSER_H__ - -#include "mbed.h" -#include -#include "FileHandle.h" - -class ATCmdParser { -public: - ATCmdParser(mbed::FileHandle *fh, const char *output_delimiter = "\r", - int buffer_size = 256, int timeout = 8000, bool debug = false) {} - - ~ATCmdParser() {} -}; - -#endif //__AT_CMD_PARSER_H__ - diff --git a/features/cellular/UNITTESTS/target_h/PeripheralNames.h b/features/cellular/UNITTESTS/target_h/PeripheralNames.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/PeripheralNames.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/PinNames.h b/features/cellular/UNITTESTS/target_h/PinNames.h deleted file mode 100644 index 9f92be6f1d..0000000000 --- a/features/cellular/UNITTESTS/target_h/PinNames.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __PINNAMES_H__ -#define __PINNAMES_H__ - - - -typedef enum { - -} PinName; - -#endif - diff --git a/features/cellular/UNITTESTS/target_h/arm_math.h b/features/cellular/UNITTESTS/target_h/arm_math.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/arm_math.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/cmsis.h b/features/cellular/UNITTESTS/target_h/cmsis.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/cmsis.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/cmsis_compiler.h b/features/cellular/UNITTESTS/target_h/cmsis_compiler.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/cmsis_compiler.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/cmsis_os.h b/features/cellular/UNITTESTS/target_h/cmsis_os.h deleted file mode 100644 index a40ab9e73b..0000000000 --- a/features/cellular/UNITTESTS/target_h/cmsis_os.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CMSIS_OS_H_ -#define CMSIS_OS_H_ - -#include "cmsis_os2.h" - -#define osPriority osPriority_t - -#define osThreadId osThreadId_t - -typedef struct { -} osEvent; - -#endif diff --git a/features/cellular/UNITTESTS/target_h/cmsis_os2.h b/features/cellular/UNITTESTS/target_h/cmsis_os2.h deleted file mode 100644 index dcd0c20c61..0000000000 --- a/features/cellular/UNITTESTS/target_h/cmsis_os2.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_OS2_H__ -#define __CMSIS_OS2_H__ - -//If conflicts, then remove these, copied from cmsis_os.h -typedef int32_t osStatus; - -#define osOK 0 - - - -//These are from cmsis_os2.h -typedef void *osSemaphoreId_t; - -typedef struct { - const char *name; ///< name of the semaphore - uint32_t attr_bits; ///< attribute bits - void *cb_mem; ///< memory for control block - uint32_t cb_size; ///< size of provided memory for control block -} osSemaphoreAttr_t; - -//Thread -typedef enum { - osPriorityNormal = 24 ///< Priority: normal -} osPriority_t; - -typedef void *osThreadId_t; - -/// Attributes structure for thread. -typedef struct { -} osThreadAttr_t; - -#define osWaitForever 0xFFFFFFFFU - - -#endif diff --git a/features/cellular/UNITTESTS/target_h/device.h b/features/cellular/UNITTESTS/target_h/device.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/device.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/mbed-trace/mbed_trace.h b/features/cellular/UNITTESTS/target_h/mbed-trace/mbed_trace.h deleted file mode 100644 index 7d6e56bdd9..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed-trace/mbed_trace.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef CELLULAR_UNITTESTS_MBED_TRACE_H_ -#define CELLULAR_UNITTESTS_MBED_TRACE_H_ - -#define tr_debug(...) -#define tr_info(...) -#define tr_warning(...) -#define tr_warn(...) -#define tr_error(...) -#define tr_err(...) - -#endif /* CELLULAR_UNITTESTS_MBED_TRACE_H_ */ diff --git a/features/cellular/UNITTESTS/target_h/mbed.h b/features/cellular/UNITTESTS/target_h/mbed.h deleted file mode 100644 index e401087fec..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_H -#define MBED_H - -#include -#include - -#endif // MBED_H - diff --git a/features/cellular/UNITTESTS/target_h/mbed_rtos1_types.h b/features/cellular/UNITTESTS/target_h/mbed_rtos1_types.h deleted file mode 100644 index 2b9bd19f67..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed_rtos1_types.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cmsis_os.h" diff --git a/features/cellular/UNITTESTS/target_h/mbed_rtos_storage.h b/features/cellular/UNITTESTS/target_h/mbed_rtos_storage.h deleted file mode 100644 index f2282eed38..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed_rtos_storage.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "cmsis_os2.h" -#include "rtx_os.h" -#include "rtx_lib.h" -#include "mbed_rtx_conf.h" - -typedef os_semaphore_t mbed_rtos_storage_semaphore_t; -typedef os_thread_t mbed_rtos_storage_thread_t; diff --git a/features/cellular/UNITTESTS/target_h/mbed_rtx.h b/features/cellular/UNITTESTS/target_h/mbed_rtx.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed_rtx.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/mbed_rtx_conf.h b/features/cellular/UNITTESTS/target_h/mbed_rtx_conf.h deleted file mode 100644 index 18d985fa49..0000000000 --- a/features/cellular/UNITTESTS/target_h/mbed_rtx_conf.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define OS_STACK_SIZE 0 diff --git a/features/cellular/UNITTESTS/target_h/nsapi_ppp.h b/features/cellular/UNITTESTS/target_h/nsapi_ppp.h deleted file mode 100644 index a431b392e7..0000000000 --- a/features/cellular/UNITTESTS/target_h/nsapi_ppp.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/features/cellular/UNITTESTS/target_h/platform/mbed_power_mgmt.h b/features/cellular/UNITTESTS/target_h/platform/mbed_power_mgmt.h deleted file mode 100644 index 2810b22dae..0000000000 --- a/features/cellular/UNITTESTS/target_h/platform/mbed_power_mgmt.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - diff --git a/features/cellular/UNITTESTS/target_h/platform/mbed_retarget.h b/features/cellular/UNITTESTS/target_h/platform/mbed_retarget.h deleted file mode 100644 index 796e687292..0000000000 --- a/features/cellular/UNITTESTS/target_h/platform/mbed_retarget.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#define EAGAIN 11 -#define ENOTTY 25 diff --git a/features/cellular/UNITTESTS/target_h/randLIB.h b/features/cellular/UNITTESTS/target_h/randLIB.h deleted file mode 100644 index a621be3688..0000000000 --- a/features/cellular/UNITTESTS/target_h/randLIB.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2017, Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ -#define FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ - -#include - -extern void randLIB_seed_random(void); - -uint16_t randLIB_get_random_in_range(uint16_t min, uint16_t max); - - -#endif /* FEATURES_CELLULAR_UNITTESTS_TARGET_H_RANDLIB_H_ */ diff --git a/features/cellular/UNITTESTS/target_h/rtos/Mutex.h b/features/cellular/UNITTESTS/target_h/rtos/Mutex.h deleted file mode 100644 index 68d797d3eb..0000000000 --- a/features/cellular/UNITTESTS/target_h/rtos/Mutex.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -typedef void *Mutex; diff --git a/features/cellular/UNITTESTS/target_h/rtos/Semaphore.h b/features/cellular/UNITTESTS/target_h/rtos/Semaphore.h deleted file mode 100644 index 34e472dea6..0000000000 --- a/features/cellular/UNITTESTS/target_h/rtos/Semaphore.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -typedef void *Semaphore; diff --git a/features/cellular/UNITTESTS/target_h/rtx_lib.h b/features/cellular/UNITTESTS/target_h/rtx_lib.h deleted file mode 100644 index 2b2368f0a6..0000000000 --- a/features/cellular/UNITTESTS/target_h/rtx_lib.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __RTX_LIB_H__ -#define __RTX_LIB_H__ - -#include "rtx_os.h" - -#define os_semaphore_t osRtxSemaphore_t -#define os_thread_t osRtxThread_t - -#endif diff --git a/features/cellular/UNITTESTS/target_h/rtx_os.h b/features/cellular/UNITTESTS/target_h/rtx_os.h deleted file mode 100644 index bb29a2164c..0000000000 --- a/features/cellular/UNITTESTS/target_h/rtx_os.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __RTX_OS__ -#define __RTX_OS__ - -#include "inttypes.h" - -typedef struct osRtxSemaphore_s { - uint8_t id; ///< Object Identifier - uint8_t state; ///< Object State - uint8_t flags; ///< Object Flags - uint8_t reserved; - const char *name; ///< Object Name - uint16_t tokens; ///< Current number of tokens - uint16_t max_tokens; ///< Maximum number of tokens -} osRtxSemaphore_t; - -typedef struct osRtxThread_s { - uint8_t id; ///< Object Identifier - uint8_t state; ///< Object State - uint8_t flags; ///< Object Flags - uint8_t attr; ///< Object Attributes - const char *name; ///< Object Name - struct osRtxThread_s *thread_next; ///< Link pointer to next Thread in Object list - struct osRtxThread_s *thread_prev; ///< Link pointer to previous Thread in Object list - struct osRtxThread_s *delay_next; ///< Link pointer to next Thread in Delay list - struct osRtxThread_s *delay_prev; ///< Link pointer to previous Thread in Delay list - struct osRtxThread_s *thread_join; ///< Thread waiting to Join - uint32_t delay; ///< Delay Time - int8_t priority; ///< Thread Priority - int8_t priority_base; ///< Base Priority - uint8_t stack_frame; ///< Stack Frame (EXC_RETURN[7..0]) - uint8_t flags_options; ///< Thread/Event Flags Options - uint32_t wait_flags; ///< Waiting Thread/Event Flags - uint32_t thread_flags; ///< Thread Flags - struct osRtxMutex_s *mutex_list; ///< Link pointer to list of owned Mutexes - void *stack_mem; ///< Stack Memory - uint32_t stack_size; ///< Stack Size - uint32_t sp; ///< Current Stack Pointer - uint32_t thread_addr; ///< Thread entry address - uint32_t tz_memory; ///< TrustZone Memory Identifier - void *context; ///< Context for OsEventObserver objects -} osRtxThread_t; - -#endif diff --git a/features/cellular/UNITTESTS/target_h/sys/syslimits.h b/features/cellular/UNITTESTS/target_h/sys/syslimits.h deleted file mode 100644 index 5c90b373f1..0000000000 --- a/features/cellular/UNITTESTS/target_h/sys/syslimits.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) , Arm Limited and affiliates. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#define NAME_MAX 255 From eff5f392b43efe6f09c758d99a5169e6f8698862 Mon Sep 17 00:00:00 2001 From: Antti Kauppila Date: Wed, 5 Sep 2018 16:07:00 +0300 Subject: [PATCH 020/202] Small improvements for test cases --- .../at_cellulardevicetest.cpp | 7 ++ .../AT/at_cellularsms/at_cellularsmstest.cpp | 16 ++++ .../framework/AT/athandler/athandlertest.cpp | 78 +++++++++++++++---- .../framework/common/util/utiltest.cpp | 20 +++++ UNITTESTS/stubs/ATHandler_stub.cpp | 4 + UNITTESTS/stubs/ATHandler_stub.h | 1 + UNITTESTS/stubs/Mutex_stub.cpp | 5 -- UNITTESTS/unit_test/test.py | 3 + features/cellular/framework/AT/ATHandler.cpp | 6 +- features/cellular/framework/AT/ATHandler.h | 2 +- .../cellular/framework/AT/AT_CellularSMS.cpp | 4 +- .../framework/common/CellularUtil.cpp | 4 +- 12 files changed, 123 insertions(+), 27 deletions(-) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp index 33f47399af..c394854c1e 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp @@ -265,3 +265,10 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_get_send_delay) AT_CellularDevice dev(que); EXPECT_TRUE(0 == dev.get_send_delay()); } + +TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_init_module) +{ + EventQueue que; + AT_CellularDevice dev(que); + EXPECT_TRUE(NSAPI_ERROR_OK == dev.init_module(NULL)); +} diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp index a586c2e652..a21b7098de 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/at_cellularsmstest.cpp @@ -56,15 +56,31 @@ TEST_F(TestAT_CellularSMS, Create) delete sms; } +void my_callback() +{ + +} + TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_initialize) { EventQueue que; FileHandle_stub fh1; ATHandler at(&fh1, que, 0, ","); + ATHandler_stub::call_immediately = true; + AT_CellularSMS sms(at); ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE; EXPECT_TRUE(NSAPI_ERROR_NO_MEMORY == sms.initialize(CellularSMS::CellularSMSMmodeText)); + + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sms.initialize(CellularSMS::CellularSMSMmodeText)); + + sms.set_sms_callback(&my_callback); + ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; + EXPECT_TRUE(NSAPI_ERROR_OK == sms.initialize(CellularSMS::CellularSMSMmodeText)); + + ATHandler_stub::call_immediately = false; } TEST_F(TestAT_CellularSMS, test_AT_CellularSMS_send_sms) diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp index df0780cfc5..52a32a367b 100644 --- a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp @@ -33,6 +33,10 @@ void urc_callback() { } +void urc2_callback() +{ +} + // AStyle ignored as the definition is not clear due to preprocessor usage // *INDENT-OFF* class TestATHandler : public testing::Test { @@ -119,7 +123,27 @@ TEST_F(TestATHandler, test_ATHandler_set_urc_handler) ATHandler at(&fh1, que, 0, ","); const char ch[] = "testtesttesttest"; - at.set_urc_handler(ch, &urc_callback); + + mbed::Callback cb(&urc_callback); + at.set_urc_handler(ch, cb); + + //THIS IS NOT same callback in find_urc_handler??? + EXPECT_TRUE(NSAPI_ERROR_OK == at.set_urc_handler(ch, cb)); +} + +TEST_F(TestATHandler, test_ATHandler_remove_urc_handler) +{ + EventQueue que; + FileHandle_stub fh1; + + ATHandler at(&fh1, que, 0, ","); + const char ch[] = "testtesttesttest"; + + mbed::Callback cb(&urc_callback); + at.set_urc_handler(ch, cb); + + //This does nothing!!! + at.remove_urc_handler(ch, cb); } TEST_F(TestATHandler, test_ATHandler_get_last_error) @@ -214,6 +238,12 @@ TEST_F(TestATHandler, test_ATHandler_process_oob) FileHandle_stub fh1; ATHandler at(&fh1, que, 0, ","); + at.set_at_timeout(10); + + at.set_is_filehandle_usable(false); + at.process_oob(); + at.set_is_filehandle_usable(true); + filehandle_stub_short_value_counter = 1; fh1.short_value = POLLIN; at.set_urc_handler("s", &urc_callback); @@ -228,6 +258,8 @@ TEST_F(TestATHandler, test_ATHandler_process_oob) char table[] = "ssssssssssssssssssssssssssssssss\0"; filehandle_stub_table = table; filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; at.read_bytes(buf, 5); filehandle_stub_short_value_counter = 2; @@ -241,25 +273,26 @@ TEST_F(TestATHandler, test_ATHandler_process_oob) filehandle_stub_short_value_counter = 1; at.process_oob(); - char table2[4]; + char table2[5]; table2[0] = '\r'; table2[1] = '\r'; table2[2] = '\n'; - table2[3] = 0; + table2[3] = '\n'; + table2[4] = 0; filehandle_stub_table = table2; at.clear_error(); timer_stub_value = 0; filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; at.read_bytes(buf, 1); filehandle_stub_short_value_counter = 1; at.process_oob(); - filehandle_stub_table = table; - filehandle_stub_short_value_counter = 0; filehandle_stub_table_pos = 0; filehandle_stub_table = NULL; @@ -412,62 +445,72 @@ TEST_F(TestATHandler, test_ATHandler_skip_param) FileHandle_stub fh1; ATHandler at(&fh1, que, 0, ","); + at.set_stop_tag("OK\r\n"); at.skip_param(); char table[] = "ssssssssssssssssssssssssssssOK\r\n\0"; filehandle_stub_table = table; - filehandle_stub_table_pos = 0; at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; + mbed_poll_stub::revents_value = POLLIN; + mbed_poll_stub::int_value = 1; + filehandle_stub_short_value_counter = 1; + fh1.short_value = POLLIN; at.resp_start(); at.skip_param(); EXPECT_TRUE(at.get_last_error() == NSAPI_ERROR_DEVICE_ERROR); char table1[] = "ss,sssssssssssss,sssssssssssOK\r\n\0"; filehandle_stub_table = table1; - filehandle_stub_table_pos = 0; at.flush(); at.clear_error(); + filehandle_stub_short_value_counter = 1; + filehandle_stub_table_pos = 0; at.resp_start(); at.skip_param(); char table2[] = "sssOK\r\n\0"; filehandle_stub_table = table2; - filehandle_stub_table_pos = 0; at.flush(); at.clear_error(); + filehandle_stub_short_value_counter = 1; + filehandle_stub_table_pos = 0; at.resp_start(); at.skip_param(); char table3[] = "sssssssOK\nssss\0"; filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; //Need to create a new instance because stop tag already found ATHandler at2(&fh1, que, 0, ","); at2.flush(); at2.clear_error(); + filehandle_stub_short_value_counter = 1; + filehandle_stub_table_pos = 0; at2.resp_start(); at2.skip_param(); at2.skip_param(4, 3); filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; at2.flush(); at2.clear_error(); + filehandle_stub_short_value_counter = 1; + filehandle_stub_table_pos = 0; at2.resp_start(); at2.skip_param(4, 3); filehandle_stub_table = table3; - filehandle_stub_table_pos = 0; at2.flush(); at2.clear_error(); + filehandle_stub_short_value_counter = 1; + filehandle_stub_table_pos = 0; at2.resp_start(); at2.skip_param(24, 17); } @@ -834,6 +877,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_start) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start("ssssaaaassssaaaassss"); //too long prefix char table3[] = "+CME ERROR: 108\0"; @@ -842,20 +886,22 @@ TEST_F(TestATHandler, test_ATHandler_resp_start) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); - filehandle_stub_table_pos = 0; at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); char table4[] = "+CMS ERROR: 6\0"; filehandle_stub_table = table4; - filehandle_stub_table_pos = 0; + filehandle_stub_table_pos = 0; at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); char table5[] = "ERROR\r\n\0"; @@ -864,6 +910,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_start) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); char table6[] = "OK\r\n\0"; @@ -872,6 +919,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_start) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); char table7[] = "ssssss\0"; @@ -881,6 +929,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_start) at.flush(); at.clear_error(); at.set_urc_handler("ss", NULL); + filehandle_stub_table_pos = 0; at.resp_start(); } @@ -905,6 +954,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_stop) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start(); at.resp_stop(); @@ -915,6 +965,7 @@ TEST_F(TestATHandler, test_ATHandler_resp_stop) at.flush(); at.clear_error(); + filehandle_stub_table_pos = 0; at.resp_start("ss", false); at.resp_stop(); } @@ -1020,3 +1071,4 @@ TEST_F(TestATHandler, test_ATHandler_get_3gpp_error) ATHandler at(&fh1, que, 0, ","); at.get_3gpp_error(); } + diff --git a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp index 237316608b..18cb36cb5f 100644 --- a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp +++ b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp @@ -127,6 +127,8 @@ TEST_F(Testutil, separate_ip_addresses) char subnet[64] = {0}; strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15", 94); + separate_ip_addresses(NULL, ip, sizeof(ip), subnet, sizeof(subnet)); + separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); EXPECT_STREQ("2001:14BB:170:8BF5:FB88:E86E:7B33:E68A", ip); EXPECT_STREQ("001:203:405:607:809:A0B:C0D:E0F", subnet); @@ -179,3 +181,21 @@ TEST_F(Testutil, separate_ip_addresses) EXPECT_STREQ("506:708:90A:B0C:D0E:F10:1112:1314", subnet); EXPECT_STREQ("1.2.3.4 5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20", s); } + +TEST_F(Testutil, get_dynamic_ip_port) +{ + uint16_t port = get_dynamic_ip_port(); + uint16_t port2 = get_dynamic_ip_port(); + + EXPECT_TRUE(port != port2); +} + +TEST_F(Testutil, int_to_hex_str) +{ + char buf[2]; + int_to_hex_str(100, (char*)buf); + + EXPECT_TRUE(buf[0] == '6'); + EXPECT_TRUE(buf[1] == '4'); +} + diff --git a/UNITTESTS/stubs/ATHandler_stub.cpp b/UNITTESTS/stubs/ATHandler_stub.cpp index 81267d0b44..7c65253af3 100644 --- a/UNITTESTS/stubs/ATHandler_stub.cpp +++ b/UNITTESTS/stubs/ATHandler_stub.cpp @@ -44,6 +44,7 @@ uint8_t ATHandler_stub::uint8_value = 0; FileHandle_stub *ATHandler_stub::fh_value = NULL; device_err_t ATHandler_stub::device_err_value; Callback ATHandler_stub::callback = NULL; +bool ATHandler_stub::call_immediately = false; uint8_t ATHandler_stub::resp_info_true_counter = false; uint8_t ATHandler_stub::info_elem_true_counter = false; int ATHandler_stub::int_valid_count_table[kRead_int_table_size]; @@ -98,6 +99,9 @@ void ATHandler::set_file_handle(FileHandle *fh) nsapi_error_t ATHandler::set_urc_handler(const char *urc, mbed::Callback cb) { ATHandler_stub::callback = cb; + if (ATHandler_stub::call_immediately) { + cb(); + } return ATHandler_stub::nsapi_error_value; } diff --git a/UNITTESTS/stubs/ATHandler_stub.h b/UNITTESTS/stubs/ATHandler_stub.h index 856ed9cb7d..3341aa4ced 100644 --- a/UNITTESTS/stubs/ATHandler_stub.h +++ b/UNITTESTS/stubs/ATHandler_stub.h @@ -51,6 +51,7 @@ extern uint8_t uint8_value; extern mbed::FileHandle_stub *fh_value; extern mbed::device_err_t device_err_value; extern mbed::Callback callback; +extern bool call_immediately; extern char *read_string_table[kRead_string_table_size]; extern int read_string_index; extern int int_valid_count_table[kRead_int_table_size]; diff --git a/UNITTESTS/stubs/Mutex_stub.cpp b/UNITTESTS/stubs/Mutex_stub.cpp index cd226064f8..153e8e5e19 100644 --- a/UNITTESTS/stubs/Mutex_stub.cpp +++ b/UNITTESTS/stubs/Mutex_stub.cpp @@ -27,11 +27,6 @@ rtos::Mutex::~Mutex() return; } -osStatus rtos::Mutex::lock(void) -{ - return osOK; -} - osStatus rtos::Mutex::lock(uint32_t millisec) { return osOK; diff --git a/UNITTESTS/unit_test/test.py b/UNITTESTS/unit_test/test.py index 889b0a35b3..6be991bb79 100644 --- a/UNITTESTS/unit_test/test.py +++ b/UNITTESTS/unit_test/test.py @@ -136,6 +136,9 @@ class UnitTestTool(object): for path in excludes: args.extend(["-e", path.replace("\\", "/")]) + #Exclude header files from report + args.extend(["-e", ".*\.h"]) + if logging.getLogger().getEffectiveLevel() == logging.DEBUG: args.append("-v") diff --git a/features/cellular/framework/AT/ATHandler.cpp b/features/cellular/framework/AT/ATHandler.cpp index b52cece0bb..e3c6cdd39d 100644 --- a/features/cellular/framework/AT/ATHandler.cpp +++ b/features/cellular/framework/AT/ATHandler.cpp @@ -159,7 +159,7 @@ void ATHandler::set_is_filehandle_usable(bool usable) nsapi_error_t ATHandler::set_urc_handler(const char *prefix, mbed::Callback callback) { - if (find_urc_handler(prefix, callback)) { + if (find_urc_handler(prefix, &callback)) { tr_warn("URC already added with prefix: %s", prefix); return NSAPI_ERROR_OK; } @@ -205,11 +205,11 @@ void ATHandler::remove_urc_handler(const char *prefix, mbed::Callback ca } } -bool ATHandler::find_urc_handler(const char *prefix, mbed::Callback callback) +bool ATHandler::find_urc_handler(const char *prefix, mbed::Callback *callback) { struct oob_t *oob = _oobs; while (oob) { - if (strcmp(prefix, oob->prefix) == 0 && oob->cb == callback) { + if (strcmp(prefix, oob->prefix) == 0 && oob->cb == *callback) { return true; } oob = oob->next; diff --git a/features/cellular/framework/AT/ATHandler.h b/features/cellular/framework/AT/ATHandler.h index 17bb4d33a6..4962c14223 100644 --- a/features/cellular/framework/AT/ATHandler.h +++ b/features/cellular/framework/AT/ATHandler.h @@ -510,7 +510,7 @@ private: const char *mem_str(const char *dest, size_t dest_len, const char *src, size_t src_len); // check is urc is already added - bool find_urc_handler(const char *prefix, mbed::Callback callback); + bool find_urc_handler(const char *prefix, mbed::Callback *callback); // print contents of a buffer to trace log void debug_print(char *p, int len); diff --git a/features/cellular/framework/AT/AT_CellularSMS.cpp b/features/cellular/framework/AT/AT_CellularSMS.cpp index 7605566cbb..3dab1509f9 100644 --- a/features/cellular/framework/AT/AT_CellularSMS.cpp +++ b/features/cellular/framework/AT/AT_CellularSMS.cpp @@ -256,8 +256,8 @@ nsapi_error_t AT_CellularSMS::set_csdh(int show_header) nsapi_error_t AT_CellularSMS::initialize(CellularSMSMmode mode) { - if (_at.set_urc_handler("+CMTI:", callback(this, &AT_CellularSMS::cmti_urc)) || - _at.set_urc_handler("+CMT:", callback(this, &AT_CellularSMS::cmt_urc))) { + if (NSAPI_ERROR_OK != _at.set_urc_handler("+CMTI:", callback(this, &AT_CellularSMS::cmti_urc)) || + NSAPI_ERROR_OK != _at.set_urc_handler("+CMT:", callback(this, &AT_CellularSMS::cmt_urc))) { return NSAPI_ERROR_NO_MEMORY; } diff --git a/features/cellular/framework/common/CellularUtil.cpp b/features/cellular/framework/common/CellularUtil.cpp index b6262996d7..c68dec2925 100644 --- a/features/cellular/framework/common/CellularUtil.cpp +++ b/features/cellular/framework/common/CellularUtil.cpp @@ -330,9 +330,7 @@ uint16_t get_dynamic_ip_port() } port_counter += randLIB_get_random_in_range(1, RANDOM_PORT_NUMBER_MAX_STEP); - if (port_counter >= RANDOM_PORT_NUMBER_COUNT) { - port_counter -= RANDOM_PORT_NUMBER_COUNT; - } + port_counter %= RANDOM_PORT_NUMBER_COUNT; return (RANDOM_PORT_NUMBER_START + port_counter); } From fc97b2aca0442da7822a2c1a35ded809b5222251 Mon Sep 17 00:00:00 2001 From: Antti Kauppila Date: Sun, 9 Sep 2018 13:21:54 +0300 Subject: [PATCH 021/202] Rebased & fixed --- .../at_cellulardevicetest.cpp | 13 +++++--- .../InternetSocket/test_InternetSocket.cpp | 2 +- .../netsocket/InternetSocket/unittest.cmake | 4 ++- .../netsocket/TCPSocket/unittest.cmake | 4 ++- .../netsocket/UDPSocket/unittest.cmake | 4 ++- UNITTESTS/stubs/ip4tos_stub.c | 30 +++++++++++++++++ UNITTESTS/stubs/stoip4_stub.c | 32 +++++++++++++++++++ 7 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 UNITTESTS/stubs/ip4tos_stub.c create mode 100644 UNITTESTS/stubs/stoip4_stub.c diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp index c394854c1e..7ab8f742f3 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/at_cellulardevicetest.cpp @@ -124,7 +124,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_network) EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_network(); - EXPECT_TRUE(ATHandler_stub::ref_count == 0); + EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount); } TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sms) @@ -139,7 +139,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sms) EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_sms(); - EXPECT_TRUE(ATHandler_stub::ref_count == 0); + EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount); } TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power) @@ -154,7 +154,7 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_power) EXPECT_TRUE(ATHandler_stub::ref_count == 1); dev.close_power(); - EXPECT_TRUE(ATHandler_stub::ref_count == 0); + EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount); } TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim) @@ -163,16 +163,19 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_sim) AT_CellularDevice dev(que); FileHandle_stub fh1; ATHandler_stub::ref_count = 0; - + int ana = 0; EXPECT_TRUE(dev.open_sim(&fh1)); AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value; + ana = ATHandler_stub::ref_count; + dev.close_sms(); // this should not affect to refcount as it's not opened EXPECT_TRUE(ATHandler_stub::ref_count == 1); + ana = ATHandler_stub::ref_count; dev.close_sim(); - EXPECT_TRUE(ATHandler_stub::ref_count == 0); + EXPECT_TRUE(ATHandler_stub::ref_count == kATHandler_destructor_ref_ount); } TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_close_information) diff --git a/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp b/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp index fae48b7ede..115c93f60a 100644 --- a/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp +++ b/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp @@ -153,7 +153,7 @@ TEST_F(TestInternetSocket, sigio) callback_is_called = false; // I'm calling sigio() through the DEPRECATED method, just to get coverage for both. // Not sure if this is wise at all, we should not aim for 100% - socket->attach(mbed::callback(my_callback)); + socket->sigio(mbed::callback(my_callback)); socket->event(); EXPECT_EQ(callback_is_called, true); } diff --git a/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake b/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake index ee22788fa4..a8a79bf90e 100644 --- a/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake @@ -15,6 +15,7 @@ set(unittest-sources ) set(unittest-test-sources + features/netsocket/InternetSocket/test_InternetSocket.cpp stubs/Mutex_stub.cpp stubs/mbed_assert_stub.c stubs/equeue_stub.c @@ -22,5 +23,6 @@ set(unittest-test-sources stubs/mbed_shared_queues_stub.cpp stubs/nsapi_dns_stub.cpp stubs/EventFlags_stub.cpp - features/netsocket/InternetSocket/test_InternetSocket.cpp + stubs/stoip4_stub.c + stubs/ip4tos_stub.c ) diff --git a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake index 437463ee31..4128378d8c 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake @@ -15,8 +15,10 @@ set(unittest-sources ) set(unittest-test-sources + features/netsocket/TCPSocket/test_TCPSocket.cpp stubs/Mutex_stub.cpp stubs/mbed_assert_stub.c stubs/EventFlags_stub.cpp - features/netsocket/TCPSocket/test_TCPSocket.cpp + stubs/stoip4_stub.c + stubs/ip4tos_stub.c ) diff --git a/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake b/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake index ee0f7f54b2..e8a8c828ed 100644 --- a/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake @@ -16,6 +16,7 @@ set(unittest-sources ) set(unittest-test-sources + features/netsocket/UDPSocket/test_UDPSocket.cpp stubs/Mutex_stub.cpp stubs/mbed_assert_stub.c stubs/equeue_stub.c @@ -23,5 +24,6 @@ set(unittest-test-sources stubs/mbed_shared_queues_stub.cpp stubs/EventFlags_stub.cpp stubs/nsapi_dns_stub.cpp - features/netsocket/UDPSocket/test_UDPSocket.cpp + stubs/stoip4_stub.c + stubs/ip4tos_stub.c ) diff --git a/UNITTESTS/stubs/ip4tos_stub.c b/UNITTESTS/stubs/ip4tos_stub.c new file mode 100644 index 0000000000..35957fe232 --- /dev/null +++ b/UNITTESTS/stubs/ip4tos_stub.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2014-2018 ARM Limited. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include "common_functions.h" +#include "ip4string.h" + +static void ipv4_itoa(char *string, uint8_t byte); + +uint_fast8_t ip4tos(const void *ip4addr, char *p) +{ + return 0; +} + +static void ipv4_itoa(char *string, uint8_t byte) +{ +} diff --git a/UNITTESTS/stubs/stoip4_stub.c b/UNITTESTS/stubs/stoip4_stub.c new file mode 100644 index 0000000000..d22c20e23e --- /dev/null +++ b/UNITTESTS/stubs/stoip4_stub.c @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2014-2018 ARM Limited. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include +#include "common_functions.h" +#include "ip4string.h" + +/** + * Convert numeric IPv4 address string to a binary. + * \param ip4addr IPv4 address in string format. + * \param len Length of IPv4 string, maximum of 16.. + * \param dest buffer for address. MUST be 4 bytes. + * \return boolean set to true if conversion succeded, false if it didn't + */ +bool stoip4(const char *ip4addr, size_t len, void *dest) +{ + return true; +} From 0d3cc36ddf90de04df87a340fe19f3bcd3978285 Mon Sep 17 00:00:00 2001 From: Cesar Date: Sat, 4 Aug 2018 12:58:14 +0200 Subject: [PATCH 022/202] Corrected device_has_add flags for bluepill_f103c8 target --- targets/targets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/targets.json b/targets/targets.json index 705a70adf9..30e5284fc4 100755 --- a/targets/targets.json +++ b/targets/targets.json @@ -4038,7 +4038,7 @@ "default_toolchain": "GCC_ARM", "extra_labels_add": ["STM32F1", "STM32F103C8"], "supported_toolchains": ["GCC_ARM"], - "device_has_add": [], + "device_has_add": ["CAN", "SERIAL_FC", "SERIAL_ASYNCH", "FLASH"], "device_has_remove": ["STDIO_MESSAGES", "LPTICKER"] }, "NUMAKER_PFM_NUC472": { From 25d50d573be7e636e3413b4c2ceecf0d8912341b Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 31 Aug 2018 17:00:46 +0200 Subject: [PATCH 023/202] Updated pinmap to fix CAN and enable UART hardware flow control --- .../TARGET_BLUEPILL_F103C8/PeripheralPins.c | 223 ++++++++++-------- .../TARGET_BLUEPILL_F103C8/PinNames.h | 10 + 2 files changed, 138 insertions(+), 95 deletions(-) mode change 100644 => 100755 targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c mode change 100644 => 100755 targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h diff --git a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c old mode 100644 new mode 100755 index 5deb5abe5c..28b470a744 --- a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c +++ b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c @@ -1,6 +1,6 @@ /* mbed Microcontroller Library ******************************************************************************* - * Copyright (c) 2014, STMicroelectronics + * Copyright (c) 2018, STMicroelectronics * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,19 +26,35 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ******************************************************************************* + * + * Automatically generated from STM32F103C(8-B)Tx.xml */ #include "PeripheralPins.h" +#include "mbed_toolchain.h" + +//============================================================================== +// Notes +// +// - The pins mentioned Px_y_ALTz are alternative possibilities which use other +// HW peripheral instances. You can use them the same way as any other "normal" +// pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board +// pinout image on mbed.org. +// +// - The pins which are connected to other components present on the board have +// the comment "Connected to xxx". The pin function may not work properly in this +// case. These pins may not be displayed on the board pinout image on mbed.org. +// Please read the board reference manual and schematic for more information. +// +// - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented +// See https://os.mbed.com/teams/ST/wiki/STDIO for more information. +// +//============================================================================== -// ===== -// Note: Commented lines are alternative possibilities which are not used per default. -// If you change them, you will have also to modify the corresponding xxx_api.c file -// for pwmout, analogin, analogout, ... -// ===== //*** ADC *** -const PinMap PinMap_ADC[] = { +MBED_WEAK const PinMap PinMap_ADC[] = { {PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC_IN0 {PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC_IN1 {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC_IN2 @@ -55,7 +71,7 @@ const PinMap PinMap_ADC[] = { {PC_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC_IN13 {PC_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC_IN14 {PC_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC_IN15 - {NC, NC, 0} + {NC, NC, 0} }; const PinMap PinMap_ADC_Internal[] = { @@ -66,118 +82,135 @@ const PinMap PinMap_ADC_Internal[] = { //*** I2C *** -const PinMap PinMap_I2C_SDA[] = { - {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, - {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 2)}, // GPIO_Remap_I2C1 - {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_I2C_SDA[] = { + {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, + {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 2)}, + {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; -const PinMap PinMap_I2C_SCL[] = { - {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, - {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 2)}, // GPIO_Remap_I2C1 - {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_I2C_SCL[] = { + {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, + {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 2)}, + {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; //*** PWM *** // TIM4 cannot be used because already used by the us_ticker -const PinMap PinMap_PWM[] = { - {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM2_CH2 - Default - {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM2_CH3 - Default (warning: not connected on D1 per default) - {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM2_CH4 - Default (warning: not connected on D0 per default) - {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM3_CH1 - Default - {PA_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM3_CH2 - Default -// {PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 1, 1)}, // TIM1_CH1N - GPIO_PartialRemap_TIM1 - {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM1_CH1 - Default - {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM1_CH2 - Default - {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM1_CH3 - Default - {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM1_CH4 - Default - {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 1, 0)}, // TIM2_CH1_ETR - GPIO_FullRemap_TIM2 - - {PB_0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM3_CH3 - Default -// {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 2, 1)}, // TIM1_CH2N - GPIO_PartialRemap_TIM1 - {PB_1, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM3_CH4 - Default -// {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 3, 1)}, // TIM1_CH3N - GPIO_PartialRemap_TIM1 - {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 2, 0)}, // TIM2_CH2 - GPIO_FullRemap_TIM2 - {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 1, 0)}, // TIM3_CH1 - GPIO_PartialRemap_TIM3 - {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 2, 0)}, // TIM3_CH2 - GPIO_PartialRemap_TIM3 -// {PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM4_CH1 - Default (used by ticker) -// {PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM4_CH2 - Default (used by ticker) -// {PB_8, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM4_CH3 - Default (used by ticker) -// {PB_9, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM4_CH4 - Default (used by ticker) - {PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 3, 0)}, // TIM2_CH3 - GPIO_FullRemap_TIM2 - {PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 4, 0)}, // TIM2_CH4 - GPIO_FullRemap_TIM2 - {PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 1)}, // TIM1_CH1N - Default - {PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 1)}, // TIM1_CH2N - Default - {PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 1)}, // TIM1_CH3N - Default - - {PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 9, 1, 0)}, // TIM3_CH1 - GPIO_FullRemap_TIM3 - {PC_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 9, 2, 0)}, // TIM3_CH2 - GPIO_FullRemap_TIM3 - {PC_8, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 9, 3, 0)}, // TIM3_CH3 - GPIO_FullRemap_TIM3 - {PC_9, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 9, 4, 0)}, // TIM3_CH4 - GPIO_FullRemap_TIM3 - {NC, NC, 0} +// You have to comment all PWM_4 +MBED_WEAK const PinMap PinMap_PWM[] = { + {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM2_CH1 + {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM2_CH2 + {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM2_CH3 + {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM2_CH4 + {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM3_CH1 + {PA_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM3_CH2 + {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM1_CH1 + {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 1, 0)}, // TIM1_CH1 + {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM1_CH2 + {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 2, 0)}, // TIM1_CH2 + {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM1_CH3 + {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 3, 0)}, // TIM1_CH3 + {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM1_CH4 + {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 4, 0)}, // TIM1_CH4 + {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 1, 0)}, // TIM2_CH1 + {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 2, 1)}, // TIM1_CH2N + {PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM3_CH3 + {PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 3, 0)}, // TIM3_CH3 + {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 6, 3, 1)}, // TIM1_CH3N + {PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM3_CH4 + {PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 4, 0)}, // TIM3_CH4 + {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 2, 0)}, // TIM2_CH2 + {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 1, 0)}, // TIM3_CH1 + {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 7, 2, 0)}, // TIM3_CH2 +// {PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 0)}, // TIM4_CH1 +// {PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 0)}, // TIM4_CH2 +// {PB_8, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 0)}, // TIM4_CH3 +// {PB_9, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 4, 0)}, // TIM4_CH4 + {PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 3, 0)}, // TIM2_CH3 + {PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 8, 4, 0)}, // TIM2_CH4 + {PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 1, 1)}, // TIM1_CH1N + {PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 2, 1)}, // TIM1_CH2N + {PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, 0, 3, 1)}, // TIM1_CH3N + {NC, NC, 0} }; //*** SERIAL *** -const PinMap PinMap_UART_TX[] = { - {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, - {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, - {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 3)}, // GPIO_Remap_USART1 - {PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, - {PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 5)}, // GPIO_PartialRemap_USART3 - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_UART_TX[] = { + {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 3)}, // GPIO_Remap_USART1 + {PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 5)}, // GPIO_PartialRemap_USART3 + {NC, NC, 0} }; -const PinMap PinMap_UART_RX[] = { - {PA_3, UART_2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, - {PA_10, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, - {PB_7, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 3)}, // GPIO_Remap_USART1 - {PB_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, - {PC_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 5)}, // GPIO_PartialRemap_USART3 - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_UART_RX[] = { + {PA_3, UART_2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, + {PA_10, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, + {PB_7, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 3)}, // GPIO_Remap_USART1 + {PB_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 0)}, + {PC_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, 5)}, // GPIO_PartialRemap_USART3 + {NC, NC, 0} +}; + +MBED_WEAK const PinMap PinMap_UART_RTS[] = { + {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PB_14, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {NC, NC, 0} +}; + +MBED_WEAK const PinMap PinMap_UART_CTS[] = { + {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {PB_13, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, 0)}, + {NC, NC, 0} }; //*** SPI *** -const PinMap PinMap_SPI_MOSI[] = { - {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, // GPIO_Remap_SPI1 - {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_SPI_MOSI[] = { + {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, + {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; -const PinMap PinMap_SPI_MISO[] = { - {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, // GPIO_Remap_SPI1 - {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_SPI_MISO[] = { + {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, + {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; -const PinMap PinMap_SPI_SCLK[] = { - {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, // GPIO_Remap_SPI1 - {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_SPI_SCLK[] = { + {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, + {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; -const PinMap PinMap_SPI_SSEL[] = { - {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, // GPIO_Remap_SPI1 - {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_SPI_SSEL[] = { + {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, + {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {NC, NC, 0} }; -const PinMap PinMap_CAN_RD[] = { - {PA_11, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0)}, - {PB_8, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 1)}, - {NC, NC, 0} +//*** CAN *** + +MBED_WEAK const PinMap PinMap_CAN_RD[] = { + {PA_11, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0)}, + {PB_8, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 10)}, + {NC, NC, 0} }; -const PinMap PinMap_CAN_TD[] = { - {PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, - {PB_9, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 1)}, - {NC, NC, 0} +MBED_WEAK const PinMap PinMap_CAN_TD[] = { + {PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 0)}, + {PB_9, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, 10)}, + {NC, NC, 0} }; diff --git a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h old mode 100644 new mode 100755 index cd2e2e9416..6756cb7bb7 --- a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h +++ b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h @@ -37,6 +37,13 @@ extern "C" { #endif +typedef enum { + ALT0 = 0x100, + ALT1 = 0x200, + ALT2 = 0x300, + ALT3 = 0x400 +} ALTx; + typedef enum { PA_0 = 0x00, PA_1 = 0x01, @@ -46,6 +53,7 @@ typedef enum { PA_5 = 0x05, PA_6 = 0x06, PA_7 = 0x07, + PA_7_ALT0 = 0x07 | ALT0, PA_8 = 0x08, PA_9 = 0x09, PA_10 = 0x0A, @@ -56,7 +64,9 @@ typedef enum { PA_15 = 0x0F, PB_0 = 0x10, + PB_0_ALT0 = 0x10 | ALT0, PB_1 = 0x11, + PB_1_ALT0 = 0x11 | ALT0, PB_2 = 0x12, PB_3 = 0x13, PB_4 = 0x14, From 7f4aedcfe653de9692e595f444ba5cadda9463c3 Mon Sep 17 00:00:00 2001 From: Cesar Date: Thu, 6 Sep 2018 12:56:13 +0200 Subject: [PATCH 024/202] Revert file permissions --- .../TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c diff --git a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PeripheralPins.c old mode 100755 new mode 100644 From b483778335e5e93792b37a3abb2d463486133a95 Mon Sep 17 00:00:00 2001 From: Cesar Date: Thu, 6 Sep 2018 13:57:06 +0200 Subject: [PATCH 025/202] Revert file permissions --- .../TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h diff --git a/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h b/targets/TARGET_STM/TARGET_STM32F1/TARGET_BLUEPILL_F103C8/PinNames.h old mode 100755 new mode 100644 From 39a8d6e1bf3a163259b99d45e30fa96f8450b0e0 Mon Sep 17 00:00:00 2001 From: Juha Ylinen Date: Fri, 24 Aug 2018 13:26:53 +0300 Subject: [PATCH 026/202] netsocket: Fix compiler warning [Warning] InternetSocket.h@237,10: 'InternetSocket::_factory_allocated' will be initialized after [-Wreorder] [Warning] InternetSocket.h@236,23: 'volatile unsigned int InternetSocket::_pending' [-Wreorder] [Warning] InternetSocket.cpp@22,1: when initialized here [-Wreorder] --- features/netsocket/InternetSocket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/netsocket/InternetSocket.cpp b/features/netsocket/InternetSocket.cpp index da7573986e..948e25374a 100644 --- a/features/netsocket/InternetSocket.cpp +++ b/features/netsocket/InternetSocket.cpp @@ -21,8 +21,8 @@ using namespace mbed; InternetSocket::InternetSocket() : _stack(0), _socket(0), _timeout(osWaitForever), - _readers(0), _writers(0), _factory_allocated(false), - _pending(0) + _readers(0), _writers(0), _pending(0), + _factory_allocated(false) { } From a3d59a956d305c6af8eca5254ce8e4a47780c3a5 Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Wed, 12 Sep 2018 11:05:42 -0500 Subject: [PATCH 027/202] `mbed dm`: Remove references to internal script from help ### Description Now that we are delegating the help text to `device_managment.py`, it should print out help as if it's invoked with `mbed device-management`. This PR changes the argument parser and the help text to do just that. ### Pull request type [x] Fix [ ] Refactor [ ] Target update [ ] Functionality change [ ] Breaking change --- tools/device_management.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/device_management.py b/tools/device_management.py index c2ece1c1b0..7893634633 100644 --- a/tools/device_management.py +++ b/tools/device_management.py @@ -44,6 +44,15 @@ from tools.options import extract_mcus class MbedExtendedArgs(MainArgumentParser): + + def __init__(self, *args, **kwargs): + MainArgumentParser.__init__(self, *args, **kwargs) + self.parser.prog = "mbed device-management" + self.parser.description = ( + "Create or transform a manifest. " + "Use {} [command] -h for help on each command." + ).format(self.parser.prog) + def _addCreateArgs(self, parser, exclusions=[]): if 'payload' not in exclusions: parser.add_argument( From e0f463743764afe7c2bce14e154832b8a57c43ba Mon Sep 17 00:00:00 2001 From: Filip Jagodzinski Date: Fri, 14 Sep 2018 14:20:54 +0200 Subject: [PATCH 028/202] STM: Fix us_ticker timestamp after deep sleep Use the `mbed_sdk_inited` flag to correct the `HAL_GetTick()` behavior after waking up from deep sleep mode. `ticker_read_us()` must not be used to read us_ticker timestamp after waking up until the us_ticker context is restored. More detailed description in issue #8117. Fixes #8117 --- targets/TARGET_STM/sleep.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/targets/TARGET_STM/sleep.c b/targets/TARGET_STM/sleep.c index 50759eb74b..631e283915 100644 --- a/targets/TARGET_STM/sleep.c +++ b/targets/TARGET_STM/sleep.c @@ -158,6 +158,7 @@ void hal_sleep(void) } extern int serial_is_tx_ongoing(void); +extern int mbed_sdk_inited; void hal_deepsleep(void) { @@ -200,6 +201,10 @@ void hal_deepsleep(void) HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); #endif /* TARGET_STM32L4 */ + /* Prevent HAL_GetTick() from using ticker_read_us() to read the + * us_ticker timestamp until the us_ticker context is restored. */ + mbed_sdk_inited = 0; + // Verify Clock Out of Deep Sleep ForceClockOutofDeepSleep(); @@ -214,6 +219,10 @@ void hal_deepsleep(void) restore_timer_ctx(); + /* us_ticker context restored, allow HAL_GetTick() to read the us_ticker + * timestamp via ticker_read_us() again. */ + mbed_sdk_inited = 1; + // Enable IRQs core_util_critical_section_exit(); } From 3db611cdef8abd9988090b30954dcfd9b4a2a378 Mon Sep 17 00:00:00 2001 From: Thomas Kemmer Date: Mon, 27 Aug 2018 20:47:19 +0200 Subject: [PATCH 029/202] Clean up include paths. --- drivers/FlashIAP.cpp | 2 +- drivers/Serial.h | 6 +++--- drivers/SerialBase.h | 10 +++++----- drivers/UARTSerial.h | 8 ++++---- hal/mbed_sleep_manager.c | 14 +++++++------- hal/mbed_ticker_api.c | 2 +- platform/mbed_poll.cpp | 4 ++-- platform/mbed_power_mgmt.h | 2 +- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/drivers/FlashIAP.cpp b/drivers/FlashIAP.cpp index 8f71061472..879a74f3c8 100644 --- a/drivers/FlashIAP.cpp +++ b/drivers/FlashIAP.cpp @@ -24,7 +24,7 @@ #include #include #include "FlashIAP.h" -#include "mbed_assert.h" +#include "platform/mbed_assert.h" #ifdef DEVICE_FLASH diff --git a/drivers/Serial.h b/drivers/Serial.h index 11e237bffa..7c5e536acb 100644 --- a/drivers/Serial.h +++ b/drivers/Serial.h @@ -20,10 +20,10 @@ #if defined (DEVICE_SERIAL) || defined(DOXYGEN_ONLY) -#include "Stream.h" +#include "platform/Stream.h" #include "SerialBase.h" -#include "PlatformMutex.h" -#include "serial_api.h" +#include "platform/PlatformMutex.h" +#include "hal/serial_api.h" #include "platform/NonCopyable.h" namespace mbed { diff --git a/drivers/SerialBase.h b/drivers/SerialBase.h index 9fe5ddef25..5d7989ecb5 100644 --- a/drivers/SerialBase.h +++ b/drivers/SerialBase.h @@ -20,14 +20,14 @@ #if defined (DEVICE_SERIAL) || defined(DOXYGEN_ONLY) -#include "Callback.h" -#include "serial_api.h" -#include "mbed_toolchain.h" +#include "platform/Callback.h" +#include "hal/serial_api.h" +#include "platform/mbed_toolchain.h" #include "platform/NonCopyable.h" #if DEVICE_SERIAL_ASYNCH -#include "CThunk.h" -#include "dma_api.h" +#include "platform/CThunk.h" +#include "hal/dma_api.h" #endif namespace mbed { diff --git a/drivers/UARTSerial.h b/drivers/UARTSerial.h index c3a110fd65..667591bf82 100644 --- a/drivers/UARTSerial.h +++ b/drivers/UARTSerial.h @@ -21,12 +21,12 @@ #if (DEVICE_SERIAL && DEVICE_INTERRUPTIN) || defined(DOXYGEN_ONLY) -#include "FileHandle.h" +#include "platform/FileHandle.h" #include "SerialBase.h" #include "InterruptIn.h" -#include "PlatformMutex.h" -#include "serial_api.h" -#include "CircularBuffer.h" +#include "platform/PlatformMutex.h" +#include "hal/serial_api.h" +#include "platform/CircularBuffer.h" #include "platform/NonCopyable.h" #ifndef MBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE diff --git a/hal/mbed_sleep_manager.c b/hal/mbed_sleep_manager.c index 30e2d74837..03f678e826 100644 --- a/hal/mbed_sleep_manager.c +++ b/hal/mbed_sleep_manager.c @@ -14,18 +14,18 @@ * limitations under the License. */ -#include "mbed_assert.h" -#include "mbed_power_mgmt.h" -#include "mbed_critical.h" +#include "platform/mbed_assert.h" +#include "platform/mbed_power_mgmt.h" +#include "platform/mbed_critical.h" #include "sleep_api.h" -#include "mbed_error.h" -#include "mbed_debug.h" -#include "mbed_stats.h" +#include "platform/mbed_error.h" +#include "platform/mbed_debug.h" +#include "platform/mbed_stats.h" #include "us_ticker_api.h" #include "lp_ticker_api.h" #include #include -#include "mbed_stats.h" +#include "platform/mbed_stats.h" #if DEVICE_SLEEP diff --git a/hal/mbed_ticker_api.c b/hal/mbed_ticker_api.c index cb23074c30..5c9fc55bce 100644 --- a/hal/mbed_ticker_api.c +++ b/hal/mbed_ticker_api.c @@ -17,7 +17,7 @@ #include #include "hal/ticker_api.h" #include "platform/mbed_critical.h" -#include "mbed_assert.h" +#include "platform/mbed_assert.h" static void schedule_interrupt(const ticker_data_t *const ticker); static void update_present_time(const ticker_data_t *const ticker); diff --git a/platform/mbed_poll.cpp b/platform/mbed_poll.cpp index 6d8341020d..868a1b8d06 100644 --- a/platform/mbed_poll.cpp +++ b/platform/mbed_poll.cpp @@ -20,8 +20,8 @@ #include "rtos/Thread.h" using namespace rtos; #else -#include "Timer.h" -#include "LowPowerTimer.h" +#include "drivers/Timer.h" +#include "drivers/LowPowerTimer.h" #endif namespace mbed { diff --git a/platform/mbed_power_mgmt.h b/platform/mbed_power_mgmt.h index 660e02e71d..05a54e4e7f 100644 --- a/platform/mbed_power_mgmt.h +++ b/platform/mbed_power_mgmt.h @@ -23,7 +23,7 @@ #ifndef MBED_POWER_MGMT_H #define MBED_POWER_MGMT_H -#include "sleep_api.h" +#include "hal/sleep_api.h" #include "mbed_toolchain.h" #include "hal/ticker_api.h" #include From 5ac200a02303e2271ad7603f6557650aa50b1156 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 21 Aug 2018 17:15:19 +0800 Subject: [PATCH 030/202] Fix issues with LowPowerTickerWrapper 1. Complement _ticker_match_interval_passed with '_last_set_interrupt == _cur_match_time' for pass check 2. Fix 'too close' check with _min_count_until_match --- hal/LowPowerTickerWrapper.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/hal/LowPowerTickerWrapper.cpp b/hal/LowPowerTickerWrapper.cpp index 70b5190d4b..dbeb850435 100644 --- a/hal/LowPowerTickerWrapper.cpp +++ b/hal/LowPowerTickerWrapper.cpp @@ -207,7 +207,14 @@ void LowPowerTickerWrapper::_timeout_handler() _pending_timeout = false; timestamp_t current = _intf->read(); - if (_ticker_match_interval_passed(_last_set_interrupt, current, _cur_match_time)) { + /* Add extra check for '_last_set_interrupt == _cur_match_time' + * + * When '_last_set_interrupt == _cur_match_time', _ticker_match_interval_passed sees it as + * one-round interval rather than just-pass, so add extra check for it. In rare cases, we + * may trap in _timeout_handler/_schedule_match loop. This check can break it. + */ + if ((_last_set_interrupt == _cur_match_time) || + _ticker_match_interval_passed(_last_set_interrupt, current, _cur_match_time)) { _intf->fire_interrupt(); } else { _schedule_match(current); @@ -223,7 +230,9 @@ bool LowPowerTickerWrapper::_match_check(timestamp_t current) if (!_pending_match) { return false; } - return _ticker_match_interval_passed(_last_set_interrupt, current, _cur_match_time); + /* Add extra check for '_last_set_interrupt == _cur_match_time' as above */ + return (_last_set_interrupt == _cur_match_time) || + _ticker_match_interval_passed(_last_set_interrupt, current, _cur_match_time); } uint32_t LowPowerTickerWrapper::_lp_ticks_to_us(uint32_t ticks) @@ -245,7 +254,7 @@ void LowPowerTickerWrapper::_schedule_match(timestamp_t current) } } - uint32_t cycles_until_match = (_cur_match_time - _last_set_interrupt) & _mask; + uint32_t cycles_until_match = (_cur_match_time - current) & _mask; bool too_close = cycles_until_match < _min_count_until_match; if (!_set_interrupt_allowed) { From 3413b3ee8d6b86e3131c253f9a93e8119e17fe54 Mon Sep 17 00:00:00 2001 From: deepikabhavnani Date: Thu, 6 Sep 2018 16:54:32 -0500 Subject: [PATCH 031/202] Align to CMSIS defines for Non-secure CMSIS updated the __DOMAIN_NS define to DOMAIN_NS. Update the define in existing code for non-secure part. --- .../TARGET_M2351/device/TOOLCHAIN_ARM_MICRO/M2351.sct | 6 +++--- .../TARGET_M2351/device/TOOLCHAIN_ARM_STD/M2351.sct | 6 +++--- .../TARGET_M2351/device/TOOLCHAIN_GCC_ARM/M2351.ld | 8 ++++---- .../TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf | 4 ++-- tools/toolchains/arm.py | 4 ++-- tools/toolchains/gcc.py | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_MICRO/M2351.sct b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_MICRO/M2351.sct index d393d81492..e7de211e84 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_MICRO/M2351.sct +++ b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_MICRO/M2351.sct @@ -10,7 +10,7 @@ * Secure: 32KiB * Non-secure: 64KiB */ -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS #ifndef MBED_APP_START #define MBED_APP_START 0x10040000 @@ -64,14 +64,14 @@ /* Initial/ISR stack size */ #if (! defined(NU_INITIAL_STACK_SIZE)) -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS #define NU_INITIAL_STACK_SIZE 0x800 #else #define NU_INITIAL_STACK_SIZE 0x800 #endif #endif -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS LR_IROM1 MBED_APP_START { diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_STD/M2351.sct b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_STD/M2351.sct index d393d81492..e7de211e84 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_STD/M2351.sct +++ b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_ARM_STD/M2351.sct @@ -10,7 +10,7 @@ * Secure: 32KiB * Non-secure: 64KiB */ -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS #ifndef MBED_APP_START #define MBED_APP_START 0x10040000 @@ -64,14 +64,14 @@ /* Initial/ISR stack size */ #if (! defined(NU_INITIAL_STACK_SIZE)) -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS #define NU_INITIAL_STACK_SIZE 0x800 #else #define NU_INITIAL_STACK_SIZE 0x800 #endif #endif -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS LR_IROM1 MBED_APP_START { diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_GCC_ARM/M2351.ld b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_GCC_ARM/M2351.ld index 956901e5d4..185e5fa42e 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_GCC_ARM/M2351.ld +++ b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_GCC_ARM/M2351.ld @@ -12,7 +12,7 @@ * Secure: 32KiB * Non-secure: 64KiB */ -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS #ifndef MBED_APP_START #define MBED_APP_START 0x10040000 @@ -50,7 +50,7 @@ #endif -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS StackSize = 0x800; #else StackSize = 0x800; @@ -71,7 +71,7 @@ StackSize = 0x800; #endif -#if defined(__DOMAIN_NS) && __DOMAIN_NS +#if defined(DOMAIN_NS) && DOMAIN_NS MEMORY { @@ -192,7 +192,7 @@ SECTIONS KEEP(*(.eh_frame*)) } > FLASH -#if (! defined(__DOMAIN_NS)) || (! __DOMAIN_NS) +#if (! defined(DOMAIN_NS)) || (! DOMAIN_NS) /* Veneer$$CMSE : */ .gnu.sgstubs : { diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf index cc591e7ca7..ab844f73ea 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf +++ b/targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf @@ -2,7 +2,7 @@ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -if (isdefinedsymbol(__DOMAIN_NS)) { +if (isdefinedsymbol(DOMAIN_NS)) { if (! isdefinedsymbol(MBED_APP_START)) { define symbol MBED_APP_START = 0x10040000; @@ -85,7 +85,7 @@ do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; -if (! isdefinedsymbol(__DOMAIN_NS)) { +if (! isdefinedsymbol(DOMAIN_NS)) { place at address mem:__ICFEDIT_region_NSCROM_start__ { readonly section Veneer$$CMSE }; } place at start of IRAM_region { block CSTACK }; diff --git a/tools/toolchains/arm.py b/tools/toolchains/arm.py index d37c94e92b..d3614e2c53 100644 --- a/tools/toolchains/arm.py +++ b/tools/toolchains/arm.py @@ -424,9 +424,9 @@ class ARMC6(ARM_STD): build_dir = kwargs['build_dir'] secure_file = join(build_dir, "cmse_lib.o") self.flags["ld"] += ["--import_cmse_lib_out=%s" % secure_file] - # Add linking time preprocessor macro __DOMAIN_NS + # Add linking time preprocessor macro DOMAIN_NS if target.core == "Cortex-M23-NS" or self.target.core == "Cortex-M33-NS": - define_string = self.make_ld_define("__DOMAIN_NS", "0x1") + define_string = self.make_ld_define("DOMAIN_NS", "0x1") self.flags["ld"].append(define_string) asm_cpu = { diff --git a/tools/toolchains/gcc.py b/tools/toolchains/gcc.py index f094fb9702..5b1a07eb5c 100644 --- a/tools/toolchains/gcc.py +++ b/tools/toolchains/gcc.py @@ -97,7 +97,7 @@ class GCC(mbedToolchain): "-Wl,--out-implib=%s" % join(build_dir, "cmse_lib.o") ]) elif target.core == "Cortex-M23-NS" or target.core == "Cortex-M33-NS": - self.flags["ld"].append("-D__DOMAIN_NS=1") + self.flags["ld"].append("-DDOMAIN_NS=1") self.flags["common"] += self.cpu From 2ad58510e27150f7e0b49a5bd83ae9f68356eb75 Mon Sep 17 00:00:00 2001 From: Edmund Hsu Date: Wed, 29 Aug 2018 13:38:30 +1000 Subject: [PATCH 032/202] Add consistent ADuCM3029 System return codes and remove duplicate codes --- .../TARGET_ADUCM3029/bsp/system_ADuCM3029.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/bsp/system_ADuCM3029.h b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/bsp/system_ADuCM3029.h index d36a11ee65..5bdce4ec95 100755 --- a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/bsp/system_ADuCM3029.h +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/bsp/system_ADuCM3029.h @@ -40,9 +40,12 @@ extern "C" { #endif /* __cplusplus */ /*! \cond PRIVATE */ -#define SUCCESS 0u - -#define FAILURE 1u +/*! System API function return codes */ +typedef enum +{ + ADI_SYS_SUCCESS = 0, /*!< No error detected. */ + ADI_SYS_FAILURE, /*!< The API call failed. */ +} ADI_SYS_RESULT; /* System clock constant */ #define __HFOSC 26000000u From a97bfaecf5f2df263169e413e687869e8b123c55 Mon Sep 17 00:00:00 2001 From: Edmund Hsu Date: Wed, 29 Aug 2018 13:42:16 +1000 Subject: [PATCH 033/202] Apply consistent system return code to adi_system_EnableRetention() --- .../TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c index 0308310abe..b7697925cf 100755 --- a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c @@ -259,8 +259,8 @@ void adi_system_EnableISRAM(bool bEnable) * \n * \n false :To disable retention during the hibernation. * \n - * @return : SUCCESS : Configured successfully. - * FAILURE : For invalid bank. + * @return : ADI_SYS_SUCCESS : Configured successfully. + * ADI_SYS_FAILURE : For invalid bank. * @note: Please note that respective linker file need to support the configuration. Only BANK-1 and BANK-2 of SRAM is valid. */ @@ -269,7 +269,7 @@ uint32_t adi_system_EnableRetention(ADI_SRAM_BANK eBank,bool bEnable) #ifdef ADI_DEBUG if((eBank != ADI_SRAM_BANK_1) && (eBank != ADI_SRAM_BANK_2)) { - return FAILURE; + return ADI_SYS_FAILURE; } #endif pADI_PMG0->PWRKEY = PWRKEY_VALUE_KEY; @@ -282,5 +282,5 @@ uint32_t adi_system_EnableRetention(ADI_SRAM_BANK eBank,bool bEnable) pADI_PMG0->SRAMRET &= ~((uint32_t)eBank >> 1); } - return SUCCESS; + return ADI_SYS_SUCCESS; } From 8bd9cfb73cd3e2a112af90ca296154a600e22a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=20Lepp=C3=A4nen?= Date: Mon, 13 Aug 2018 15:21:43 +0300 Subject: [PATCH 034/202] Added greentea tests for network interface status and connect/disconnect Added tests: NETWORKINTERFACE_STATUS NETWORKINTERFACE_STATUS_NONBLOCK NETWORKINTERFACE_STATUS_GET NETWORKINTERFACE_CONN_DISC_REPEAT --- TESTS/network/interface/main.cpp | 52 ++++++ .../networkinterface_conn_disc_repeat.cpp | 43 +++++ .../interface/networkinterface_status.cpp | 160 ++++++++++++++++++ .../interface/networkinterface_tests.h | 29 ++++ 4 files changed, 284 insertions(+) create mode 100644 TESTS/network/interface/main.cpp create mode 100644 TESTS/network/interface/networkinterface_conn_disc_repeat.cpp create mode 100644 TESTS/network/interface/networkinterface_status.cpp create mode 100644 TESTS/network/interface/networkinterface_tests.h diff --git a/TESTS/network/interface/main.cpp b/TESTS/network/interface/main.cpp new file mode 100644 index 0000000000..995bec86ff --- /dev/null +++ b/TESTS/network/interface/main.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define WIFI 2 +#if !defined(MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE) || \ + (MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == WIFI && !defined(MBED_CONF_NSAPI_DEFAULT_WIFI_SSID)) +#error [NOT_SUPPORTED] No network configuration found for this target. +#endif + +#include "mbed.h" +#include "greentea-client/test_env.h" +#include "unity/unity.h" +#include "utest.h" +#include "utest/utest_stack_trace.h" +#include "networkinterface_tests.h" + +using namespace utest::v1; + +// Test setup +utest::v1::status_t test_setup(const size_t number_of_cases) +{ + GREENTEA_SETUP(480, "default_auto"); + return verbose_test_setup_handler(number_of_cases); +} + +Case cases[] = { + Case("NETWORKINTERFACE_STATUS", NETWORKINTERFACE_STATUS), + Case("NETWORKINTERFACE_STATUS_NONBLOCK", NETWORKINTERFACE_STATUS_NONBLOCK), + Case("NETWORKINTERFACE_STATUS_GET", NETWORKINTERFACE_STATUS_GET), + Case("NETWORKINTERFACE_CONN_DISC_REPEAT", NETWORKINTERFACE_CONN_DISC_REPEAT), +}; + +Specification specification(test_setup, cases); + +int main() +{ + return !Harness::run(specification); +} diff --git a/TESTS/network/interface/networkinterface_conn_disc_repeat.cpp b/TESTS/network/interface/networkinterface_conn_disc_repeat.cpp new file mode 100644 index 0000000000..9582c7c82b --- /dev/null +++ b/TESTS/network/interface/networkinterface_conn_disc_repeat.cpp @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mbed.h" +#include "greentea-client/test_env.h" +#include "networkinterface_tests.h" +#include "unity/unity.h" +#include "utest.h" + +using namespace utest::v1; + +namespace +{ + NetworkInterface* net; + const int repeats = 5; +} + +void NETWORKINTERFACE_CONN_DISC_REPEAT() +{ + net = NetworkInterface::get_default_instance(); + + for (int i = 0; i < repeats; i++) { + nsapi_error_t err = net->connect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); + + err = net->disconnect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); + } +} diff --git a/TESTS/network/interface/networkinterface_status.cpp b/TESTS/network/interface/networkinterface_status.cpp new file mode 100644 index 0000000000..8da8b139bc --- /dev/null +++ b/TESTS/network/interface/networkinterface_status.cpp @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mbed.h" +#include "greentea-client/test_env.h" +#include "networkinterface_tests.h" +#include "unity/unity.h" +#include "utest.h" + +using namespace utest::v1; + +namespace +{ + NetworkInterface* net; + rtos::Semaphore status_semaphore; + int status_write_counter = 0; + int status_read_counter = 0; + const int repeats = 5; + const int status_buffer_size = 100; + nsapi_connection_status_t current_status = NSAPI_STATUS_ERROR_UNSUPPORTED; + nsapi_connection_status_t statuses[status_buffer_size]; +} + +void status_cb(nsapi_event_t event, intptr_t value) +{ + TEST_ASSERT_EQUAL(NSAPI_EVENT_CONNECTION_STATUS_CHANGE, event); + + statuses[status_write_counter] = static_cast(value); + status_write_counter++; + if (status_write_counter >= status_buffer_size) { + TEST_ASSERT(0); + } + + status_semaphore.release(); +} + +nsapi_connection_status_t wait_status_callback() +{ + nsapi_connection_status_t status; + + while (true) { + status_semaphore.wait(); + + status = statuses[status_read_counter]; + status_read_counter++; + + if (status != current_status) { + current_status = status; + return status; + } + } +} + +void NETWORKINTERFACE_STATUS() +{ + nsapi_connection_status_t status; + + status_write_counter = 0; + status_read_counter = 0; + current_status = NSAPI_STATUS_ERROR_UNSUPPORTED; + + net = NetworkInterface::get_default_instance(); + net->attach(status_cb); + net->set_blocking(true); + + for (int i = 0; i < repeats; i++) { + nsapi_error_t err = net->connect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); + + status = wait_status_callback(); + TEST_ASSERT_EQUAL(NSAPI_STATUS_CONNECTING, status); + + status = wait_status_callback(); + if (status == NSAPI_STATUS_LOCAL_UP) { + status = wait_status_callback(); + } + TEST_ASSERT_EQUAL(NSAPI_STATUS_GLOBAL_UP, status); + + net->disconnect(); + + status = wait_status_callback(); + TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, status); + } + + net->attach(NULL); +} + +void NETWORKINTERFACE_STATUS_NONBLOCK() +{ + nsapi_connection_status_t status; + + status_write_counter = 0; + status_read_counter = 0; + current_status = NSAPI_STATUS_ERROR_UNSUPPORTED; + + net = NetworkInterface::get_default_instance(); + net->attach(status_cb); + net->set_blocking(false); + + for (int i = 0; i < repeats; i++) { + nsapi_error_t err = net->connect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); + + status = wait_status_callback(); + TEST_ASSERT_EQUAL(NSAPI_STATUS_CONNECTING, status); + + status = wait_status_callback(); + if (status == NSAPI_STATUS_LOCAL_UP) { + status = wait_status_callback(); + } + TEST_ASSERT_EQUAL(NSAPI_STATUS_GLOBAL_UP, status); + + net->disconnect(); + + status = wait_status_callback(); + TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, status); + } + + net->attach(NULL); + net->set_blocking(true); +} + +void NETWORKINTERFACE_STATUS_GET() +{ + nsapi_connection_status_t status; + + net = NetworkInterface::get_default_instance(); + net->set_blocking(true); + + TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, net->get_connection_status()); + + for (int i = 0; i < repeats; i++) { + nsapi_error_t err = net->connect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); + + while (net->get_connection_status() != NSAPI_STATUS_GLOBAL_UP) { + wait(0.5); + } + + net->disconnect(); + + TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, net->get_connection_status()); + } + + net->attach(NULL); +} diff --git a/TESTS/network/interface/networkinterface_tests.h b/TESTS/network/interface/networkinterface_tests.h new file mode 100644 index 0000000000..d3d0293d2e --- /dev/null +++ b/TESTS/network/interface/networkinterface_tests.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NETWORKINTERFACE_TESTS_H +#define NETWORKINTERFACE_TESTS_H + +/* + * Test cases + */ +void NETWORKINTERFACE_STATUS(); +void NETWORKINTERFACE_STATUS_NONBLOCK(); +void NETWORKINTERFACE_STATUS_GET(); +void NETWORKINTERFACE_CONN_DISC_REPEAT(); + +#endif //NETWORKINTERFACE_TESTS_H From 3236feede7f9874d362674d69ae3a38a5eed0aa8 Mon Sep 17 00:00:00 2001 From: Kimmo Vaisanen Date: Mon, 10 Sep 2018 13:32:17 +0300 Subject: [PATCH 035/202] Lora: Fix ADRAckReq This commit fixes two bugs related to ADRAckReq: - adr_ack_counter must be incremented for all uplink messages (not just confirmed) - When ADR_ACK_LIMIT + ADR_ACK_DELAY has been reached, stack decreased used datarate twice. --- features/lorawan/lorastack/mac/LoRaMac.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/features/lorawan/lorastack/mac/LoRaMac.cpp b/features/lorawan/lorastack/mac/LoRaMac.cpp index 9aceccd529..18bd3ad56c 100644 --- a/features/lorawan/lorastack/mac/LoRaMac.cpp +++ b/features/lorawan/lorastack/mac/LoRaMac.cpp @@ -163,6 +163,7 @@ void LoRaMac::post_process_mcps_req() _mcps_indication.is_ack_recvd = false; if (_params.is_ul_frame_counter_fixed == false) { _params.ul_frame_counter++; + _params.adr_ack_counter++; } } else { _mcps_confirmation.status = LORAMAC_EVENT_INFO_STATUS_ERROR; @@ -171,6 +172,7 @@ void LoRaMac::post_process_mcps_req() //UNCONFIRMED or PROPRIETARY if (_params.is_ul_frame_counter_fixed == false) { _params.ul_frame_counter++; + _params.adr_ack_counter++; } } } @@ -269,6 +271,7 @@ void LoRaMac::handle_join_accept_frame(const uint8_t *payload, uint16_t size) // Node joined successfully _params.ul_frame_counter = 0; _params.ul_nb_rep_counter = 0; + _params.adr_ack_counter = 0; } else { _mlme_confirmation.status = LORAMAC_EVENT_INFO_STATUS_JOIN_FAIL; @@ -779,7 +782,6 @@ bool LoRaMac::continue_sending_process() { if (_params.ack_timeout_retry_counter > _params.max_ack_timeout_retries) { _mac_commands.clear_command_buffer(); - _params.adr_ack_counter++; _lora_time.stop(_params.timers.ack_timeout_timer); return false; } @@ -1821,13 +1823,17 @@ uint8_t LoRaMac::get_max_possible_tx_size(uint8_t fopts_len) uint8_t max_possible_payload_size = 0; uint8_t allowed_frm_payload_size = 0; + int8_t datarate = _params.sys_params.channel_data_rate; + int8_t tx_power = _params.sys_params.channel_tx_power; + uint32_t adr_ack_counter = _params.adr_ack_counter; + if (_params.sys_params.adr_on) { - _lora_phy->get_next_ADR(false, _params.sys_params.channel_data_rate, - _params.sys_params.channel_tx_power, - _params.adr_ack_counter); + // Just query the information. We do not want to apply them into use + // at this point. + _lora_phy->get_next_ADR(false, datarate, tx_power, adr_ack_counter); } - allowed_frm_payload_size = _lora_phy->get_max_payload(_params.sys_params.channel_data_rate, + allowed_frm_payload_size = _lora_phy->get_max_payload(datarate, _params.is_repeater_supported); if (allowed_frm_payload_size >= fopts_len) { From 41d23a8b8a776fc3ee14bcf2f904ad0bf1457100 Mon Sep 17 00:00:00 2001 From: Jani Suonpera Date: Mon, 17 Sep 2018 10:36:15 +0300 Subject: [PATCH 036/202] Add bootloader image for Nucleo F207ZG --- .../TARGET_NUCLEO_F207ZG/LICENCE | 49 ++++++++++++++++++ ...nucleo_f207zg-block_divice-sotp-v3_4_0.bin | Bin 0 -> 30252 bytes .../TARGET_NUCLEO_F207ZG/mbed_lib.json | 10 ++++ 3 files changed, 59 insertions(+) create mode 100644 features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/LICENCE create mode 100755 features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin create mode 100644 features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json diff --git a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/LICENCE b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/LICENCE new file mode 100644 index 0000000000..591ac29615 --- /dev/null +++ b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/LICENCE @@ -0,0 +1,49 @@ +Permissive Binary License + +Version 1.0, September 2015 + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +1) Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +2) Unless to the extent explicitly permitted by law, no reverse + engineering, decompilation, or disassembly of this software is + permitted. + +3) Redistribution as part of a software development kit must include the + accompanying file named "DEPENDENCIES" and any dependencies listed in + that file. + +4) Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Limited patent license. The copyright holders (and contributors) grant a +worldwide, non-exclusive, no-charge, royalty-free patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer this software, where such license applies only to those patent +claims licensable by the copyright holders (and contributors) that are +necessarily infringed by this software. This patent license shall not +apply to any combinations that include this software. No hardware is +licensed hereunder. + +If you institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the software +itself infringes your patent(s), then your rights granted under this +license shall terminate as of the date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin new file mode 100755 index 0000000000000000000000000000000000000000..f24ada043b422f43e28db1de1d718e122dc61bbc GIT binary patch literal 30252 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 Pmfz3u54$+N9cBLlV-Ezo literal 0 HcmV?d00001 diff --git a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json new file mode 100644 index 0000000000..7cda38d4be --- /dev/null +++ b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json @@ -0,0 +1,10 @@ +{ + "name": "bootloader_NUCLEO_F207ZG", + "target_overrides": { + "*": { + "target.app_offset": "0x10400", + "target.header_offset": "0x10000", + "target.bootloader_img": "mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin" + } + } +} From 3b233c59de0269f6da7f29d3552a26f4e3b638ac Mon Sep 17 00:00:00 2001 From: Jani Suonpera Date: Mon, 17 Sep 2018 14:03:35 +0300 Subject: [PATCH 037/202] Rename F207ZG bootloader binary Typo fix and fix version hash. --- ...leo_f207zg-block_device-sotp-v3.4.0-3-gdbbb.bin} | Bin .../TARGET_NUCLEO_F207ZG/mbed_lib.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/{mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin => mbed-bootloader-nucleo_f207zg-block_device-sotp-v3.4.0-3-gdbbb.bin} (100%) diff --git a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_device-sotp-v3.4.0-3-gdbbb.bin similarity index 100% rename from features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin rename to features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed-bootloader-nucleo_f207zg-block_device-sotp-v3.4.0-3-gdbbb.bin diff --git a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json index 7cda38d4be..d7ef4d0513 100644 --- a/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json +++ b/features/FEATURE_BOOTLOADER/targets/TARGET_STM/TARGET_STM32F2/TARGET_NUCLEO_F207ZG/mbed_lib.json @@ -4,7 +4,7 @@ "*": { "target.app_offset": "0x10400", "target.header_offset": "0x10000", - "target.bootloader_img": "mbed-bootloader-nucleo_f207zg-block_divice-sotp-v3_4_0.bin" + "target.bootloader_img": "mbed-bootloader-nucleo_f207zg-block_device-sotp-v3.4.0-3-gdbbb.bin" } } } From b6b331f94d76dfd58ec032546974a8c3725c0cc5 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Mon, 17 Sep 2018 15:37:11 +0300 Subject: [PATCH 038/202] add auto-naming of unit test suites --- UNITTESTS/CMakeLists.txt | 18 ++++++++++++------ .../AT/at_cellularbase/unittest.cmake | 3 --- .../framework/common/util/unittest.cmake | 3 --- .../netsocket/InternetSocket/unittest.cmake | 3 --- .../netsocket/NetworkInterface/unittest.cmake | 3 --- .../netsocket/TCPSocket/unittest.cmake | 3 --- .../netsocket/UDPSocket/unittest.cmake | 3 --- .../platform/CircularBuffer/unittest.cmake | 3 --- 8 files changed, 12 insertions(+), 27 deletions(-) diff --git a/UNITTESTS/CMakeLists.txt b/UNITTESTS/CMakeLists.txt index 76a0fddf4a..a50455c689 100644 --- a/UNITTESTS/CMakeLists.txt +++ b/UNITTESTS/CMakeLists.txt @@ -147,11 +147,17 @@ foreach(testfile ${unittest-file-list}) # Get source files include("${testfile}") - if(TEST_SUITE_NAME) - set(TEST_SUITES ${TEST_SUITES} ${TEST_SUITE_NAME}) - else() - message(FATAL_ERROR "No TEST_SUITE_NAME found in test file. Add it to ${testfile}.") - endif() + get_filename_component(TEST_SUITE_DIR ${testfile} DIRECTORY) + + file(RELATIVE_PATH + TEST_SUITE_NAME # output + ${PROJECT_SOURCE_DIR} # root + ${TEST_SUITE_DIR} #abs dirpath + ) + + string(REGEX REPLACE "/|\\\\" "-" TEST_SUITE_NAME ${TEST_SUITE_NAME}) + + set(TEST_SUITES ${TEST_SUITES} ${TEST_SUITE_NAME}) set(LIBS_TO_BE_LINKED gmock_main) @@ -178,7 +184,7 @@ foreach(testfile ${unittest-file-list}) # Link the executable with the libraries. target_link_libraries(${TEST_SUITE_NAME} ${LIBS_TO_BE_LINKED}) - add_test(NAME "${TEST_SUITE_NAME}UnitTests" COMMAND ${TEST_SUITE_NAME}) + add_test(NAME "${TEST_SUITE_NAME}" COMMAND ${TEST_SUITE_NAME}) # Append test build directory to list list(APPEND BUILD_DIRECTORIES "./CMakeFiles/${TEST_SUITE_NAME}.dir") diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake index b842f53743..eab77c34eb 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularbase/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "cellular-framework-AT-AT_CellularBase") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/AT/AT_CellularBase diff --git a/UNITTESTS/features/cellular/framework/common/util/unittest.cmake b/UNITTESTS/features/cellular/framework/common/util/unittest.cmake index cefe41bb1c..5a51c7f42c 100644 --- a/UNITTESTS/features/cellular/framework/common/util/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/common/util/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "cellular-framework-common-util") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake b/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake index a8a79bf90e..3d4297e530 100644 --- a/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/InternetSocket/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "features-netsocket-InternetSocket") - set(unittest-sources ../features/netsocket/SocketAddress.cpp ../features/netsocket/NetworkStack.cpp diff --git a/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake b/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake index b89cd580b0..cab0725e05 100644 --- a/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake +++ b/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "features-netsocket-NetworkInterface") - # Source files set(unittest-sources ../features/netsocket/NetworkInterface.cpp diff --git a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake index 4128378d8c..0265ca19b0 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "features-netsocket-TCPSocket") - set(unittest-sources ../features/netsocket/SocketAddress.cpp ../features/netsocket/InternetSocket.cpp diff --git a/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake b/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake index e8a8c828ed..b57c38e6f4 100644 --- a/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/UDPSocket/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "features-netsocket-UDPSocket") - set(unittest-sources ../features/netsocket/SocketAddress.cpp ../features/netsocket/NetworkStack.cpp diff --git a/UNITTESTS/platform/CircularBuffer/unittest.cmake b/UNITTESTS/platform/CircularBuffer/unittest.cmake index 8beeb88efb..34187f4f95 100644 --- a/UNITTESTS/platform/CircularBuffer/unittest.cmake +++ b/UNITTESTS/platform/CircularBuffer/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "platform-CircularBuffer") - set(unittest-sources ) From 2c8550b51040402eefa633653b6230d7ec4bd3d2 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Mon, 17 Sep 2018 15:59:05 +0300 Subject: [PATCH 039/202] update test file generator --- UNITTESTS/README.md | 3 --- UNITTESTS/template/unittest.cmake.template | 3 --- UNITTESTS/unit_test/new.py | 5 +---- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/UNITTESTS/README.md b/UNITTESTS/README.md index 0ae44996f1..a405baceed 100644 --- a/UNITTESTS/README.md +++ b/UNITTESTS/README.md @@ -203,7 +203,6 @@ Each class to be tested requires two files for unit testing: A unit test definition file `unittest.cmake` requires variables to be set for a test to be configured. File source paths in `unittest.cmake` files need to be relative to the unit test folder and `CMakeLists.txt`. -* **TEST_SUITE_NAME** - Identifier for the test suite. Use naming convention *PATH_TO_THE_TESTABLE_FILE* e.g. *features-netsocket-InternetSocket* * **unittest-includes** - Include paths for headers needed to build the tests in addition to the base include paths listed in [CMakeLists.txt](CMakeLists.txt). Optional. * **unittest-sources** - Mbed OS source files and stubs included for the build. * **unittest-test-sources** - Unit test source files. @@ -225,8 +224,6 @@ For example to create a unit test for `rtos/Semaphore.cpp`: 1. Create a directory for unit test files in `UNITTESTS/rtos/Semaphore`. 2. Create a test definition file `UNITTESTS/rtos/Semaphore/unittest.cmake` with the following content: ``` -set(TEST_SUITE_NAME "rtos-Semaphore") - set(unittest-sources stubs/mbed_assert.c ../rtos/Semaphore.cpp diff --git a/UNITTESTS/template/unittest.cmake.template b/UNITTESTS/template/unittest.cmake.template index bd463665df..a5f0301525 100644 --- a/UNITTESTS/template/unittest.cmake.template +++ b/UNITTESTS/template/unittest.cmake.template @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "suitename") - set(unittest-includes ${unittest-includes} headerfile ) diff --git a/UNITTESTS/unit_test/new.py b/UNITTESTS/unit_test/new.py index f9fb748d85..772e310696 100644 --- a/UNITTESTS/unit_test/new.py +++ b/UNITTESTS/unit_test/new.py @@ -28,7 +28,7 @@ class UnitTestGeneratorTool(object): Generator tool to create new unit tests from template """ - def _replace_content(self, template_content, dirname, classname, suite_name, extension): + def _replace_content(self, template_content, dirname, classname, extension): if extension == "h": content = re.sub(r"cppfile", "", @@ -41,7 +41,6 @@ class UnitTestGeneratorTool(object): content = re.sub(r"headerfile", "../dirname/template.h", content) content = re.sub(r"dirname", dirname, content) content = re.sub(r"template", classname, content) - content = re.sub(r"suitename", suite_name, content) return content @@ -111,7 +110,6 @@ class UnitTestGeneratorTool(object): content = self._replace_content(template_content, dir_name, class_name, - suite_name, file_extension) output_file.writelines(content) @@ -130,7 +128,6 @@ class UnitTestGeneratorTool(object): content = self._replace_content(template_content, dir_name, class_name, - suite_name, file_extension) output_file.writelines(content) From e49523b11c3c4a1d7635a2bc0d251b91d3ad292a Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Wed, 19 Sep 2018 11:19:27 +0300 Subject: [PATCH 040/202] remove test suite names from cellular tests --- .../cellular/framework/AT/at_cellulardevice/unittest.cmake | 3 --- .../framework/AT/at_cellularinformation/unittest.cmake | 3 --- .../cellular/framework/AT/at_cellularnetwork/unittest.cmake | 3 --- .../cellular/framework/AT/at_cellularpower/unittest.cmake | 3 --- .../cellular/framework/AT/at_cellularsim/unittest.cmake | 3 --- .../cellular/framework/AT/at_cellularsms/unittest.cmake | 3 --- .../cellular/framework/AT/at_cellularstack/unittest.cmake | 3 --- .../features/cellular/framework/AT/athandler/unittest.cmake | 3 --- 8 files changed, 24 deletions(-) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake index 36b69e0dbe..a259abbaff 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellulardevice/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_device_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake index 0a64cf5242..9a0a7435ce 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularinformation/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_information_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake index e41cf3c6de..194109d8d2 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_network_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake index 118bdac47c..bf177affd9 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularpower/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_power_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake index ab4f3c0763..d3a6709606 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsim/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_sim_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake index ba6c5b52c8..e9816c2ea3 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularsms/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_sms_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake index 32ed822154..5087e2f82e 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularstack/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_cellular_stack_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake b/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake index 6f9c05df34..6fbe35d4aa 100644 --- a/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake +++ b/UNITTESTS/features/cellular/framework/AT/athandler/unittest.cmake @@ -3,9 +3,6 @@ # UNIT TESTS #################### -# Unit test suite name -set(TEST_SUITE_NAME "at_handler_unit") - # Add test specific include paths set(unittest-includes ${unittest-includes} features/cellular/framework/common/util From 6b11e99b964ce330b5fbda6b752837d23ba93098 Mon Sep 17 00:00:00 2001 From: Hasnain Virk Date: Tue, 11 Sep 2018 10:32:23 +0300 Subject: [PATCH 041/202] LoRaWAN: Refactoring compliance test code While performing compliance tests with an industry tester, we realized that there was no need for any extra handling code for the compliance tests. The tests would run fine, if we only have a handling application. However, in normal operation we wouldn't like the network to send us any traffic on compliance testing port. To mitigate that, on the reception path we filter out any traffic on compliance testing port if compliance testing is not underway. User should define LORAWAN_COMPLIANCE_TEST macro in mbed_app.json to enable traffic on compliance test port. --- features/lorawan/LoRaWANStack.cpp | 342 ++++-------------- features/lorawan/LoRaWANStack.h | 15 - features/lorawan/lorastack/mac/LoRaMac.cpp | 154 +------- features/lorawan/lorastack/mac/LoRaMac.h | 130 ------- features/lorawan/lorawan_types.h | 2 + .../lorawan/system/lorawan_data_structures.h | 116 ------ 6 files changed, 77 insertions(+), 682 deletions(-) diff --git a/features/lorawan/LoRaWANStack.cpp b/features/lorawan/LoRaWANStack.cpp index 42f2ba25e0..a73512ebbc 100644 --- a/features/lorawan/LoRaWANStack.cpp +++ b/features/lorawan/LoRaWANStack.cpp @@ -35,6 +35,7 @@ SPDX-License-Identifier: BSD-3-Clause #define INVALID_PORT 0xFF #define MAX_CONFIRMED_MSG_RETRIES 255 +#define COMPLIANCE_TESTING_PORT 224 /** * Control flags for transient states */ @@ -49,16 +50,6 @@ SPDX-License-Identifier: BSD-3-Clause using namespace mbed; using namespace events; -#if defined(LORAWAN_COMPLIANCE_TEST) -#if (MBED_CONF_LORA_PHY == 0 || MBED_CONF_LORA_PHY == 4 || MBED_CONF_LORA_PHY == 6 || MBED_CONF_LORA_PHY == 7) -#define LORAWAN_COMPLIANCE_TEST_DATA_SIZE 16 -#elif (MBED_CONF_LORA_PHY == 1 || MBED_CONF_LORA_PHY == 2 || MBED_CONF_LORA_PHY == 8 || MBED_CONF_LORA_PHY == 9) -#define LORAWAN_COMPLIANCE_TEST_DATA_SIZE 11 -#else -#error "Must set LoRa PHY layer parameters." -#endif -#endif //defined(LORAWAN_COMPLIANCE_TEST) - /** * Bit mask for message flags */ @@ -317,12 +308,6 @@ int16_t LoRaWANStack::handle_tx(const uint8_t port, const uint8_t *data, return LORAWAN_STATUS_WOULD_BLOCK; } -#if defined(LORAWAN_COMPLIANCE_TEST) - if (_compliance_test.running) { - return LORAWAN_STATUS_COMPLIANCE_TEST_ON; - } -#endif - lorawan_status_t status; if (_loramac.nwk_joined() == false) { @@ -373,12 +358,6 @@ int16_t LoRaWANStack::handle_rx(uint8_t *data, uint16_t length, uint8_t &port, i return LORAWAN_STATUS_WOULD_BLOCK; } -#if defined(LORAWAN_COMPLIANCE_TEST) - if (_compliance_test.running) { - return LORAWAN_STATUS_COMPLIANCE_TEST_ON; - } -#endif - if (data == NULL || length == 0) { return LORAWAN_STATUS_PARAMETER_INVALID; } @@ -655,6 +634,11 @@ void LoRaWANStack::process_reception(const uint8_t *const payload, uint16_t size if (_loramac.get_mlme_confirmation()->pending) { _loramac.post_process_mlme_request(); mlme_confirm_handler(); + + if (_loramac.get_mlme_confirmation()->req_type == MLME_JOIN) { + _ready_for_rx = true; + return; + } } if (!_loramac.nwk_joined()) { @@ -785,9 +769,17 @@ bool LoRaWANStack::is_port_valid(const uint8_t port, bool allow_port_0) //Application should not use reserved and illegal port numbers. if (port == 0) { return allow_port_0; + } else if (port == COMPLIANCE_TESTING_PORT){ +#if !defined(LORAWAN_COMPLIANCE_TEST) + return false; +#endif } else { return true; } + + // fallback for compliance testing port if LORAWAN_COMPLIANCE_TEST + // was defined + return true; } lorawan_status_t LoRaWANStack::set_application_port(const uint8_t port, bool allow_port_0) @@ -915,22 +907,16 @@ void LoRaWANStack::mlme_indication_handler() void LoRaWANStack::mlme_confirm_handler() { if (_loramac.get_mlme_confirmation()->req_type == MLME_LINK_CHECK) { - if (_loramac.get_mlme_confirmation()->status == LORAMAC_EVENT_INFO_STATUS_OK) { -#if defined(LORAWAN_COMPLIANCE_TEST) - if (_compliance_test.running == true) { - _compliance_test.link_check = true; - _compliance_test.demod_margin = _loramac.get_mlme_confirmation()->demod_margin; - _compliance_test.nb_gateways = _loramac.get_mlme_confirmation()->nb_gateways; - } else -#endif - { - if (_callbacks.link_check_resp) { - const int ret = _queue->call(_callbacks.link_check_resp, - _loramac.get_mlme_confirmation()->demod_margin, - _loramac.get_mlme_confirmation()->nb_gateways); - MBED_ASSERT(ret != 0); - (void)ret; - } + if (_loramac.get_mlme_confirmation()->status + == LORAMAC_EVENT_INFO_STATUS_OK) { + + if (_callbacks.link_check_resp) { + const int ret = _queue->call( + _callbacks.link_check_resp, + _loramac.get_mlme_confirmation()->demod_margin, + _loramac.get_mlme_confirmation()->nb_gateways); + MBED_ASSERT(ret != 0); + (void) ret; } } } @@ -999,64 +985,61 @@ void LoRaWANStack::mcps_indication_handler() _lw_session.downlink_counter = mcps_indication->dl_frame_counter; -#if defined(LORAWAN_COMPLIANCE_TEST) - if (_compliance_test.running == true) { - _compliance_test.downlink_counter++; + /** + * Check port, if it's compliance testing port and the compliance testing is + * not enabled, give up silently + */ + if (mcps_indication->port == COMPLIANCE_TESTING_PORT) { +#if !defined(LORAWAN_COMPLIANCE_TEST) + return; +#endif } -#endif - if (mcps_indication->port == 224) { -#if defined(LORAWAN_COMPLIANCE_TEST) - tr_debug("Compliance test command received."); - compliance_test_handler(mcps_indication); -#else - tr_info("Compliance test disabled."); -#endif - } else { - if (mcps_indication->is_data_recvd) { - // Valid message arrived. - _rx_msg.type = LORAMAC_RX_MCPS_INDICATION; - _rx_msg.msg.mcps_indication.buffer_size = mcps_indication->buffer_size; - _rx_msg.msg.mcps_indication.port = mcps_indication->port; - _rx_msg.msg.mcps_indication.buffer = mcps_indication->buffer; - _rx_msg.msg.mcps_indication.type = mcps_indication->type; + if (mcps_indication->is_data_recvd) { + // Valid message arrived. + _rx_msg.type = LORAMAC_RX_MCPS_INDICATION; + _rx_msg.msg.mcps_indication.buffer_size = mcps_indication->buffer_size; + _rx_msg.msg.mcps_indication.port = mcps_indication->port; + _rx_msg.msg.mcps_indication.buffer = mcps_indication->buffer; + _rx_msg.msg.mcps_indication.type = mcps_indication->type; - // Notify application about received frame.. - tr_debug("Packet Received %d bytes, Port=%d", - _rx_msg.msg.mcps_indication.buffer_size, - mcps_indication->port); - _rx_msg.receive_ready = true; - send_event_to_application(RX_DONE); - } + // Notify application about received frame.. + tr_debug("Packet Received %d bytes, Port=%d", + _rx_msg.msg.mcps_indication.buffer_size, + mcps_indication->port); + _rx_msg.receive_ready = true; + send_event_to_application(RX_DONE); + } - /* - * If fPending bit is set we try to generate an empty packet - * with CONFIRMED flag set. We always set a CONFIRMED flag so - * that we could retry a certain number of times if the uplink - * failed for some reason - * or - * Class C and node received a confirmed message so we need to - * send an empty packet to acknowledge the message. - * This scenario is unspecified by LoRaWAN 1.0.2 specification, - * but version 1.1.0 says that network SHALL not send any new - * confirmed messages until ack has been sent - */ - if ((_loramac.get_device_class() != CLASS_C && mcps_indication->fpending_status) - || - (_loramac.get_device_class() == CLASS_C && mcps_indication->type == MCPS_CONFIRMED)) { + /* + * If fPending bit is set we try to generate an empty packet + * with CONFIRMED flag set. We always set a CONFIRMED flag so + * that we could retry a certain number of times if the uplink + * failed for some reason + * or + * Class C and node received a confirmed message so we need to + * send an empty packet to acknowledge the message. + * This scenario is unspecified by LoRaWAN 1.0.2 specification, + * but version 1.1.0 says that network SHALL not send any new + * confirmed messages until ack has been sent + */ + if ((_loramac.get_device_class() != CLASS_C + && mcps_indication->fpending_status) + || (_loramac.get_device_class() == CLASS_C + && mcps_indication->type == MCPS_CONFIRMED)) { #if (MBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE) - tr_debug("Sending empty uplink message..."); - _automatic_uplink_ongoing = true; - const int ret = _queue->call(this, &LoRaWANStack::send_automatic_uplink_message, mcps_indication->port); - MBED_ASSERT(ret != 0); - (void)ret; + tr_debug("Sending empty uplink message..."); + _automatic_uplink_ongoing = true; + const int ret = _queue->call(this, &LoRaWANStack::send_automatic_uplink_message, mcps_indication->port); + MBED_ASSERT(ret != 0); + (void)ret; #else - send_event_to_application(UPLINK_REQUIRED); + send_event_to_application(UPLINK_REQUIRED); #endif - } } } + lorawan_status_t LoRaWANStack::state_controller(device_states_t new_state) { lorawan_status_t status = LORAWAN_STATUS_OK; @@ -1249,190 +1232,3 @@ void LoRaWANStack::process_uninitialized_state(lorawan_status_t &op_status) _device_current_state = DEVICE_STATE_IDLE; } } - -#if defined(LORAWAN_COMPLIANCE_TEST) - -lorawan_status_t LoRaWANStack::send_compliance_test_frame_to_mac() -{ - loramac_compliance_test_req_t test_req; - - //TODO: What if the port is not 224 ??? - if (_compliance_test.app_port == 224) { - // Clear any normal message stuff before compliance test. - memset(&test_req, 0, sizeof(test_req)); - - if (_compliance_test.link_check == true) { - _compliance_test.link_check = false; - _compliance_test.state = 1; - test_req.f_buffer_size = 3; - test_req.f_buffer[0] = 5; - test_req.f_buffer[1] = _compliance_test.demod_margin; - test_req.f_buffer[2] = _compliance_test.nb_gateways; - } else { - switch (_compliance_test.state) { - case 4: - _compliance_test.state = 1; - test_req.f_buffer_size = _compliance_test.app_data_size; - test_req.f_buffer[0] = _compliance_test.app_data_buffer[0]; - for (uint8_t i = 1; i < MIN(_compliance_test.app_data_size, MBED_CONF_LORA_TX_MAX_SIZE); ++i) { - test_req.f_buffer[i] = _compliance_test.app_data_buffer[i]; - } - break; - case 1: - test_req.f_buffer_size = 2; - test_req.f_buffer[0] = _compliance_test.downlink_counter >> 8; - test_req.f_buffer[1] = _compliance_test.downlink_counter; - break; - } - } - } - - //TODO: If port is not 224, this might not work! - //Is there a test case where same _tx_msg's buffer would be used, when port is not 224??? - if (!_compliance_test.is_tx_confirmed) { - test_req.type = MCPS_UNCONFIRMED; - test_req.fport = _compliance_test.app_port; - test_req.nb_trials = 1; - test_req.data_rate = _loramac.get_default_tx_datarate(); - - tr_info("Transmit unconfirmed compliance test frame %d bytes.", test_req.f_buffer_size); - - for (uint8_t i = 0; i < test_req.f_buffer_size; ++i) { - tr_info("Byte %d, data is 0x%x", i + 1, ((uint8_t *)test_req.f_buffer)[i]); - } - } else if (_compliance_test.is_tx_confirmed) { - test_req.type = MCPS_CONFIRMED; - test_req.fport = _compliance_test.app_port; - test_req.nb_trials = _num_retry; - test_req.data_rate = _loramac.get_default_tx_datarate(); - - tr_info("Transmit confirmed compliance test frame %d bytes.", test_req.f_buffer_size); - - for (uint8_t i = 0; i < test_req.f_buffer_size; ++i) { - tr_info("Byte %d, data is 0x%x", i + 1, ((uint8_t *)test_req.f_buffer)[i]); - } - } else { - return LORAWAN_STATUS_SERVICE_UNKNOWN; - } - - return _loramac.test_request(&test_req); -} - -void LoRaWANStack::compliance_test_handler(loramac_mcps_indication_t *mcps_indication) -{ - if (_compliance_test.running == false) { - // Check compliance test enable command (i) - if ((mcps_indication->buffer_size == 4) && - (mcps_indication->buffer[0] == 0x01) && - (mcps_indication->buffer[1] == 0x01) && - (mcps_indication->buffer[2] == 0x01) && - (mcps_indication->buffer[3] == 0x01)) { - _compliance_test.is_tx_confirmed = false; - _compliance_test.app_port = 224; - _compliance_test.app_data_size = 2; - _compliance_test.downlink_counter = 0; - _compliance_test.link_check = false; - _compliance_test.demod_margin = 0; - _compliance_test.nb_gateways = 0; - _compliance_test.running = true; - _compliance_test.state = 1; - - _loramac.enable_adaptive_datarate(true); - -#if MBED_CONF_LORA_PHY == 0 - _loramac.LoRaMacTestSetDutyCycleOn(false); -#endif - //5000ms - _loramac.LoRaMacSetTxTimer(5000); - - //TODO: Should we call lora_state_machine here instead of just setting the state? - _device_current_state = DEVICE_STATE_COMPLIANCE_TEST; -// lora_state_machine(DEVICE_STATE_COMPLIANCE_TEST); - tr_debug("Compliance test activated."); - } - } else { - _compliance_test.state = mcps_indication->buffer[0]; - switch (_compliance_test.state) { - case 0: // Check compliance test disable command (ii) - _compliance_test.is_tx_confirmed = true; - _compliance_test.app_port = MBED_CONF_LORA_APP_PORT; - _compliance_test.app_data_size = LORAWAN_COMPLIANCE_TEST_DATA_SIZE; - _compliance_test.downlink_counter = 0; - _compliance_test.running = false; - - _loramac.enable_adaptive_datarate(MBED_CONF_LORA_ADR_ON); - -#if MBED_CONF_LORA_PHY == 0 - _loramac.LoRaMacTestSetDutyCycleOn(MBED_CONF_LORA_DUTY_CYCLE_ON); -#endif - // Go to idle state after compliance test mode. - tr_debug("Compliance test disabled."); - _loramac.LoRaMacStopTxTimer(); - - // Clear any compliance test message stuff before going back to normal operation. - _loramac.reset_ongoing_tx(); - lora_state_machine(DEVICE_STATE_IDLE); - break; - case 1: // (iii, iv) - _compliance_test.app_data_size = 2; - break; - case 2: // Enable confirmed messages (v) - _compliance_test.is_tx_confirmed = true; - _compliance_test.state = 1; - break; - case 3: // Disable confirmed messages (vi) - _compliance_test.is_tx_confirmed = false; - _compliance_test.state = 1; - break; - case 4: // (vii) - _compliance_test.app_data_size = mcps_indication->buffer_size; - - _compliance_test.app_data_buffer[0] = 4; - for (uint8_t i = 1; i < MIN(_compliance_test.app_data_size, LORAMAC_PHY_MAXPAYLOAD); ++i) { - _compliance_test.app_data_buffer[i] = mcps_indication->buffer[i] + 1; - } - - send_compliance_test_frame_to_mac(); - break; - case 5: // (viii) - _loramac.setup_link_check_request(); - break; - case 6: // (ix) - // Disable TestMode and revert back to normal operation - _compliance_test.is_tx_confirmed = true; - _compliance_test.app_port = MBED_CONF_LORA_APP_PORT; - _compliance_test.app_data_size = LORAWAN_COMPLIANCE_TEST_DATA_SIZE; - _compliance_test.downlink_counter = 0; - _compliance_test.running = false; - - _loramac.enable_adaptive_datarate(MBED_CONF_LORA_ADR_ON); - -#if MBED_CONF_LORA_PHY == 0 - _loramac.LoRaMacTestSetDutyCycleOn(MBED_CONF_LORA_DUTY_CYCLE_ON); -#endif - _loramac.join(true); - break; - case 7: // (x) - if (mcps_indication->buffer_size == 3) { - loramac_mlme_req_t mlme_req; - mlme_req.type = MLME_TXCW; - mlme_req.cw_tx_mode.timeout = (uint16_t)((mcps_indication->buffer[1] << 8) | mcps_indication->buffer[2]); - _loramac.mlme_request(&mlme_req); - } else if (mcps_indication->buffer_size == 7) { - loramac_mlme_req_t mlme_req; - mlme_req.type = MLME_TXCW_1; - mlme_req.cw_tx_mode.timeout = (uint16_t)((mcps_indication->buffer[1] << 8) - | mcps_indication->buffer[2]); - mlme_req.cw_tx_mode.frequency = (uint32_t)((mcps_indication->buffer[3] << 16) - | (mcps_indication->buffer[4] << 8) - | mcps_indication->buffer[5]) * 100; - mlme_req.cw_tx_mode.power = mcps_indication->buffer[6]; - _loramac.mlme_request(&mlme_req); - } - _compliance_test.state = 1; - break; - } - } -} -#endif - diff --git a/features/lorawan/LoRaWANStack.h b/features/lorawan/LoRaWANStack.h index 4f052d9d1c..d417108b88 100644 --- a/features/lorawan/LoRaWANStack.h +++ b/features/lorawan/LoRaWANStack.h @@ -505,21 +505,6 @@ private: uint8_t _rx_payload[LORAMAC_PHY_MAXPAYLOAD]; events::EventQueue *_queue; lorawan_time_t _tx_timestamp; - -#if defined(LORAWAN_COMPLIANCE_TEST) - - /** - * Used only for compliance testing - */ - void compliance_test_handler(loramac_mcps_indication_t *mcps_indication); - - /** - * Used only for compliance testing - */ - lorawan_status_t send_compliance_test_frame_to_mac(); - - compliance_test_t _compliance_test; -#endif }; #endif /* LORAWANSTACK_H_ */ diff --git a/features/lorawan/lorastack/mac/LoRaMac.cpp b/features/lorawan/lorastack/mac/LoRaMac.cpp index 18bd3ad56c..5d5e0d6899 100644 --- a/features/lorawan/lorastack/mac/LoRaMac.cpp +++ b/features/lorawan/lorastack/mac/LoRaMac.cpp @@ -1106,12 +1106,14 @@ lorawan_status_t LoRaMac::schedule_tx() break; } - tr_debug("TX: Channel=%d, DR=%d", _params.channel, next_channel.current_datarate); - - uint8_t dr_offset = _lora_phy->apply_DR_offset(_params.sys_params.channel_data_rate, + uint8_t rx1_dr = _lora_phy->apply_DR_offset(_params.sys_params.channel_data_rate, _params.sys_params.rx1_dr_offset); - _lora_phy->compute_rx_win_params(dr_offset, MBED_CONF_LORA_DOWNLINK_PREAMBLE_LENGTH, + tr_debug("TX: Channel=%d, TX DR=%d, RX1 DR=%d", + _params.channel, _params.sys_params.channel_data_rate, rx1_dr); + + + _lora_phy->compute_rx_win_params(rx1_dr, MBED_CONF_LORA_DOWNLINK_PREAMBLE_LENGTH, MBED_CONF_LORA_MAX_SYS_RX_ERROR, &_params.rx_window1_config); @@ -1948,147 +1950,3 @@ void LoRaMac::bind_phy(LoRaPHY &phy) { _lora_phy = &phy; } - -#if defined(LORAWAN_COMPLIANCE_TEST) -/*************************************************************************** - * Compliance testing * - **************************************************************************/ - - -lorawan_status_t LoRaMac::mlme_request(loramac_mlme_req_t *mlmeRequest) -{ - if (LORAMAC_IDLE != _params.mac_state) { - return LORAWAN_STATUS_BUSY; - } - - reset_mlme_confirmation(); - - _mlme_confirmation.req_type = mlmeRequest->type; - _params.flags.bits.mlme_req = 1; - - lorawan_status_t status = LORAWAN_STATUS_SERVICE_UNKNOWN; - - if (MLME_TXCW == mlmeRequest->type) { - set_tx_continuous_wave(_params.channel, _params.sys_params.channel_data_rate, _params.sys_params.channel_tx_power, - _params.sys_params.max_eirp, _params.sys_params.antenna_gain, mlmeRequest->cw_tx_mode.timeout); - _lora_time.start(_params.timers.mac_state_check_timer, - MAC_STATE_CHECK_TIMEOUT); - - _params.mac_state |= LORAMAC_TX_RUNNING; - status = LORAWAN_STATUS_OK; - } else if (MLME_TXCW_1 == mlmeRequest->type) { - set_tx_continuous_wave(0, 0, mlmeRequest->cw_tx_mode.power, 0, 0, mlmeRequest->cw_tx_mode.timeout); - _lora_time.start(_params.timers.mac_state_check_timer, - MAC_STATE_CHECK_TIMEOUT); - - _params.mac_state |= LORAMAC_TX_RUNNING; - status = LORAWAN_STATUS_OK; - } - - if (status != LORAWAN_STATUS_OK) { - _params.is_node_ack_requested = false; - _params.flags.bits.mlme_req = 0; - } - - return status; -} - -lorawan_status_t LoRaMac::test_request(loramac_compliance_test_req_t *mcpsRequest) -{ - if (_params.mac_state != LORAMAC_IDLE) { - return LORAWAN_STATUS_BUSY; - } - - loramac_mhdr_t machdr; - int8_t datarate = mcpsRequest->data_rate; - // TODO: The comment is different than the code??? - // Apply the minimum possible datarate. - // Some regions have limitations for the minimum datarate. - datarate = MAX(datarate, (int8_t)_lora_phy->get_minimum_tx_datarate()); - - machdr.value = 0; - - reset_mcps_confirmation(); - - _params.ack_timeout_retry_counter = 1; - _params.max_ack_timeout_retries = 1; - - switch (mcpsRequest->type) { - case MCPS_UNCONFIRMED: { - machdr.bits.mtype = FRAME_TYPE_DATA_UNCONFIRMED_UP; - break; - } - case MCPS_CONFIRMED: { - machdr.bits.mtype = FRAME_TYPE_DATA_CONFIRMED_UP; - _params.max_ack_timeout_retries = mcpsRequest->nb_trials; - break; - } - case MCPS_PROPRIETARY: { - machdr.bits.mtype = FRAME_TYPE_PROPRIETARY; - break; - } - default: - return LORAWAN_STATUS_PARAMETER_INVALID; - } - -// Filter fPorts -// TODO: Does not work with PROPRIETARY messages -// if( IsFPortAllowed( mcpsRequest->fport ) == false ) { -// return LORAWAN_STATUS_PARAMETER_INVALID; -// } - - if (_params.sys_params.adr_on == false) { - if (_lora_phy->verify_tx_datarate(datarate, false) == true) { - _params.sys_params.channel_data_rate = datarate; - } else { - return LORAWAN_STATUS_PARAMETER_INVALID; - } - } - - lorawan_status_t status = send(&machdr, mcpsRequest->fport, mcpsRequest->f_buffer, - mcpsRequest->f_buffer_size); - if (status == LORAWAN_STATUS_OK) { - _mcps_confirmation.req_type = mcpsRequest->type; - _params.flags.bits.mcps_req = 1; - } else { - _params.is_node_ack_requested = false; - } - - return status; -} - -lorawan_status_t LoRaMac::LoRaMacSetTxTimer(uint32_t TxDutyCycleTime) -{ - _lora_time.start(tx_next_packet_timer, TxDutyCycleTime); - return LORAWAN_STATUS_OK; -} - -lorawan_status_t LoRaMac::LoRaMacStopTxTimer() -{ - _lora_time.stop(tx_next_packet_timer); - return LORAWAN_STATUS_OK; -} - -void LoRaMac::LoRaMacTestRxWindowsOn(bool enable) -{ - _params.is_rx_window_enabled = enable; -} - -void LoRaMac::LoRaMacTestSetMic(uint16_t txPacketCounter) -{ - _params.ul_frame_counter = txPacketCounter; - _params.is_ul_frame_counter_fixed = true; -} - -void LoRaMac::LoRaMacTestSetDutyCycleOn(bool enable) -{ - if (_lora_phy->verify_duty_cycle(enable) == true) { - _params.is_dutycycle_on = enable; - } -} - -void LoRaMac::LoRaMacTestSetChannel(uint8_t channel) -{ - _params.channel = channel; -} -#endif diff --git a/features/lorawan/lorastack/mac/LoRaMac.h b/features/lorawan/lorastack/mac/LoRaMac.h index f81e7a7a0a..8ec5a8793f 100644 --- a/features/lorawan/lorastack/mac/LoRaMac.h +++ b/features/lorawan/lorastack/mac/LoRaMac.h @@ -672,136 +672,6 @@ private: bool _continuous_rx2_window_open; device_class_t _device_class; - -#if defined(LORAWAN_COMPLIANCE_TEST) -public: // Test interface - - /** - * @brief Set forth an MLME request. - * - * @details The MAC layer management entity handles the management services. - * - * @param [in] request The MLME request to perform. - * Refer to \ref loramac_mlme_req_t. - * - * @return `lorawan_status_t` The status of the operation. The possible values are: - * \ref LORAWAN_STATUS_OK - * \ref LORAWAN_STATUS_BUSY - * \ref LORAWAN_STATUS_SERVICE_UNKNOWN - * \ref LORAWAN_STATUS_PARAMETER_INVALID - * \ref LORAWAN_STATUS_NO_NETWORK_JOINED - * \ref LORAWAN_STATUS_LENGTH_ERROR - * \ref LORAWAN_STATUS_DEVICE_OFF - */ - lorawan_status_t mlme_request(loramac_mlme_req_t *request); - - /** - * @brief Set forth an MCPS request. - * - * @details The MAC Common Part Sublayer handles the data services. The following - * code-snippet shows how to use the API to send an unconfirmed - * LoRaMAC frame. - * - * @code - * - * uint8_t buffer[] = {1, 2, 3}; - * - * loramac_compliance_test_req_t request; - * request.type = MCPS_UNCONFIRMED; - * request.fport = 1; - * request.f_buffer = buffer; - * request.f_buffer_size = sizeof(buffer); - * - * if (test_request(&request) == LORAWAN_STATUS_OK) { - * // Service started successfully. Waiting for the MCPS-Confirm event - * } - * - * @endcode - * - * @param [in] request The test request to perform. - * Refer to \ref loramac_compliance_test_req_t. - * - * @return `lorawan_status_t` The status of the operation. The possible values are: - * \ref LORAWAN_STATUS_OK - * \ref LORAWAN_STATUS_BUSY - * \ref LORAWAN_STATUS_SERVICE_UNKNOWN - * \ref LORAWAN_STATUS_PARAMETER_INVALID - * \ref LORAWAN_STATUS_NO_NETWORK_JOINED - * \ref LORAWAN_STATUS_LENGTH_ERROR - * \ref LORAWAN_STATUS_DEVICE_OFF - */ - lorawan_status_t test_request(loramac_compliance_test_req_t *request); - - /** - * \brief LoRaMAC set tx timer. - * - * \details Sets up a timer for next transmission (application specific timers). - * - * \param [in] NextTxTime - Periodic time for next uplink. - - * \retval `lorawan_status_t` The status of the operation. The possible values are: - * \ref LORAWAN_STATUS_OK - * \ref LORAWAN_STATUS_PARAMETER_INVALID - */ - lorawan_status_t LoRaMacSetTxTimer(uint32_t NextTxTime); - - /** - * \brief LoRaMAC stop tx timer. - * - * \details Stops the next tx timer. - * - * \retval `lorawan_status_t` The status of the operation. The possible values are: - * \ref LORAWAN_STATUS_OK - * \ref LORAWAN_STATUS_PARAMETER_INVALID - */ - lorawan_status_t LoRaMacStopTxTimer(); - - /** - * \brief Enabled or disables the reception windows - * - * \details This is a test function. It shall be used for testing purposes only. - * Changing this attribute may lead to a non-conformance LoRaMac operation. - * - * \param [in] enable - Enabled or disables the reception windows - */ - void LoRaMacTestRxWindowsOn(bool enable); - - /** - * \brief Enables the MIC field test - * - * \details This is a test function. It shall be used for testing purposes only. - * Changing this attribute may lead to a non-conformance LoRaMac operation. - * - * \param [in] txPacketCounter - Fixed Tx packet counter value - */ - void LoRaMacTestSetMic(uint16_t txPacketCounter); - - /** - * \brief Enabled or disables the duty cycle - * - * \details This is a test function. It shall be used for testing purposes only. - * Changing this attribute may lead to a non-conformance LoRaMac operation. - * - * \param [in] enable - Enabled or disables the duty cycle - */ - void LoRaMacTestSetDutyCycleOn(bool enable); - - /** - * \brief Sets the channel index - * - * \details This is a test function. It shall be used for testing purposes only. - * Changing this attribute may lead to a non-conformance LoRaMac operation. - * - * \param [in] channel - Channel index - */ - void LoRaMacTestSetChannel(uint8_t channel); - -private: - /** - * Timer to handle the application data transmission duty cycle - */ - timer_event_t tx_next_packet_timer; -#endif }; #endif // MBED_LORAWAN_MAC_H__ diff --git a/features/lorawan/lorawan_types.h b/features/lorawan/lorawan_types.h index 6f57c3c061..9d7edb7ae6 100644 --- a/features/lorawan/lorawan_types.h +++ b/features/lorawan/lorawan_types.h @@ -101,6 +101,8 @@ typedef enum lorawan_status { LORAWAN_STATUS_NO_ACTIVE_SESSIONS = -1017, /**< Services not started - No active session */ LORAWAN_STATUS_IDLE = -1018, /**< Services started - Idle at the moment */ #if defined(LORAWAN_COMPLIANCE_TEST) + //Deprecated - will replace the code -1019 with something + //else in future. LORAWAN_STATUS_COMPLIANCE_TEST_ON = -1019, /**< Compliance test - is on-going */ #endif LORAWAN_STATUS_DUTYCYCLE_RESTRICTED = -1020, /**< Transmission will continue after duty cycle backoff*/ diff --git a/features/lorawan/system/lorawan_data_structures.h b/features/lorawan/system/lorawan_data_structures.h index 038248fa8d..e3f2418820 100644 --- a/features/lorawan/system/lorawan_data_structures.h +++ b/features/lorawan/system/lorawan_data_structures.h @@ -838,9 +838,6 @@ typedef enum device_states { DEVICE_STATE_SENDING, DEVICE_STATE_AWAITING_ACK, DEVICE_STATE_STATUS_CHECK, -#if defined(LORAWAN_COMPLIANCE_TEST) - DEVICE_STATE_COMPLIANCE_TEST, -#endif DEVICE_STATE_SHUTDOWN } device_states_t; @@ -1284,117 +1281,4 @@ typedef struct { } loramac_protocol_params; - -#if defined(LORAWAN_COMPLIANCE_TEST) - -typedef struct { - /*! - * MLME-Request type. - */ - mlme_type_t type; - - mlme_cw_tx_mode_t cw_tx_mode; -} loramac_mlme_req_t; - -typedef struct { - /*! - * Compliance test request - */ - mcps_type_t type; - - /*! - * Frame port field. Must be set if the payload is not empty. Use the - * application-specific frame port values: [1...223]. - * - * LoRaWAN Specification V1.0.2, chapter 4.3.2. - */ - uint8_t fport; - - /*! - * Uplink datarate, if ADR is off. - */ - int8_t data_rate; - /*! - * The number of trials to transmit the frame, if the LoRaMAC layer did not - * receive an acknowledgment. The MAC performs a datarate adaptation - * according to the LoRaWAN Specification V1.0.2, chapter 18.4, as in - * the following table: - * - * Transmission nb | Data Rate - * ----------------|----------- - * 1 (first) | DR - * 2 | DR - * 3 | max(DR-1,0) - * 4 | max(DR-1,0) - * 5 | max(DR-2,0) - * 6 | max(DR-2,0) - * 7 | max(DR-3,0) - * 8 | max(DR-3,0) - * - * Note that if nb_trials is set to 1 or 2, the MAC will not decrease - * the datarate, if the LoRaMAC layer did not receive an acknowledgment. - */ - uint8_t nb_trials; - - /** Payload data - * - * A pointer to the buffer of the frame payload. - */ - uint8_t f_buffer[LORAMAC_PHY_MAXPAYLOAD]; - - /** Payload size - * - * The size of the frame payload. - */ - uint16_t f_buffer_size; - -} loramac_compliance_test_req_t; - -/** LoRaWAN compliance tests support data - * - */ -typedef struct compliance_test { - /** Is test running - * - */ - bool running; - /** State of test - * - */ - uint8_t state; - /** Is TX confirmed - * - */ - bool is_tx_confirmed; - /** Port used by the application - * - */ - uint8_t app_port; - /** Maximum size of data used by application - * - */ - uint8_t app_data_size; - /** Data provided by application - * - */ - uint8_t app_data_buffer[MBED_CONF_LORA_TX_MAX_SIZE]; - /** Downlink counter - * - */ - uint16_t downlink_counter; - /** Is link check required - * - */ - bool link_check; - /** Demodulation margin - * - */ - uint8_t demod_margin; - /** Number of gateways - * - */ - uint8_t nb_gateways; -} compliance_test_t; -#endif - #endif /* LORAWAN_SYSTEM_LORAWAN_DATA_STRUCTURES_H_ */ From b66a4f61d66c389e39542d443356db3f820c1ea7 Mon Sep 17 00:00:00 2001 From: justinkim Date: Wed, 29 Aug 2018 14:20:30 +0900 Subject: [PATCH 042/202] Fix Bug : IAR heap memory problem --- .../device/TOOLCHAIN_IAR/W7500_Flash.icf | 8 ++++---- .../device/TOOLCHAIN_IAR/W7500_Flash.icf | 8 ++++---- .../device/TOOLCHAIN_IAR/W7500_Flash.icf | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf index dd71139d17..41a6d25020 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -8,9 +8,9 @@ define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000400; -define symbol __ICFEDIT_size_heap__ = 0x00000400; +/*-Heap 1/4 of ram and stack 1/8-*/ +define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ @@ -28,4 +28,4 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in RAM_region { readwrite, - block CSTACK, block HEAP }; \ No newline at end of file + block CSTACK, block HEAP }; diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf index dd71139d17..41a6d25020 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -8,9 +8,9 @@ define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000400; -define symbol __ICFEDIT_size_heap__ = 0x00000400; +/*-Heap 1/4 of ram and stack 1/8-*/ +define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ @@ -28,4 +28,4 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in RAM_region { readwrite, - block CSTACK, block HEAP }; \ No newline at end of file + block CSTACK, block HEAP }; diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf index dd71139d17..41a6d25020 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -8,9 +8,9 @@ define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000400; -define symbol __ICFEDIT_size_heap__ = 0x00000400; +/*-Heap 1/4 of ram and stack 1/8-*/ +define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ @@ -28,4 +28,4 @@ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in RAM_region { readwrite, - block CSTACK, block HEAP }; \ No newline at end of file + block CSTACK, block HEAP }; From 8a8f6734c052c59c24881fd587cbeb89d785c8ea Mon Sep 17 00:00:00 2001 From: justinkim Date: Thu, 30 Aug 2018 08:41:12 +0900 Subject: [PATCH 043/202] Stack size change to 1K in IAR Linker Script. --- .../TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf | 2 +- .../device/TOOLCHAIN_IAR/W7500_Flash.icf | 2 +- .../TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf index 41a6d25020..b73571e33d 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -9,7 +9,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; /*-Heap 1/4 of ram and stack 1/8-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_cstack__ = 0x00000400; define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf index 41a6d25020..b73571e33d 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500ECO/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -9,7 +9,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; /*-Heap 1/4 of ram and stack 1/8-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_cstack__ = 0x00000400; define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ diff --git a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf index 41a6d25020..b73571e33d 100644 --- a/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf +++ b/targets/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500P/device/TOOLCHAIN_IAR/W7500_Flash.icf @@ -9,7 +9,7 @@ define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20004000; /*-Heap 1/4 of ram and stack 1/8-*/ -define symbol __ICFEDIT_size_cstack__ = 0x00000800; +define symbol __ICFEDIT_size_cstack__ = 0x00000400; define symbol __ICFEDIT_size_heap__ = 0x00001000; /**** End of ICF editor section. ###ICF###*/ From 063118ca9d719526e8952b8fd091db3801644f06 Mon Sep 17 00:00:00 2001 From: Cruz Monrreal Date: Mon, 17 Sep 2018 20:27:59 -0500 Subject: [PATCH 044/202] Update mbed-cloud-sdk in requirements.txt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 379a061eed..ed1791eaaa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,5 +16,5 @@ jsonschema>=2.6 future>=0.16.0 six>=1.11.0 git+https://github.com/armmbed/manifest-tool.git@v1.4.5 -mbed-cloud-sdk==2.0.0 +mbed-cloud-sdk==2.0.1 icetea>=1.0.2,<2 From ffa46b15f33f1a11708c190d2efc0a91e4985191 Mon Sep 17 00:00:00 2001 From: Kimmo Vaisanen Date: Thu, 30 Aug 2018 15:43:54 +0300 Subject: [PATCH 045/202] LoRa: Stop processing MAC commands if command id is unknown The length of a MAC command is not explicitly given and must be implicitly known by the MAC implementation. Therefore unknown MAC commands cannot be skipped and the first unknown MAC command terminates the processing of the MAC command sequence. This commit fixes the bug where MAC command processing was not terminated when unknown MAC command was received. --- features/lorawan/lorastack/mac/LoRaMacCommand.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/features/lorawan/lorastack/mac/LoRaMacCommand.cpp b/features/lorawan/lorastack/mac/LoRaMacCommand.cpp index cde62355b3..2fca7193e2 100644 --- a/features/lorawan/lorastack/mac/LoRaMacCommand.cpp +++ b/features/lorawan/lorastack/mac/LoRaMacCommand.cpp @@ -304,7 +304,8 @@ lorawan_status_t LoRaMacCommand::process_mac_commands(const uint8_t *payload, ui break; default: // Unknown command. ABORT MAC commands processing - ret_value = LORAWAN_STATUS_UNSUPPORTED; + tr_error("Invalid MAC command (0x%X)!", payload[mac_index]); + return LORAWAN_STATUS_UNSUPPORTED; } } return ret_value; From 668a10e8f23f6004507a2d2aac270fc8bdba688e Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 4 Sep 2018 15:19:33 +0800 Subject: [PATCH 046/202] Update to NuMaker-PFM-M2351 V1.3 board 1. Update UNO pin A4/A5 2. Update UNO pin D2/D3 --- targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h b/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h index e8a378439d..75fd21f852 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h @@ -124,13 +124,13 @@ typedef enum { A1 = PB_10, A2 = PB_9, A3 = PB_8, - A4 = PB_7, - A5 = PB_6, + A4 = PB_4, + A5 = PB_5, D0 = PA_8, D1 = PA_9, - D2 = PB_5, - D3 = PB_4, + D2 = PB_7, + D3 = PB_6, D4 = PB_3, D5 = PB_2, D6 = PC_12, From 765cee5a88d426bc089a41b686a4cb9f11df388a Mon Sep 17 00:00:00 2001 From: Michael Kaplan Date: Wed, 5 Sep 2018 11:17:28 +0200 Subject: [PATCH 047/202] Fix EFM32 pwmout hal function pwmout_period In pwmout_period() is a check for changed values, which is not working because of a wrongly used bitmask. This is fixed now. --- targets/TARGET_Silicon_Labs/TARGET_EFM32/pwmout_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/TARGET_Silicon_Labs/TARGET_EFM32/pwmout_api.c b/targets/TARGET_Silicon_Labs/TARGET_EFM32/pwmout_api.c index 759c1533d3..9553d1e4a5 100644 --- a/targets/TARGET_Silicon_Labs/TARGET_EFM32/pwmout_api.c +++ b/targets/TARGET_Silicon_Labs/TARGET_EFM32/pwmout_api.c @@ -302,7 +302,7 @@ void pwmout_period(pwmout_t *obj, float seconds) } //Check if anything changed - if(((PWM_TIMER->CTRL & ~_TIMER_CTRL_PRESC_MASK) == (pwm_prescaler_div << _TIMER_CTRL_PRESC_SHIFT)) && (TIMER_TopGet(PWM_TIMER) == cycles)) return; + if(((PWM_TIMER->CTRL & _TIMER_CTRL_PRESC_MASK) == (pwm_prescaler_div << _TIMER_CTRL_PRESC_SHIFT)) && (TIMER_TopGet(PWM_TIMER) == cycles)) return; //Save previous period for recalculation of duty cycles uint32_t previous_period_cycles = PWM_TIMER->TOPB; From 66bf5c43f21f6eacf9895a88b206154a88bb36da Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Tue, 18 Sep 2018 18:07:28 +0300 Subject: [PATCH 048/202] Remove the unstable SYNCHRONOUS_DNS_CACHE testcase Will be reverted once the test case is fixed --- TESTS/netsocket/dns/main.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/TESTS/netsocket/dns/main.cpp b/TESTS/netsocket/dns/main.cpp index 70f70c20c1..e8ae973532 100644 --- a/TESTS/netsocket/dns/main.cpp +++ b/TESTS/netsocket/dns/main.cpp @@ -178,9 +178,6 @@ Case cases[] = { #endif Case("SYNCHRONOUS_DNS", SYNCHRONOUS_DNS), Case("SYNCHRONOUS_DNS_MULTIPLE", SYNCHRONOUS_DNS_MULTIPLE), -#ifdef MBED_EXTENDED_TESTS - Case("SYNCHRONOUS_DNS_CACHE", SYNCHRONOUS_DNS_CACHE), -#endif Case("SYNCHRONOUS_DNS_INVALID", SYNCHRONOUS_DNS_INVALID), }; From 1fb99b7a53f3109d1b9dbb503da006a908226b84 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Puolitaival Date: Wed, 19 Sep 2018 13:59:28 +0300 Subject: [PATCH 049/202] Py3 support back. Reverted accidentially in icetea changes rebase --- tools/build_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_api.py b/tools/build_api.py index 4a3de865d3..0f25ffa775 100644 --- a/tools/build_api.py +++ b/tools/build_api.py @@ -1357,4 +1357,4 @@ def merge_build_data(filename, toolchain_report, app_type): if 'type' not in build[0]: build[0]['type'] = app_type build_data['builds'].insert(0, build[0]) - dump(build_data, open(filename, "wb"), indent=4, separators=(',', ': ')) + dump(build_data, open(filename, "w"), indent=4, separators=(',', ': ')) From 557f38e7083bec485bb5cd4961a57e176520ab23 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Puolitaival Date: Wed, 19 Sep 2018 14:11:40 +0300 Subject: [PATCH 050/202] Move exception in two lines that traceback looks better --- tools/run_icetea.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/run_icetea.py b/tools/run_icetea.py index bf2706f035..eaec63921c 100644 --- a/tools/run_icetea.py +++ b/tools/run_icetea.py @@ -172,9 +172,9 @@ def icetea_tests(target, tcdir, verbose): stdout, stderr, returncode = run_cmd(command) if returncode != 0: - raise Exception( - "Error when running icetea. \ncwd:{} \nCommand:'{}' \noutput:{}".format(os.getcwd(), ' '.join(command), - stderr.decode())) + additional_information = "\ncwd:{} \nCommand:'{}' \noutput:{}".format(os.getcwd(), ' '.join(command), + stderr.decode()) + raise Exception("Error when running icetea. {}".format(additional_information)) return json.loads(stdout) From b57c9d3afff503d914be709e851a52cfcf867994 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Puolitaival Date: Wed, 19 Sep 2018 14:18:07 +0300 Subject: [PATCH 051/202] Check that TEST_APPS folder exists --- tools/run_icetea.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/run_icetea.py b/tools/run_icetea.py index eaec63921c..41d580dfcd 100644 --- a/tools/run_icetea.py +++ b/tools/run_icetea.py @@ -169,6 +169,9 @@ def icetea_tests(target, tcdir, verbose): command = ['icetea', '--tcdir', tcdir, '--list', '--json', '--platform_filter', target] \ + (['-v'] if verbose else []) + if not os.path.exists(tcdir): + raise Exception("Icetea run error: No TEST_APPS folder in {}".format(os.path.curdir)) + stdout, stderr, returncode = run_cmd(command) if returncode != 0: From 31193dbd9201e5dd6a3fbcdd2a49e98357a537f0 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Puolitaival Date: Thu, 20 Sep 2018 10:55:30 +0300 Subject: [PATCH 052/202] Move exception earlier --- tools/run_icetea.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/run_icetea.py b/tools/run_icetea.py index 41d580dfcd..80eb9caef0 100644 --- a/tools/run_icetea.py +++ b/tools/run_icetea.py @@ -166,12 +166,12 @@ def get_application_list(icetea_json_output, tests_by_name): def icetea_tests(target, tcdir, verbose): - command = ['icetea', '--tcdir', tcdir, '--list', '--json', '--platform_filter', target] \ - + (['-v'] if verbose else []) - if not os.path.exists(tcdir): raise Exception("Icetea run error: No TEST_APPS folder in {}".format(os.path.curdir)) + command = ['icetea', '--tcdir', tcdir, '--list', '--json', '--platform_filter', target] \ + + (['-v'] if verbose else []) + stdout, stderr, returncode = run_cmd(command) if returncode != 0: From 0c15c30194adcb617e852633c7989ff127668a72 Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Wed, 29 Aug 2018 09:23:11 +0200 Subject: [PATCH 053/202] qspi_hal_test refactoring - code refactoring and preparation for enabling DPI/QPI tests - reduced multiple test count to 4 - use common flash config header for all MX25RXX35F chips - fix sector erase max time on N25Q128A --- .../qspi/flash_configs/MX25R6435F_config.h | 192 ------------------ ...X25R3235F_config.h => MX25RXX35F_config.h} | 110 +++++++--- .../qspi/flash_configs/N25Q128A_config.h | 8 +- .../NORDIC/NRF52840_DK/flash_config.h | 2 +- .../STM/DISCO_L475VG_IOT01A/flash_config.h | 2 +- .../EFM32GG11_STK3701/flash_config.h | 2 +- TESTS/mbed_hal/qspi/main.cpp | 131 ++++++------ TESTS/mbed_hal/qspi/qspi_test_utils.cpp | 101 ++++++++- TESTS/mbed_hal/qspi/qspi_test_utils.h | 19 +- 9 files changed, 248 insertions(+), 319 deletions(-) delete mode 100644 TESTS/mbed_hal/qspi/flash_configs/MX25R6435F_config.h rename TESTS/mbed_hal/qspi/flash_configs/{MX25R3235F_config.h => MX25RXX35F_config.h} (60%) diff --git a/TESTS/mbed_hal/qspi/flash_configs/MX25R6435F_config.h b/TESTS/mbed_hal/qspi/flash_configs/MX25R6435F_config.h deleted file mode 100644 index 6cd588d487..0000000000 --- a/TESTS/mbed_hal/qspi/flash_configs/MX25R6435F_config.h +++ /dev/null @@ -1,192 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2018-2018 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_QSPI_FLASH_MX25R6435F_H -#define MBED_QSPI_FLASH_MX25R6435F_H - - -#define QSPI_FLASH_CHIP_STRING "macronix MX25R6435F" - -// Command for reading status register -#define QSPI_CMD_RDSR 0x05 -// Command for reading configuration register -#define QSPI_CMD_RDCR0 0x15 -// Command for writing status/configuration register -#define QSPI_CMD_WRSR 0x01 -// Command for reading security register -#define QSPI_CMD_RDSCUR 0x2B - -// Command for setting Reset Enable -#define QSPI_CMD_RSTEN 0x66 -// Command for setting Reset -#define QSPI_CMD_RST 0x99 - -// Command for setting write enable -#define QSPI_CMD_WREN 0x06 -// Command for setting write disable -#define QSPI_CMD_WRDI 0x04 - -// WRSR operations max time [us] (datasheet max time + 15%) -#define QSPI_WRSR_MAX_TIME 34500 // 30ms -// general wait max time [us] -#define QSPI_WAIT_MAX_TIME 100000 // 100ms - - -// Commands for writing (page programming) -#define QSPI_CMD_WRITE_1IO 0x02 // 1-1-1 mode -#define QSPI_CMD_WRITE_4IO 0x38 // 1-4-4 mode - -// write operations max time [us] (datasheet max time + 15%) -#define QSPI_PAGE_PROG_MAX_TIME 11500 // 10ms - -#define QSPI_PAGE_SIZE 256 // 256B - -// Commands for reading -#define QSPI_CMD_READ_1IO_FAST 0x0B // 1-1-1 mode -#define QSPI_CMD_READ_1IO 0x03 // 1-1-1 mode -#define QSPI_CMD_READ_2IO 0xBB // 1-2-2 mode -#define QSPI_CMD_READ_1I2O 0x3B // 1-1-2 mode -#define QSPI_CMD_READ_4IO 0xEB // 1-4-4 mode -#define QSPI_CMD_READ_1I4O 0x6B // 1-1-4 mode - -#define QSPI_READ_1IO_DUMMY_CYCLE 0 -#define QSPI_READ_FAST_DUMMY_CYCLE 8 -#define QSPI_READ_2IO_DUMMY_CYCLE 4 -#define QSPI_READ_1I2O_DUMMY_CYCLE 8 -#define QSPI_READ_4IO_DUMMY_CYCLE 6 -#define QSPI_READ_1I4O_DUMMY_CYCLE 8 - -// Commands for erasing -#define QSPI_CMD_ERASE_SECTOR 0x20 // 4kB -#define QSPI_CMD_ERASE_BLOCK_32 0x52 // 32kB -#define QSPI_CMD_ERASE_BLOCK_64 0xD8 // 64kB -#define QSPI_CMD_ERASE_CHIP 0x60 // or 0xC7 - -// erase operations max time [us] (datasheet max time + 15%) -#define QSPI_ERASE_SECTOR_MAX_TIME 276000 // 240 ms -#define QSPI_ERASE_BLOCK_32_MAX_TIME 3450000 // 3s -#define QSPI_ERASE_BLOCK_64_MAX_TIME 4025000 // 3.5s - -// max frequency for basic rw operation -#define QSPI_COMMON_MAX_FREQUENCY 32000000 - -#define QSPI_STATUS_REG_SIZE 1 -#define QSPI_CONFIG_REG_0_SIZE 2 -#define QSPI_SECURITY_REG_SIZE 1 -#define QSPI_MAX_REG_SIZE 2 - -// status register -#define STATUS_BIT_WIP (1 << 0) // write in progress bit -#define STATUS_BIT_WEL (1 << 1) // write enable latch -#define STATUS_BIT_BP0 (1 << 2) // -#define STATUS_BIT_BP1 (1 << 3) // -#define STATUS_BIT_BP2 (1 << 4) // -#define STATUS_BIT_BP3 (1 << 5) // -#define STATUS_BIT_QE (1 << 6) // Quad Enable -#define STATUS_BIT_SRWD (1 << 7) // status register write protect - -// configuration register 0 -// bit 0, 1, 2, 4, 5, 7 reserved -#define CONFIG0_BIT_TB (1 << 3) // Top/Bottom area protect -#define CONFIG0_BIT_DC (1 << 6) // Dummy Cycle - -// configuration register 1 -// bit 0, 2, 3, 4, 5, 6, 7 reserved -#define CONFIG1_BIT_LH (1 << 1) // 0 = Ultra Low power mode, 1 = High performance mode - - -// single quad enable flag for both dual and quad mode -#define QUAD_ENABLE() \ - \ - uint8_t reg_data[QSPI_STATUS_REG_SIZE]; \ - \ - if (write_enable(qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ - \ - reg_data[0] = STATUS_BIT_QE; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ - \ - if (qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, QSPI_STATUS_REG_SIZE, NULL, 0) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ - \ - memset(reg_data, 0, QSPI_STATUS_REG_SIZE); \ - if (read_register(STATUS_REG, reg_data, \ - QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - \ - return ((reg_data[0] & STATUS_BIT_QE) != 0 ? \ - QSPI_STATUS_OK : QSPI_STATUS_ERROR) - - - -#define QUAD_DISABLE() \ - \ - uint8_t reg_data[QSPI_STATUS_REG_SIZE]; \ - \ - if (write_enable(qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ - \ - reg_data[0] = 0; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ - \ - if (qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, QSPI_STATUS_REG_SIZE, NULL, 0) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ - \ - reg_data[0] = 0; \ - if (read_register(STATUS_REG, reg_data, \ - QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - \ - return ((reg_data[0] & STATUS_BIT_QE) == 0 ? \ - QSPI_STATUS_OK : QSPI_STATUS_ERROR) - - - -#define FAST_MODE_ENABLE() \ - \ - qspi_status_t ret; \ - const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ - uint8_t reg_data[reg_size]; \ - \ - if (read_register(STATUS_REG, reg_data, \ - QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - if (read_register(CONFIG_REG0, reg_data + QSPI_STATUS_REG_SIZE, \ - QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ - return QSPI_STATUS_ERROR; \ - } \ - \ - reg_data[2] |= CONFIG1_BIT_LH; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ - \ - return qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, reg_size, NULL, 0) - - - -#endif // MBED_QSPI_FLASH_MX25R6435F_H diff --git a/TESTS/mbed_hal/qspi/flash_configs/MX25R3235F_config.h b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h similarity index 60% rename from TESTS/mbed_hal/qspi/flash_configs/MX25R3235F_config.h rename to TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h index cb0df22990..54f895c0ef 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/MX25R3235F_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef MBED_QSPI_FLASH_MX25R3235F_H -#define MBED_QSPI_FLASH_MX25R3235F_H +#ifndef MBED_QSPI_FLASH_MX25RXX35F_H +#define MBED_QSPI_FLASH_MX25RXX35F_H -#define QSPI_FLASH_CHIP_STRING "macronix MX25R3235F" +#define QSPI_FLASH_CHIP_STRING "macronix MX25RXX35F" // Command for reading status register #define QSPI_CMD_RDSR 0x05 @@ -79,7 +79,7 @@ #define QSPI_ERASE_BLOCK_32_MAX_TIME 3450000 // 3s #define QSPI_ERASE_BLOCK_64_MAX_TIME 4025000 // 3.5s -// max frequency for basic rw operation +// max frequency for basic rw operation (for fast mode) #define QSPI_COMMON_MAX_FREQUENCY 32000000 #define QSPI_STATUS_REG_SIZE 1 @@ -107,21 +107,28 @@ #define CONFIG1_BIT_LH (1 << 1) // 0 = Ultra Low power mode, 1 = High performance mode -// single quad enable flag for both dual and quad mode -#define QUAD_ENABLE() \ + +#define EXTENDED_SPI_ENABLE() \ \ - uint8_t reg_data[QSPI_STATUS_REG_SIZE]; \ + const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ + uint8_t reg_data[reg_size] = { 0 }; \ + \ + if (read_register(STATUS_REG, reg_data, \ + QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (read_register(CONFIG_REG0, reg_data + QSPI_STATUS_REG_SIZE, \ + QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ \ if (write_enable(qspi) != QSPI_STATUS_OK) { \ return QSPI_STATUS_ERROR; \ } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ \ reg_data[0] = STATUS_BIT_QE; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ - \ - if (qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, QSPI_STATUS_REG_SIZE, NULL, 0) != QSPI_STATUS_OK) { \ + if (write_register(QSPI_CMD_WRSR, reg_data, \ + reg_size, qspi) != QSPI_STATUS_OK) { \ return QSPI_STATUS_ERROR; \ } \ WAIT_FOR(WRSR_MAX_TIME, qspi); \ @@ -137,20 +144,28 @@ -#define QUAD_DISABLE() \ +#define EXTENDED_SPI_DISABLE() \ \ - uint8_t reg_data[QSPI_STATUS_REG_SIZE]; \ + const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ + uint8_t reg_data[reg_size] = { 0 }; \ + \ + if (read_register(STATUS_REG, reg_data, \ + QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (read_register(CONFIG_REG0, reg_data + QSPI_STATUS_REG_SIZE, \ + QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ \ if (write_enable(qspi) != QSPI_STATUS_OK) { \ return QSPI_STATUS_ERROR; \ } \ - WAIT_FOR(WRSR_MAX_TIME, qspi); \ \ - reg_data[0] = 0; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ + reg_data[0] &= ~(STATUS_BIT_QE); \ \ - if (qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, QSPI_STATUS_REG_SIZE, NULL, 0) != QSPI_STATUS_OK) { \ + if (write_register(QSPI_CMD_WRSR, reg_data, \ + reg_size, qspi) != QSPI_STATUS_OK) { \ return QSPI_STATUS_ERROR; \ } \ WAIT_FOR(WRSR_MAX_TIME, qspi); \ @@ -181,12 +196,59 @@ return QSPI_STATUS_ERROR; \ } \ \ - reg_data[2] |= CONFIG1_BIT_LH; \ - qspi.cmd.build(QSPI_CMD_WRSR); \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ \ - return qspi_command_transfer(&qspi.handle, qspi.cmd.get(), \ - reg_data, reg_size, NULL, 0) + reg_data[2] |= CONFIG1_BIT_LH; \ + if (write_register(QSPI_CMD_WRSR, reg_data, \ + reg_size, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + \ + if (read_register(CONFIG_REG0, reg_data, \ + QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[1] & CONFIG1_BIT_LH) != 0 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) +#define FAST_MODE_DISABLE() \ + \ + qspi_status_t ret; \ + const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ + uint8_t reg_data[reg_size]; \ + \ + if (read_register(STATUS_REG, reg_data, \ + QSPI_STATUS_REG_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (read_register(CONFIG_REG0, reg_data + QSPI_STATUS_REG_SIZE, \ + QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + reg_data[2] &= ~(CONFIG1_BIT_LH); \ + if (write_register(QSPI_CMD_WRSR, reg_data, \ + reg_size, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + \ + if (read_register(CONFIG_REG0, reg_data, \ + QSPI_CONFIG_REG_0_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[1] & CONFIG1_BIT_LH) == 0 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) -#endif // MBED_QSPI_FLASH_MX25R3235F_H + +#endif // MBED_QSPI_FLASH_MX25RXX35F_H diff --git a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h index 138844abe6..2201447865 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h @@ -88,7 +88,7 @@ #define QSPI_CMD_ERASE_CHIP 0x60 // or 0xC7 // erase operations max time [us] (datasheet max time + 15%) -#define QSPI_ERASE_SECTOR_MAX_TIME 276000 // 240 ms +#define QSPI_ERASE_SECTOR_MAX_TIME 920000 // 0.8s #define QSPI_ERASE_BLOCK_32_MAX_TIME 3000000 // 3s #define QSPI_ERASE_BLOCK_64_MAX_TIME 3500000 // 3.5s @@ -173,10 +173,4 @@ /* TODO: add implementation */ \ return QSPI_STATUS_OK - -#define FAST_MODE_ENABLE() \ - /* TODO: add implementation */ \ - return QSPI_STATUS_OK - - #endif // MBED_QSPI_FLASH_N25Q128A_H diff --git a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h index ed288ba50a..bddd2929fa 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h @@ -16,7 +16,7 @@ #ifndef MBED_QSPI_FLASH_CONFIG_H #define MBED_QSPI_FLASH_CONFIG_H -#include "../../MX25R6435F_config.h" +#include "../../MX25RXX35F_config.h" // NRF doesn't uses read/write opcodes, instead it uses commands id's. // Before sending it to H/W opcodes are mapped to id's in Mbed hal qspi implementation diff --git a/TESTS/mbed_hal/qspi/flash_configs/STM/DISCO_L475VG_IOT01A/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/STM/DISCO_L475VG_IOT01A/flash_config.h index 76cb739bb5..41b576d8ea 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/STM/DISCO_L475VG_IOT01A/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/STM/DISCO_L475VG_IOT01A/flash_config.h @@ -16,7 +16,7 @@ #ifndef MBED_QSPI_FLASH_CONFIG_H #define MBED_QSPI_FLASH_CONFIG_H -#include "../../MX25R6435F_config.h" +#include "../../MX25RXX35F_config.h" #endif // MBED_QSPI_FLASH_CONFIG_H diff --git a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h index c27dd0d212..41b576d8ea 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h @@ -16,7 +16,7 @@ #ifndef MBED_QSPI_FLASH_CONFIG_H #define MBED_QSPI_FLASH_CONFIG_H -#include "../../MX25R3235F_config.h" +#include "../../MX25RXX35F_config.h" #endif // MBED_QSPI_FLASH_CONFIG_H diff --git a/TESTS/mbed_hal/qspi/main.cpp b/TESTS/mbed_hal/qspi/main.cpp index 44ba33e52d..211c84f26b 100644 --- a/TESTS/mbed_hal/qspi/main.cpp +++ b/TESTS/mbed_hal/qspi/main.cpp @@ -52,7 +52,7 @@ uint8_t rx_buf[DATA_SIZE_1024]; #define TEST_FLASH_ADDRESS 0x0 #define TEST_REPEAT_SINGLE 1 -#define TEST_REPEAT_MULTIPLE 16 +#define TEST_REPEAT_MULTIPLE 4 // write block of data in single write operation #define WRITE_SINGLE 1 @@ -100,7 +100,6 @@ static void _qspi_write_read_test(Qspi &qspi, qspi_bus_width_t write_inst_width, size_t buf_len = data_size; for (uint32_t tc = 0; tc < test_count; tc++) { - qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); srand(ticker_read(get_us_ticker_data())); for (uint32_t i = 0; i < data_size; i++) { @@ -125,6 +124,11 @@ static void _qspi_write_read_test(Qspi &qspi, qspi_bus_width_t write_inst_width, WAIT_FOR(WAIT_MAX_TIME, qspi); } + // switching to extended-SPI/DPI/QPI mode here for write operation + // for DPI/QPI qspi.cmd is automatically switched to 2_2_2/4_4_4 mode + ret = mode_enable(qspi, write_inst_width, write_addr_width, write_data_width); + TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + const uint32_t write_size = data_size / write_count; for (uint32_t wc = 0, write_start = flash_addr; wc < write_count; wc++, write_start += write_size) { ret = write_enable(qspi); @@ -140,18 +144,32 @@ static void _qspi_write_read_test(Qspi &qspi, qspi_bus_width_t write_inst_width, TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); TEST_ASSERT_EQUAL(write_size, buf_len); - qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); + if(is_extended_mode(write_inst_width, write_addr_width, write_data_width)) { + // on some flash chips in extended-SPI mode, control commands works only in 1-1-1 mode + // so switching back to 1-1-1 mode + qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); + } + WAIT_FOR(PAGE_PROG_MAX_TIME, qspi); timer.stop(); write_time = timer.read_us(); } + // switching back to single channel SPI + ret = mode_disable(qspi, write_inst_width, write_addr_width, write_data_width); + TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + if (read_frequency != QSPI_NONE) { qspi_frequency(&qspi.handle, read_frequency); WAIT_FOR(WAIT_MAX_TIME, qspi); } + // switching to extended-SPI/DPI/QPI mode here for read operation + // for DPI/QPI qspi.cmd is automatically switched to 2_2_2/4_4_4 mode + ret = mode_enable(qspi, read_inst_width, read_addr_width, read_data_width); + TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + memset(rx_buf, 0, sizeof(rx_buf)); const uint32_t read_size = data_size / read_count; qspi.cmd.configure(read_inst_width, read_addr_width, read_data_width, read_alt_width, read_addr_size, read_alt_size, read_dummy_cycles); @@ -168,6 +186,17 @@ static void _qspi_write_read_test(Qspi &qspi, qspi_bus_width_t write_inst_width, timer.stop(); read_time = timer.read_us(); } + qspi.cmd.set_dummy_cycles(0); + + if(is_extended_mode(read_inst_width, read_addr_width, read_data_width)) { + // on some flash chips in extended-SPI mode, control commands works only in 1-1-1 mode + // so switching back to 1-1-1 mode + qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); + } + + // switching back to single channel SPI + ret = mode_disable(qspi, read_inst_width, read_addr_width, read_data_width); + TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); for (uint32_t i = 0; i < data_size; i++) { if (tx_buf[i] != rx_buf[i]) { @@ -222,38 +251,17 @@ void qspi_write_read_test(void) qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); flash_init(qspi); - if (is_dual_cmd(write_inst_width, write_addr_width, write_data_width) || - is_dual_cmd(read_inst_width, read_addr_width, read_data_width)) { - ret = dual_enable(qspi); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); - } - - if (is_quad_cmd(write_inst_width, write_addr_width, write_data_width) || - is_quad_cmd(read_inst_width, read_addr_width, read_data_width)) { - ret = quad_enable(qspi); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); - } - - ret = write_enable(qspi); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); + // switch memory to high performance mode (if available) ret = fast_mode_enable(qspi); TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); #ifdef QSPI_TEST_LOG_FLASH_STATUS - //utest_printf("Status register:\r\n"); log_register(STATUS_REG, QSPI_STATUS_REG_SIZE, qspi, "Status register"); - //utest_printf("Config register 0:\r\n"); log_register(CONFIG_REG0, QSPI_CONFIG_REG_0_SIZE, qspi, "Config register 0"); #ifdef CONFIG_REG1 - //utest_printf("Config register 1:\r\n"); log_register(CONFIG_REG1, QSPI_CONFIG_REG_1_SIZE, qspi, "Config register 1"); #endif #ifdef CONFIG_REG2 - //utest_printf("Config register 2:\r\n"); log_register(CONFIG_REG2, QSPI_CONFIG_REG_2_SIZE, qspi, "Config register 2"); #endif #endif @@ -264,21 +272,8 @@ void qspi_write_read_test(void) read_addr_size, read_alt_size, read_frequency, read_count, test_count, data_size, flash_addr); - qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); - - if (is_dual_cmd(write_inst_width, write_addr_width, write_data_width) || - is_dual_cmd(read_inst_width, read_addr_width, read_data_width)) { - ret = dual_disable(qspi); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); - } - - if (is_quad_cmd(write_inst_width, write_addr_width, write_data_width) || - is_quad_cmd(read_inst_width, read_addr_width, read_data_width)) { - ret = quad_disable(qspi); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - WAIT_FOR(WRSR_MAX_TIME, qspi); - } + ret = fast_mode_disable(qspi); + TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); qspi_free(&qspi.handle); } @@ -315,16 +310,12 @@ void qspi_init_free_test(void) flash_init(qspi); #ifdef QSPI_TEST_LOG_FLASH_STATUS - //utest_printf("Status register:\r\n"); log_register(STATUS_REG, QSPI_STATUS_REG_SIZE, qspi, "Status register"); - //utest_printf("Config register 0:\r\n"); log_register(CONFIG_REG0, QSPI_CONFIG_REG_0_SIZE, qspi, "Config register 0"); #ifdef CONFIG_REG1 - //utest_printf("Config register 1:\r\n"); log_register(CONFIG_REG1, QSPI_CONFIG_REG_1_SIZE, qspi, "Config register 1"); #endif #ifdef CONFIG_REG2 - //utest_printf("Config register 2:\r\n"); log_register(CONFIG_REG2, QSPI_CONFIG_REG_2_SIZE, qspi, "Config register 2"); #endif #endif @@ -338,37 +329,33 @@ void qspi_frequency_test(void) { Qspi qspi; qspi_status_t ret; + int freq = QSPI_COMMON_MAX_FREQUENCY; - ret = qspi_init(&qspi.handle, QPIN_0, QPIN_1, QPIN_2, QPIN_3, QSCK, QCSN, QSPI_COMMON_MAX_FREQUENCY, 0); + ret = qspi_init(&qspi.handle, QPIN_0, QPIN_1, QPIN_2, QPIN_3, QSCK, QCSN, freq, 0); TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - ret = qspi_frequency(&qspi.handle, QSPI_COMMON_MAX_FREQUENCY); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); // check if the memory is working properly qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); flash_init(qspi); - _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); + _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); - ret = qspi_frequency(&qspi.handle, QSPI_COMMON_MAX_FREQUENCY / 2); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + freq /= 2; // check if the memory is working properly qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); flash_init(qspi); - _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); + _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); - ret = qspi_frequency(&qspi.handle, QSPI_COMMON_MAX_FREQUENCY / 4); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + freq /= 2; // check if the memory is working properly qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); flash_init(qspi); - _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); + _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); - ret = qspi_frequency(&qspi.handle, QSPI_COMMON_MAX_FREQUENCY / 8); - TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); + freq /= 2; // check if the memory is working properly qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); flash_init(qspi); - _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, QSPI_NONE, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); + _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, freq, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); qspi_free(&qspi.handle); } @@ -390,66 +377,66 @@ Case cases[] = { Case("qspi write(1-1-1)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-1-1)/x1 read(1-1-1)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(1-1-1)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-1-1)/x1 read(1-1-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(1-1-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-1-1)/x1 read(1-2-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-1-1)/x1 read(1-1-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(1-1-4)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-1-1)/x1 read(1-4-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), #ifdef QSPI_CMD_WRITE_2IO Case("qspi write(1-2-2)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-2-2)/x1 read(1-1-1)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(1-1-1)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-2-2)/x1 read(1-1-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(1-1-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-2-2)/x1 read(1-2-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-2-2)/x1 read(1-1-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(1-1-4)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-2-2)/x1 read(1-4-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), #endif #ifdef QSPI_CMD_WRITE_4IO Case("qspi write(1-4-4)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-4-4)/x1 read(1-1-1)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(1-1-1)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-4-4)/x1 read(1-1-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(1-1-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-4-4)/x1 read(1-2-2)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-4-4)/x1 read(1-1-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(1-1-4)/x1 repeat/x4 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), - Case("qspi write(1-4-4)/x1 read(1-4-4)/x1 repeat/x16 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), #endif }; diff --git a/TESTS/mbed_hal/qspi/qspi_test_utils.cpp b/TESTS/mbed_hal/qspi/qspi_test_utils.cpp index 8ee85f7ffc..f1386534fb 100644 --- a/TESTS/mbed_hal/qspi/qspi_test_utils.cpp +++ b/TESTS/mbed_hal/qspi/qspi_test_utils.cpp @@ -26,6 +26,12 @@ #include "flash_configs/flash_configs.h" #include "mbed.h" +static qspi_status_t extended_enable(Qspi &qspi); +static qspi_status_t extended_disable(Qspi &qspi); +static qspi_status_t dual_enable(Qspi &qspi); +static qspi_status_t dual_disable(Qspi &qspi); +static qspi_status_t quad_enable(Qspi &qspi); +static qspi_status_t quad_disable(Qspi &qspi); void QspiCommand::configure(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width, qspi_bus_width_t alt_width, @@ -44,6 +50,11 @@ void QspiCommand::configure(qspi_bus_width_t inst_width, qspi_bus_width_t addr_w _cmd.dummy_count = dummy_cycles; } +void QspiCommand::set_dummy_cycles(int dummy_cycles) +{ + _cmd.dummy_count = dummy_cycles; +} + void QspiCommand::build(int instruction, int address, int alt) { _cmd.instruction.disabled = (instruction == QSPI_NONE); @@ -188,46 +199,116 @@ qspi_status_t erase(uint32_t erase_cmd, uint32_t flash_addr, Qspi &qspi) return qspi_command_transfer(&qspi.handle, qspi.cmd.get(), NULL, 0, NULL, 0); } -qspi_status_t dual_enable(Qspi &qspi) +qspi_status_t mode_enable(Qspi &qspi, qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +{ + if(is_extended_mode(inst_width, addr_width, data_width)) { + return extended_enable(qspi); + } else if(is_dual_mode(inst_width, addr_width, data_width)) { + return dual_enable(qspi); + } else if(is_quad_mode(inst_width, addr_width, data_width)) { + return quad_enable(qspi); + } else { + return QSPI_STATUS_OK; + } +} + +qspi_status_t mode_disable(Qspi &qspi, qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +{ + if(is_extended_mode(inst_width, addr_width, data_width)) { + return extended_disable(qspi); + } else if(is_dual_mode(inst_width, addr_width, data_width)) { + return dual_disable(qspi); + } else if(is_quad_mode(inst_width, addr_width, data_width)) { + return quad_disable(qspi); + } else { + return QSPI_STATUS_OK; + } +} + +static qspi_status_t extended_enable(Qspi &qspi) +{ +#ifdef EXTENDED_SPI_ENABLE + EXTENDED_SPI_ENABLE(); +#else + return QSPI_STATUS_OK; +#endif +} + +static qspi_status_t extended_disable(Qspi &qspi) +{ +#ifdef EXTENDED_SPI_DISABLE + EXTENDED_SPI_DISABLE(); +#else + return QSPI_STATUS_OK; +#endif +} + +static qspi_status_t dual_enable(Qspi &qspi) { #ifdef DUAL_ENABLE DUAL_ENABLE(); #else - QUAD_ENABLE(); + return QSPI_STATUS_OK; #endif } -qspi_status_t dual_disable(Qspi &qspi) +static qspi_status_t dual_disable(Qspi &qspi) { #ifdef DUAL_DISABLE DUAL_DISABLE(); #else - QUAD_DISABLE(); + return QSPI_STATUS_OK; #endif } -qspi_status_t quad_enable(Qspi &qspi) +static qspi_status_t quad_enable(Qspi &qspi) { +#ifdef QUAD_ENABLE QUAD_ENABLE(); +#else + return QSPI_STATUS_OK; +#endif } -qspi_status_t quad_disable(Qspi &qspi) +static qspi_status_t quad_disable(Qspi &qspi) { +#ifdef QUAD_DISABLE QUAD_DISABLE(); +#else + return QSPI_STATUS_OK; +#endif } qspi_status_t fast_mode_enable(Qspi &qspi) { +#ifdef FAST_MODE_ENABLE FAST_MODE_ENABLE(); +#else + return QSPI_STATUS_OK; +#endif } -bool is_dual_cmd(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +qspi_status_t fast_mode_disable(Qspi &qspi) { - return (inst_width == QSPI_CFG_BUS_DUAL) || (addr_width == QSPI_CFG_BUS_DUAL) || (data_width == QSPI_CFG_BUS_DUAL); +#ifdef FAST_MODE_DISABLE + FAST_MODE_DISABLE(); +#else + return QSPI_STATUS_OK; +#endif } -bool is_quad_cmd(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +bool is_extended_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) { - return (inst_width == QSPI_CFG_BUS_QUAD) || (addr_width == QSPI_CFG_BUS_QUAD) || (data_width == QSPI_CFG_BUS_QUAD); + return (inst_width == QSPI_CFG_BUS_SINGLE) && ((addr_width != QSPI_CFG_BUS_SINGLE) || (data_width != QSPI_CFG_BUS_SINGLE)); +} + +bool is_dual_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +{ + return (inst_width == QSPI_CFG_BUS_DUAL) && (addr_width == QSPI_CFG_BUS_DUAL) && (data_width == QSPI_CFG_BUS_DUAL); +} + +bool is_quad_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width) +{ + return (inst_width == QSPI_CFG_BUS_QUAD) && (addr_width == QSPI_CFG_BUS_QUAD) && (data_width == QSPI_CFG_BUS_QUAD); } diff --git a/TESTS/mbed_hal/qspi/qspi_test_utils.h b/TESTS/mbed_hal/qspi/qspi_test_utils.h index 7f54a439f4..6d8028c1c0 100644 --- a/TESTS/mbed_hal/qspi/qspi_test_utils.h +++ b/TESTS/mbed_hal/qspi/qspi_test_utils.h @@ -34,6 +34,8 @@ public: qspi_bus_width_t alt_width, qspi_address_size_t addr_size, qspi_alt_size_t alt_size, int dummy_cycles = 0); + void set_dummy_cycles(int dummy_cycles); + void build(int instruction, int address = QSPI_NONE, int alt = QSPI_NONE); qspi_command_t *get(); @@ -120,26 +122,21 @@ QspiStatus flash_wait_for(uint32_t time_us, Qspi &qspi); void flash_init(Qspi &qspi); qspi_status_t write_enable(Qspi &qspi); - qspi_status_t write_disable(Qspi &qspi); void log_register(uint32_t cmd, uint32_t reg_size, Qspi &qspi, const char *str = NULL); -qspi_status_t dual_enable(Qspi &qspi); - -qspi_status_t dual_disable(Qspi &qspi); - -qspi_status_t quad_enable(Qspi &qspi); - -qspi_status_t quad_disable(Qspi &qspi); +qspi_status_t mode_enable(Qspi &qspi, qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); +qspi_status_t mode_disable(Qspi &qspi, qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); qspi_status_t fast_mode_enable(Qspi &qspi); +qspi_status_t fast_mode_disable(Qspi &qspi); qspi_status_t erase(uint32_t erase_cmd, uint32_t flash_addr, Qspi &qspi); -bool is_dual_cmd(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); - -bool is_quad_cmd(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); +bool is_extended_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); +bool is_dual_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); +bool is_quad_mode(qspi_bus_width_t inst_width, qspi_bus_width_t addr_width, qspi_bus_width_t data_width); #define WAIT_FOR(timeout, q) TEST_ASSERT_EQUAL_MESSAGE(sOK, flash_wait_for(timeout, q), "flash_wait_for failed!!!") From 71f473a45b3a9e8151ce189eebd7db6beb11fa16 Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Wed, 29 Aug 2018 10:09:09 +0200 Subject: [PATCH 054/202] qspi_hal_test add DPI and QPI support --- .../qspi/flash_configs/N25Q128A_config.h | 120 ++++++++++++++++-- TESTS/mbed_hal/qspi/main.cpp | 119 ++++++++++++++++- TESTS/mbed_hal/qspi/qspi_test_utils.h | 17 ++- 3 files changed, 244 insertions(+), 12 deletions(-) diff --git a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h index 2201447865..326b91f279 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h @@ -58,6 +58,8 @@ #define QSPI_CMD_WRITE_1IO 0x02 // 1-1-1 mode #define QSPI_CMD_WRITE_2IO 0xD2 // 1-2-2 mode #define QSPI_CMD_WRITE_4IO 0x12 // 1-4-4 mode +#define QSPI_CMD_WRITE_DPI 0xD2 // 2-2-2 mode +#define QSPI_CMD_WRITE_QPI 0x12 // 4-4-4 mode // write operations max time [us] (datasheet max time + 15%) #define QSPI_PAGE_PROG_MAX_TIME 5750 // 5ms @@ -68,8 +70,10 @@ #define QSPI_CMD_READ_1IO_FAST 0x0B // 1-1-1 mode #define QSPI_CMD_READ_1IO 0x03 // 1-1-1 mode #define QSPI_CMD_READ_2IO 0xBB // 1-2-2 mode +#define QSPI_CMD_READ_DPI 0xBB // 2-2-2 mode #define QSPI_CMD_READ_1I2O 0x3B // 1-1-2 mode #define QSPI_CMD_READ_4IO 0xEB // 1-4-4 mode +#define QSPI_CMD_READ_QPI 0xEB // 4-4-4 mode #define QSPI_CMD_READ_1I4O 0x6B // 1-1-4 mode @@ -155,22 +159,122 @@ #define DUAL_ENABLE() \ - /* TODO: add implementation */ \ - return QSPI_STATUS_OK + \ + uint8_t reg_data[QSPI_CONFIG_REG_2_SIZE]; \ + \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + reg_data[0] = reg_data[0] & ~(CONFIG2_BIT_DE); \ + if (write_register(QSPI_CMD_WRCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + qspi.cmd.configure(MODE_2_2_2, ADDR_SIZE_24, ALT_SIZE_8); \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[0] & (CONFIG2_BIT_DE)) == 0 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) #define DUAL_DISABLE() \ - /* TODO: add implementation */ \ - return QSPI_STATUS_OK + \ + uint8_t reg_data[QSPI_CONFIG_REG_2_SIZE]; \ + \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + reg_data[0] = reg_data[0] | (CONFIG2_BIT_DE); \ + if (write_register(QSPI_CMD_WRCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[0] & CONFIG2_BIT_DE) != 1 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) #define QUAD_ENABLE() \ - /* TODO: add implementation */ \ - return QSPI_STATUS_OK + \ + uint8_t reg_data[QSPI_CONFIG_REG_2_SIZE]; \ + \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + reg_data[0] = reg_data[0] & ~(CONFIG2_BIT_QE); \ + if (write_register(QSPI_CMD_WRCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + qspi.cmd.configure(MODE_4_4_4, ADDR_SIZE_24, ALT_SIZE_8); \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[0] & (CONFIG2_BIT_QE)) == 0 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) #define QUAD_DISABLE() \ - /* TODO: add implementation */ \ - return QSPI_STATUS_OK + \ + uint8_t reg_data[QSPI_CONFIG_REG_2_SIZE]; \ + \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + if (write_enable(qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + reg_data[0] = reg_data[0] | (CONFIG2_BIT_QE); \ + if (write_register(QSPI_CMD_WRCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + WAIT_FOR(WRSR_MAX_TIME, qspi); \ + qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); \ + memset(reg_data, 0, QSPI_CONFIG_REG_2_SIZE); \ + if (read_register(QSPI_CMD_RDCR2, reg_data, \ + QSPI_CONFIG_REG_2_SIZE, qspi) != QSPI_STATUS_OK) { \ + return QSPI_STATUS_ERROR; \ + } \ + \ + return ((reg_data[0] & CONFIG2_BIT_QE) != 1 ? \ + QSPI_STATUS_OK : QSPI_STATUS_ERROR) #endif // MBED_QSPI_FLASH_N25Q128A_H diff --git a/TESTS/mbed_hal/qspi/main.cpp b/TESTS/mbed_hal/qspi/main.cpp index 211c84f26b..58e9680852 100644 --- a/TESTS/mbed_hal/qspi/main.cpp +++ b/TESTS/mbed_hal/qspi/main.cpp @@ -374,6 +374,13 @@ Case cases[] = { // read/x1 write/x1 - read/write block of data in single write/read operation // read/x4 write/x4 - read/write block of data in adjacent locations in multiple write/read operations // repeat/xN - test repeat count (new data pattern each time) + // 1-1-1 - single channel SPI + // 1-1-2 - Dual data (extended SPI) + // 1-2-2 - Dual I/O (extended SPI) + // 1-1-4 - Quad data (extended SPI) + // 1-4-4 - Quad I/O (extended SPI) + // 2-2-2 - DPI (multi-channel SPI) + // 4-4-4 - QPI (multi-channel SPI) Case("qspi write(1-1-1)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), @@ -386,6 +393,12 @@ Case cases[] = { Case("qspi write(1-1-1)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_2_2_2 + Case("qspi write(1-1-1)/x1 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x4 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(2-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(2-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#endif Case("qspi write(1-1-1)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), @@ -394,7 +407,14 @@ Case cases[] = { Case("qspi write(1-1-1)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-1-1)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), -#ifdef QSPI_CMD_WRITE_2IO +#ifdef READ_4_4_4 + Case("qspi write(1-1-1)/x1 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x4 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(4-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-1-1)/x1 read(4-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#endif + +#ifdef WRITE_1_2_2 Case("qspi write(1-2-2)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), @@ -407,6 +427,12 @@ Case cases[] = { Case("qspi write(1-2-2)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_2_2_2 + Case("qspi write(1-2-2)/x1 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x4 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(2-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(2-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#endif Case("qspi write(1-2-2)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), @@ -415,8 +441,50 @@ Case cases[] = { Case("qspi write(1-2-2)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-2-2)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_4_4_4 + Case("qspi write(1-2-2)/x1 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x4 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(4-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-2-2)/x1 read(4-4-4)/x1 repeat/x4 test", qspi_write_read_test), #endif -#ifdef QSPI_CMD_WRITE_4IO +#endif + +#ifdef WRITE_2_2_2 + Case("qspi write(2-2-2)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-1)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-2)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_2_2_2 + Case("qspi write(2-2-2)/x1 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(2-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(2-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#endif + Case("qspi write(2-2-2)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-1-4)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_4_4_4 + Case("qspi write(2-2-2)/x1 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x4 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(4-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(2-2-2)/x1 read(4-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#endif +#endif + +#ifdef WRITE_1_4_4 Case("qspi write(1-4-4)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), @@ -429,6 +497,12 @@ Case cases[] = { Case("qspi write(1-4-4)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_2_2_2 + Case("qspi write(1-4-4)/x1 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x4 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(2-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(2-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#endif Case("qspi write(1-4-4)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), @@ -437,6 +511,47 @@ Case cases[] = { Case("qspi write(1-4-4)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), Case("qspi write(1-4-4)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_4_4_4 + Case("qspi write(1-4-4)/x1 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x4 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(4-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(1-4-4)/x1 read(4-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#endif +#endif + +#ifdef WRITE_4_4_4 + Case("qspi write(4-4-4)/x1 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(1-1-1)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-1)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-1)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(1-1-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-2)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(1-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_2_2_2 + Case("qspi write(4-4-4)/x1 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(2-2-2)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(2-2-2)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(2-2-2)/x1 repeat/x4 test", qspi_write_read_test), +#endif + Case("qspi write(4-4-4)/x1 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(1-1-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-1-4)/x1 repeat/x4 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(1-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(1-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#ifdef READ_4_4_4 + Case("qspi write(4-4-4)/x1 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x4 read(4-4-4)/x1 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(4-4-4)/x4 repeat/x1 test", qspi_write_read_test), + Case("qspi write(4-4-4)/x1 read(4-4-4)/x1 repeat/x4 test", qspi_write_read_test), +#endif #endif }; diff --git a/TESTS/mbed_hal/qspi/qspi_test_utils.h b/TESTS/mbed_hal/qspi/qspi_test_utils.h index 6d8028c1c0..3344abb510 100644 --- a/TESTS/mbed_hal/qspi/qspi_test_utils.h +++ b/TESTS/mbed_hal/qspi/qspi_test_utils.h @@ -53,8 +53,10 @@ struct Qspi { #define MODE_1_1_1 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE #define MODE_1_1_2 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL #define MODE_1_2_2 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL -#define MODE_1_1_4 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_SINGLE +#define MODE_2_2_2 QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL, QSPI_CFG_BUS_DUAL +#define MODE_1_1_4 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD #define MODE_1_4_4 QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD +#define MODE_4_4_4 QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD, QSPI_CFG_BUS_QUAD #define WRITE_1_1_1 MODE_1_1_1, QSPI_CMD_WRITE_1IO #ifdef QSPI_CMD_WRITE_2IO @@ -63,6 +65,12 @@ struct Qspi { #ifdef QSPI_CMD_WRITE_4IO #define WRITE_1_4_4 MODE_1_4_4, QSPI_CMD_WRITE_4IO #endif +#ifdef QSPI_CMD_WRITE_DPI +#define WRITE_2_2_2 MODE_2_2_2, QSPI_CMD_WRITE_DPI +#endif +#ifdef QSPI_CMD_WRITE_QPI +#define WRITE_4_4_4 MODE_4_4_4, QSPI_CMD_WRITE_QPI +#endif #define READ_1_1_1 MODE_1_1_1, QSPI_CMD_READ_1IO, QSPI_READ_1IO_DUMMY_CYCLE @@ -70,7 +78,12 @@ struct Qspi { #define READ_1_2_2 MODE_1_2_2, QSPI_CMD_READ_2IO, QSPI_READ_2IO_DUMMY_CYCLE #define READ_1_1_4 MODE_1_1_4, QSPI_CMD_READ_1I4O, QSPI_READ_1I4O_DUMMY_CYCLE #define READ_1_4_4 MODE_1_4_4, QSPI_CMD_READ_4IO, QSPI_READ_4IO_DUMMY_CYCLE - +#ifdef QSPI_CMD_READ_DPI +#define READ_2_2_2 MODE_2_2_2, QSPI_CMD_READ_DPI, QSPI_READ_2IO_DUMMY_CYCLE +#endif +#ifdef QSPI_CMD_READ_QPI +#define READ_4_4_4 MODE_4_4_4, QSPI_CMD_READ_QPI, QSPI_READ_4IO_DUMMY_CYCLE +#endif #define ADDR_SIZE_8 QSPI_CFG_ADDR_SIZE_8 #define ADDR_SIZE_16 QSPI_CFG_ADDR_SIZE_16 From 325ad8179d4305b2793eb70620e6c7437d95b026 Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Wed, 29 Aug 2018 14:47:39 +0200 Subject: [PATCH 055/202] qspi_hal_test - randomize flash RW addres randomize flash address during test to extend flash life --- .../qspi/flash_configs/MX25RXX35F_config.h | 2 ++ .../qspi/flash_configs/N25Q128A_config.h | 2 ++ TESTS/mbed_hal/qspi/main.cpp | 16 +++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h index 54f895c0ef..01be2c219b 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h @@ -52,6 +52,8 @@ #define QSPI_PAGE_PROG_MAX_TIME 11500 // 10ms #define QSPI_PAGE_SIZE 256 // 256B +#define QSPI_SECTOR_SIZE 4096 // 4kB +#define QSPI_SECTOR_COUNT 32 // adjusted to MX25R1035F smallest one from MX25RXX35F family // Commands for reading #define QSPI_CMD_READ_1IO_FAST 0x0B // 1-1-1 mode diff --git a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h index 326b91f279..30590b7c93 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/N25Q128A_config.h @@ -65,6 +65,8 @@ #define QSPI_PAGE_PROG_MAX_TIME 5750 // 5ms #define QSPI_PAGE_SIZE 256 // 256B +#define QSPI_SECTOR_SIZE 4096 // 4kB +#define QSPI_SECTOR_COUNT 4096 // Commands for reading #define QSPI_CMD_READ_1IO_FAST 0x0B // 1-1-1 mode diff --git a/TESTS/mbed_hal/qspi/main.cpp b/TESTS/mbed_hal/qspi/main.cpp index 58e9680852..647f7cc467 100644 --- a/TESTS/mbed_hal/qspi/main.cpp +++ b/TESTS/mbed_hal/qspi/main.cpp @@ -74,6 +74,13 @@ uint8_t rx_buf[DATA_SIZE_1024]; #define QCSN static_cast(QSPI_FLASH1_CSN) +static uint32_t gen_flash_address() +{ + srand(ticker_read(get_us_ticker_data())); + uint32_t address = (((uint32_t)rand()) % QSPI_SECTOR_COUNT) * QSPI_SECTOR_SIZE; + return address; +} + static void log_data(const char *str, uint8_t *data, uint32_t size) { utest_printf("%s: ", str); @@ -246,6 +253,13 @@ void qspi_write_read_test(void) { qspi_status_t ret; Qspi qspi; + + uint32_t addr = flash_addr; + if (addr == 0) { + // if no specified address selected, use random one to extend flash life + addr = gen_flash_address(); + } + qspi_init(&qspi.handle, QPIN_0, QPIN_1, QPIN_2, QPIN_3, QSCK, QCSN, QSPI_COMMON_MAX_FREQUENCY, 0); qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); @@ -270,7 +284,7 @@ void qspi_write_read_test(void) write_addr_size, write_alt_size, write_frequency, write_count, read_inst_width, read_addr_width, read_data_width, read_alt_width, read_cmd, read_dummy_cycles, read_addr_size, read_alt_size, read_frequency, read_count, test_count, - data_size, flash_addr); + data_size, addr); ret = fast_mode_disable(qspi); TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); From 05062bef520ad3ac2f2af84c7e99297e62dd2dc2 Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Thu, 30 Aug 2018 07:39:41 +0200 Subject: [PATCH 056/202] qspi_hal_test - remove unused variables --- TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h index 01be2c219b..141dff403a 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/MX25RXX35F_config.h @@ -185,7 +185,6 @@ #define FAST_MODE_ENABLE() \ \ - qspi_status_t ret; \ const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ uint8_t reg_data[reg_size]; \ \ @@ -220,7 +219,6 @@ #define FAST_MODE_DISABLE() \ \ - qspi_status_t ret; \ const int32_t reg_size = QSPI_STATUS_REG_SIZE + QSPI_CONFIG_REG_0_SIZE; \ uint8_t reg_data[reg_size]; \ \ From 51cac63eeb03f7b975448cfc5927deeff0b7c5df Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Thu, 30 Aug 2018 14:45:45 +0200 Subject: [PATCH 057/202] fix qspi address sending for nrf52 fix address sending in qspi_command_transfer now address is send MSB first --- .../flash_configs/NORDIC/NRF52840_DK/flash_config.h | 1 - targets/TARGET_NORDIC/TARGET_NRF5x/qspi_api.c | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h index bddd2929fa..73be2cd3a2 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h @@ -29,5 +29,4 @@ #undef QSPI_CMD_READ_1IO #define QSPI_CMD_READ_1IO QSPI_CMD_READ_1IO_FAST - #endif // MBED_QSPI_FLASH_CONFIG_H diff --git a/targets/TARGET_NORDIC/TARGET_NRF5x/qspi_api.c b/targets/TARGET_NORDIC/TARGET_NRF5x/qspi_api.c index 39e25df550..222f812018 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5x/qspi_api.c +++ b/targets/TARGET_NORDIC/TARGET_NRF5x/qspi_api.c @@ -281,7 +281,7 @@ qspi_status_t qspi_command_transfer(qspi_t *obj, const qspi_command_t *command, ret_code_t ret_code; uint8_t data[8]; uint32_t data_size = tx_size + rx_size; - + nrf_qspi_cinstr_conf_t qspi_cinstr_config; qspi_cinstr_config.opcode = command->instruction.value; qspi_cinstr_config.io2_level = true; @@ -298,8 +298,10 @@ qspi_status_t qspi_command_transfer(qspi_t *obj, const qspi_command_t *command, } else { return QSPI_STATUS_INVALID_PARAMETER; } - for (uint32_t i = 0; i < (uint32_t)qspi_cinstr_config.length - 1; ++i) { - data[i] = ((uint8_t *)&command->address.value)[i]; + uint32_t address_size = (uint32_t)qspi_cinstr_config.length - 1; + uint8_t *address_bytes = (uint8_t *)&command->address.value; + for (uint32_t i = 0; i < address_size; ++i) { + data[i] = address_bytes[address_size - 1 - i]; } } else if (data_size < 9) { qspi_cinstr_config.length = (nrf_qspi_cinstr_len_t)(NRF_QSPI_CINSTR_LEN_1B + data_size); @@ -321,7 +323,7 @@ qspi_status_t qspi_command_transfer(qspi_t *obj, const qspi_command_t *command, // Data is sending as a normal SPI transmission so there is one buffer to send and receive data. ((uint8_t *)rx_data)[i] = data[i]; } - + return QSPI_STATUS_OK; } From f3fee59972490f1c71941db81753aee46e37b25a Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Fri, 31 Aug 2018 11:25:18 +0200 Subject: [PATCH 058/202] qspi_hal_test - adjust used memory sector count set flash sector count to 1024 for EFM32GG11_STK3701(MX25R3235F) set flash sector count to 2048 for NRF52840_DK(MX25R6435F) --- .../qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h | 5 +++++ .../SiliconLabs/EFM32GG11_STK3701/flash_config.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h index 73be2cd3a2..d47d1a47e3 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/NORDIC/NRF52840_DK/flash_config.h @@ -29,4 +29,9 @@ #undef QSPI_CMD_READ_1IO #define QSPI_CMD_READ_1IO QSPI_CMD_READ_1IO_FAST +#ifdef QSPI_SECTOR_COUNT +#undef QSPI_SECTOR_COUNT +#define QSPI_SECTOR_COUNT 2048 // for MX25R6435F +#endif + #endif // MBED_QSPI_FLASH_CONFIG_H diff --git a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h index 41b576d8ea..58a9c1e626 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h @@ -18,5 +18,9 @@ #include "../../MX25RXX35F_config.h" +#ifdef QSPI_SECTOR_COUNT +#undef QSPI_SECTOR_COUNT +#define QSPI_SECTOR_COUNT 1024 // for MX25R3235F +#endif #endif // MBED_QSPI_FLASH_CONFIG_H From b6a7cf57302ed03378f15217d46ff0722205a3ce Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Mon, 10 Sep 2018 18:08:31 +0300 Subject: [PATCH 059/202] Clarify test configuration in Socket/Networking test document --- TESTS/netsocket/README.md | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/TESTS/netsocket/README.md b/TESTS/netsocket/README.md index 7922826ac7..689c711495 100644 --- a/TESTS/netsocket/README.md +++ b/TESTS/netsocket/README.md @@ -234,6 +234,16 @@ content at minimum: ``` { + "config": { + "echo-server-addr" : { + "help" : "IP address of echo server", + "value" : "\"echo.mbedcloudtesting.com\"" + }, + "echo-server-port" : { + "help" : "Port of echo server", + "value" : "7" + } + }, "macros": ["MBED_EXTENDED_TESTS"] } ``` @@ -257,7 +267,7 @@ the `mbed_app.json` might look like this: "value": "\"password\"" }, "wifi-secure-protocol": { - "help": "WiFi security protocol, valid values are WEP, WPA, WPA2, WPA/WPA2", + "help": "WiFi security protocol, valid values are WEP, WPA, WPA2, WPA_WPA2", "value": "\"WPA2\"" }, "wifi-ch-secure": { @@ -280,17 +290,6 @@ the `mbed_app.json` might look like this: "help": "How many networks may appear in Wifi scan result", "value": 30 }, - "header-file": { - "help" : "String for including your driver header file", - "value" : "\"MyWifiInterface.h\"" - }, - "object-construction" : { - "value" : "new MyWifiInterface()" - }, - "connect-statement" : { - "help" : "Must use 'net' variable name", - "value" : "net->wifiInterface()->connect(MBED_CONF_APP_WIFI_SECURE_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2)" - }, "echo-server-addr" : { "help" : "IP address of echo server", "value" : "\"echo.mbedcloudtesting.com\"" @@ -300,9 +299,18 @@ the `mbed_app.json` might look like this: "value" : "7" } }, - "macros": ["MBED_EXTENDED_TESTS"] + "macros": ["MBED_EXTENDED_TESTS"], + "target_overrides": { + "*": { + "target.network-default-interface-type": "WIFI", + "nsapi.default-wifi-ssid": "\"WIFI_SSID\"", + "nsapi.default-wifi-password": "\"WIFI_PASSWORD\"", + "nsapi.default-wifi-security": "WPA_WPA2" + } + } } ``` +See `mbed-os/tools/test_configs` folder for examples. Now build test binaries: From e7d7b0ded677cd0f23c5710177f06b3d06a516e5 Mon Sep 17 00:00:00 2001 From: Kimmo Vaisanen Date: Wed, 12 Sep 2018 10:26:44 +0300 Subject: [PATCH 060/202] Lora: Fix sticky MAC command retransmission This commit fixes the bug where sticky MAC commands were duplicated in send buffer everytime send() was called. --- features/lorawan/lorastack/mac/LoRaMac.cpp | 49 +++++++------------ .../lorawan/lorastack/mac/LoRaMacCommand.cpp | 34 ------------- .../lorawan/lorastack/mac/LoRaMacCommand.h | 24 --------- 3 files changed, 18 insertions(+), 89 deletions(-) diff --git a/features/lorawan/lorastack/mac/LoRaMac.cpp b/features/lorawan/lorastack/mac/LoRaMac.cpp index 5d5e0d6899..b6a9ff238f 100644 --- a/features/lorawan/lorastack/mac/LoRaMac.cpp +++ b/features/lorawan/lorastack/mac/LoRaMac.cpp @@ -535,6 +535,7 @@ void LoRaMac::handle_data_frame(const uint8_t *const payload, _params.adr_ack_counter = 0; _mac_commands.clear_repeat_buffer(); + _mac_commands.clear_command_buffer(); if (is_multicast) { _mcps_indication.type = MCPS_MULTICAST; @@ -583,18 +584,9 @@ void LoRaMac::handle_data_frame(const uint8_t *const payload, _params.dl_frame_counter = downlink_counter; } - // This must be done before parsing the payload and the MAC commands. - // We need to reset the MacCommandsBufferIndex here, since we need - // to take retransmissions and repetitions into account. Error cases - // will be handled in function OnMacStateCheckTimerEvent. - if (_params.is_node_ack_requested) { - if (fctrl.bits.ack) { - _mac_commands.clear_command_buffer(); - _mcps_confirmation.ack_received = fctrl.bits.ack; - _mcps_indication.is_ack_recvd = fctrl.bits.ack; - } - } else { - _mac_commands.clear_command_buffer(); + if (_params.is_node_ack_requested && fctrl.bits.ack) { + _mcps_confirmation.ack_received = fctrl.bits.ack; + _mcps_indication.is_ack_recvd = fctrl.bits.ack; } uint8_t frame_len = (size - 4) - app_payload_start_index; @@ -663,6 +655,8 @@ void LoRaMac::on_radio_tx_done(lorawan_time_t timestamp) _lora_phy->set_last_tx_done(_params.channel, _is_nwk_joined, timestamp); _params.timers.aggregated_last_tx_time = timestamp; + + _mac_commands.clear_command_buffer(); } void LoRaMac::on_radio_rx_done(const uint8_t *const payload, uint16_t size, @@ -781,7 +775,6 @@ bool LoRaMac::continue_joining_process() bool LoRaMac::continue_sending_process() { if (_params.ack_timeout_retry_counter > _params.max_ack_timeout_retries) { - _mac_commands.clear_command_buffer(); _lora_time.stop(_params.timers.ack_timeout_timer); return false; } @@ -1195,7 +1188,6 @@ void LoRaMac::reset_mac_parameters(void) _mac_commands.clear_command_buffer(); _mac_commands.clear_repeat_buffer(); - _mac_commands.clear_mac_commands_in_next_tx(); _params.is_rx_window_enabled = true; @@ -1600,26 +1592,23 @@ lorawan_status_t LoRaMac::prepare_frame(loramac_mhdr_t *machdr, const uint8_t mac_commands_len = _mac_commands.get_mac_cmd_length(); if ((payload != NULL) && (_params.tx_buffer_len > 0)) { - if (_mac_commands.is_mac_command_in_next_tx() == true) { - if (mac_commands_len <= LORA_MAC_COMMAND_MAX_FOPTS_LENGTH) { - fctrl->bits.fopts_len += mac_commands_len; + if (mac_commands_len <= LORA_MAC_COMMAND_MAX_FOPTS_LENGTH) { + fctrl->bits.fopts_len += mac_commands_len; - // Update FCtrl field with new value of OptionsLength - _params.tx_buffer[0x05] = fctrl->value; + // Update FCtrl field with new value of OptionsLength + _params.tx_buffer[0x05] = fctrl->value; - const uint8_t *buffer = _mac_commands.get_mac_commands_buffer(); - for (i = 0; i < mac_commands_len; i++) { - _params.tx_buffer[pkt_header_len++] = buffer[i]; - } - } else { - _params.tx_buffer_len = mac_commands_len; - payload = _mac_commands.get_mac_commands_buffer(); - frame_port = 0; + const uint8_t *buffer = _mac_commands.get_mac_commands_buffer(); + for (i = 0; i < mac_commands_len; i++) { + _params.tx_buffer[pkt_header_len++] = buffer[i]; } + } else { + _params.tx_buffer_len = mac_commands_len; + payload = _mac_commands.get_mac_commands_buffer(); + frame_port = 0; } } else { - if ((mac_commands_len > 0) - && (_mac_commands.is_mac_command_in_next_tx() == true)) { + if (mac_commands_len > 0) { _params.tx_buffer_len = mac_commands_len; payload = _mac_commands.get_mac_commands_buffer(); frame_port = 0; @@ -1636,7 +1625,6 @@ lorawan_status_t LoRaMac::prepare_frame(loramac_mhdr_t *machdr, uint8_t *key = _params.keys.app_skey; uint32_t key_length = sizeof(_params.keys.app_skey) * 8; if (frame_port == 0) { - _mac_commands.clear_command_buffer(); key = _params.keys.nwk_skey; key_length = sizeof(_params.keys.nwk_skey) * 8; } @@ -1813,7 +1801,6 @@ void LoRaMac::disconnect() _mac_commands.clear_command_buffer(); _mac_commands.clear_repeat_buffer(); - _mac_commands.clear_mac_commands_in_next_tx(); reset_mcps_confirmation(); reset_mlme_confirmation(); diff --git a/features/lorawan/lorastack/mac/LoRaMacCommand.cpp b/features/lorawan/lorastack/mac/LoRaMacCommand.cpp index 2fca7193e2..596d0b8720 100644 --- a/features/lorawan/lorastack/mac/LoRaMacCommand.cpp +++ b/features/lorawan/lorastack/mac/LoRaMacCommand.cpp @@ -36,7 +36,6 @@ static const uint8_t max_eirp_table[] = { 8, 10, 12, 13, 14, 16, 18, 20, 21, 24, LoRaMacCommand::LoRaMacCommand() { - mac_cmd_in_next_tx = false; sticky_mac_cmd = false; mac_cmd_buf_idx = 0; mac_cmd_buf_idx_to_repeat = 0; @@ -99,15 +98,9 @@ void LoRaMacCommand::parse_mac_commands_to_repeat() } } - if (cmd_cnt > 0) { - mac_cmd_in_next_tx = true; - } else { - mac_cmd_in_next_tx = false; - } mac_cmd_buf_idx_to_repeat = cmd_cnt; } - void LoRaMacCommand::clear_repeat_buffer() { mac_cmd_buf_idx_to_repeat = 0; @@ -124,16 +117,6 @@ uint8_t LoRaMacCommand::get_repeat_commands_length() const return mac_cmd_buf_idx_to_repeat; } -void LoRaMacCommand::clear_mac_commands_in_next_tx() -{ - mac_cmd_in_next_tx = false; -} - -bool LoRaMacCommand::is_mac_command_in_next_tx() const -{ - return mac_cmd_in_next_tx; -} - void LoRaMacCommand::clear_sticky_mac_cmd() { sticky_mac_cmd = false; @@ -311,14 +294,6 @@ lorawan_status_t LoRaMacCommand::process_mac_commands(const uint8_t *payload, ui return ret_value; } -bool LoRaMacCommand::is_sticky_mac_command_pending() -{ - if (mac_cmd_buf_idx_to_repeat > 0) { - return true; - } - return false; -} - int32_t LoRaMacCommand::cmd_buffer_remaining() const { // The maximum buffer length must take MAC commands to re-send into account. @@ -337,7 +312,6 @@ lorawan_status_t LoRaMacCommand::add_link_check_req() mac_cmd_buffer[mac_cmd_buf_idx++] = MOTE_MAC_LINK_CHECK_REQ; // No payload for this command ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -349,7 +323,6 @@ lorawan_status_t LoRaMacCommand::add_link_adr_ans(uint8_t status) mac_cmd_buffer[mac_cmd_buf_idx++] = MOTE_MAC_LINK_ADR_ANS; mac_cmd_buffer[mac_cmd_buf_idx++] = status; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -361,7 +334,6 @@ lorawan_status_t LoRaMacCommand::add_duty_cycle_ans() mac_cmd_buffer[mac_cmd_buf_idx++] = MOTE_MAC_DUTY_CYCLE_ANS; // No payload for this answer ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -376,7 +348,6 @@ lorawan_status_t LoRaMacCommand::add_rx_param_setup_ans(uint8_t status) // This is a sticky MAC command answer. Setup indication sticky_mac_cmd = true; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -391,7 +362,6 @@ lorawan_status_t LoRaMacCommand::add_dev_status_ans(uint8_t battery, uint8_t mar mac_cmd_buffer[mac_cmd_buf_idx++] = battery; mac_cmd_buffer[mac_cmd_buf_idx++] = margin; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -404,7 +374,6 @@ lorawan_status_t LoRaMacCommand::add_new_channel_ans(uint8_t status) // Status: Datarate range OK, Channel frequency OK mac_cmd_buffer[mac_cmd_buf_idx++] = status; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -418,7 +387,6 @@ lorawan_status_t LoRaMacCommand::add_rx_timing_setup_ans() // This is a sticky MAC command answer. Setup indication sticky_mac_cmd = true; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -430,7 +398,6 @@ lorawan_status_t LoRaMacCommand::add_tx_param_setup_ans() mac_cmd_buffer[mac_cmd_buf_idx++] = MOTE_MAC_TX_PARAM_SETUP_ANS; // No payload for this answer ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } @@ -445,7 +412,6 @@ lorawan_status_t LoRaMacCommand::add_dl_channel_ans(uint8_t status) // This is a sticky MAC command answer. Setup indication sticky_mac_cmd = true; ret = LORAWAN_STATUS_OK; - mac_cmd_in_next_tx = true; } return ret; } diff --git a/features/lorawan/lorastack/mac/LoRaMacCommand.h b/features/lorawan/lorastack/mac/LoRaMacCommand.h index dfbcd29608..aec31566c4 100644 --- a/features/lorawan/lorastack/mac/LoRaMacCommand.h +++ b/features/lorawan/lorastack/mac/LoRaMacCommand.h @@ -97,18 +97,6 @@ public: */ uint8_t get_repeat_commands_length() const; - /** - * @brief Clear MAC commands in next TX. - */ - void clear_mac_commands_in_next_tx(); - - /** - * @brief Check if MAC command buffer has commands to be sent in next TX - * - * @return status True: buffer has MAC commands to be sent, false: no commands in buffer - */ - bool is_mac_command_in_next_tx() const; - /** * @brief Clear sticky MAC commands. */ @@ -132,13 +120,6 @@ public: lora_mac_system_params_t& mac_params, LoRaPHY& lora_phy); - /** - * @brief Verifies if sticky MAC commands are pending. - * - * @return [true: sticky MAC commands pending, false: No MAC commands pending] - */ - bool is_sticky_mac_command_pending(); - /** * @brief Adds a new LinkCheckReq MAC command to be sent. * @@ -237,11 +218,6 @@ private: lorawan_status_t add_dl_channel_ans(uint8_t status); private: - /** - * Indicates if the MAC layer wants to send MAC commands - */ - bool mac_cmd_in_next_tx; - /** * Indicates if there are any pending sticky MAC commands */ From e1b57ef24ea1b0dcfd2afbda2e649e55b8ab8669 Mon Sep 17 00:00:00 2001 From: studavekar Date: Thu, 13 Sep 2018 03:06:42 -0500 Subject: [PATCH 061/202] specify mbed-cli version requirement --- UNITTESTS/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/UNITTESTS/README.md b/UNITTESTS/README.md index a405baceed..992eb3faab 100644 --- a/UNITTESTS/README.md +++ b/UNITTESTS/README.md @@ -10,6 +10,7 @@ This document describes how to run and write unit tests for Mbed OS. * CMake 3.0+ installed. * Python 2.7.x or >3.5 and pip 10.0 (or newer) installed. * gcovr >=4.1 +* mbed-cli >= 1.80 ### Installing dependencies on Debian/Ubuntu From 413ee535da5815eb60dddba361af39d6ec12e1d7 Mon Sep 17 00:00:00 2001 From: bcostm Date: Wed, 19 Sep 2018 16:46:54 +0200 Subject: [PATCH 062/202] STM32: fix wrong LSE config in serial_baud function --- targets/TARGET_STM/serial_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/TARGET_STM/serial_api.c b/targets/TARGET_STM/serial_api.c index 9ad3d70ba8..37c848664e 100644 --- a/targets/TARGET_STM/serial_api.c +++ b/targets/TARGET_STM/serial_api.c @@ -354,7 +354,7 @@ void serial_baud(serial_t *obj, int baudrate) if (!__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY)) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; - RCC_OscInitStruct.HSIState = RCC_LSE_ON; + RCC_OscInitStruct.LSEState = RCC_LSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; HAL_RCC_OscConfig(&RCC_OscInitStruct); } From a0c2518761cf1a0794960fb4058b3f047bb94fa1 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Wed, 8 Aug 2018 09:38:48 +0800 Subject: [PATCH 063/202] Fix spurious us_ticker/lp_ticker interrupts If us_ticker/lp_ticker is scheduled and then the interrupt is disabled, the originally scheduled interrupt may still become pending. If this occurs, then an interrupt will fire twice on the next call to us_ticker_set_interrupt/lp_ticker_set_interrupt - once immediately and then a second time at the appropriate time. This patch prevents the first interrupt by clearing interrupts in us_ticker_set_interrupt/lp_ticker_set_interrupt before calling NVIC_EnableIRQ. --- targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c | 6 ++++-- targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c | 6 ++++-- 10 files changed, 40 insertions(+), 20 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c index 8e0daf379f..d7b4eb6e47 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c @@ -101,8 +101,6 @@ void lp_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ lp_ticker_disable_interrupt(); - lp_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -203,6 +201,10 @@ timestamp_t lp_ticker_read() void lp_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + lp_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c index a8034561fc..9a336110c7 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c @@ -75,8 +75,6 @@ void us_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ us_ticker_disable_interrupt(); - us_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -159,6 +157,10 @@ uint32_t us_ticker_read() void us_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + us_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c index 5a09e84a3d..98e8631e4e 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c @@ -76,8 +76,6 @@ void lp_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ lp_ticker_disable_interrupt(); - lp_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -166,6 +164,10 @@ timestamp_t lp_ticker_read() void lp_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + lp_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c index 0fadea09de..66e9a97c42 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c @@ -52,8 +52,6 @@ void us_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ us_ticker_disable_interrupt(); - us_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -124,6 +122,10 @@ uint32_t us_ticker_read() void us_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + us_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c index 1811c72dfc..04b88e8a61 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c @@ -76,8 +76,6 @@ void lp_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ lp_ticker_disable_interrupt(); - lp_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -166,6 +164,10 @@ timestamp_t lp_ticker_read() void lp_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + lp_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c index 1441cf26b3..715857241d 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c @@ -52,8 +52,6 @@ void us_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ us_ticker_disable_interrupt(); - us_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -124,6 +122,10 @@ uint32_t us_ticker_read() void us_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + us_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c index c2faafc856..fc249fc38e 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c @@ -78,8 +78,6 @@ void lp_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ lp_ticker_disable_interrupt(); - lp_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -170,6 +168,10 @@ timestamp_t lp_ticker_read() void lp_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + lp_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c index 0c5160d839..f1bf49467e 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c @@ -54,8 +54,6 @@ void us_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ us_ticker_disable_interrupt(); - us_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -126,6 +124,10 @@ uint32_t us_ticker_read() void us_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + us_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c index 1f55c08ca2..c7972dcabd 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c @@ -76,8 +76,6 @@ void lp_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ lp_ticker_disable_interrupt(); - lp_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -165,6 +163,10 @@ timestamp_t lp_ticker_read() void lp_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + lp_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c index 03e58bac60..a135a7585a 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c @@ -52,8 +52,6 @@ void us_ticker_init(void) /* By HAL spec, ticker_init allows the ticker to keep counting and disables the * ticker interrupt. */ us_ticker_disable_interrupt(); - us_ticker_clear_interrupt(); - NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); return; } ticker_inited = 1; @@ -123,6 +121,10 @@ uint32_t us_ticker_read() void us_ticker_set_interrupt(timestamp_t timestamp) { + /* Clear any previously pending interrupts */ + us_ticker_clear_interrupt(); + NVIC_ClearPendingIRQ(TIMER_MODINIT.irq_n); + /* In continuous mode, counter will be reset to zero with the following sequence: * 1. Stop counting * 2. Configure new CMP value From e884ce90326e3c96ef8108cac3c8ffac0ebe5fcc Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 14 Aug 2018 18:04:11 +0800 Subject: [PATCH 064/202] Fix lp_ticker_free cannot pass speed test --- targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c | 16 ---------------- targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c | 16 ---------------- targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c | 16 ---------------- .../TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c | 16 ---------------- targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c | 16 ---------------- 5 files changed, 80 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c index d7b4eb6e47..10f7adbf15 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/lp_ticker.c @@ -160,23 +160,7 @@ void lp_ticker_init(void) void lp_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - - /* Disable wakeup */ - TIMER_DisableWakeup(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock diff --git a/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c index 98e8631e4e..c723e77cb1 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/lp_ticker.c @@ -126,23 +126,7 @@ void lp_ticker_init(void) void lp_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - - /* Disable wakeup */ - TIMER_DisableWakeup(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c index 04b88e8a61..fe6a923cee 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/lp_ticker.c @@ -126,23 +126,7 @@ void lp_ticker_init(void) void lp_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - - /* Disable wakeup */ - TIMER_DisableWakeup(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c index fc249fc38e..41b1ec55d7 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/lp_ticker.c @@ -130,23 +130,7 @@ void lp_ticker_init(void) void lp_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_TMR_ACT_Msk)); - - /* Disable wakeup */ - TIMER_DisableWakeup(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c b/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c index c7972dcabd..0b4f99e717 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/lp_ticker.c @@ -125,23 +125,7 @@ void lp_ticker_init(void) void lp_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - - /* Disable wakeup */ - TIMER_DisableWakeup(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); - wait_us((NU_US_PER_SEC / NU_TMRCLK_PER_SEC) * 3); - NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ From 78cbc0db9735f8ce8023e08419c777f03fec2a5c Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 14 Aug 2018 18:07:08 +0800 Subject: [PATCH 065/202] Synchronize us_ticker to lp_ticker This is to make implementations of us_ticker/lp_ticker consistent. --- targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c | 9 --------- targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c | 9 --------- targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c | 9 --------- targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c | 9 --------- targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c | 9 --------- 5 files changed, 45 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c index 9a336110c7..2f81310e7c 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/us_ticker.c @@ -123,16 +123,7 @@ void us_ticker_init(void) void us_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock diff --git a/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c index 66e9a97c42..c04d4a940e 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/us_ticker.c @@ -91,16 +91,7 @@ void us_ticker_init(void) void us_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c index 715857241d..48624e308e 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/us_ticker.c @@ -91,16 +91,7 @@ void us_ticker_init(void) void us_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c index f1bf49467e..67fbe28317 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/us_ticker.c @@ -93,16 +93,7 @@ void us_ticker_init(void) void us_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_TMR_ACT_Msk)); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c b/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c index a135a7585a..78997c68a9 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/us_ticker.c @@ -90,16 +90,7 @@ void us_ticker_init(void) void us_ticker_free(void) { - TIMER_T *timer_base = (TIMER_T *) NU_MODBASE(TIMER_MODINIT.modname); - - /* Stop counting */ - TIMER_Stop(timer_base); - - /* Wait for timer to stop counting and unset active flag */ - while((timer_base->CTL & TIMER_CTL_ACTSTS_Msk)); - /* Disable interrupt */ - TIMER_DisableInt(timer_base); NVIC_DisableIRQ(TIMER_MODINIT.irq_n); /* Disable IP clock */ From 203e87ba611a0a1c8705d4f89d135705b4d135db Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 14 Aug 2018 18:40:19 +0800 Subject: [PATCH 066/202] Fix Greentea test common_tickers failed 1. Disable ticker interrupt which would interfere with fire_interrupt speed test 2. Enlarge test period to avoid timeout error --- TESTS/mbed_hal/common_tickers/main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TESTS/mbed_hal/common_tickers/main.cpp b/TESTS/mbed_hal/common_tickers/main.cpp index 98f879e70e..e1a26dc79e 100644 --- a/TESTS/mbed_hal/common_tickers/main.cpp +++ b/TESTS/mbed_hal/common_tickers/main.cpp @@ -473,11 +473,14 @@ void ticker_speed_test(void) /* ---- Test fire_interrupt function. ---- */ counter = NUM_OF_CALLS; + /* Disable ticker interrupt which would interfere with speed test */ + core_util_critical_section_enter(); start = us_ticker_read(); while (counter--) { intf->fire_interrupt(); } stop = us_ticker_read(); + core_util_critical_section_exit(); TEST_ASSERT(diff_us(start, stop, us_ticker_info) < (NUM_OF_CALLS * (MAX_FUNC_EXEC_TIME_US + DELTA_FUNC_EXEC_TIME_US))); @@ -569,7 +572,7 @@ utest::v1::status_t lp_ticker_teardown(const Case *const source, const size_t pa utest::v1::status_t test_setup(const size_t number_of_cases) { - GREENTEA_SETUP(30, "default_auto"); + GREENTEA_SETUP(80, "default_auto"); return verbose_test_setup_handler(number_of_cases); } From 92cb4fe6b7a4e383caf7b1c1e67e33bc5bdd54b4 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 6 Sep 2018 21:49:06 +0200 Subject: [PATCH 067/202] Hotfix for PR #7778 TB_SENSE_12 would have been left behind by the changes in #7778. This commit implements the changes in mbed to allow targets to provide a default network interface for Silicon Labs targets. --- .../sal-stack-nanostack/mbed_lib.json | 3 +++ .../TARGET_SL_RAIL/NanostackRfPhyEfr32.cpp | 6 ++++++ features/netsocket/mbed_lib.json | 3 +++ targets/targets.json | 18 +++++++++++++++--- tools/test_configs/target_configs.json | 4 ++++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/features/nanostack/sal-stack-nanostack/mbed_lib.json b/features/nanostack/sal-stack-nanostack/mbed_lib.json index 56620466a1..b69dd1c4f1 100644 --- a/features/nanostack/sal-stack-nanostack/mbed_lib.json +++ b/features/nanostack/sal-stack-nanostack/mbed_lib.json @@ -13,6 +13,9 @@ }, "NCS36510": { "nanostack.configuration": "lowpan_router" + }, + "TB_SENSE_12": { + "nanostack.configuration": "lowpan_router" } } } diff --git a/features/nanostack/targets/TARGET_Silicon_Labs/TARGET_SL_RAIL/NanostackRfPhyEfr32.cpp b/features/nanostack/targets/TARGET_Silicon_Labs/TARGET_SL_RAIL/NanostackRfPhyEfr32.cpp index 7ada01adaa..329ccca021 100644 --- a/features/nanostack/targets/TARGET_Silicon_Labs/TARGET_SL_RAIL/NanostackRfPhyEfr32.cpp +++ b/features/nanostack/targets/TARGET_Silicon_Labs/TARGET_SL_RAIL/NanostackRfPhyEfr32.cpp @@ -1275,3 +1275,9 @@ static void radioEventHandler(RAIL_Handle_t railHandle, } while (events != 0); } + +NanostackRfPhy &NanostackRfPhy::get_default_instance() +{ + static NanostackRfPhyEfr32 rf_phy; + return rf_phy; +} diff --git a/features/netsocket/mbed_lib.json b/features/netsocket/mbed_lib.json index 5de5a8884a..3575b47ebc 100644 --- a/features/netsocket/mbed_lib.json +++ b/features/netsocket/mbed_lib.json @@ -36,6 +36,9 @@ }, "NCS36510": { "nsapi.default-mesh-type": "LOWPAN" + }, + "TB_SENSE_12": { + "nsapi.default-mesh-type": "LOWPAN" } } } diff --git a/targets/targets.json b/targets/targets.json index 30e5284fc4..1a24ac30e6 100755 --- a/targets/targets.json +++ b/targets/targets.json @@ -3443,7 +3443,7 @@ }, "EFR32MG1_BRD4150": { "inherits": ["EFR32MG1P132F256GM48"], - "device_has": ["ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "FLASH"], + "device_has": ["802_15_4_PHY", "ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "FLASH"], "forced_reset_timeout": 2, "config": { "hf_clock_src": { @@ -3482,11 +3482,14 @@ "macro_name": "EFM_BC_EN" } }, + "overrides": { + "network-default-interface-type": "MESH" + }, "public": false }, "TB_SENSE_1": { "inherits": ["EFR32MG1P233F256GM48"], - "device_has": ["ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "FLASH"], + "device_has": ["802_15_4_PHY", "ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "FLASH"], "forced_reset_timeout": 5, "config": { "hf_clock_src": { @@ -3519,6 +3522,9 @@ "value": "cmuHFRCOFreq_32M0Hz", "macro_name": "HFRCO_FREQUENCY_ENUM" } + }, + "overrides": { + "network-default-interface-type": "MESH" } }, "EFM32PG12B500F1024GL125": { @@ -3588,7 +3594,7 @@ "TB_SENSE_12": { "inherits": ["EFR32MG12P332F1024GL125"], "device_name": "EFR32MG12P332F1024GL125", - "device_has": ["ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "TRNG", "FLASH"], + "device_has": ["802_15_4_PHY", "ANALOGIN", "CRC", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "LPTICKER", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "STDIO_MESSAGES", "USTICKER", "TRNG", "FLASH"], "forced_reset_timeout": 5, "config": { "hf_clock_src": { @@ -3621,6 +3627,9 @@ "value": "cmuHFRCOFreq_32M0Hz", "macro_name": "HFRCO_FREQUENCY_ENUM" } + }, + "overrides": { + "network-default-interface-type": "MESH" } }, "EFM32GG11B820F2048GL192": { @@ -3680,6 +3689,9 @@ "value": "PG13", "macro_name": "QSPI_FLASH_EN" } + }, + "overrides": { + "network-default-interface-type": "ETHERNET" } }, "WIZWIKI_W7500": { diff --git a/tools/test_configs/target_configs.json b/tools/test_configs/target_configs.json index ad294bda6f..09c22cb6e5 100644 --- a/tools/test_configs/target_configs.json +++ b/tools/test_configs/target_configs.json @@ -46,5 +46,9 @@ "KW24D": { "default_test_configuration": "NO_NETWORK", "test_configurations": ["6LOWPAN_HOST", "6LOWPAN_ROUTER", "THREAD_END_DEVICE", "THREAD_ROUTER"] + }, + "TB_SENSE_12": { + "default_test_configuration": "NO_NETWORK", + "test_configurations": ["6LOWPAN_HOST", "6LOWPAN_ROUTER", "THREAD_END_DEVICE", "THREAD_ROUTER"] } } From a518ff9e8e551b9211895b50c252a6e5631a3b19 Mon Sep 17 00:00:00 2001 From: Steven Date: Fri, 7 Sep 2018 16:11:55 +0200 Subject: [PATCH 068/202] Supply default test config for TB_SENSE_1 as well --- tools/test_configs/target_configs.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/test_configs/target_configs.json b/tools/test_configs/target_configs.json index 09c22cb6e5..8750262cd5 100644 --- a/tools/test_configs/target_configs.json +++ b/tools/test_configs/target_configs.json @@ -50,5 +50,9 @@ "TB_SENSE_12": { "default_test_configuration": "NO_NETWORK", "test_configurations": ["6LOWPAN_HOST", "6LOWPAN_ROUTER", "THREAD_END_DEVICE", "THREAD_ROUTER"] + }, + "TB_SENSE_1": { + "default_test_configuration": "NO_NETWORK", + "test_configurations": ["6LOWPAN_HOST", "6LOWPAN_ROUTER", "THREAD_END_DEVICE", "THREAD_ROUTER"] } } From 62a55a642308d37151ebee5448a2096f5d3c7c7b Mon Sep 17 00:00:00 2001 From: Kevin Bracey Date: Thu, 20 Sep 2018 13:19:24 +0300 Subject: [PATCH 069/202] Remove IAR assembler macros containing quotes IAR assembler 7.80 has some problems handling difficult macros, leading to immediate exit with return value -11. In particular, a URL string has been causing problems, presumably due to the "//" resembling a comment. A previous escaping workaround in 0d97803 seemed to work, but the crash has still been seen with a particular target. Previous creation of the extended command line file for the IAR assembler was stripping quotes from macros. This rendered the resulting definitions for string-containing macros incorrect, which means that we can assume no assembler code is currently relying on them. Therefore, as a precautionary measure to avoid the crash, simply remove all macros containing strings when creating them for IAR. This apparently clears the crashes seen during testing of https://github.com/ARMmbed/mbed-os/pull/8023 --- tools/toolchains/iar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/toolchains/iar.py b/tools/toolchains/iar.py index b54487869a..ecfd6c8de5 100644 --- a/tools/toolchains/iar.py +++ b/tools/toolchains/iar.py @@ -167,7 +167,7 @@ class IAR(mbedToolchain): opts = ['-D%s' % d for d in defines] if for_asm: config_macros = self.config.get_config_data_macros() - macros_cmd = ['"-D%s"' % d.replace('"', '').replace('//','/\/') for d in config_macros] + macros_cmd = ['"-D%s"' % d for d in config_macros if not '"' in d] if self.RESPONSE_FILES: via_file = self.make_option_file( macros_cmd, "asm_macros_{}.xcl") From 814ff08789d5c41c7f56b3f5d0db6704eb11d288 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Wed, 19 Sep 2018 15:42:33 +0300 Subject: [PATCH 070/202] fix athandler unit tests and declaration conflict --- .../framework/AT/athandler/athandlertest.cpp | 2 ++ UNITTESTS/target_h/platform/mbed_wait_api.h | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 UNITTESTS/target_h/platform/mbed_wait_api.h diff --git a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp index 52a32a367b..7a49a70c42 100644 --- a/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/athandler/athandlertest.cpp @@ -618,6 +618,7 @@ TEST_F(TestATHandler, test_ATHandler_read_string) // *** Reading more than available in buffer *** at.clear_error(); char table4[] = "\"s,\"OK\r\n\0"; + mbed_poll_stub::int_value = 0; at.flush(); filehandle_stub_table = table4; filehandle_stub_table_pos = 0; @@ -741,6 +742,7 @@ TEST_F(TestATHandler, test_ATHandler_read_string) // *** CRLF part of the string *** at.clear_error(); char table10[] = "\"s\"\r\nOK\r\n\0"; + mbed_poll_stub::int_value = 0; at.flush(); filehandle_stub_table = table10; filehandle_stub_table_pos = 0; diff --git a/UNITTESTS/target_h/platform/mbed_wait_api.h b/UNITTESTS/target_h/platform/mbed_wait_api.h new file mode 100644 index 0000000000..e6b21b44e1 --- /dev/null +++ b/UNITTESTS/target_h/platform/mbed_wait_api.h @@ -0,0 +1,33 @@ + +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBED_WAIT_API_H +#define MBED_WAIT_API_H + +#ifdef __cplusplus +extern "C" { +#endif + +void wait_ms(int ms); + +void wait_us(int us); + +#ifdef __cplusplus +} +#endif + +#endif + From 2bd1f6453145001c62260968aa9e3bb222ea13b9 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Fri, 21 Sep 2018 13:00:47 +0300 Subject: [PATCH 071/202] replace missing types --- UNITTESTS/target_h/platform/mbed_retarget.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/UNITTESTS/target_h/platform/mbed_retarget.h b/UNITTESTS/target_h/platform/mbed_retarget.h index b379eb0de3..c4f381ff3b 100644 --- a/UNITTESTS/target_h/platform/mbed_retarget.h +++ b/UNITTESTS/target_h/platform/mbed_retarget.h @@ -324,9 +324,9 @@ struct statvfs { unsigned long f_bsize; ///< Filesystem block size unsigned long f_frsize; ///< Fragment size (block size) - fsblkcnt_t f_blocks; ///< Number of blocks - fsblkcnt_t f_bfree; ///< Number of free blocks - fsblkcnt_t f_bavail; ///< Number of free blocks for unprivileged users + unsigned long long f_blocks; ///< Number of blocks + unsigned long long f_bfree; ///< Number of free blocks + unsigned long long f_bavail; ///< Number of free blocks for unprivileged users unsigned long f_fsid; ///< Filesystem ID From 38c7abfe7fd545c9ca31953de09eabd7df6681ca Mon Sep 17 00:00:00 2001 From: ccli8 Date: Mon, 10 Sep 2018 11:32:54 +0800 Subject: [PATCH 072/202] Support Nuvoton's NuMaker-IoT-M487 board --- targets/TARGET_NUVOTON/TARGET_M480/PinNames.h | 4 ++ targets/targets.json | 42 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h b/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h index 816d5ece49..d75e1025db 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h @@ -125,7 +125,11 @@ typedef enum { LED3 = LED_GREEN, LED4 = LED1, // No real LED. Just for passing ATS. // Button naming +#if TARGET_NUMAKER_PFM_M487 SW2 = PG_15, +#elif TARGET_NUMAKER_IOT_M487 + SW2 = PG_5, +#endif SW3 = PF_11, } PinName; diff --git a/targets/targets.json b/targets/targets.json index 1a24ac30e6..744564344a 100755 --- a/targets/targets.json +++ b/targets/targets.json @@ -4501,5 +4501,47 @@ "device_name": "TMPM3H6FWFG", "detect_code": ["7012"], "release_versions": ["5"] + }, + "NUMAKER_IOT_M487": { + "core": "Cortex-M4F", + "default_toolchain": "ARM", + "extra_labels": ["NUVOTON", "M480", "FLASH_CMSIS_ALGO","NUVOTON_EMAC"], + "is_disk_virtual": true, + "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"], + "config": { + "gpio-irq-debounce-enable": { + "help": "Enable GPIO IRQ debounce", + "value": 0 + }, + "gpio-irq-debounce-enable-list": { + "help": "Comma separated pin list to enable GPIO IRQ debounce", + "value": "NC" + }, + "gpio-irq-debounce-clock-source": { + "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC", + "value": "GPIO_DBCTL_DBCLKSRC_LIRC" + }, + "gpio-irq-debounce-sample-rate": { + "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", + "value": "GPIO_DBCTL_DBCLKSEL_16" + }, + "usb-device-hsusbd": { + "help": "Select high-speed USB device or not", + "value": 1 + }, + "ctrl01-enable": { + "help": "Enable control_01", + "value": 0 + } + }, + "inherits": ["Target"], + "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=3"], + "device_has": ["USTICKER", "LPTICKER", "RTC", "ANALOGIN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "STDIO_MESSAGES", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "TRNG", "FLASH", "CAN", "EMAC"], + "release_versions": ["5"], + "device_name": "M487JIDAE", + "bootloader_supported": true, + "overrides": { + "network-default-interface-type": "ETHERNET" + } } } From c59d20f12f44cd0c8a1d52f71d4cc2e2137dc097 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 11 Sep 2018 18:25:14 +0800 Subject: [PATCH 073/202] Add missing mbedtls_device.h for NUMAKER_IOT_M487 --- .../TARGET_M480/{TARGET_NUMAKER_PFM_M487 => }/mbedtls_device.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename features/mbedtls/targets/TARGET_NUVOTON/TARGET_M480/{TARGET_NUMAKER_PFM_M487 => }/mbedtls_device.h (100%) diff --git a/features/mbedtls/targets/TARGET_NUVOTON/TARGET_M480/TARGET_NUMAKER_PFM_M487/mbedtls_device.h b/features/mbedtls/targets/TARGET_NUVOTON/TARGET_M480/mbedtls_device.h similarity index 100% rename from features/mbedtls/targets/TARGET_NUVOTON/TARGET_M480/TARGET_NUMAKER_PFM_M487/mbedtls_device.h rename to features/mbedtls/targets/TARGET_NUVOTON/TARGET_M480/mbedtls_device.h From 8e37c213e482c86c3783297c8e4ff4bc06934bac Mon Sep 17 00:00:00 2001 From: ccli8 Date: Tue, 18 Sep 2018 17:15:59 +0800 Subject: [PATCH 074/202] Create MCU_M480 for inheritance by M487 targets In targets.json, create MCU_M480 for inheritance by NUMAKER_PFM_M487/NUMAKER_IOT_M487. --- targets/targets.json | 54 ++++++++------------------------------------ 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/targets/targets.json b/targets/targets.json index 744564344a..c57def454f 100755 --- a/targets/targets.json +++ b/targets/targets.json @@ -4330,9 +4330,10 @@ "release_versions": ["5"], "device_name": "nRF52832_xxAA" }, - "NUMAKER_PFM_M487": { + "MCU_M480": { "core": "Cortex-M4F", "default_toolchain": "ARM", + "public": false, "extra_labels": ["NUVOTON", "M480", "FLASH_CMSIS_ALGO","NUVOTON_EMAC"], "is_disk_virtual": true, "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"], @@ -4366,12 +4367,19 @@ "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=3"], "device_has": ["USTICKER", "LPTICKER", "RTC", "ANALOGIN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "STDIO_MESSAGES", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "TRNG", "FLASH", "CAN", "EMAC"], "release_versions": ["5"], - "device_name": "M487JIDAE", "bootloader_supported": true, "overrides": { "network-default-interface-type": "ETHERNET" } }, + "NUMAKER_PFM_M487": { + "inherits": ["MCU_M480"], + "device_name": "M487JIDAE" + }, + "NUMAKER_IOT_M487": { + "inherits": ["MCU_M480"], + "device_name": "M487JIDAE" + }, "TMPM066": { "inherits": ["Target"], "core": "Cortex-M0", @@ -4501,47 +4509,5 @@ "device_name": "TMPM3H6FWFG", "detect_code": ["7012"], "release_versions": ["5"] - }, - "NUMAKER_IOT_M487": { - "core": "Cortex-M4F", - "default_toolchain": "ARM", - "extra_labels": ["NUVOTON", "M480", "FLASH_CMSIS_ALGO","NUVOTON_EMAC"], - "is_disk_virtual": true, - "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"], - "config": { - "gpio-irq-debounce-enable": { - "help": "Enable GPIO IRQ debounce", - "value": 0 - }, - "gpio-irq-debounce-enable-list": { - "help": "Comma separated pin list to enable GPIO IRQ debounce", - "value": "NC" - }, - "gpio-irq-debounce-clock-source": { - "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC", - "value": "GPIO_DBCTL_DBCLKSRC_LIRC" - }, - "gpio-irq-debounce-sample-rate": { - "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", - "value": "GPIO_DBCTL_DBCLKSEL_16" - }, - "usb-device-hsusbd": { - "help": "Select high-speed USB device or not", - "value": 1 - }, - "ctrl01-enable": { - "help": "Enable control_01", - "value": 0 - } - }, - "inherits": ["Target"], - "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=3"], - "device_has": ["USTICKER", "LPTICKER", "RTC", "ANALOGIN", "I2C", "I2CSLAVE", "I2C_ASYNCH", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "STDIO_MESSAGES", "SLEEP", "SPI", "SPISLAVE", "SPI_ASYNCH", "TRNG", "FLASH", "CAN", "EMAC"], - "release_versions": ["5"], - "device_name": "M487JIDAE", - "bootloader_supported": true, - "overrides": { - "network-default-interface-type": "ETHERNET" - } } } From a060089a7aca48c6829843af77d487e273d211df Mon Sep 17 00:00:00 2001 From: Ari Parkkila Date: Thu, 13 Sep 2018 03:06:21 -0700 Subject: [PATCH 075/202] Cellular: Fix APN authentication before context activation --- features/cellular/framework/AT/AT_CellularNetwork.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/features/cellular/framework/AT/AT_CellularNetwork.cpp b/features/cellular/framework/AT/AT_CellularNetwork.cpp index 6168eb5df6..839d2310d8 100644 --- a/features/cellular/framework/AT/AT_CellularNetwork.cpp +++ b/features/cellular/framework/AT/AT_CellularNetwork.cpp @@ -279,10 +279,7 @@ nsapi_error_t AT_CellularNetwork::activate_context() nsapi_error_t err = NSAPI_ERROR_OK; // try to find or create context with suitable stack - if (get_context()) { - // try to authenticate user before activating or modifying context - err = do_user_authentication(); - } else { + if (!get_context()) { err = NSAPI_ERROR_NO_CONNECTION; } @@ -315,6 +312,12 @@ nsapi_error_t AT_CellularNetwork::activate_context() _at.resp_stop(); if (!_is_context_active) { + // authenticate before activating or modifying context + if (do_user_authentication() != NSAPI_ERROR_OK) { + tr_error("Cellular authentication failed!"); + return _at.unlock_return_error(); + } + tr_info("Activate PDP context %d", _cid); _at.cmd_start("AT+CGACT=1,"); _at.write_int(_cid); From fe385baa889a2be898199207bd2f138a531d5b38 Mon Sep 17 00:00:00 2001 From: Ari Parkkila Date: Thu, 13 Sep 2018 03:11:17 -0700 Subject: [PATCH 076/202] Cellular: Implement APN authentication for BG96 --- .../BG96/QUECTEL_BG96_CellularNetwork.cpp | 21 +++++++++++++++++++ .../BG96/QUECTEL_BG96_CellularNetwork.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.cpp b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.cpp index 5a5140725b..6ed0bbd9e8 100644 --- a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.cpp +++ b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.cpp @@ -111,3 +111,24 @@ nsapi_error_t QUECTEL_BG96_CellularNetwork::set_access_technology_impl(RadioAcce return _at.unlock_return_error(); } + +nsapi_error_t QUECTEL_BG96_CellularNetwork::do_user_authentication() +{ + if (_pwd && _uname) { + _at.cmd_start("AT+QICSGP="); + _at.write_int(_cid); + _at.write_int(1); // IPv4 + _at.write_string(_apn); + _at.write_string(_uname); + _at.write_string(_pwd); + _at.write_int(_authentication_type); + _at.cmd_stop(); + _at.resp_start(); + _at.resp_stop(); + if (_at.get_last_error() != NSAPI_ERROR_OK) { + return NSAPI_ERROR_AUTH_FAILURE; + } + } + + return NSAPI_ERROR_OK; +} diff --git a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.h b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.h index 1504b9d1c5..292bcaf193 100644 --- a/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.h +++ b/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularNetwork.h @@ -33,6 +33,8 @@ protected: virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat); virtual bool get_modem_stack_type(nsapi_ip_stack_t requested_stack); + + virtual nsapi_error_t do_user_authentication(); }; } // namespace mbed From 85a6a075ebdfe131048953bff16fd49482751720 Mon Sep 17 00:00:00 2001 From: Ari Parkkila Date: Mon, 17 Sep 2018 01:14:01 -0700 Subject: [PATCH 077/202] Cellular: Disable AT+CGAUTH on HE910 and BC95 --- features/cellular/TESTS/socket/udp/main.cpp | 2 +- features/cellular/framework/API/CellularNetwork.h | 2 +- features/cellular/framework/AT/AT_CellularBase.h | 1 + features/cellular/framework/AT/AT_CellularNetwork.cpp | 6 ++++++ features/cellular/framework/AT/AT_CellularNetwork.h | 6 ++++++ .../framework/targets/QUECTEL/BC95/QUECTEL_BC95.cpp | 6 ++++++ .../cellular/framework/targets/TELIT/HE910/TELIT_HE910.cpp | 1 + 7 files changed, 22 insertions(+), 2 deletions(-) diff --git a/features/cellular/TESTS/socket/udp/main.cpp b/features/cellular/TESTS/socket/udp/main.cpp index d8013ab846..00efa7083c 100644 --- a/features/cellular/TESTS/socket/udp/main.cpp +++ b/features/cellular/TESTS/socket/udp/main.cpp @@ -162,7 +162,7 @@ static void udp_network_stack() cellular.set_sim_pin(MBED_CONF_APP_CELLULAR_SIM_PIN); #ifdef MBED_CONF_APP_APN CellularNetwork *network = cellular.get_network(); - TEST_ASSERT(network->set_credentials(MBED_CONF_APP_APN) == NSAPI_ERROR_OK); + TEST_ASSERT(network->set_credentials(MBED_CONF_APP_APN, MBED_CONF_APP_USERNAME, MBED_CONF_APP_PASSWORD) == NSAPI_ERROR_OK); #endif cellular_target_state = CellularConnectionFSM::STATE_CONNECTED; TEST_ASSERT(cellular.continue_to_state(cellular_target_state) == NSAPI_ERROR_OK); diff --git a/features/cellular/framework/API/CellularNetwork.h b/features/cellular/framework/API/CellularNetwork.h index fed04d257e..6600c17167 100644 --- a/features/cellular/framework/API/CellularNetwork.h +++ b/features/cellular/framework/API/CellularNetwork.h @@ -390,7 +390,7 @@ public: * * @return NSAPI_ERROR_OK on success * NSAPI_ERROR_NO_CONNECTION if fails to find suitable context to activate or activation failed (if not already activated) - * NSAPI_ERROR_UNSUPPORTED if NetworkStack was not found + * NSAPI_ERROR_UNSUPPORTED if NetworkStack was not found or cellular device does not support authentication * NSAPI_ERROR_AUTH_FAILURE if password and username were provided and authentication to network failed * Also if PPP mode * NSAPI_ERROR_DEVICE_ERROR on failure and check more error from nsapi_ppp_connect(...) diff --git a/features/cellular/framework/AT/AT_CellularBase.h b/features/cellular/framework/AT/AT_CellularBase.h index e5098e1f28..d4ef52d272 100644 --- a/features/cellular/framework/AT/AT_CellularBase.h +++ b/features/cellular/framework/AT/AT_CellularBase.h @@ -51,6 +51,7 @@ public: enum SupportedFeature { AT_CGSN_WITH_TYPE, // AT+CGSN without type is likely always supported similar to AT+GSN AT_CGDATA, // alternative is to support only ATD*99***# + AT_CGAUTH, // APN authentication AT commands supported SUPPORTED_FEATURE_END_MARK // must be last element in the array of features }; static void set_unsupported_features(const SupportedFeature *unsupported_features); diff --git a/features/cellular/framework/AT/AT_CellularNetwork.cpp b/features/cellular/framework/AT/AT_CellularNetwork.cpp index 839d2310d8..09aaa15877 100644 --- a/features/cellular/framework/AT/AT_CellularNetwork.cpp +++ b/features/cellular/framework/AT/AT_CellularNetwork.cpp @@ -210,6 +210,9 @@ nsapi_error_t AT_CellularNetwork::set_credentials(const char *apn, } if (username && (len = strlen(username)) > 0) { + if (!is_supported(AT_CGAUTH)) { // APN authentication is needed with username/password + return NSAPI_ERROR_UNSUPPORTED; + } _uname = (char *)malloc(len * sizeof(char) + 1); if (_uname) { memcpy(_uname, username, len + 1); @@ -512,6 +515,9 @@ nsapi_error_t AT_CellularNetwork::do_user_authentication() { // if user has defined user name and password we need to call CGAUTH before activating or modifying context if (_pwd && _uname) { + if (!is_supported(AT_CGAUTH)) { + return NSAPI_ERROR_UNSUPPORTED; + } _at.cmd_start("AT+CGAUTH="); _at.write_int(_cid); _at.write_int(_authentication_type); diff --git a/features/cellular/framework/AT/AT_CellularNetwork.h b/features/cellular/framework/AT/AT_CellularNetwork.h index 3e01f4db46..80b5665b83 100644 --- a/features/cellular/framework/AT/AT_CellularNetwork.h +++ b/features/cellular/framework/AT/AT_CellularNetwork.h @@ -146,6 +146,12 @@ protected: */ virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat); + /** APN user authentication + * + * @return NSAPI_ERROR_OK on success + * NSAPI_ERROR_UNSUPPORTED on authentication not supported by cellular device + * NSAPI_ERROR_AUTH_FAILURE on authentication to network failed + */ virtual nsapi_error_t do_user_authentication(); private: // "NO CARRIER" urc diff --git a/features/cellular/framework/targets/QUECTEL/BC95/QUECTEL_BC95.cpp b/features/cellular/framework/targets/QUECTEL/BC95/QUECTEL_BC95.cpp index 84f446542f..c71197f380 100644 --- a/features/cellular/framework/targets/QUECTEL/BC95/QUECTEL_BC95.cpp +++ b/features/cellular/framework/targets/QUECTEL/BC95/QUECTEL_BC95.cpp @@ -31,8 +31,14 @@ using namespace events; using namespace mbed; +static const AT_CellularBase::SupportedFeature unsupported_features[] = { + AT_CellularBase::AT_CGAUTH, // BC95_AT_Commands_Manual_V1.9 + AT_CellularBase::SUPPORTED_FEATURE_END_MARK +}; + QUECTEL_BC95::QUECTEL_BC95(EventQueue &queue) : AT_CellularDevice(queue) { + AT_CellularBase::set_unsupported_features(unsupported_features); } QUECTEL_BC95::~QUECTEL_BC95() diff --git a/features/cellular/framework/targets/TELIT/HE910/TELIT_HE910.cpp b/features/cellular/framework/targets/TELIT/HE910/TELIT_HE910.cpp index 308a9f9422..555513e392 100644 --- a/features/cellular/framework/targets/TELIT/HE910/TELIT_HE910.cpp +++ b/features/cellular/framework/targets/TELIT/HE910/TELIT_HE910.cpp @@ -24,6 +24,7 @@ using namespace events; static const AT_CellularBase::SupportedFeature unsupported_features[] = { AT_CellularBase::AT_CGSN_WITH_TYPE, // HE910/UE910/UL865/UE866 AT Commands Reference Guide Rev. 11-2006-10-14 + AT_CellularBase::AT_CGAUTH, // HE910/UE910/UL865/UE866 AT Commands Reference Guide Rev. 11-2006-10-14 AT_CellularBase::SUPPORTED_FEATURE_END_MARK }; From 38550771efa6d2aa59ea9394b16a64a02b0a1cd3 Mon Sep 17 00:00:00 2001 From: Jarno Lamsa Date: Tue, 11 Sep 2018 10:26:30 +0300 Subject: [PATCH 078/202] Add documentation about icetea testcases --- TEST_APPS/testcases/README.md | 14 ++++++++++++++ TEST_APPS/testcases/example/README.md | 24 ++++++++++++++++++++++++ TEST_APPS/testcases/netsocket/README.md | 7 +++++++ 3 files changed, 45 insertions(+) create mode 100644 TEST_APPS/testcases/README.md create mode 100644 TEST_APPS/testcases/example/README.md create mode 100644 TEST_APPS/testcases/netsocket/README.md diff --git a/TEST_APPS/testcases/README.md b/TEST_APPS/testcases/README.md new file mode 100644 index 0000000000..3ceb8b881b --- /dev/null +++ b/TEST_APPS/testcases/README.md @@ -0,0 +1,14 @@ +Icetea tests +============ + +This folder contains all the test cases done with Icetea residing in `mbed-os`. +The tests are divided in to subfolders and each subfolder contains a set of testcases. +The subfolder has a description of all the testcases it contains. + +Testcases +--------- + +Current testcases: + +- [netsocket](https://github.com/ARMmbed/mbed-os/blob/master/TEST_APPS/testcases/netsocket) +- [example](https://github.com/ARMmbed/mbed-os/blob/master/TEST_APPS/testcases/example) diff --git a/TEST_APPS/testcases/example/README.md b/TEST_APPS/testcases/example/README.md new file mode 100644 index 0000000000..7bf8901ccd --- /dev/null +++ b/TEST_APPS/testcases/example/README.md @@ -0,0 +1,24 @@ +Example tests +============= + +This folder contains example tests for Icetea +The test located under this folder is dependent of the application [exampleapp](https://github.com/ARMmbed/mbed-os/blob/master/TEST_APPS/device/exampleapp) +The exampleapp is disabled by default, to be able to run the test_cmdline with the exampleapp, either remove the preprocessor macro from exampleapp.cpp or add `-DICETEA_EXAMPLE_ENABLED` to the mbed test command + +Testcases +--------- + +### test_cmdline + +**Description:** +Send command line commands to target over serial interface. +This test introduces the Icetea testcase structure to the user. + +**Test steps:** +Send "echo hello world" to the target. +Target sends "hello world" back to the host machine. +Send help to the target. +Target prints out the command line commands the application supports. + +**Expected result:** +The test exits without timeouts. diff --git a/TEST_APPS/testcases/netsocket/README.md b/TEST_APPS/testcases/netsocket/README.md new file mode 100644 index 0000000000..30c66ee337 --- /dev/null +++ b/TEST_APPS/testcases/netsocket/README.md @@ -0,0 +1,7 @@ +Netsocket tests +=============== + +This folder contains netsocket tests for Icetea +The tests located under this folder are dependent of the application [socket_app](https://github.com/ARMmbed/mbed-os/blob/master/TEST_APPS/device/socket_app) + +The test cases under this folder are defined in [Network Socket test plan](https://github.com/ARMmbed/mbed-os/blob/master/TESTS/netsocket/README.md) From ddceb6597a4e2261553231893f7982b4b1327673 Mon Sep 17 00:00:00 2001 From: Russ Butler Date: Wed, 12 Sep 2018 12:01:54 -0500 Subject: [PATCH 079/202] Replace macros with config options Add a config option for the following values: MBED_SYS_STATS_ENABLED MBED_STACK_STATS_ENABLED MBED_CPU_STATS_ENABLED MBED_HEAP_STATS_ENABLED MBED_THREAD_STATS_ENABLED MBED_CONF_APP_MAIN_STACK_SIZE MBED_CONF_APP_TIMER_THREAD_STACK_SIZE MBED_CONF_APP_IDLE_THREAD_STACK_SIZE MBED_CONF_APP_THREAD_STACK_SIZE To maintain backwards compatibility inside the RTOS both APP and RTOS config values can be used. --- platform/mbed_lib.json | 25 +++++++++++++++++++++++++ rtos/TARGET_CORTEX/mbed_rtos_rtx.c | 3 +-- rtos/TARGET_CORTEX/mbed_rtx_conf.h | 23 ++++++++++------------- rtos/mbed_lib.json | 18 +++++++++++++++++- 4 files changed, 53 insertions(+), 16 deletions(-) diff --git a/platform/mbed_lib.json b/platform/mbed_lib.json index d0566349e8..6c9a03988c 100644 --- a/platform/mbed_lib.json +++ b/platform/mbed_lib.json @@ -70,6 +70,31 @@ "help": "Enable tracing of each memory call by invoking a callback on each memory operation. See mbed_mem_trace.h in the HAL API for more information", "value": false }, + "sys-stats-enabled": { + "macro_name": "MBED_SYS_STATS_ENABLED", + "help": "Set to 1 to enable system stats. When enabled the function mbed_stats_sys_get returns non-zero data. See mbed_stats.h for more information", + "value": null + }, + "stack-stats-enabled": { + "macro_name": "MBED_STACK_STATS_ENABLED", + "help": "Set to 1 to enable stack stats. When enabled the functions mbed_stats_stack_get and mbed_stats_stack_get_each return non-zero data. See mbed_stats.h for more information", + "value": null + }, + "cpu-stats-enabled": { + "macro_name": "MBED_CPU_STATS_ENABLED", + "help": "Set to 1 to enable cpu stats. When enabled the function mbed_stats_cpu_get returns non-zero data. See mbed_stats.h for more information", + "value": null + }, + "heap-stats-enabled": { + "macro_name": "MBED_HEAP_STATS_ENABLED", + "help": "Set to 1 to enable heap stats. When enabled the function mbed_stats_heap_get returns non-zero data. See mbed_stats.h for more information", + "value": null + }, + "thread-stats-enabled": { + "macro_name": "MBED_THREAD_STATS_ENABLED", + "help": "Set to 1 to enable thread stats. When enabled the function mbed_stats_thread_get_each returns non-zero data. See mbed_stats.h for more information", + "value": null + }, "error-decode-http-url-str": { "help": "HTTP URL string for ARM Mbed-OS Error Decode microsite", "value": "\"\\nFor more info, visit: https://armmbed.github.io/mbedos-error/?error=0x%08X\"" diff --git a/rtos/TARGET_CORTEX/mbed_rtos_rtx.c b/rtos/TARGET_CORTEX/mbed_rtos_rtx.c index 6769df1ff4..4485a180be 100644 --- a/rtos/TARGET_CORTEX/mbed_rtos_rtx.c +++ b/rtos/TARGET_CORTEX/mbed_rtos_rtx.c @@ -25,9 +25,8 @@ osThreadAttr_t _main_thread_attr; -/** The main thread's stack size can be configured by the application, if not explicitly specified it'll default to 4K */ #ifndef MBED_CONF_APP_MAIN_STACK_SIZE -#define MBED_CONF_APP_MAIN_STACK_SIZE 4096 +#define MBED_CONF_APP_MAIN_STACK_SIZE MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE #endif MBED_ALIGN(8) char _main_stack[MBED_CONF_APP_MAIN_STACK_SIZE]; mbed_rtos_storage_thread_t _main_obj; diff --git a/rtos/TARGET_CORTEX/mbed_rtx_conf.h b/rtos/TARGET_CORTEX/mbed_rtx_conf.h index 3bc1ca8622..f0b2fc3984 100644 --- a/rtos/TARGET_CORTEX/mbed_rtx_conf.h +++ b/rtos/TARGET_CORTEX/mbed_rtx_conf.h @@ -27,26 +27,23 @@ /** Any access to RTX5 specific data structures used in common code should be wrapped in ifdef MBED_OS_BACKEND_RTX5 */ #define MBED_OS_BACKEND_RTX5 -/** The thread's stack size can be configured by the application, if not explicitly specified it'll default to 4K */ -#ifndef MBED_CONF_APP_THREAD_STACK_SIZE -#define MBED_CONF_APP_THREAD_STACK_SIZE 4096 -#endif - +#if defined(MBED_CONF_APP_THREAD_STACK_SIZE) #define OS_STACK_SIZE MBED_CONF_APP_THREAD_STACK_SIZE - -/** The timer thread's stack size can be configured by the application, if not explicitly specified, it'll default to 768 */ -#ifndef MBED_CONF_APP_TIMER_THREAD_STACK_SIZE -#define MBED_CONF_APP_TIMER_THREAD_STACK_SIZE 768 +#else +#define OS_STACK_SIZE MBED_CONF_RTOS_THREAD_STACK_SIZE #endif +#ifdef MBED_CONF_APP_TIMER_THREAD_STACK_SIZE #define OS_TIMER_THREAD_STACK_SIZE MBED_CONF_APP_TIMER_THREAD_STACK_SIZE - -/** The idle thread's stack size can be configured by the application, if not explicitly specified, it'll default to 512 */ -#ifndef MBED_CONF_APP_IDLE_THREAD_STACK_SIZE -#define MBED_CONF_APP_IDLE_THREAD_STACK_SIZE 512 +#else +#define OS_TIMER_THREAD_STACK_SIZE MBED_CONF_RTOS_TIMER_THREAD_STACK_SIZE #endif +#ifdef MBED_CONF_APP_IDLE_THREAD_STACK_SIZE #define OS_IDLE_THREAD_STACK_SIZE MBED_CONF_APP_IDLE_THREAD_STACK_SIZE +#else +#define OS_IDLE_THREAD_STACK_SIZE MBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE +#endif #define OS_DYNAMIC_MEM_SIZE 0 diff --git a/rtos/mbed_lib.json b/rtos/mbed_lib.json index f0a4667759..7714cdd743 100644 --- a/rtos/mbed_lib.json +++ b/rtos/mbed_lib.json @@ -1,7 +1,23 @@ { "name": "rtos", "config": { - "present": 1 + "present": 1, + "main-thread-stack-size": { + "help": "The size of the main thread's stack", + "value": 4096 + }, + "timer-thread-stack-size": { + "help": "The size of the timer thread's stack", + "value": 768 + }, + "idle-thread-stack-size": { + "help": "The size of the idle thread's stack", + "value": 512 + }, + "thread-stack-size": { + "help": "The default stack size of new threads", + "value": 4096 + } }, "macros": ["_RTE_"] } From 119246d13263b5237123c75255c6fd91ae86cc18 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Fri, 21 Sep 2018 15:31:04 +0300 Subject: [PATCH 080/202] add UNITTESTS folder to exclude patterns in doxygen_options.json --- doxygen_options.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doxygen_options.json b/doxygen_options.json index 073b66e8f9..1362e6b4c3 100644 --- a/doxygen_options.json +++ b/doxygen_options.json @@ -10,5 +10,5 @@ "EXPAND_AS_DEFINED": "", "SKIP_FUNCTION_MACROS": "NO", "STRIP_CODE_COMMENTS": "NO", - "EXCLUDE_PATTERNS": "*/tools/* */targets/* */features/mbedtls/* */features/storage/cfstore/* */features/storage/FEATURE_STORAGE/* */features/unsupported/* */BUILD/* */rtos/TARGET_CORTEX/rtx*/* */cmsis/* */features/lwipstack/* */nanostack/sal-stack-nanostack/* */nanostack/coap-service/* */ble/generic/* */ble/pal/* */mbed-trace/* */mbed-coap/* */nanostack-libservice/* */mbed-client-randlib/* */nanostack/sal-stack-nanostack-eventloop/* */components/802.15.4_RF/* */components/wifi/* */features/nfc/stack/*" + "EXCLUDE_PATTERNS": "*/tools/* */targets/* */features/mbedtls/* */features/storage/cfstore/* */features/storage/FEATURE_STORAGE/* */features/unsupported/* */BUILD/* */rtos/TARGET_CORTEX/rtx*/* */cmsis/* */features/lwipstack/* */nanostack/sal-stack-nanostack/* */nanostack/coap-service/* */ble/generic/* */ble/pal/* */mbed-trace/* */mbed-coap/* */nanostack-libservice/* */mbed-client-randlib/* */nanostack/sal-stack-nanostack-eventloop/* */components/802.15.4_RF/* */components/wifi/* */features/nfc/stack/* */UNITTESTS/*" } From 353c4fd9b381a30ebfd931a58ea6bcacf6ddc328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tero=20J=C3=A4=C3=A4sk=C3=B6?= Date: Fri, 7 Sep 2018 15:30:59 +0300 Subject: [PATCH 081/202] platform: error: fix bogus usage of memset() Code had mixed up order of 'c' and 'n' arguments to memset(). Fix this. Spotted-by: kjbracey-arm & a GCC profile without "-fno-builtin" Related GCC warnings: ---8<---8<---- [Warning] mbed_error.c@123,5: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args] [Warning] mbed_error.c@282,5: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args] --- platform/mbed_error.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/mbed_error.c b/platform/mbed_error.c index 721d1e944d..d093987824 100644 --- a/platform/mbed_error.c +++ b/platform/mbed_error.c @@ -120,7 +120,7 @@ static mbed_error_status_t handle_error(mbed_error_status_t error_status, unsign error_count++; //Clear the context capturing buffer - memset(¤t_error_ctx, sizeof(mbed_error_ctx), 0); + memset(¤t_error_ctx, 0, sizeof(mbed_error_ctx)); //Capture error information current_error_ctx.error_status = error_status; current_error_ctx.error_address = (uint32_t)caller; @@ -279,7 +279,7 @@ mbed_error_status_t mbed_clear_all_errors(void) //Make sure we dont multiple clients resetting core_util_critical_section_enter(); //Clear the error and context capturing buffer - memset(&last_error_ctx, sizeof(mbed_error_ctx), 0); + memset(&last_error_ctx, 0, sizeof(mbed_error_ctx)); //reset error count to 0 error_count = 0; #if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED From 9919ca6e243b1179f5bd2efb60ce72c3bf63383a Mon Sep 17 00:00:00 2001 From: Amanda Butler Date: Tue, 28 Aug 2018 14:18:35 -0500 Subject: [PATCH 082/202] Add link to README.md Add link to published documentation. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 68b9acaaf0..1287b7aa2a 100644 --- a/README.md +++ b/README.md @@ -33,3 +33,7 @@ We have a [developer website](https://os.mbed.com) for asking questions, engagin ## Getting started for contributors We also have a [contributing and publishing guide](https://os.mbed.com/contributing/) that covers licensing, contributor agreements and style guidelines. + +## Documentation + +For more information about Mbed OS, please see [our published documentation](https://os.mbed.com/docs/latest). It includes published Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools. From 665c98f522a835f5d2354f30eff45697494f6901 Mon Sep 17 00:00:00 2001 From: Amanda Butler Date: Tue, 28 Aug 2018 14:23:56 -0500 Subject: [PATCH 083/202] Add GH link to README.md Add link for contributing to docs, as well. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1287b7aa2a..778ef47831 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,5 @@ We also have a [contributing and publishing guide](https://os.mbed.com/contribut ## Documentation For more information about Mbed OS, please see [our published documentation](https://os.mbed.com/docs/latest). It includes published Doxygen for our APIs, step-by-step tutorials, porting information and background reference materials about our architecture and tools. + +To contribute to this documentation, please see the [mbed-os-5-docs repo](https://github.com/ARMmbed/mbed-os-5-docs). From 8f806f834e21bab12db7895a9b0a5d635f569af0 Mon Sep 17 00:00:00 2001 From: David Saada Date: Thu, 9 Aug 2018 19:54:28 +0300 Subject: [PATCH 084/202] Handle NVStore tests in a low memory environment --- .../TESTS/nvstore/functionality/main.cpp | 208 ++++++++++-------- 1 file changed, 117 insertions(+), 91 deletions(-) diff --git a/features/storage/nvstore/TESTS/nvstore/functionality/main.cpp b/features/storage/nvstore/TESTS/nvstore/functionality/main.cpp index 60c5b5509c..a58ae13310 100644 --- a/features/storage/nvstore/TESTS/nvstore/functionality/main.cpp +++ b/features/storage/nvstore/TESTS/nvstore/functionality/main.cpp @@ -26,7 +26,6 @@ #include #include #include -#include "mbed_stats.h" #if !NVSTORE_ENABLED #error [NOT_SUPPORTED] NVSTORE needs to be enabled for this test @@ -35,6 +34,7 @@ using namespace utest::v1; static const uint16_t max_test_keys = 20; +static const uint16_t max_possible_keys_threshold = 64; static const size_t basic_func_max_data_size = 128; @@ -44,11 +44,9 @@ static const int thr_test_max_data_size = 32; static const int thr_test_num_threads = 3; #if defined(__CORTEX_M23) || defined(__CORTEX_M33) -static const int thr_test_min_stack_size = 1280; -static const int thr_test_max_stack_size = 1280; +static const int thr_test_stack_size = 1280; #else -static const int thr_test_min_stack_size = 768; -static const int thr_test_max_stack_size = 1024; +static const int thr_test_stack_size = 1024; #endif typedef struct { @@ -63,8 +61,7 @@ static thread_test_data_t *thr_test_data; static const int race_test_num_threads = 4; static const int race_test_key = 1; static const int race_test_data_size = 128; -static const int race_test_min_stack_size = 768; -static const int race_test_max_stack_size = 1024; +static const int race_test_stack_size = 768; static bool nvstore_overlaps_code = false; @@ -81,9 +78,7 @@ static void nvstore_basic_functionality_test() uint16_t actual_len_bytes = 0; NVStore &nvstore = NVStore::get_instance(); uint16_t key; - - uint8_t *nvstore_testing_buf_set = new uint8_t[basic_func_max_data_size]; - uint8_t *nvstore_testing_buf_get = new uint8_t[basic_func_max_data_size]; + uint16_t max_possible_keys; int result; @@ -99,11 +94,20 @@ static void nvstore_basic_functionality_test() TEST_SKIP_UNLESS_MESSAGE(!nvstore_overlaps_code, "Test skipped. NVStore region overlaps code."); } + uint8_t *nvstore_testing_buf_set = new (std::nothrow) uint8_t[basic_func_max_data_size]; + uint8_t *nvstore_testing_buf_get = new (std::nothrow) uint8_t[basic_func_max_data_size]; + if (!nvstore_testing_buf_set || !nvstore_testing_buf_get) { + printf("Not enough heap space to run test. Test skipped\n"); + goto clean; + } + gen_random(nvstore_testing_buf_set, basic_func_max_data_size); - uint16_t max_possible_keys = nvstore.get_max_possible_keys(); + max_possible_keys = nvstore.get_max_possible_keys(); TEST_SKIP_UNLESS_MESSAGE(max_test_keys < max_possible_keys, "Not enough possible keys for test. Test skipped."); + TEST_SKIP_UNLESS_MESSAGE(max_possible_keys >= max_possible_keys_threshold, + "Max possible keys below threshold. Test skipped."); nvstore.set_max_keys(max_test_keys); TEST_ASSERT_EQUAL(max_test_keys, nvstore.get_max_keys()); @@ -387,46 +391,11 @@ static void nvstore_basic_functionality_test() result = nvstore.get(NVSTORE_NUM_PREDEFINED_KEYS + 1, 64, nvstore_testing_buf_get, actual_len_bytes); TEST_ASSERT_EQUAL(NVSTORE_NOT_FOUND, result); +clean: delete[] nvstore_testing_buf_set; delete[] nvstore_testing_buf_get; } -// This function calculates the stack size that needs to be allocated per thread in -// the multi-thread tests. Given minimal and maximal stack sizes, and based on the heap -// stats (automatically enabled in CI), the function checks whether each thread has at least -// the minimal stack size, otherwise it reduces the number of threads (something that may happen -// on low memory boards). -static void calc_thread_stack_size(int &num_threads, uint32_t min_size, uint32_t max_size, - uint32_t &stack_size) -{ - mbed_stats_heap_t heap_stats; - mbed_stats_heap_get(&heap_stats); - - // reserved size (along with all other fields in heap stats) will be zero if - // app is compiled without heap stats (typically local builds) - if (!heap_stats.reserved_size) { - stack_size = max_size; - printf("Heap stats disabled in this build, so test may fail due to insufficient heap size\n"); - printf("If this happens, please build the test with heap stats enabled (-DMBED_HEAP_STATS_ENABLED=1)\n"); - return; - } - - NVStore &nvstore = NVStore::get_instance(); - int page_size = nvstore.size() / nvstore.get_max_possible_keys(); - // Check if we can allocate enough stack size (per thread) for the current number of threads - while (num_threads) { - stack_size = (heap_stats.reserved_size - heap_stats.current_size) / num_threads - sizeof(rtos::Thread) - page_size; - - stack_size = std::min(stack_size, max_size); - if (stack_size >= min_size) { - return; - } - - // Got here - stack not sufficient per thread. Reduce number of threads - num_threads--; - } -} - static void thread_test_check_key(uint16_t key) { uint8_t get_buff[thr_test_max_data_size]; @@ -481,47 +450,66 @@ static void nvstore_multi_thread_test() { #ifdef MBED_CONF_RTOS_PRESENT int i; - int num_threads = thr_test_num_threads; - uint32_t stack_size; uint16_t size; uint16_t key; int ret; - - rtos::Thread **threads = new rtos::Thread*[num_threads]; + char *dummy; + uint16_t max_possible_keys; NVStore &nvstore = NVStore::get_instance(); TEST_SKIP_UNLESS_MESSAGE(!nvstore_overlaps_code, "Test skipped. NVStore region overlaps code."); + thr_test_data = 0; + rtos::Thread **threads = new (std::nothrow) rtos::Thread*[thr_test_num_threads]; + if (!threads) { + goto mem_fail; + } + memset(threads, 0, thr_test_num_threads * sizeof(rtos::Thread*)); + ret = nvstore.reset(); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); - thr_test_data = new thread_test_data_t; + thr_test_data = new (std::nothrow) thread_test_data_t; + if (!thr_test_data) { + goto mem_fail; + } + + memset(thr_test_data, 0, sizeof(thread_test_data_t)); thr_test_data->max_keys = max_test_keys / 2; - uint16_t max_possible_keys = nvstore.get_max_possible_keys(); + max_possible_keys = nvstore.get_max_possible_keys(); TEST_SKIP_UNLESS_MESSAGE(thr_test_data->max_keys < max_possible_keys, "Not enough possible keys for test. Test skipped."); + TEST_SKIP_UNLESS_MESSAGE(max_possible_keys >= max_possible_keys_threshold, + "Max possible keys below threshold. Test skipped."); thr_test_data->stop_threads = false; for (key = 0; key < thr_test_data->max_keys; key++) { for (i = 0; i < thr_test_num_buffs; i++) { size = 1 + rand() % thr_test_max_data_size; thr_test_data->sizes[key][i] = size; - thr_test_data->buffs[key][i] = new uint8_t[size + 1]; + thr_test_data->buffs[key][i] = new (std::nothrow) uint8_t[size + 1]; + if (!thr_test_data->buffs[key][i]) { + goto mem_fail; + } gen_random(thr_test_data->buffs[key][i], size); } ret = nvstore.set(key, thr_test_data->sizes[key][0], thr_test_data->buffs[key][0]); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); } - calc_thread_stack_size(num_threads, thr_test_min_stack_size, thr_test_max_stack_size, stack_size); - if (!num_threads) { - printf("Not enough heap space to run test. Test skipped\n"); - goto end; + dummy = new (std::nothrow) char[thr_test_num_threads * thr_test_stack_size]; + delete[] dummy; + if (!dummy) { + goto mem_fail; } - for (i = 0; i < num_threads; i++) { - threads[i] = new rtos::Thread((osPriority_t)((int)osPriorityBelowNormal - num_threads + i), stack_size); + for (i = 0; i < thr_test_num_threads; i++) { + threads[i] = new (std::nothrow) rtos::Thread((osPriority_t)((int)osPriorityBelowNormal - thr_test_num_threads + i), + thr_test_stack_size); + if (!threads[i]) { + goto mem_fail; + } threads[i]->start(callback(thread_test_worker)); } @@ -530,12 +518,6 @@ static void nvstore_multi_thread_test() wait_ms(1000); - for (i = 0; i < num_threads; i++) { - delete threads[i]; - } - - delete[] threads; - ret = nvstore.deinit(); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); @@ -545,15 +527,32 @@ static void nvstore_multi_thread_test() for (key = 0; key < thr_test_data->max_keys; key++) { thread_test_check_key(key); } + goto clean; -end: - for (key = 0; key < thr_test_data->max_keys; key++) { - for (i = 0; i < thr_test_num_buffs; i++) { - delete[] thr_test_data->buffs[key][i]; +mem_fail: + printf("Not enough heap space to run test. Test skipped\n"); + +clean: + if (thr_test_data) { + thr_test_data->stop_threads = true; + wait_ms(1000); + + for (key = 0; key < thr_test_data->max_keys; key++) { + for (i = 0; i < thr_test_num_buffs; i++) { + delete[] thr_test_data->buffs[key][i]; + } } + + delete thr_test_data; } - delete thr_test_data; + if (threads) { + for (i = 0; i < thr_test_num_threads; i++) { + delete threads[i]; + } + + delete[] threads; + } nvstore.reset(); @@ -574,45 +573,68 @@ static void nvstore_race_test() { #ifdef MBED_CONF_RTOS_PRESENT int i; - uint32_t stack_size; uint16_t initial_buf_size; int ret; + int num_sets; rtos::Thread *threads[race_test_num_threads]; - uint8_t *get_buff, *buffs[race_test_num_threads]; - int num_threads = race_test_num_threads; + uint8_t *get_buff = 0, *buffs[race_test_num_threads]; uint16_t actual_len_bytes; + uint16_t max_possible_keys; + char *dummy; TEST_SKIP_UNLESS_MESSAGE(!nvstore_overlaps_code, "Test skipped. NVStore region overlaps code."); NVStore &nvstore = NVStore::get_instance(); + max_possible_keys = nvstore.get_max_possible_keys(); + TEST_SKIP_UNLESS_MESSAGE(max_possible_keys >= max_possible_keys_threshold, + "Max possible keys below threshold. Test skipped."); + ret = nvstore.reset(); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); + memset(buffs, 0, sizeof(buffs)); + memset(threads, 0, sizeof(threads)); + initial_buf_size = std::min((nvstore.size() - race_test_data_size) / 2, (size_t) race_test_data_size); - uint8_t *initial_buf = new uint8_t[initial_buf_size]; - int num_sets = (nvstore.size() - race_test_data_size) / initial_buf_size; + uint8_t *initial_buf = new (std::nothrow) uint8_t[initial_buf_size]; + if (!initial_buf) { + goto mem_fail; + } + + num_sets = (nvstore.size() - race_test_data_size) / initial_buf_size; for (i = 0; i < num_sets; i++) { ret = nvstore.set(0, initial_buf_size, initial_buf); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); } delete[] initial_buf; - get_buff = new uint8_t[race_test_data_size]; - - calc_thread_stack_size(num_threads, race_test_min_stack_size, race_test_max_stack_size, stack_size); - if (!num_threads) { - printf("Not enough heap space to run test. Test skipped\n"); - goto end; + get_buff = new (std::nothrow) uint8_t[race_test_data_size]; + if (!get_buff) { + goto mem_fail; } - for (i = 0; i < num_threads; i++) { - buffs[i] = new uint8_t[race_test_data_size]; + for (i = 0; i < race_test_num_threads; i++) { + buffs[i] = new (std::nothrow) uint8_t[race_test_data_size]; + if (!buffs[i]) { + goto mem_fail; + } gen_random(buffs[i], race_test_data_size); } - for (i = 0; i < num_threads; i++) { - threads[i] = new rtos::Thread((osPriority_t)((int)osPriorityBelowNormal - num_threads + i), stack_size); + for (i = 0; i < race_test_num_threads; i++) { + threads[i] = new (std::nothrow) rtos::Thread((osPriority_t)((int)osPriorityBelowNormal - race_test_num_threads + i), + race_test_stack_size); + if (!threads[i]) { + goto mem_fail; + } + + dummy = new (std::nothrow) char[race_test_stack_size]; + if (!dummy) { + goto mem_fail; + } + delete[] dummy; + threads[i]->start(callback(race_test_worker, (void *) buffs[i])); threads[i]->join(); } @@ -621,19 +643,23 @@ static void nvstore_race_test() TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, ret); TEST_ASSERT_EQUAL(race_test_data_size, actual_len_bytes); - for (i = 0; i < num_threads; i++) { + for (i = 0; i < race_test_num_threads; i++) { if (!memcmp(buffs[i], get_buff, actual_len_bytes)) { break; } } - TEST_ASSERT_NOT_EQUAL(num_threads, i); + TEST_ASSERT_NOT_EQUAL(race_test_num_threads, i); - for (i = 0; i < num_threads; i++) { + goto clean; + +mem_fail: + printf("Not enough heap space to run test. Test skipped\n"); + +clean: + for (i = 0; i < race_test_num_threads; i++) { delete threads[i]; delete[] buffs[i]; } - -end: delete[] get_buff; #endif } From f681e54690ba4a51400ee8698f7673f86b200097 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Fri, 21 Sep 2018 11:55:08 +0300 Subject: [PATCH 085/202] update UNITTESTS/README.md --- UNITTESTS/README.md | 318 +++++++++++++++----------------------------- 1 file changed, 108 insertions(+), 210 deletions(-) diff --git a/UNITTESTS/README.md b/UNITTESTS/README.md index 992eb3faab..4d40a7120e 100644 --- a/UNITTESTS/README.md +++ b/UNITTESTS/README.md @@ -1,240 +1,107 @@ -# Unit testing Mbed OS +## Unit testing -This document describes how to run and write unit tests for Mbed OS. +This document describes how to write and test unit tests for Mbed OS. To prevent and solve problems, please see the [troubleshooting](#troubleshooting) section. -## Prerequisites +### Introduction -* GNU toolchains installed. - * GCC 6 or later - * MinGW-W64 GCC-6.4.0 or MinGW-W64 GCC-7.3.0 (Windows) -* CMake 3.0+ installed. -* Python 2.7.x or >3.5 and pip 10.0 (or newer) installed. -* gcovr >=4.1 -* mbed-cli >= 1.80 +Unit tests test code in small sections on a host machine. Unlike other testing tools, unit testing doesn't require embedded hardware, and it doesn't need to build the full operating system. Because of this, unit testing can result in faster tests than other testing tools. Unit testing takes place in a build environment where we test each C or C++ class or module in isolation. This means we build test suites into separate test binaries and stub all access outside to remove dependencies on any specific embedded hardware or software combination. This allows us to complete the testing using native compilers on the build machine. -### Installing dependencies on Debian/Ubuntu +### Prerequisites + +Please install the following dependencies to use Mbed OS unit testing. + +- GNU toolchains. + - GCC 6 or later. We recommend you use MinGW-W64 on Windows, but any Windows port of the above GCC versions works. +- CMake 3.0 or newer. +- Python 2.7.x, 3.5 or newer. +- Pip 10.0 or newer. +- Gcovr 4.1 or newer. +- Mbed CLI 1.8.0 or newer. + +Detailed instructions for supported operating systems are below. + +#### Installing dependencies on Debian or Ubuntu 1. `sudo apt-get -y install build-essential cmake` -2. Install python and pip: -``` -sudo apt-get -y install python python-setuptools -sudo easy_install pip -``` -3. Install [gcovr](#installing-covr). -4. (Optional) Install [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html). +1. Install Python and Pip with: -### Installing dependencies on Mac OS + ``` + sudo apt-get -y install python python-setuptools + sudo easy_install pip + ``` + +1. Install Gcovr and [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html) with `pip install "gcovr>=4.1" mbed-cli`. + +#### Installing dependencies on macOS 1. Install [Homebrew](https://brew.sh/). -2. Install gcc compilers and cmake with: `brew install gcc cmake` -3. Install python and pip: -``` -brew install python -sudo easy_install pip -``` -3. Install [gcovr](#installing-covr). -4. (Optional) Install [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html). +1. Install GCC compilers and CMake with: `brew install gcc cmake`. +1. Install Python and Pip: -### Installing dependencies on Windows + ``` + brew install python + sudo easy_install pip + ``` + +1. Install Gcovr and [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html) with `pip install "gcovr>=4.1" mbed-cli`. + +#### Installing dependencies on Windows 1. Download and install [MinGW-W64](http://mingw-w64.org/). -2. Download CMake binaries from https://cmake.org/download/ and run the installer. -3. Download Python2.7 or Python3 from https://www.python.org/getit/ and run the installer. -4. Add MinGW, CMake and Python into PATH. -5. Install [gcovr](#installing-covr). -6. (Optional) Install [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html). +1. Download CMake binaries from https://cmake.org/download/, and run the installer. +1. Download Python 2.7 or Python 3 from https://www.python.org/getit/, and run the installer. +1. Add MinGW, CMake and Python into system PATH. +1. Install Gcovr and [Mbed CLI](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html) with `pip install "gcovr>=4.1" mbed-cli`. -### Installing covr +### Test code structure -Install gcovr code coverage tool globally with `pip install "gcovr>=4.1"` or using virtualenv: +Unit tests are located in the Mbed OS repository under the `UNITTESTS` folder. We recommend unit test files use an identical directory path to the file under test. This makes it easier to find unit tests for a particular class or a module. For example, if the file under test is `some/example/path/ClassName.cpp`, then all the test files are in the `UNITTESTS/some/example/path/ClassName` directory. Each test suite needs to have its own `unittest.cmake` file for test configuration. -#### virtualenv +#### Test discovery -1. Install virtualenv if not installed with `pip install virtualenv` -2. Install gcovr with: +Registering unit tests for running is automatic, and the test runner handles registration. However, test files are not automatically assigned to be built. We build unit tests by using a separate build system, which searches for unit tests under the `UNITTESTS` directory. -**[Debian/Linux/Mac OS]** -``` -virtualenv pyenv -. pyenv/bin/activate -pip install 'gcovr>=4.1' -``` -**[Windows]** -``` -virtualenv pyenv -pyenv\\Scripts\\activate -pip install "gcovr>=4.1" -``` +For the build system to find and build any test suite automatically, you must include a unit test configuration file named `unittest.cmake` for each unit test suite. This configuration file contains all the source files required for the build. -## Building and running unit tests +#### Test names -> In case of running into problems see [troubleshooting](#troubleshooting) section. +The build system automatically generates names of test suites. The name is constructed by taking a relative file path from the UNITTESTS directory to the test directory and replacing path separators with dashes. For example, the test suite name for `some/example/path/ClassName.cpp` is `some-example-path-ClassName`. Suite names are used when deciding which test suites to run. -`UNITTESTS/mbed_unittest.py` contains testing scripts for Mbed OS unit testing. Mbed CLI supports unit testing through `mbed test --unittests` command with the same arguments. +### Unit testing with Mbed CLI -### Testing with Mbed CLI +Mbed CLI supports unit tests through `mbed test --unittests` command. For information on using Mbed CLI, please see the [CLI documentation in handbook](https://os.mbed.com/docs/latest/tools/arm-mbed-cli.html). -``` -mbed test --unittests -``` +### Writing unit tests -A subset of tests can be run by providing `-r` flag for the tool which runs tests matching a regular expression. +Create two files in the test directory for each test suite: -e.g. `mbed test --unittests --run -r features-netsocket` +- Unit test source file (`test_ClassName.cpp`). +- Unit test configuration file (`unittest.cmake`). -### Build manually without Python tools +List all the files required for the build in the `unittest.cmake` file. We recommend you list the file paths relative to the `UNITTESTS` folder. Use the following variables to list the source files and include paths: -1. Create a build directory e.g. `mkdir UNITTESTS/build`. -2. Move to the build directory `cd UNITTESTS/build`. -3. Run CMake with `cmake [RELATIVE PATH TO UNITTESTS DIR] [OPTIONAL ARGUMENTS]` e.g. `cmake ..`: - * Add `-g [generator]` argument if target other than Unix Makefiles e.g. MinGW `-g "MinGW Makefiles"` -4. Run make program (make, gmake, mingw32-make, etc). +- **unittest-includes** - List of header include paths. You can use this to extend or overwrite default paths listed in CMakeLists.txt. +- **unittest-sources** - List of files under test. +- **unittest-test-sources** - List of test sources and stubs. -##### Run CMake and build Unix Makefiles (GNU make) - -``` -cmake .. -make -``` - -##### Run CMake and build MinGW Makefiles (mingw32-make) - -``` -cmake -G "MinGW Makefiles" .. -mingw32-make -``` - -#### Custom CMake variables - -Usage: -`cmake [RELATIVE PATH TO UNITTESTS DIR] [OPTIONS]` - -Keyword variables (usage `cmake -D(:)=`: - -| Variable | Type | Accepted values | Description | -| -------- | ---- | --------------- | ----------- | -| COVERAGE | STRING | merged
separate | Generate merged or individual reports | - -### Run in terminal - -Unit tests can be run separately from each executable or by using ctest test runner. Run ctest with make program using target test. Options can be passed to ctest using ARGS argument. See [ctest manual](https://cmake.org/cmake/help/v3.0/manual/ctest.1.html) for more information. - -Run ctest on test suite level: -``` -{MAKE_PROGRAM} test -C [RELATIVE PATH TO BUILD DIRECTORY] -``` -e.g. `make test -C UNITTESTS/build` or `mingw32-make test -C UNITTESTS/build` - -Run ctest verbose (show each test case): -``` -{MAKE_PROGRAM} test -C UNITTESTS/build ARGS="-V" -``` - -Run ctest dashboard test and create test results: -``` -{MAKE_PROGRAM} test --C UNITTESTS/build ARGS="-D ExperimentalTest" -``` - -### Run with GUI test runner - -1. Build and/or install *gtest-runner* using the documentation: https://github.com/nholthaus/gtest-runner - -2. Run the application, add built test executables into the list and run it. - -### Get code coverage - -Python tools use gcovr to build code coverage reports. Generate html report `UNITTESTS/build/coverage/index.html` with: -``` -mbed test --unittests --coverage html -``` - -To get coverage for a single test suite, run gcovr separately for suite coverage data directory. See [gcovr documentation](https://gcovr.com/guide.html#filter-options) for more information. - -e.g. for features/netsocket/InternetSocket coverage: - -Debian/Ubuntu/Mac OS: -``` -mkdir UNITTESTS/build -cd UNITTESTS/build -cmake -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE:STRING=html .. -make -./features-netsocket-InternetSocket -gcovr -r ../.. --html --html-detail -o ./index.html ./CMakeFiles/features-netsocket-InternetSocket.MbedOS.dir/ -``` -Windows: -``` -mkdir UNITTESTS/build -cd UNITTESTS/build -cmake -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE:STRING=html -g "MinGW Makefiles" .. -mingw32-make -features-netsocket-InternetSocket.exe -gcovr -r ..\.. --html --html-detail -o .\index.html .\CMakeFiles\features-netsocket-InternetSocket.MbedOS.dir\ -``` - -## The structure of unit tests - -The structure of the unit tests directory looks like this: -``` -UNITTESTS - ├── mbed_unittest.py Python tool for unit testing - ├── unit_test Python tool modules - ├── CMakeLists.txt CMake project definition file - ├── CMakeSettings.json CMake configurations for Visual Studio 2017 - ├── README.md - ├── googletest-CMakeLists.txt.in CMake project definition file for Google Test - │ - ├── features - │ └── netsocket Directory tree that mirrors Mbed OS root - │ ├── NetworkInterface Name of the class to be tested - │ │ ├── test_NetworkInterface.cpp - │ │ └── unittest.cmake CMake module for unit test - │ └── Socket - │ - ├── stubs Shared stubs which can be used for tests. - ├── target_h Shared headers which can be used for tests. - └── template Templates for creating new unittests -``` -Each unit test has an identical directory tree as seen in the Mbed OS root folder. This is not a mandatory requirement but helps to maintain tests. Each class to be tested have their own `unittest.cmake` which is found by `CMakeLists.txt`. - -## Creating a unit test - -Each class to be tested requires two files for unit testing: -1. C++ unit test source file (e.g. `test_NetworkInterface.cpp`) -2. CMake module file for unit test definition (`unittest.cmake`) - -A unit test definition file `unittest.cmake` requires variables to be set for a test to be configured. File source paths in `unittest.cmake` files need to be relative to the unit test folder and `CMakeLists.txt`. - -* **unittest-includes** - Include paths for headers needed to build the tests in addition to the base include paths listed in [CMakeLists.txt](CMakeLists.txt). Optional. -* **unittest-sources** - Mbed OS source files and stubs included for the build. -* **unittest-test-sources** - Unit test source files. - -#### Creating unit tests files with Mbed CLI - -``` -mbed test --unittests --new -``` - -E.g. `mbed test --unittests --new rtos/Semaphore.cpp` - -The generator script only creates the files required for a unit test. It does not write unit tests automatically nor does it handle source dependencies. - -#### Create files manually - -For example to create a unit test for `rtos/Semaphore.cpp`: +With the following steps, you can write a simple unit test. In this example, `rtos/Semaphore.cpp` is a class under test. 1. Create a directory for unit test files in `UNITTESTS/rtos/Semaphore`. -2. Create a test definition file `UNITTESTS/rtos/Semaphore/unittest.cmake` with the following content: -``` -set(unittest-sources - stubs/mbed_assert.c - ../rtos/Semaphore.cpp -) +1. Create a test configuration file `UNITTESTS/rtos/Semaphore/unittest.cmake` with the following content: + + ``` + set(unittest-sources + ../rtos/Semaphore.cpp + ) + + set(unittest-test-sources + stubs/mbed_assert.c + rtos/Semaphore/test_Semaphore.cpp + ) + ``` + +1. Create a test source file `UNITTESTS/rtos/Semaphore/test_Semaphore.cpp` with the following content: -set(unittest-test-sources - rtos/Semaphore/test_Semaphore.cpp -) -``` -3. Create a test source file `UNITTESTS/rtos/Semaphore/test_Semaphore.cpp` with the following content: ``` #include "gtest/gtest.h" #include "rtos/Semaphore.h" @@ -285,8 +152,39 @@ TEST_F(TestSemaphore, constructor) } ``` -## Troubleshooting +### Building and running unit tests -**Problem:** virus protection identifies files generated by CMake as malicious and quarantines the files on Windows. +Use Mbed CLI to build and run unit tests. For advanced use, you can run CMake and a make program directly. -* **Solution**: restore the false positive files from the quarantine. +#### Build tests directly with CMake + +1. Create a build directory `mkdir UNITTESTS/build`. +1. Move to the build directory `cd UNITTESTS/build`. +1. Run CMake using a relative path to `UNITTESTS` folder as the argument. So from `UNITTESTS/build` use `cmake ..`: + - Add `-g [generator]` if generating other than Unix Makefiles such in case of MinGW use `-g "MinGW Makefiles"`. + - Add `-DCOVERAGE:True` to add coverage compiler flags. + - See the [CMake manual](https://cmake.org/cmake/help/v3.0/manual/cmake.1.html) for more information. +1. Run a make program (Make, Gmake, Mingw32-make and so on) to build the tests. + +#### Run tests directly with CTest + +Run a test binary in the build directory to run a unit test suite. To run multiple test suites at once, use CTest test runner. Run CTest with `ctest`. Add `-v` to get results for each test case. See the [CTest manual](https://cmake.org/cmake/help/v3.0/manual/ctest.1.html) for more information. + +#### Run tests with GUI test runner + +1. Install *gtest-runner* using the [documentation](https://github.com/nholthaus/gtest-runner). +1. Run *gtest-runner* +1. Add test executables into the list. +1. Run them. + +### Get code coverage + +Use Mbed CLI to generate code coverage reports. For advanced use, you can run Gcovr or any other code coverage tool directly in the build directory. + +### Troubleshooting + +**Problem:** Generic problems with CMake or with the build process. +* **Solution**: Delete the build directory. Make sure that CMake, g++, gcc and a make program can be found in the path and are correct versions. + +**Problem:** Virus protection identifies files generated by CMake as malicious and quarantines the files on Windows. +* **Solution**: Restore the false positive files from the quarantine. From ad248ca8aca89895b5a83b022b5b3973d291d88f Mon Sep 17 00:00:00 2001 From: ccli8 Date: Wed, 5 Sep 2018 11:52:40 +0800 Subject: [PATCH 086/202] Fix STDIO_UART error --- targets/TARGET_NUVOTON/TARGET_M2351/PeripheralNames.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/PeripheralNames.h b/targets/TARGET_NUVOTON/TARGET_M2351/PeripheralNames.h index d5ce69b3d4..e56c403a12 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/PeripheralNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M2351/PeripheralNames.h @@ -163,7 +163,7 @@ typedef enum { #endif // NOTE: board-specific - STDIO_UART = UART_3 + STDIO_UART = UART_0 } UARTName; From 38b0df0f7919a7ddeccf1fe034d1de2bfd916beb Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 5 Sep 2018 16:46:01 +0100 Subject: [PATCH 087/202] fix whitelist generation (set correct address type) --- features/FEATURE_BLE/ble/generic/SecurityDb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/FEATURE_BLE/ble/generic/SecurityDb.h b/features/FEATURE_BLE/ble/generic/SecurityDb.h index 8fa9e96d18..a5577f1929 100644 --- a/features/FEATURE_BLE/ble/generic/SecurityDb.h +++ b/features/FEATURE_BLE/ble/generic/SecurityDb.h @@ -603,7 +603,7 @@ public: sizeof(BLEProtocol::AddressBytes_t) ); - if (flags->peer_address_is_public) { + if (identity->identity_address_is_public) { whitelist->addresses[whitelist->size].type = BLEProtocol::AddressType::PUBLIC; } else { whitelist->addresses[whitelist->size].type = BLEProtocol::AddressType::RANDOM_STATIC; From cdadf637dcfe8731e867019419315ecdeba96012 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 6 Sep 2018 23:44:45 +0200 Subject: [PATCH 088/202] Word-sized input to GPCRC is only valid for 32-bit polynomial --- .../TARGET_EFM32/crc_api.c | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c b/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c index 4e7c71de0c..3b5fe068f4 100644 --- a/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c +++ b/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c @@ -34,6 +34,7 @@ #include "em_gpcrc.h" static bool revOutput = false; +static bool enableWordInput = false; static uint32_t final_xor; bool hal_crc_is_supported(const crc_mbed_config_t *config) @@ -75,21 +76,24 @@ void hal_crc_compute_partial_start(const crc_mbed_config_t *config) // defined by the mbed API. Emlib does the reversal on the poly, but // not on the initial value. if (config->width == 16) { + enableWordInput = false; crc_init.initValue = __RBIT(config->initial_xor) >> 16; } else { + enableWordInput = true; crc_init.initValue = __RBIT(config->initial_xor); } // GPCRC operates on bit-reversed inputs and outputs vs the standard // defined by the mbed API, so reflect_in/out needs to be negated. if (config->reflect_in) { - crc_init.reverseByteOrder = false; crc_init.reverseBits = false; } else { - crc_init.reverseByteOrder = true; crc_init.reverseBits = true; } + // Input is little-endian + crc_init.reverseByteOrder = false; + // Disable byte mode to be able to run a faster U32 input version crc_init.enableByteMode = false; @@ -109,17 +113,28 @@ void hal_crc_compute_partial(const uint8_t *data, const size_t size) return; } - if (((uint32_t)data & 0x3) != 0 || size < 4) { - // Unaligned or very small input, run a bytewise CRC + if (!enableWordInput || size < 4) { + // Input to a non-word-sized poly, or too small data size for a word input for (size_t i = 0; i < size; i++) { GPCRC_InputU8(GPCRC, data[i]); } } else { - // Aligned input, run 32-bit inputs as long as possible to make go faster. size_t i = 0; - for (; i < (size & (~0x3)); i+=4) { - GPCRC_InputU32(GPCRC, *((uint32_t*)(&data[i]))); + + // If input is unaligned, take off as many bytes as needed to align + if (((uint32_t)data & 0x3) != 0) { + for (; i < (sizeof(uint32_t) - ((uint32_t)data & 0x3)); i++) { + GPCRC_InputU8(GPCRC, data[i]); + } } + + // If enough input remaining to do word-sized writes, do so + while ((size - i) >= sizeof(uint32_t)) { + GPCRC_InputU32(GPCRC, *((uint32_t*)(&data[i]))); + i += 4; + } + + // Do byte input to pick off the last remaining bytes for (; i < size; i++) { GPCRC_InputU8(GPCRC, data[i]); } From e02872f4eaa49b683f465614b31f51b653cf2c42 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 22 Sep 2018 20:40:32 +0200 Subject: [PATCH 089/202] Apply @kjbracey-arm's comments --- targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c b/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c index 3b5fe068f4..68ed6c77f0 100644 --- a/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c +++ b/targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c @@ -113,7 +113,7 @@ void hal_crc_compute_partial(const uint8_t *data, const size_t size) return; } - if (!enableWordInput || size < 4) { + if (!enableWordInput || size < sizeof(uint32_t)) { // Input to a non-word-sized poly, or too small data size for a word input for (size_t i = 0; i < size; i++) { GPCRC_InputU8(GPCRC, data[i]); @@ -122,21 +122,21 @@ void hal_crc_compute_partial(const uint8_t *data, const size_t size) size_t i = 0; // If input is unaligned, take off as many bytes as needed to align - if (((uint32_t)data & 0x3) != 0) { - for (; i < (sizeof(uint32_t) - ((uint32_t)data & 0x3)); i++) { - GPCRC_InputU8(GPCRC, data[i]); - } + while (((uint32_t)(data + i) & 0x3) != 0) { + GPCRC_InputU8(GPCRC, data[i]); + i++; } // If enough input remaining to do word-sized writes, do so while ((size - i) >= sizeof(uint32_t)) { GPCRC_InputU32(GPCRC, *((uint32_t*)(&data[i]))); - i += 4; + i += sizeof(uint32_t); } // Do byte input to pick off the last remaining bytes - for (; i < size; i++) { + while (i < size) { GPCRC_InputU8(GPCRC, data[i]); + i++; } } } From f9c91c1fd52c6e72c98811099c1537b1387e335d Mon Sep 17 00:00:00 2001 From: Przemyslaw Stekiel Date: Tue, 18 Sep 2018 09:48:53 +0200 Subject: [PATCH 090/202] Fix for issue #8155 (NRF52832: time stops after 35 minutes) Low power Timer is used as RTC for platforms that don't have HW RTC capabilities (like NRF52832). `_rtc_lpticker_read(void)` function currently uses `Timer::read()` function to trace elapsed time. `Timer::read()` returns seconds represented as `float` value, but this value is calculated from `int` since `Timer::read_us()` returns `int`. This limits time tracing to ~35 min. To fix this problem we will use `timer::read_high_resolution_us()` (which returns unsigned 64 bit value) instead of `Timer::read()`. --- platform/mbed_rtc_time.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/mbed_rtc_time.cpp b/platform/mbed_rtc_time.cpp index 0646a46a0a..fbc8db2b1b 100644 --- a/platform/mbed_rtc_time.cpp +++ b/platform/mbed_rtc_time.cpp @@ -33,6 +33,8 @@ static void (*_rtc_write)(time_t t) = rtc_write; #include "drivers/LowPowerTimer.h" +#define US_PER_SEC 1000000 + static SingletonPtr _rtc_lp_timer; static uint64_t _rtc_lp_base; static bool _rtc_enabled; @@ -50,7 +52,7 @@ static int _rtc_lpticker_isenabled(void) static time_t _rtc_lpticker_read(void) { - return (uint64_t)_rtc_lp_timer->read() + _rtc_lp_base; + return _rtc_lp_timer->read_high_resolution_us() / US_PER_SEC + _rtc_lp_base; } static void _rtc_lpticker_write(time_t t) From 42e309e2c980e77334f7cc29a91e73b93a563ee2 Mon Sep 17 00:00:00 2001 From: Mahesh Mahadevan Date: Wed, 5 Sep 2018 12:21:03 -0500 Subject: [PATCH 091/202] LPC1768: Enable RTC Signed-off-by: Mahesh Mahadevan --- targets/targets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/targets.json b/targets/targets.json index c57def454f..53e9678d39 100755 --- a/targets/targets.json +++ b/targets/targets.json @@ -243,7 +243,7 @@ "extra_labels": ["NXP", "LPC176X", "MBED_LPC1768", "NXP_EMAC"], "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "GCC_CR", "IAR"], "detect_code": ["1010"], - "device_has": ["USTICKER", "ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "EMAC", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SEMIHOST", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES", "FLASH"], + "device_has": ["RTC", "USTICKER", "ANALOGIN", "ANALOGOUT", "CAN", "DEBUG_AWARENESS", "EMAC", "ETHERNET", "I2C", "I2CSLAVE", "INTERRUPTIN", "LOCALFILESYSTEM", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "SEMIHOST", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES", "FLASH"], "release_versions": ["2", "5"], "device_name": "LPC1768", "bootloader_supported": true, From 2ca243d69d423b10246e995bb798bd63b72e1abe Mon Sep 17 00:00:00 2001 From: mattbrown015 Date: Fri, 7 Sep 2018 14:48:02 +0100 Subject: [PATCH 092/202] STM32: Disabling of IRQs shared by multiple events Discern if an IRQ is being shared by multiple events and only disable the IRQ if no events are using it. --- targets/TARGET_STM/gpio_irq_api.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/targets/TARGET_STM/gpio_irq_api.c b/targets/TARGET_STM/gpio_irq_api.c index b3d1cd200f..55a572f097 100644 --- a/targets/TARGET_STM/gpio_irq_api.c +++ b/targets/TARGET_STM/gpio_irq_api.c @@ -27,7 +27,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ******************************************************************************* */ -#include +#include #include "cmsis.h" #include "gpio_irq_api.h" #include "pinmap.h" @@ -268,11 +268,11 @@ void gpio_irq_free(gpio_irq_t *obj) uint32_t gpio_idx = pin_lines_desc[STM_PIN(obj->pin)].gpio_idx; gpio_channel_t *gpio_channel = &channels[obj->irq_index]; - gpio_irq_disable(obj); gpio_channel->pin_mask &= ~(1 << gpio_idx); gpio_channel->channel_ids[gpio_idx] = 0; gpio_channel->channel_gpio[gpio_idx] = 0; gpio_channel->channel_pin[gpio_idx] = 0; + gpio_irq_disable(obj); } void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable) @@ -325,10 +325,20 @@ void gpio_irq_enable(gpio_irq_t *obj) void gpio_irq_disable(gpio_irq_t *obj) { + const uint32_t pin_index = STM_PIN(obj->pin); + const uint32_t gpio_idx = pin_lines_desc[pin_index].gpio_idx; + const uint32_t pin_mask = 1 << gpio_idx; + const uint32_t irq_index = pin_lines_desc[pin_index].irq_index; + const gpio_channel_t *const gpio_channel = &channels[irq_index]; + /* Clear EXTI line configuration */ - LL_EXTI_DisableRisingTrig_0_31(1 << STM_PIN(obj->pin)); - LL_EXTI_DisableFallingTrig_0_31(1 << STM_PIN(obj->pin)); - LL_EXTI_DisableIT_0_31(1 << STM_PIN(obj->pin)); - NVIC_DisableIRQ(obj->irq_n); - NVIC_ClearPendingIRQ(obj->irq_n); + LL_EXTI_DisableRisingTrig_0_31(1 << pin_index); + LL_EXTI_DisableFallingTrig_0_31(1 << pin_index); + LL_EXTI_DisableIT_0_31(1 << pin_index); + + const bool no_more_pins_on_vector = (gpio_channel->pin_mask & ~pin_mask) == 0; + if (no_more_pins_on_vector) { + NVIC_DisableIRQ(obj->irq_n); + NVIC_ClearPendingIRQ(obj->irq_n); + } } From 366ad09e673bf702ba64390e15bac44fe18bc0ac Mon Sep 17 00:00:00 2001 From: Edd Inglis Date: Fri, 7 Sep 2018 10:19:01 +0100 Subject: [PATCH 093/202] Changed the reported SNR from unsigned to signed. Internally and logically it is a signed value. --- features/lorawan/lorawan_types.h | 2 +- features/lorawan/system/lorawan_data_structures.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/lorawan/lorawan_types.h b/features/lorawan/lorawan_types.h index 9d7edb7ae6..186eda07a1 100644 --- a/features/lorawan/lorawan_types.h +++ b/features/lorawan/lorawan_types.h @@ -665,7 +665,7 @@ typedef struct { /** * The SNR for the received packet. */ - uint8_t snr; + int8_t snr; /** * A boolean to mark if the meta data is stale */ diff --git a/features/lorawan/system/lorawan_data_structures.h b/features/lorawan/system/lorawan_data_structures.h index e3f2418820..fcf9d88f35 100644 --- a/features/lorawan/system/lorawan_data_structures.h +++ b/features/lorawan/system/lorawan_data_structures.h @@ -666,7 +666,7 @@ typedef struct { /*! * The SNR of the received packet. */ - uint8_t snr; + int8_t snr; /*! * The receive window. * From 7fcf9cc45cae2838a5d4a3d03f59d367be7648b1 Mon Sep 17 00:00:00 2001 From: jeromecoutant Date: Fri, 14 Sep 2018 10:20:24 +0200 Subject: [PATCH 094/202] SM32F3 correct analogin_read --- .../TARGET_STM32F3/analogin_device.c | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/targets/TARGET_STM/TARGET_STM32F3/analogin_device.c b/targets/TARGET_STM/TARGET_STM32F3/analogin_device.c index fe82886354..84f771b66d 100644 --- a/targets/TARGET_STM/TARGET_STM32F3/analogin_device.c +++ b/targets/TARGET_STM/TARGET_STM32F3/analogin_device.c @@ -34,6 +34,7 @@ #include "cmsis.h" #include "pinmap.h" #include "mbed_error.h" +#include "mbed_debug.h" #include "PeripheralPins.h" void analogin_init(analogin_t *obj, PinName pin) @@ -211,16 +212,27 @@ uint16_t adc_read(analogin_t *obj) return 0; } - HAL_ADC_ConfigChannel(&obj->handle, &sConfig); - - HAL_ADC_Start(&obj->handle); // Start conversion - - // Wait end of conversion and get value - if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) { - return (uint16_t)HAL_ADC_GetValue(&obj->handle); - } else { - return 0; + if (HAL_ADC_ConfigChannel(&obj->handle, &sConfig) != HAL_OK) { + debug("HAL_ADC_ConfigChannel issue\n");; } + + if (HAL_ADC_Start(&obj->handle) != HAL_OK) { + debug("HAL_ADC_Start issue\n");; + } + + uint16_t MeasuredValue = 0; + + if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) { + MeasuredValue = (uint16_t)HAL_ADC_GetValue(&obj->handle); + } else { + debug("HAL_ADC_PollForConversion issue\n"); + } + + if (HAL_ADC_Stop(&obj->handle) != HAL_OK) { + debug("HAL_ADC_Stop issue\n");; + } + + return MeasuredValue; } #endif From 523edf056120332da03b049802a7caac01328ab5 Mon Sep 17 00:00:00 2001 From: Mirela Chirica Date: Mon, 24 Sep 2018 15:15:18 +0300 Subject: [PATCH 095/202] Cellular: Fix cellular network unit test --- .../AT/at_cellularnetwork/at_cellularnetworktest.cpp | 5 ++--- features/cellular/framework/API/CellularNetwork.h | 3 +++ features/cellular/framework/AT/AT_CellularNetwork.cpp | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp index 4ff0837b16..e54a8d2844 100644 --- a/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp +++ b/UNITTESTS/features/cellular/framework/AT/at_cellularnetwork/at_cellularnetworktest.cpp @@ -227,9 +227,8 @@ TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_activate_context) ATHandler_stub::resp_stop_success_count = 2; ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK; ATHandler_stub::bool_value = false; - EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); - EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == cn.activate_context()); - + EXPECT_TRUE(NSAPI_ERROR_OK == my_cn.set_credentials("apn", CellularNetwork::CHAP, "user", "passwd")); + EXPECT_TRUE(NSAPI_ERROR_AUTH_FAILURE == my_cn.activate_context()); // get_context return true and new context created, also do_user_authentication called with success. // Now there is stack. diff --git a/features/cellular/framework/API/CellularNetwork.h b/features/cellular/framework/API/CellularNetwork.h index 6600c17167..609ccd844a 100644 --- a/features/cellular/framework/API/CellularNetwork.h +++ b/features/cellular/framework/API/CellularNetwork.h @@ -150,6 +150,9 @@ public: op_status = Unknown; op_rat = RAT_UNKNOWN; next = NULL; + op_long[0] = NULL; + op_short[0] = NULL; + op_num[0] = NULL; } }; diff --git a/features/cellular/framework/AT/AT_CellularNetwork.cpp b/features/cellular/framework/AT/AT_CellularNetwork.cpp index 09aaa15877..4c6a960c56 100644 --- a/features/cellular/framework/AT/AT_CellularNetwork.cpp +++ b/features/cellular/framework/AT/AT_CellularNetwork.cpp @@ -316,9 +316,10 @@ nsapi_error_t AT_CellularNetwork::activate_context() if (!_is_context_active) { // authenticate before activating or modifying context - if (do_user_authentication() != NSAPI_ERROR_OK) { + nsapi_error_t err = do_user_authentication(); + if (err != NSAPI_ERROR_OK) { tr_error("Cellular authentication failed!"); - return _at.unlock_return_error(); + return err; } tr_info("Activate PDP context %d", _cid); From 82ba6314dcb90564b3d82e9887b5e7ba968242c1 Mon Sep 17 00:00:00 2001 From: Mirela Chirica Date: Mon, 24 Sep 2018 15:15:59 +0300 Subject: [PATCH 096/202] Cellular: Fix cellular util unit test --- .../features/cellular/framework/common/util/utiltest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp index 18cb36cb5f..4c00da93c2 100644 --- a/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp +++ b/UNITTESTS/features/cellular/framework/common/util/utiltest.cpp @@ -126,14 +126,14 @@ TEST_F(Testutil, separate_ip_addresses) char ip[64] = {0}; char subnet[64] = {0}; - strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15", 94); + strncpy(s, "32.1.20.187.1.112.139.245.251.136.232.110.123.51.230.138.0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15\0", 95); separate_ip_addresses(NULL, ip, sizeof(ip), subnet, sizeof(subnet)); separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); EXPECT_STREQ("2001:14BB:170:8BF5:FB88:E86E:7B33:E68A", ip); EXPECT_STREQ("001:203:405:607:809:A0B:C0D:E0F", subnet); - strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", 94); + strncpy(s, "32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15\0", 95); separate_ip_addresses(s, ip, sizeof(ip), subnet, sizeof(subnet)); EXPECT_STREQ("32:1:20:187:1:112:139:245:251:136:232:110:123:51:230:138", ip); EXPECT_STREQ("0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", subnet); From 31236f11e36b5ad23e8e0ee8e89b0773c2c0581f Mon Sep 17 00:00:00 2001 From: ccli8 Date: Thu, 30 Aug 2018 10:11:48 +0800 Subject: [PATCH 097/202] Fix pin mode mapping between input pull mode/direction and I/O mode 1. Modify PinMode enum to fully support GPIO I/O modes. 2. Translate input pull mode/direction to I/O mode, where H/W doesn't support separate configuration for input pull mode/direction. 3. Allow for configuring I/O mode in addition to input pull mode. --- .../TARGET_NUVOTON/TARGET_M2351/PinNames.h | 10 ++- .../TARGET_NUVOTON/TARGET_M2351/gpio_api.c | 89 +++++++++++++++---- .../TARGET_NUVOTON/TARGET_M2351/gpio_object.h | 6 +- targets/TARGET_NUVOTON/TARGET_M2351/pinmap.c | 35 +++++--- targets/TARGET_NUVOTON/TARGET_M451/PinNames.h | 10 ++- targets/TARGET_NUVOTON/TARGET_M451/gpio_api.c | 89 +++++++++++++++---- .../TARGET_NUVOTON/TARGET_M451/gpio_object.h | 6 +- targets/TARGET_NUVOTON/TARGET_M451/pinmap.c | 35 +++++--- targets/TARGET_NUVOTON/TARGET_M480/PinNames.h | 10 ++- targets/TARGET_NUVOTON/TARGET_M480/gpio_api.c | 83 +++++++++++++---- .../TARGET_NUVOTON/TARGET_M480/gpio_object.h | 6 +- targets/TARGET_NUVOTON/TARGET_M480/pinmap.c | 41 +++++---- .../TARGET_NUVOTON/TARGET_NANO100/PinNames.h | 9 +- .../TARGET_NUVOTON/TARGET_NANO100/gpio_api.c | 73 +++++++++++---- .../TARGET_NANO100/gpio_object.h | 6 +- .../TARGET_NUVOTON/TARGET_NANO100/pinmap.c | 35 ++++---- .../TARGET_NUVOTON/TARGET_NUC472/PinNames.h | 10 ++- .../TARGET_NUVOTON/TARGET_NUC472/gpio_api.c | 89 +++++++++++++++---- .../TARGET_NUC472/gpio_object.h | 6 +- targets/TARGET_NUVOTON/TARGET_NUC472/pinmap.c | 37 +++++--- 20 files changed, 497 insertions(+), 188 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h b/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h index 75fd21f852..03185b688e 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h @@ -94,15 +94,19 @@ typedef enum { } PinDirection; typedef enum { + /* Input pull mode */ PullNone = 0, PullDown, PullUp, - PushPull, + /* I/O mode */ + InputOnly, + PushPullOutput, OpenDrain, - Quasi, + QuasiBidirectional, - PullDefault = PullUp, + /* Default input pull mode */ + PullDefault = PullUp } PinMode; typedef enum { diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/gpio_api.c b/targets/TARGET_NUVOTON/TARGET_M2351/gpio_api.c index 9c83e28a5e..f4057366f5 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/gpio_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/gpio_api.c @@ -51,6 +51,9 @@ void gpio_init(gpio_t *obj, PinName pin) } obj->mask = gpio_set(pin); + /* Default mode/direction */ + obj->mode = PullUp; + obj->direction = PIN_INPUT; } void gpio_mode(gpio_t *obj, PinMode mode) @@ -58,8 +61,45 @@ void gpio_mode(gpio_t *obj, PinMode mode) if (obj->pin == (PinName) NC) { return; } - - pin_mode(obj->pin, mode); + + switch (mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + obj->mode = QuasiBidirectional; + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor I/O mode + * in the gpio_mode call here. */ + if (mode == InputOnly) { + obj->direction = PIN_INPUT; + obj->mode = InputOnly; + } else { + obj->direction = PIN_OUTPUT; + obj->mode = PushPullOutput; + } + break; + + default: + /* Allow for configuring other I/O modes directly */ + obj->mode = mode; + break; + } + + pin_mode(obj->pin, obj->mode); } void gpio_dir(gpio_t *obj, PinDirection direction) @@ -67,25 +107,36 @@ void gpio_dir(gpio_t *obj, PinDirection direction) if (obj->pin == (PinName) NC) { return; } - - uint32_t pin_index = NU_PINNAME_TO_PIN(obj->pin); - uint32_t port_index = NU_PINNAME_TO_PORT(obj->pin); - GPIO_T *gpio_base = NU_PORT_BASE(port_index); - - uint32_t mode_intern = GPIO_MODE_INPUT; - - switch (direction) { - case PIN_INPUT: - mode_intern = GPIO_MODE_INPUT; - break; - - case PIN_OUTPUT: - mode_intern = GPIO_MODE_OUTPUT; + + obj->direction = direction; + + switch (obj->mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; break; + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor direction + * in the gpio_dir call here. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + default: - return; + break; } - - GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + pin_mode(obj->pin, obj->mode); } diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/gpio_object.h b/targets/TARGET_NUVOTON/TARGET_M2351/gpio_object.h index 6437ac617b..d8c2e870eb 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/gpio_object.h +++ b/targets/TARGET_NUVOTON/TARGET_M2351/gpio_object.h @@ -29,8 +29,10 @@ extern "C" { #endif typedef struct { - PinName pin; - uint32_t mask; + PinName pin; + uint32_t mask; + PinDirection direction; + PinMode mode; } gpio_t; static inline void gpio_write(gpio_t *obj, int value) diff --git a/targets/TARGET_NUVOTON/TARGET_M2351/pinmap.c b/targets/TARGET_NUVOTON/TARGET_M2351/pinmap.c index d72e9e3b43..d1fa0bc383 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2351/pinmap.c +++ b/targets/TARGET_NUVOTON/TARGET_M2351/pinmap.c @@ -41,31 +41,40 @@ void pin_mode(PinName pin, PinMode mode) GPIO_T *gpio_base = NU_PORT_BASE(port_index); uint32_t mode_intern = GPIO_MODE_INPUT; - + switch (mode) { - case PullUp: + case InputOnly: mode_intern = GPIO_MODE_INPUT; break; - - case PullDown: - case PullNone: - // NOTE: Not support - return; - - case PushPull: + + case PushPullOutput: mode_intern = GPIO_MODE_OUTPUT; break; - + case OpenDrain: mode_intern = GPIO_MODE_OPEN_DRAIN; break; - - case Quasi: + + case QuasiBidirectional: mode_intern = GPIO_MODE_QUASI; break; + + default: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We expect upper layer would have translated input pull mode/direction + * to I/O mode */ + return; } - + GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + /* Invalid combinations of PinMode/PinDirection + * + * We assume developer would avoid the following combinations of PinMode/PinDirection + * which are invalid: + * 1. InputOnly/PIN_OUTPUT + * 2. PushPullOutput/PIN_INPUT + */ } #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) diff --git a/targets/TARGET_NUVOTON/TARGET_M451/PinNames.h b/targets/TARGET_NUVOTON/TARGET_M451/PinNames.h index 4599c86ca9..577ff8d28c 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M451/PinNames.h @@ -55,15 +55,19 @@ typedef enum { } PinDirection; typedef enum { + /* Input pull mode */ PullNone = 0, PullDown, PullUp, - PushPull, + /* I/O mode */ + InputOnly, + PushPullOutput, OpenDrain, - Quasi, + QuasiBidirectional, - PullDefault = PullUp, + /* Default input pull mode */ + PullDefault = PullUp } PinMode; typedef enum { diff --git a/targets/TARGET_NUVOTON/TARGET_M451/gpio_api.c b/targets/TARGET_NUVOTON/TARGET_M451/gpio_api.c index 27589ccc39..f3ce3fe477 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/gpio_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/gpio_api.c @@ -51,6 +51,9 @@ void gpio_init(gpio_t *obj, PinName pin) } obj->mask = gpio_set(pin); + /* Default mode/direction */ + obj->mode = PullUp; + obj->direction = PIN_INPUT; } void gpio_mode(gpio_t *obj, PinMode mode) @@ -58,8 +61,45 @@ void gpio_mode(gpio_t *obj, PinMode mode) if (obj->pin == (PinName) NC) { return; } - - pin_mode(obj->pin, mode); + + switch (mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + obj->mode = QuasiBidirectional; + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor I/O mode + * in the gpio_mode call here. */ + if (mode == InputOnly) { + obj->direction = PIN_INPUT; + obj->mode = InputOnly; + } else { + obj->direction = PIN_OUTPUT; + obj->mode = PushPullOutput; + } + break; + + default: + /* Allow for configuring other I/O modes directly */ + obj->mode = mode; + break; + } + + pin_mode(obj->pin, obj->mode); } void gpio_dir(gpio_t *obj, PinDirection direction) @@ -67,25 +107,36 @@ void gpio_dir(gpio_t *obj, PinDirection direction) if (obj->pin == (PinName) NC) { return; } - - uint32_t pin_index = NU_PINNAME_TO_PIN(obj->pin); - uint32_t port_index = NU_PINNAME_TO_PORT(obj->pin); - GPIO_T *gpio_base = NU_PORT_BASE(port_index); - - uint32_t mode_intern = GPIO_MODE_INPUT; - - switch (direction) { - case PIN_INPUT: - mode_intern = GPIO_MODE_INPUT; - break; - - case PIN_OUTPUT: - mode_intern = GPIO_MODE_OUTPUT; + + obj->direction = direction; + + switch (obj->mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; break; + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor direction + * in the gpio_dir call here. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + default: - return; + break; } - - GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + pin_mode(obj->pin, obj->mode); } diff --git a/targets/TARGET_NUVOTON/TARGET_M451/gpio_object.h b/targets/TARGET_NUVOTON/TARGET_M451/gpio_object.h index 282bae437b..6337fd5cd0 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/gpio_object.h +++ b/targets/TARGET_NUVOTON/TARGET_M451/gpio_object.h @@ -28,8 +28,10 @@ extern "C" { #endif typedef struct { - PinName pin; - uint32_t mask; + PinName pin; + uint32_t mask; + PinDirection direction; + PinMode mode; } gpio_t; static inline void gpio_write(gpio_t *obj, int value) diff --git a/targets/TARGET_NUVOTON/TARGET_M451/pinmap.c b/targets/TARGET_NUVOTON/TARGET_M451/pinmap.c index 274c07fe25..214f7fc6be 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/pinmap.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/pinmap.c @@ -55,29 +55,38 @@ void pin_mode(PinName pin, PinMode mode) GPIO_T *gpio_base = NU_PORT_BASE(port_index); uint32_t mode_intern = GPIO_MODE_INPUT; - + switch (mode) { - case PullUp: + case InputOnly: mode_intern = GPIO_MODE_INPUT; break; - - case PullDown: - case PullNone: - // NOTE: Not support - return; - - case PushPull: + + case PushPullOutput: mode_intern = GPIO_MODE_OUTPUT; break; - + case OpenDrain: mode_intern = GPIO_MODE_OPEN_DRAIN; break; - - case Quasi: + + case QuasiBidirectional: mode_intern = GPIO_MODE_QUASI; break; + + default: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We expect upper layer would have translated input pull mode/direction + * to I/O mode */ + return; } - + GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + /* Invalid combinations of PinMode/PinDirection + * + * We assume developer would avoid the following combinations of PinMode/PinDirection + * which are invalid: + * 1. InputOnly/PIN_OUTPUT + * 2. PushPullOutput/PIN_INPUT + */ } diff --git a/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h b/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h index d75e1025db..d23085835f 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_M480/PinNames.h @@ -55,15 +55,19 @@ typedef enum { } PinDirection; typedef enum { + /* Input pull mode */ PullNone = 0, PullDown, PullUp, - PushPull, + /* I/O mode */ + InputOnly, + PushPullOutput, OpenDrain, - Quasi, + QuasiBidirectional, - PullDefault = PullUp, + /* Default input pull mode */ + PullDefault = PullUp } PinMode; typedef enum { diff --git a/targets/TARGET_NUVOTON/TARGET_M480/gpio_api.c b/targets/TARGET_NUVOTON/TARGET_M480/gpio_api.c index 9b7b15503e..e6deff1fa9 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/gpio_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/gpio_api.c @@ -51,6 +51,9 @@ void gpio_init(gpio_t *obj, PinName pin) } obj->mask = gpio_set(pin); + /* Default mode/direction */ + obj->mode = PullUp; + obj->direction = PIN_INPUT; } void gpio_mode(gpio_t *obj, PinMode mode) @@ -59,7 +62,44 @@ void gpio_mode(gpio_t *obj, PinMode mode) return; } - pin_mode(obj->pin, mode); + switch (mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + obj->mode = QuasiBidirectional; + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor I/O mode + * in the gpio_mode call here. */ + if (mode == InputOnly) { + obj->direction = PIN_INPUT; + obj->mode = InputOnly; + } else { + obj->direction = PIN_OUTPUT; + obj->mode = PushPullOutput; + } + break; + + default: + /* Allow for configuring other I/O modes directly */ + obj->mode = mode; + break; + } + + pin_mode(obj->pin, obj->mode); } void gpio_dir(gpio_t *obj, PinDirection direction) @@ -68,24 +108,35 @@ void gpio_dir(gpio_t *obj, PinDirection direction) return; } - uint32_t pin_index = NU_PINNAME_TO_PIN(obj->pin); - uint32_t port_index = NU_PINNAME_TO_PORT(obj->pin); - GPIO_T *gpio_base = NU_PORT_BASE(port_index); + obj->direction = direction; - uint32_t mode_intern = GPIO_MODE_INPUT; + switch (obj->mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; - switch (direction) { - case PIN_INPUT: - mode_intern = GPIO_MODE_INPUT; - break; + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor direction + * in the gpio_dir call here. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; - case PIN_OUTPUT: - mode_intern = GPIO_MODE_OUTPUT; - break; - - default: - return; + default: + break; } - GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + pin_mode(obj->pin, obj->mode); } diff --git a/targets/TARGET_NUVOTON/TARGET_M480/gpio_object.h b/targets/TARGET_NUVOTON/TARGET_M480/gpio_object.h index d4564d3795..76d079bf7c 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/gpio_object.h +++ b/targets/TARGET_NUVOTON/TARGET_M480/gpio_object.h @@ -28,8 +28,10 @@ extern "C" { #endif typedef struct { - PinName pin; - uint32_t mask; + PinName pin; + uint32_t mask; + PinDirection direction; + PinMode mode; } gpio_t; static inline void gpio_write(gpio_t *obj, int value) diff --git a/targets/TARGET_NUVOTON/TARGET_M480/pinmap.c b/targets/TARGET_NUVOTON/TARGET_M480/pinmap.c index 3e360a708e..2fe8540f3b 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/pinmap.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/pinmap.c @@ -47,27 +47,36 @@ void pin_mode(PinName pin, PinMode mode) uint32_t mode_intern = GPIO_MODE_INPUT; switch (mode) { - case PullUp: - mode_intern = GPIO_MODE_INPUT; - break; + case InputOnly: + mode_intern = GPIO_MODE_INPUT; + break; - case PullDown: - case PullNone: - // NOTE: Not support - return; + case PushPullOutput: + mode_intern = GPIO_MODE_OUTPUT; + break; - case PushPull: - mode_intern = GPIO_MODE_OUTPUT; - break; + case OpenDrain: + mode_intern = GPIO_MODE_OPEN_DRAIN; + break; - case OpenDrain: - mode_intern = GPIO_MODE_OPEN_DRAIN; - break; + case QuasiBidirectional: + mode_intern = GPIO_MODE_QUASI; + break; - case Quasi: - mode_intern = GPIO_MODE_QUASI; - break; + default: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We expect upper layer would have translated input pull mode/direction + * to I/O mode */ + return; } GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + /* Invalid combinations of PinMode/PinDirection + * + * We assume developer would avoid the following combinations of PinMode/PinDirection + * which are invalid: + * 1. InputOnly/PIN_OUTPUT + * 2. PushPullOutput/PIN_INPUT + */ } diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/PinNames.h b/targets/TARGET_NUVOTON/TARGET_NANO100/PinNames.h index b443dabd38..4658f5261b 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/PinNames.h @@ -55,15 +55,18 @@ typedef enum { } PinDirection; typedef enum { + /* Input pull mode */ PullNone = 0, PullDown, PullUp, - PushPull, + /* I/O mode */ + InputOnly, + PushPullOutput, OpenDrain, - Quasi, - PullDefault = PullUp, + /* Default input pull mode */ + PullDefault = PullUp } PinMode; typedef enum { diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_api.c b/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_api.c index ac7a896ee2..1398e8198f 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_api.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_api.c @@ -48,6 +48,9 @@ void gpio_init(gpio_t *obj, PinName pin) } obj->mask = gpio_set(pin); + /* Default mode/direction */ + obj->mode = PullUp; + obj->direction = PIN_INPUT; } void gpio_mode(gpio_t *obj, PinMode mode) @@ -55,8 +58,37 @@ void gpio_mode(gpio_t *obj, PinMode mode) if (obj->pin == (PinName) NC) { return; } - - pin_mode(obj->pin, mode); + + switch (mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor I/O mode + * in the gpio_mode call here. */ + if (mode == InputOnly) { + obj->direction = PIN_INPUT; + obj->mode = InputOnly; + } else { + obj->direction = PIN_OUTPUT; + obj->mode = PushPullOutput; + } + break; + + default: + /* Allow for configuring other I/O modes directly */ + obj->mode = mode; + break; + } + + pin_mode(obj->pin, obj->mode); } void gpio_dir(gpio_t *obj, PinDirection direction) @@ -64,25 +96,28 @@ void gpio_dir(gpio_t *obj, PinDirection direction) if (obj->pin == (PinName) NC) { return; } - - uint32_t pin_index = NU_PINNAME_TO_PIN(obj->pin); - uint32_t port_index = NU_PINNAME_TO_PORT(obj->pin); - GPIO_T *gpio_base = NU_PORT_BASE(port_index); - - uint32_t mode_intern = GPIO_PMD_INPUT; - - switch (direction) { - case PIN_INPUT: - mode_intern = GPIO_PMD_INPUT; + + obj->direction = direction; + + switch (obj->mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; break; - - case PIN_OUTPUT: - mode_intern = GPIO_PMD_OUTPUT; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor direction + * in the gpio_dir call here. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; break; - + default: - return; + break; } - - GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + pin_mode(obj->pin, obj->mode); } diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_object.h b/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_object.h index e2458dc87b..957789c5a5 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_object.h +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/gpio_object.h @@ -28,8 +28,10 @@ extern "C" { #endif typedef struct { - PinName pin; - uint32_t mask; + PinName pin; + uint32_t mask; + PinDirection direction; + PinMode mode; } gpio_t; static inline void gpio_write(gpio_t *obj, int value) diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/pinmap.c b/targets/TARGET_NUVOTON/TARGET_NANO100/pinmap.c index 59912a59df..137036abc1 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/pinmap.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/pinmap.c @@ -44,30 +44,35 @@ void pin_mode(PinName pin, PinMode mode) uint32_t port_index = NU_PINNAME_TO_PORT(pin); GPIO_T *gpio_base = NU_PORT_BASE(port_index); - uint32_t mode_intern = GPIO_PMD_INPUT; - + uint32_t mode_intern; + switch (mode) { - case PullUp: + case InputOnly: mode_intern = GPIO_PMD_INPUT; break; - - case PullDown: - case PullNone: - // NOTE: Not support - return; - - case PushPull: + + case PushPullOutput: mode_intern = GPIO_PMD_OUTPUT; break; - + case OpenDrain: mode_intern = GPIO_PMD_OPEN_DRAIN; break; - case Quasi: - // NOTE: Not support - break; + default: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We expect upper layer would have translated input pull mode/direction + * to I/O mode */ + return; } - + GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + /* Invalid combinations of PinMode/PinDirection + * + * We assume developer would avoid the following combinations of PinMode/PinDirection + * which are invalid: + * 1. InputOnly/PIN_OUTPUT + * 2. PushPullOutput/PIN_INPUT + */ } diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/PinNames.h b/targets/TARGET_NUVOTON/TARGET_NUC472/PinNames.h index 4beecb4b88..333ada6663 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/PinNames.h +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/PinNames.h @@ -55,15 +55,19 @@ typedef enum { } PinDirection; typedef enum { + /* Input pull mode */ PullNone = 0, PullDown, PullUp, - PushPull, + /* I/O mode */ + InputOnly, + PushPullOutput, OpenDrain, - Quasi, + QuasiBidirectional, - PullDefault = PullUp, + /* Default input pull mode */ + PullDefault = PullUp } PinMode; typedef enum { diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_api.c b/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_api.c index 27589ccc39..f3ce3fe477 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_api.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_api.c @@ -51,6 +51,9 @@ void gpio_init(gpio_t *obj, PinName pin) } obj->mask = gpio_set(pin); + /* Default mode/direction */ + obj->mode = PullUp; + obj->direction = PIN_INPUT; } void gpio_mode(gpio_t *obj, PinMode mode) @@ -58,8 +61,45 @@ void gpio_mode(gpio_t *obj, PinMode mode) if (obj->pin == (PinName) NC) { return; } - - pin_mode(obj->pin, mode); + + switch (mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + obj->mode = QuasiBidirectional; + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor I/O mode + * in the gpio_mode call here. */ + if (mode == InputOnly) { + obj->direction = PIN_INPUT; + obj->mode = InputOnly; + } else { + obj->direction = PIN_OUTPUT; + obj->mode = PushPullOutput; + } + break; + + default: + /* Allow for configuring other I/O modes directly */ + obj->mode = mode; + break; + } + + pin_mode(obj->pin, obj->mode); } void gpio_dir(gpio_t *obj, PinDirection direction) @@ -67,25 +107,36 @@ void gpio_dir(gpio_t *obj, PinDirection direction) if (obj->pin == (PinName) NC) { return; } - - uint32_t pin_index = NU_PINNAME_TO_PIN(obj->pin); - uint32_t port_index = NU_PINNAME_TO_PORT(obj->pin); - GPIO_T *gpio_base = NU_PORT_BASE(port_index); - - uint32_t mode_intern = GPIO_MODE_INPUT; - - switch (direction) { - case PIN_INPUT: - mode_intern = GPIO_MODE_INPUT; - break; - - case PIN_OUTPUT: - mode_intern = GPIO_MODE_OUTPUT; + + obj->direction = direction; + + switch (obj->mode) { + case PullNone: + case PullDown: + case PullUp: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We translate to input-only/push-pull output I/O mode dependent on direction. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; break; + case QuasiBidirectional: + /* With quasi-bidirectional I/O mode, before digital input function is performed, + * the corresponding bit in GPIOx_DOUT must be set to 1. */ + if (obj->direction == PIN_INPUT) { + gpio_write(obj, 1); + } + break; + + case InputOnly: + case PushPullOutput: + /* We may meet contradictory I/O mode/direction configuration. Favor direction + * in the gpio_dir call here. */ + obj->mode = (obj->direction == PIN_INPUT) ? InputOnly : PushPullOutput; + break; + default: - return; + break; } - - GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + pin_mode(obj->pin, obj->mode); } diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_object.h b/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_object.h index d8894b8d06..719006bf13 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_object.h +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/gpio_object.h @@ -28,8 +28,10 @@ extern "C" { #endif typedef struct { - PinName pin; - uint32_t mask; + PinName pin; + uint32_t mask; + PinDirection direction; + PinMode mode; } gpio_t; static inline void gpio_write(gpio_t *obj, int value) diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/pinmap.c b/targets/TARGET_NUVOTON/TARGET_NUC472/pinmap.c index 274c07fe25..d12ca01eea 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/pinmap.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/pinmap.c @@ -54,30 +54,39 @@ void pin_mode(PinName pin, PinMode mode) uint32_t port_index = NU_PINNAME_TO_PORT(pin); GPIO_T *gpio_base = NU_PORT_BASE(port_index); - uint32_t mode_intern = GPIO_MODE_INPUT; - + uint32_t mode_intern; + switch (mode) { - case PullUp: + case InputOnly: mode_intern = GPIO_MODE_INPUT; break; - - case PullDown: - case PullNone: - // NOTE: Not support - return; - - case PushPull: + + case PushPullOutput: mode_intern = GPIO_MODE_OUTPUT; break; - + case OpenDrain: mode_intern = GPIO_MODE_OPEN_DRAIN; break; - - case Quasi: + + case QuasiBidirectional: mode_intern = GPIO_MODE_QUASI; break; + + default: + /* H/W doesn't support separate configuration for input pull mode/direction. + * We expect upper layer would have translated input pull mode/direction + * to I/O mode */ + return; } - + GPIO_SetMode(gpio_base, 1 << pin_index, mode_intern); + + /* Invalid combinations of PinMode/PinDirection + * + * We assume developer would avoid the following combinations of PinMode/PinDirection + * which are invalid: + * 1. InputOnly/PIN_OUTPUT + * 2. PushPullOutput/PIN_INPUT + */ } From 605a72ceada93698073ca7325aa5ca9e995debdd Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Mon, 17 Sep 2018 15:38:28 +0300 Subject: [PATCH 098/202] add coverage filtering --- UNITTESTS/mbed_unittest.py | 28 +++++-- UNITTESTS/unit_test/coverage.py | 136 ++++++++++++++++++++++++++++++++ UNITTESTS/unit_test/options.py | 6 ++ UNITTESTS/unit_test/test.py | 78 +----------------- 4 files changed, 165 insertions(+), 83 deletions(-) create mode 100644 UNITTESTS/unit_test/coverage.py diff --git a/UNITTESTS/mbed_unittest.py b/UNITTESTS/mbed_unittest.py index e8e6eadad9..627c58ed0e 100755 --- a/UNITTESTS/mbed_unittest.py +++ b/UNITTESTS/mbed_unittest.py @@ -23,12 +23,14 @@ UNIT TEST BUILD & RUN from __future__ import print_function import os import logging +import re from unit_test.options import get_options_parser, \ pretty_print_test_options from unit_test.settings import DEFAULT_CMAKE_GENERATORS from unit_test.test import UnitTestTool from unit_test.new import UnitTestGeneratorTool +from unit_test.coverage import CoverageAPI def _mbed_unittest_test(options, cwd, pwd): if options is None: @@ -80,14 +82,28 @@ def _mbed_unittest_test(options, cwd, pwd): tool.build_tests() if options.run_only: + tool.run_tests(filter_regex=options.test_regex) + # If code coverage generation: if options.coverage: - # Run tests and generate reports - tool.generate_coverage_report(coverage_output_type=options.coverage, - excludes=[pwd, options.build], - build_path=options.build) - else: - tool.run_tests(filter_regex=options.test_regex) # Only run tests + cov_api = CoverageAPI( + mbed_os_root=os.path.normpath(os.path.join(pwd, "..")), + build_dir=options.build) + + # Generate reports + outputs = [options.coverage] + if options.coverage == "both": + outputs = ["html", "xml"] + + excludes = [pwd, options.build] + + if not options.include_headers: + excludes.append(re.compile(".*\\.h")) + + cov_api.generate_reports(outputs=outputs, + excludes=excludes, + filter_regex=options.test_regex, + build_path=options.build) def _mbed_unittest_new(options, pwd): if options is None: diff --git a/UNITTESTS/unit_test/coverage.py b/UNITTESTS/unit_test/coverage.py new file mode 100644 index 0000000000..ba0adbb960 --- /dev/null +++ b/UNITTESTS/unit_test/coverage.py @@ -0,0 +1,136 @@ +""" +Copyright (c) 2018, Arm Limited +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +GENERATE TEST CODE COVERAGE +""" + +import os +import logging +import posixpath +import re + +from .utils import execute_program +from .get_tools import get_gcov_program, \ + get_gcovr_program + +class CoverageAPI(object): + """ + Generate code coverage reports for unit tests. + """ + def __init__(self, mbed_os_root=None, build_dir=None): + self.root = mbed_os_root + + if not self.root: + self.root = os.path.normpath(os.path.join( + os.path.dirname(os.path.realpath(__file__)), + "../..")) + + self.build_dir = build_dir + + if not self.build_dir: + logging.error("No build directory given for CoverageAPI.") + + def _gen_cmd(self, coverage_type, excludes, filter_regex): + # Generate coverage generation command: + args = [get_gcovr_program(), + "--gcov-executable", + get_gcov_program(), + "-r", + os.path.relpath(self.root, self.build_dir), + "."] + + if coverage_type == "html": + args.extend(["--html", + "--html-detail", + "-o", + "./coverage/index.html"]) + elif coverage_type == "xml": + args.extend(["-x", + "-o", + "./coverage.xml"]) + + # Add exclude filters: + for path in excludes: + # Use posix separators if path is string + if isinstance(path, ("".__class__, u"".__class__)): + path = path.replace("\\", "/") + args.extend(["-e", path]) + # Use regular expressions as is + elif isinstance(path, type(re.compile(""))): + args.extend(["-e", path.pattern]) + + # Add include filters: + if filter_regex: + filters = filter_regex.split(",") + + for filt in filters: + regex = "(.+/)?%s" % filt.replace("-", "/") + args.extend(["-f", regex]) + + if logging.getLogger().getEffectiveLevel() == logging.DEBUG: + args.append("-v") + + return args + + def generate_reports(self, + outputs, + excludes=None, + filter_regex=None, + build_path=None): + """ + Run tests to generate coverage data, and generate coverage reports. + + Positional arguments: + outputs - list of types to generate + + Keyword arguments: + excludes - list of paths to exclude from the report + filter_regex - comma-separated string to use for test filtering + build_path - build path + """ + + if get_gcovr_program() is None: + logging.error("No gcovr tool found in path. \ + Cannot generate coverage reports.") + return + + if build_path is None: + build_path = os.getcwd() + + if outputs is None: + outputs = [] + + if excludes is None: + excludes = [] + + for output in outputs: + if output == "html": + # Create build directory if not exist. + coverage_path = os.path.join(build_path, "coverage") + if not os.path.exists(coverage_path): + os.mkdir(coverage_path) + + args = self._gen_cmd(output, excludes, filter_regex) + + if output == "html": + execute_program(args, + "HTML code coverage report generation failed.", + "HTML code coverage report created.") + elif output == "xml": + execute_program(args, + "XML code coverage report generation failed.", + "XML code coverage report created.") diff --git a/UNITTESTS/unit_test/options.py b/UNITTESTS/unit_test/options.py index f192006cdf..0c9eefa7af 100644 --- a/UNITTESTS/unit_test/options.py +++ b/UNITTESTS/unit_test/options.py @@ -75,6 +75,11 @@ def get_options_parser(): help="Generate code coverage report", dest="coverage") + parser.add_argument("--include-headers", + action="store_true", + help="Include headers to coverage reports, defaults to false.", + dest="include_headers") + parser.add_argument("-m", "--make-program", default=get_make_tool(), @@ -140,3 +145,4 @@ Mbed OS unit testing: if options.coverage: logging.info(" [%s] \tGenerate coverage reports", "SET") logging.info(" \t\t - Output: %s", options.coverage) + logging.info(" \t\t - Include headers: %s", options.include_headers) diff --git a/UNITTESTS/unit_test/test.py b/UNITTESTS/unit_test/test.py index 6be991bb79..dbf515e4e0 100644 --- a/UNITTESTS/unit_test/test.py +++ b/UNITTESTS/unit_test/test.py @@ -27,9 +27,7 @@ from .utils import execute_program from .get_tools import get_make_tool, \ get_cmake_tool, \ get_cxx_tool, \ - get_c_tool, \ - get_gcov_program, \ - get_gcovr_program + get_c_tool from .settings import DEFAULT_CMAKE_GENERATORS class UnitTestTool(object): @@ -115,80 +113,6 @@ class UnitTestTool(object): "Building unit tests failed.", "Unit tests built successfully.") - def _get_coverage_script(self, coverage_type, excludes): - args = [get_gcovr_program(), - "--gcov-executable", - get_gcov_program(), - "-r", - "../..", - "."] - - if coverage_type == "html": - args.extend(["--html", - "--html-detail", - "-o", - "./coverage/index.html"]) - elif coverage_type == "xml": - args.extend(["-x", - "-o", - "./coverage.xml"]) - - for path in excludes: - args.extend(["-e", path.replace("\\", "/")]) - - #Exclude header files from report - args.extend(["-e", ".*\.h"]) - - if logging.getLogger().getEffectiveLevel() == logging.DEBUG: - args.append("-v") - - return args - - def generate_coverage_report(self, - coverage_output_type=None, - excludes=None, - build_path=None): - """ - Run tests to generate coverage data, and generate coverage reports. - """ - - self.run_tests() - - if get_gcovr_program() is None: - logging.error("No gcovr tool found in path. \ - Cannot generate coverage report.") - return - - if build_path is None: - build_path = os.getcwd() - - if coverage_output_type is None: - logging.warning("No coverage output type give. \ - Cannot generate coverage reports.") - return - - if excludes is None: - excludes = [] - - if coverage_output_type == "html" or coverage_output_type == "both": - # Create build directory if not exist. - coverage_path = os.path.join(build_path, "coverage") - if not os.path.exists(coverage_path): - os.mkdir(coverage_path) - - args = self._get_coverage_script("html", excludes) - - execute_program(args, - "HTML code coverage report generation failed.", - "HTML code coverage report created.") - - if coverage_output_type == "xml" or coverage_output_type == "both": - args = self._get_coverage_script("xml", excludes) - - execute_program(args, - "XML code coverage report generation failed.", - "XML code coverage report created.") - def run_tests(self, filter_regex=None): """ Run unit tests. From cb80c49f3a668bb0645a99bf2e53bc8eedf7e750 Mon Sep 17 00:00:00 2001 From: Lari-Matias Orjala Date: Tue, 18 Sep 2018 10:51:08 +0300 Subject: [PATCH 099/202] Unit tests: improve argument checking in coverage.py --- UNITTESTS/unit_test/coverage.py | 36 ++++++++++++++++++++++----------- UNITTESTS/unit_test/options.py | 4 ++-- UNITTESTS/unit_test/settings.py | 4 +++- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/UNITTESTS/unit_test/coverage.py b/UNITTESTS/unit_test/coverage.py index ba0adbb960..add8e1d2a9 100644 --- a/UNITTESTS/unit_test/coverage.py +++ b/UNITTESTS/unit_test/coverage.py @@ -25,12 +25,15 @@ import re from .utils import execute_program from .get_tools import get_gcov_program, \ - get_gcovr_program + get_gcovr_program +from .settings import COVERAGE_OUTPUT_TYPES + class CoverageAPI(object): """ Generate code coverage reports for unit tests. """ + def __init__(self, mbed_os_root=None, build_dir=None): self.root = mbed_os_root @@ -62,6 +65,8 @@ class CoverageAPI(object): args.extend(["-x", "-o", "./coverage.xml"]) + else: + logging.error("Invalid coverage output type: %s" % coverage_type) # Add exclude filters: for path in excludes: @@ -103,9 +108,11 @@ class CoverageAPI(object): build_path - build path """ + # Check for the tool if get_gcovr_program() is None: - logging.error("No gcovr tool found in path. \ - Cannot generate coverage reports.") + logging.error( + "No gcovr tool found in path. " + + "Cannot generate coverage reports.") return if build_path is None: @@ -118,19 +125,24 @@ class CoverageAPI(object): excludes = [] for output in outputs: + # Skip if invalid/unsupported output type + if output not in COVERAGE_OUTPUT_TYPES: + logging.warning( + "Invalid output type. " + + "Skip coverage report for type: %s." % output.upper()) + continue + if output == "html": - # Create build directory if not exist. + # Create a build directory if not exist coverage_path = os.path.join(build_path, "coverage") if not os.path.exists(coverage_path): os.mkdir(coverage_path) + # Generate the command args = self._gen_cmd(output, excludes, filter_regex) - if output == "html": - execute_program(args, - "HTML code coverage report generation failed.", - "HTML code coverage report created.") - elif output == "xml": - execute_program(args, - "XML code coverage report generation failed.", - "XML code coverage report created.") + # Run the coverage tool + execute_program( + args, + "%s code coverage report generation failed." % output.upper(), + "%s code coverage report created." % output.upper()) diff --git a/UNITTESTS/unit_test/options.py b/UNITTESTS/unit_test/options.py index 0c9eefa7af..211c5d10b9 100644 --- a/UNITTESTS/unit_test/options.py +++ b/UNITTESTS/unit_test/options.py @@ -21,7 +21,7 @@ UNIT TEST OPTIONS import argparse import logging -from .settings import CMAKE_GENERATORS, MAKE_PROGRAMS, COVERAGE_TYPES +from .settings import CMAKE_GENERATORS, MAKE_PROGRAMS, COVERAGE_ARGS from .get_tools import get_make_tool def get_options_parser(): @@ -71,7 +71,7 @@ def get_options_parser(): dest="debug_build") parser.add_argument("--coverage", - choices=COVERAGE_TYPES, + choices=COVERAGE_ARGS, help="Generate code coverage report", dest="coverage") diff --git a/UNITTESTS/unit_test/settings.py b/UNITTESTS/unit_test/settings.py index 717cab8523..883b4a82f4 100644 --- a/UNITTESTS/unit_test/settings.py +++ b/UNITTESTS/unit_test/settings.py @@ -29,10 +29,12 @@ DEFAULT_CMAKE_GENERATORS = { "ninja": "Ninja" } -COVERAGE_TYPES = ["html", +COVERAGE_ARGS = ["html", "xml", "both"] +COVERAGE_OUTPUT_TYPES = ["html", "xml"] + CXX_COMPILERS = ["g++-6", "g++-8", "g++-7", "g++-5", "g++-4.9", "g++"] C_COMPILERS = ["gcc-6", "gcc-8", "gcc-7", "gcc-5", "gcc-4.9", "gcc"] From 2bbf033fe2fd9d8179e6e4289f1ba21c5c524b89 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Wed, 12 Sep 2018 13:00:20 +0200 Subject: [PATCH 100/202] unittests: improved coverage for UDPSocket and TCPSocket Add functional and line coverage for UDPSocket and TCPSocket. The EventFlagsstub and NetworkStackstub classes are allowed to store multiple return values to allow running internal loops multiple times. --- .../netsocket/TCPSocket/test_TCPSocket.cpp | 230 ++++++++++++++++++ .../netsocket/TCPSocket/unittest.cmake | 5 + .../netsocket/UDPSocket/test_UDPSocket.cpp | 91 ++++++- UNITTESTS/stubs/EventFlags_stub.cpp | 10 + UNITTESTS/stubs/NetworkStack_stub.h | 32 ++- 5 files changed, 354 insertions(+), 14 deletions(-) diff --git a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp index 113baa26d8..9c84eccc59 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp +++ b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp @@ -17,10 +17,24 @@ #include "gtest/gtest.h" #include "features/netsocket/TCPSocket.h" +#include "NetworkStack_stub.h" + +// Control the rtos EventFlags stub. See EventFlags_stub.cpp +extern std::list eventFlagsStubNextRetval; + +// To test protected functions +class TCPSocketFriend : public TCPSocket { + friend class TestTCPSocket; + FRIEND_TEST(TestTCPSocket, get_proto); +}; class TestTCPSocket : public testing::Test { +public: + unsigned int dataSize = 10; + char dataBuf[10]; protected: TCPSocket *socket; + NetworkStackstub stack; virtual void SetUp() { @@ -29,11 +43,227 @@ protected: virtual void TearDown() { + stack.return_values.clear(); + eventFlagsStubNextRetval.clear(); delete socket; } }; +TEST_F(TestTCPSocket, get_proto) +{ + TCPSocketFriend tcpFriend; + EXPECT_EQ(tcpFriend.get_proto(), NSAPI_TCP); +} + TEST_F(TestTCPSocket, constructor) { EXPECT_TRUE(socket); } + +TEST_F(TestTCPSocket, constructor_parameters) +{ + TCPSocket socketParam = TCPSocket(dynamic_cast(&stack)); + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socketParam.connect(a), NSAPI_ERROR_OK); +} + +/* connect */ + +TEST_F(TestTCPSocket, connect) +{ + socket->open((NetworkStack *)&stack); + + stack.return_value = NSAPI_ERROR_OK; + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); +} + +TEST_F(TestTCPSocket, connect_no_open) +{ + stack.return_value = NSAPI_ERROR_OK; + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPSocket, connect_error_in_progress_no_timeout) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_IN_PROGRESS; + const SocketAddress a("127.0.0.1", 1024); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_IN_PROGRESS); +} + +TEST_F(TestTCPSocket, connect_with_timeout) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_IN_PROGRESS; + const SocketAddress a("127.0.0.1", 1024); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + socket->set_timeout(1); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_IN_PROGRESS); +} + +TEST_F(TestTCPSocket, connect_error_is_connected) +{ + socket->open((NetworkStack *)&stack); + stack.return_values.push_back(NSAPI_ERROR_ALREADY); + stack.return_values.push_back(NSAPI_ERROR_IS_CONNECTED); + const SocketAddress a("127.0.0.1", 1024); + socket->set_timeout(1); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); +} + +TEST_F(TestTCPSocket, connect_by_name_and_port) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->connect("testhost", 80), NSAPI_ERROR_OK); +} + +TEST_F(TestTCPSocket, connect_by_name_and_port_dns_fail) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_DNS_FAILURE; + EXPECT_EQ(socket->connect("testhost", 80), NSAPI_ERROR_DNS_FAILURE); +} + +/* send */ + +TEST_F(TestTCPSocket, send_no_open) +{ + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPSocket, send_in_one_chunk) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = dataSize; + EXPECT_EQ(socket->send(dataBuf, dataSize), dataSize); +} + +TEST_F(TestTCPSocket, send_in_two_chunks) +{ + socket->open((NetworkStack *)&stack); + stack.return_values.push_back(4); + stack.return_values.push_back(dataSize - 4); + EXPECT_EQ(socket->send(dataBuf, dataSize), dataSize); +} + +TEST_F(TestTCPSocket, send_error_would_block) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); +} + +TEST_F(TestTCPSocket, send_error_other) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_NO_MEMORY; + EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_NO_MEMORY); +} + +TEST_F(TestTCPSocket, send_error_no_timeout) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + socket->set_timeout(0); + EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); +} + +TEST_F(TestTCPSocket, send_to) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = 10; + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->sendto(a, dataBuf, dataSize), dataSize); +} + +/* recv */ + +TEST_F(TestTCPSocket, recv_no_open) +{ + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->recv(dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPSocket, recv_all_data) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = dataSize; + EXPECT_EQ(socket->recv(dataBuf, dataSize), dataSize); +} + +TEST_F(TestTCPSocket, recv_less_than_expected) +{ + socket->open((NetworkStack *)&stack); + unsigned int lessThanDataSize = dataSize -1; + stack.return_values.push_back(lessThanDataSize); + EXPECT_EQ(socket->recv(dataBuf, dataSize), lessThanDataSize); +} + +TEST_F(TestTCPSocket, recv_would_block) +{ + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(0); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + EXPECT_EQ(socket->recv(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); +} + +TEST_F(TestTCPSocket, recv_from) +{ + stack.return_value = NSAPI_ERROR_OK; + SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->recvfrom(&a, dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET); +} + +/* listen */ + +TEST_F(TestTCPSocket, listen_no_open) +{ + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->listen(1), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPSocket, listen) +{ + stack.return_value = NSAPI_ERROR_OK; + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->listen(1), NSAPI_ERROR_OK); +} + +/* accept - will accept ever be used on TCPSocket, or is it just meant for TCPServer? + * accept currently always returns NULL - is this intended? Memory leak + * Perhaps we should make it return UNSUPPORTED ? */ + +TEST_F(TestTCPSocket, accept_no_open) +{ + nsapi_error_t error; + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->accept(&error), static_cast(NULL)); + EXPECT_EQ(error, NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPSocket, accept) +{ + nsapi_error_t error; + stack.return_value = NSAPI_ERROR_OK; + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->accept(&error), static_cast(NULL)); + EXPECT_EQ(error, NSAPI_ERROR_OK); +} + +TEST_F(TestTCPSocket, accept_would_block) +{ + nsapi_error_t error; + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(0); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + EXPECT_EQ(socket->accept(&error), static_cast(NULL)); + EXPECT_EQ(error, NSAPI_ERROR_WOULD_BLOCK); +} diff --git a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake index 0265ca19b0..58367cfede 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake +++ b/UNITTESTS/features/netsocket/TCPSocket/unittest.cmake @@ -5,6 +5,7 @@ set(unittest-sources ../features/netsocket/SocketAddress.cpp + ../features/netsocket/NetworkStack.cpp ../features/netsocket/InternetSocket.cpp ../features/netsocket/TCPSocket.cpp ../features/frameworks/nanostack-libservice/source/libip4string/ip4tos.c @@ -15,6 +16,10 @@ set(unittest-test-sources features/netsocket/TCPSocket/test_TCPSocket.cpp stubs/Mutex_stub.cpp stubs/mbed_assert_stub.c + stubs/equeue_stub.c + stubs/EventQueue_stub.cpp + stubs/mbed_shared_queues_stub.cpp + stubs/nsapi_dns_stub.cpp stubs/EventFlags_stub.cpp stubs/stoip4_stub.c stubs/ip4tos_stub.c diff --git a/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp b/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp index 7c590e7970..a5dce4e776 100644 --- a/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp +++ b/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp @@ -26,21 +26,25 @@ * following the documentation of google test. * [*](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md) */ -class stubUDPSocket : public UDPSocket { +class UDPSocketFriend : public UDPSocket { friend class TestUDPSocket; FRIEND_TEST(TestUDPSocket, get_proto); }; +// Control the rtos EventFlags stub. See EventFlags_stub.cpp +extern std::list eventFlagsStubNextRetval; + class TestUDPSocket : public testing::Test { protected: - stubUDPSocket *socket; + UDPSocket *socket; NetworkStackstub stack; + unsigned int dataSize = 10; + char dataBuf[10]; virtual void SetUp() { - socket = new stubUDPSocket; + socket = new UDPSocket; stack.return_value = NSAPI_ERROR_OK; - socket->open((NetworkStack *)&stack); } virtual void TearDown() @@ -51,31 +55,92 @@ protected: TEST_F(TestUDPSocket, get_proto) { - EXPECT_EQ(socket->get_proto(), NSAPI_UDP); + UDPSocketFriend udpFriend; + EXPECT_EQ(udpFriend.get_proto(), NSAPI_UDP); } TEST_F(TestUDPSocket, sendto_addr_port) { + // The code below causes a segfault. Should we add a check? + //EXPECT_EQ(socket->sendto("127.0.0.1", 0, 0, 0), NSAPI_ERROR_NO_SOCKET); + + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->sendto(a, 0, 0), NSAPI_ERROR_NO_SOCKET); + + socket->open((NetworkStack *)&stack); + stack.return_value = NSAPI_ERROR_PARAMETER; EXPECT_EQ(socket->sendto("127.0.0.1", 0, 0, 0), NSAPI_ERROR_DNS_FAILURE); + stack.return_value = NSAPI_ERROR_OK; EXPECT_EQ(socket->sendto("127.0.0.1", 0, 0, 0), 0); } -TEST_F(TestUDPSocket, sendto) +TEST_F(TestUDPSocket, connect) { - SocketAddress addr("127.0.0.1", 1024); stack.return_value = NSAPI_ERROR_OK; + const SocketAddress a("127.0.0.1", 1024); socket->open((NetworkStack *)&stack); - stack.return_value = 100; - EXPECT_EQ(socket->sendto(addr, 0, 100), 100); + EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_NO_ADDRESS); + + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); + + stack.return_value = 100; + EXPECT_EQ(socket->send(dataBuf, dataSize), 100); +} + +TEST_F(TestUDPSocket, sendto_timeout) +{ + SocketAddress addr("127.0.0.1", 1024); + socket->open((NetworkStack *)&stack); - socket->set_timeout(0); stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(0); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop EXPECT_EQ(socket->sendto(addr, 0, 100), NSAPI_ERROR_WOULD_BLOCK); - socket->set_timeout(-1); - stack.return_value = NSAPI_ERROR_NO_CONNECTION; - EXPECT_EQ(socket->sendto(addr, 0, 100), NSAPI_ERROR_NO_CONNECTION); + stack.return_value = NSAPI_ERROR_NO_MEMORY; + socket->set_timeout(1); + + EXPECT_EQ(socket->sendto(addr, 0, 100), NSAPI_ERROR_NO_MEMORY); +} + +TEST_F(TestUDPSocket, recv) +{ + EXPECT_EQ(socket->recv(&dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET); + + socket->open((NetworkStack *)&stack); + + stack.return_value = 100; + EXPECT_EQ(socket->recv(&dataBuf, dataSize), 100); + + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(0); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + EXPECT_EQ(socket->recv(&dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); +} + +TEST_F(TestUDPSocket, recv_address_filtering) +{ + socket->open((NetworkStack *)&stack); + SocketAddress a1("127.0.0.1", 1024); + SocketAddress a2("127.0.0.2", 1024); + + EXPECT_EQ(socket->connect(a1), NSAPI_ERROR_OK); + + stack.return_values.push_back(100); //This will not return, because wrong address is used. + stack.return_values.push_back(NSAPI_ERROR_NO_MEMORY); //Break the loop of waiting for data from a1. + EXPECT_EQ(socket->recvfrom(&a2, &dataBuf, dataSize), NSAPI_ERROR_NO_MEMORY); + + stack.return_values.push_back(100); + EXPECT_EQ(socket->recvfrom(&a1, &dataBuf, dataSize), 100); +} + +TEST_F(TestUDPSocket, unsupported_api) +{ + nsapi_error_t error; + EXPECT_EQ(socket->accept(&error), static_cast(NULL)); + EXPECT_EQ(error, NSAPI_ERROR_UNSUPPORTED); + EXPECT_EQ(socket->listen(1), NSAPI_ERROR_UNSUPPORTED); } diff --git a/UNITTESTS/stubs/EventFlags_stub.cpp b/UNITTESTS/stubs/EventFlags_stub.cpp index 5e5b0736e5..9c20b882f4 100644 --- a/UNITTESTS/stubs/EventFlags_stub.cpp +++ b/UNITTESTS/stubs/EventFlags_stub.cpp @@ -17,6 +17,10 @@ #include #include "rtos/EventFlags.h" +#include + +/** Store the next value to be returned by Event Flags member functions */ +std::list eventFlagsStubNextRetval; rtos::EventFlags::EventFlags() {} rtos::EventFlags::~EventFlags() {} @@ -38,5 +42,11 @@ uint32_t rtos::EventFlags::wait_all(uint32_t flags, uint32_t timeout, bool clear } uint32_t rtos::EventFlags::wait_any(uint32_t flags, uint32_t timeout, bool clear) { + if (!eventFlagsStubNextRetval.empty()) + { + uint32_t ret = eventFlagsStubNextRetval.front(); + eventFlagsStubNextRetval.pop_front(); + return ret; + } return 0; } diff --git a/UNITTESTS/stubs/NetworkStack_stub.h b/UNITTESTS/stubs/NetworkStack_stub.h index 2d18f94873..3a8955a6e0 100644 --- a/UNITTESTS/stubs/NetworkStack_stub.h +++ b/UNITTESTS/stubs/NetworkStack_stub.h @@ -19,10 +19,11 @@ #define NETWORKSTACKSTUB_H #include "netsocket/NetworkStack.h" - +#include class NetworkStackstub : public NetworkStack { public: + std::list return_values; nsapi_error_t return_value = 0; virtual const char *get_ip_address() { @@ -46,6 +47,11 @@ public: protected: virtual nsapi_error_t socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) { + if (return_value == NSAPI_ERROR_OK && return_values.front() == NSAPI_ERROR_OK) + { + // Make sure a non-NULL value is returned if error is not expected + *handle = reinterpret_cast(1234); + } return return_value; }; virtual nsapi_error_t socket_close(nsapi_socket_t handle) @@ -62,6 +68,12 @@ protected: }; virtual nsapi_error_t socket_connect(nsapi_socket_t handle, const SocketAddress &address) { + if (!return_values.empty()) + { + nsapi_error_t ret = return_values.front(); + return_values.pop_front(); + return ret; + } return return_value; }; virtual nsapi_error_t socket_accept(nsapi_socket_t server, @@ -72,11 +84,23 @@ protected: virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle, const void *data, nsapi_size_t size) { + if (!return_values.empty()) + { + nsapi_error_t ret = return_values.front(); + return_values.pop_front(); + return ret; + } return return_value; }; virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle, void *data, nsapi_size_t size) { + if (!return_values.empty()) + { + nsapi_error_t ret = return_values.front(); + return_values.pop_front(); + return ret; + } return return_value; }; virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address, @@ -87,6 +111,12 @@ protected: virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address, void *buffer, nsapi_size_t size) { + if (!return_values.empty()) + { + nsapi_error_t ret = return_values.front(); + return_values.pop_front(); + return ret; + } return return_value; }; virtual void socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) {}; From 46b529a1ea967f625826efe6431ec92d15835ff8 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Wed, 12 Sep 2018 15:08:27 +0200 Subject: [PATCH 101/202] unittests: Check NULL pointer scenario in TCPSocket::recvfrom --- .../netsocket/TCPSocket/test_TCPSocket.cpp | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp index 9c84eccc59..e7569dd267 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp +++ b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp @@ -214,13 +214,33 @@ TEST_F(TestTCPSocket, recv_would_block) EXPECT_EQ(socket->recv(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); } -TEST_F(TestTCPSocket, recv_from) +TEST_F(TestTCPSocket, recv_from_no_socket) { stack.return_value = NSAPI_ERROR_OK; SocketAddress a("127.0.0.1", 1024); EXPECT_EQ(socket->recvfrom(&a, dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET); } +TEST_F(TestTCPSocket, recv_from) +{ + stack.return_value = NSAPI_ERROR_OK; + SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->open((NetworkStack *)&stack), NSAPI_ERROR_OK); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); + SocketAddress b; + EXPECT_EQ(socket->recvfrom(&b, dataBuf, dataSize), NSAPI_ERROR_OK); + EXPECT_EQ(a, b); +} + +TEST_F(TestTCPSocket, recv_from_null) +{ + stack.return_value = NSAPI_ERROR_OK; + SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->open((NetworkStack *)&stack), NSAPI_ERROR_OK); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); + EXPECT_EQ(socket->recvfrom(NULL, dataBuf, dataSize), NSAPI_ERROR_OK); +} + /* listen */ TEST_F(TestTCPSocket, listen_no_open) @@ -236,9 +256,7 @@ TEST_F(TestTCPSocket, listen) EXPECT_EQ(socket->listen(1), NSAPI_ERROR_OK); } -/* accept - will accept ever be used on TCPSocket, or is it just meant for TCPServer? - * accept currently always returns NULL - is this intended? Memory leak - * Perhaps we should make it return UNSUPPORTED ? */ +/* these tests will have to be readjusted after TCPServer is deprecated. */ TEST_F(TestTCPSocket, accept_no_open) { From 77fc6a034708596b27f1d6dba126045a25b13d95 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Thu, 13 Sep 2018 10:13:45 +0200 Subject: [PATCH 102/202] unittests: InternetSocket class coverage improved. Added more tests, improved the existing ones. setblocking tests were not checking anything, so they were removed and these functions are called in TCPSocket tests instead. --- .../InternetSocket/test_InternetSocket.cpp | 83 +++++++++++++++---- .../netsocket/TCPSocket/test_TCPSocket.cpp | 4 +- 2 files changed, 69 insertions(+), 18 deletions(-) diff --git a/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp b/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp index 115c93f60a..3b499fef42 100644 --- a/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp +++ b/UNITTESTS/features/netsocket/InternetSocket/test_InternetSocket.cpp @@ -19,17 +19,13 @@ #include "features/netsocket/InternetSocket.h" #include "NetworkStack_stub.h" +extern std::list eventFlagsStubNextRetval; + +// InternetSocket is an abstract class, so we have to test it via its child. class stubInternetSocket : public InternetSocket { protected: nsapi_error_t return_value = 0; public: - virtual void event() - { - if (_callback) { - _callback.call(); - } - } - virtual nsapi_error_t connect(const SocketAddress &address) { return return_value; @@ -60,6 +56,15 @@ public: { return return_value; } + + // Testing functions + void add_reader (void) { _readers++;} + void rem_reader (void) { _readers--;} + void add_writer (void) { _writers++;} + void rem_writer (void) { _writers--;} + void add_pending (void) { _pending++;} + void rem_pending (void) { _pending--;} + protected: virtual nsapi_protocol_t get_proto() { @@ -94,7 +99,6 @@ TEST_F(TestInternetSocket, constructor) EXPECT_TRUE(socket); } - TEST_F(TestInternetSocket, open_null_stack) { EXPECT_EQ(socket->open(NULL), NSAPI_ERROR_PARAMETER); @@ -126,34 +130,81 @@ TEST_F(TestInternetSocket, close) EXPECT_EQ(socket->close(), NSAPI_ERROR_OK); } +TEST_F(TestInternetSocket, close_no_open) +{ + stack.return_value = NSAPI_ERROR_OK; + EXPECT_EQ(socket->close(), NSAPI_ERROR_OK); +} + +TEST_F(TestInternetSocket, close_during_read) +{ + stack.return_value = NSAPI_ERROR_OK; + socket->open((NetworkStack *)&stack); + // when c++11 is available use something like the code below to test the blocking behavior + // socket->add_reader(); + // std::async(c[](){std::this_thread::sleep_for(1ms); socket->rem_reader()}); + EXPECT_EQ(socket->close(), NSAPI_ERROR_OK); +} + TEST_F(TestInternetSocket, modify_multicast_group) { SocketAddress a("127.0.0.1", 1024); stack.return_value = NSAPI_ERROR_OK; socket->open((NetworkStack *)&stack); - + // when c++11 is available use something like the code below to test the blocking behavior + // socket->add_reader(); + // std::async(c[](){std::this_thread::sleep_for(1ms); socket->rem_reader()}); EXPECT_EQ(socket->join_multicast_group(a), NSAPI_ERROR_UNSUPPORTED); EXPECT_EQ(socket->leave_multicast_group(a), NSAPI_ERROR_UNSUPPORTED); } -TEST_F(TestInternetSocket, set_blocking) +// set_blocking and set_timeout are tested within TCPSocket. + +TEST_F(TestInternetSocket, bind_no_socket) { - socket->set_blocking(false); - socket->set_blocking(true); + EXPECT_EQ(socket->bind(1), NSAPI_ERROR_NO_SOCKET); } +TEST_F(TestInternetSocket, bind) +{ + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->bind("127.0.0.1", 80), NSAPI_ERROR_OK); +} + +TEST_F(TestInternetSocket, bind_nullstring) +{ + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->bind(NULL, 80), NSAPI_ERROR_OK); +} + +// setsockopt and getsockopt are really just calling the underlying stack functions + TEST_F(TestInternetSocket, setsockopt_no_stack) { - socket->close(); EXPECT_EQ(socket->setsockopt(0, 0, 0, 0), NSAPI_ERROR_NO_SOCKET); } +TEST_F(TestInternetSocket, setsockopt) +{ + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->setsockopt(0, 0, 0, 0), NSAPI_ERROR_UNSUPPORTED); +} + +TEST_F(TestInternetSocket, getsockopt_no_stack) +{ + EXPECT_EQ(socket->getsockopt(0, 0, 0, 0), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestInternetSocket, getsockopt) +{ + socket->open((NetworkStack *)&stack); + EXPECT_EQ(socket->getsockopt(0, 0, 0, 0), NSAPI_ERROR_UNSUPPORTED); +} + TEST_F(TestInternetSocket, sigio) { callback_is_called = false; - // I'm calling sigio() through the DEPRECATED method, just to get coverage for both. - // Not sure if this is wise at all, we should not aim for 100% socket->sigio(mbed::callback(my_callback)); - socket->event(); + socket->close(); // Trigger event; EXPECT_EQ(callback_is_called, true); } diff --git a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp index e7569dd267..95a1187381 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp +++ b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp @@ -100,7 +100,7 @@ TEST_F(TestTCPSocket, connect_with_timeout) stack.return_value = NSAPI_ERROR_IN_PROGRESS; const SocketAddress a("127.0.0.1", 1024); eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop - socket->set_timeout(1); + socket->set_blocking(true); EXPECT_EQ(socket->connect(a), NSAPI_ERROR_IN_PROGRESS); } @@ -170,7 +170,7 @@ TEST_F(TestTCPSocket, send_error_no_timeout) { socket->open((NetworkStack *)&stack); stack.return_value = NSAPI_ERROR_WOULD_BLOCK; - socket->set_timeout(0); + socket->set_blocking(false); EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK); } From 54ee25cf1ed5ae93897ba3806f5d454bae402800 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Thu, 13 Sep 2018 13:11:45 +0200 Subject: [PATCH 103/202] unittests: Added NetworkInterface unit tests Most functions are empty or simply return "UNSUPPORTED", but it is still worth covering this functions with unit tests to have better control of unwanted changes. --- .../test_NetworkInterface.cpp | 76 ++++++++++++++++++- .../netsocket/NetworkInterface/unittest.cmake | 11 +++ 2 files changed, 86 insertions(+), 1 deletion(-) diff --git a/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp b/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp index 9ea4937471..15fb805e04 100644 --- a/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp +++ b/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp @@ -17,6 +17,7 @@ #include "gtest/gtest.h" #include "features/netsocket/NetworkInterface.h" +#include "NetworkStack_stub.h" class stubNetworkInterface : public NetworkInterface { virtual nsapi_error_t connect() @@ -29,8 +30,10 @@ class stubNetworkInterface : public NetworkInterface { }; virtual NetworkStack *get_stack() { - return NULL; + return &stack; }; +public: + NetworkStackstub stack; }; class TestNetworkInterface : public testing::Test { @@ -53,8 +56,79 @@ TEST_F(TestNetworkInterface, constructor) EXPECT_TRUE(iface); } +// get_default_instance is tested along with the implementations of NetworkInterface. + TEST_F(TestNetworkInterface, get_mac_address) { char *n = 0; EXPECT_EQ(iface->get_mac_address(), n); } + +TEST_F(TestNetworkInterface, get_ip_address) +{ + char *n = 0; + EXPECT_EQ(iface->get_ip_address(), n); +} + +TEST_F(TestNetworkInterface, get_netmask) +{ + char *n = 0; + EXPECT_EQ(iface->get_netmask(), n); +} + +TEST_F(TestNetworkInterface, get_gateway) +{ + char *n = 0; + EXPECT_EQ(iface->get_gateway(), n); +} + +TEST_F(TestNetworkInterface, set_network) +{ + EXPECT_EQ(iface->set_network("127.0.0.1", "255.255.0.0", "127.0.0.1"), NSAPI_ERROR_UNSUPPORTED); +} + +TEST_F(TestNetworkInterface, set_dhcp) +{ + EXPECT_EQ(iface->set_dhcp(true), NSAPI_ERROR_OK); + EXPECT_EQ(iface->set_dhcp(false), NSAPI_ERROR_UNSUPPORTED); +} + +TEST_F(TestNetworkInterface, gethostbyname) +{ + SocketAddress a; + EXPECT_EQ(iface->gethostbyname("host", &a, NSAPI_UNSPEC), NSAPI_ERROR_OK); +} + + +static bool callback_is_called; +static void my_callback(nsapi_error_t result, SocketAddress *address) +{ + (void)result; + (void)address; + callback_is_called = true; +} + +TEST_F(TestNetworkInterface, gethostbyname_async) +{ + SocketAddress a; + EXPECT_EQ(iface->gethostbyname_async("host", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_OK); + EXPECT_EQ(iface->gethostbyname_async_cancel(1), NSAPI_ERROR_OK); +} + +TEST_F(TestNetworkInterface, add_dns_server) +{ + SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(iface->add_dns_server(a), NSAPI_ERROR_OK); +} + +TEST_F(TestNetworkInterface, get_connection_status) +{ + EXPECT_EQ(iface->get_connection_status(), NSAPI_ERROR_UNSUPPORTED); +} + +TEST_F(TestNetworkInterface, set_blocking) +{ + EXPECT_EQ(iface->set_blocking(true), NSAPI_ERROR_UNSUPPORTED); +} + +// No way to test attach as it doesn't do or return anything. diff --git a/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake b/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake index cab0725e05..37ea5dc0bf 100644 --- a/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake +++ b/UNITTESTS/features/netsocket/NetworkInterface/unittest.cmake @@ -5,10 +5,21 @@ # Source files set(unittest-sources + ../features/netsocket/SocketAddress.cpp + ../features/netsocket/NetworkStack.cpp ../features/netsocket/NetworkInterface.cpp + ../features/frameworks/nanostack-libservice/source/libip4string/ip4tos.c + ../features/frameworks/nanostack-libservice/source/libip4string/stoip4.c ) # Test files set(unittest-test-sources + stubs/Mutex_stub.cpp + stubs/mbed_assert_stub.c + stubs/equeue_stub.c + stubs/EventQueue_stub.cpp + stubs/mbed_shared_queues_stub.cpp + stubs/nsapi_dns_stub.cpp + stubs/EventFlags_stub.cpp features/netsocket/NetworkInterface/test_NetworkInterface.cpp ) From 43ca738436917dff55b1d1ce9d6e463935fbf5a7 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Thu, 13 Sep 2018 13:17:24 +0200 Subject: [PATCH 104/202] unittests: Add TCPServer unit tests TCPServer class only really implements attach method. --- .../netsocket/TCPServer/test_TCPServer.cpp | 98 +++++++++++++++++++ .../netsocket/TCPServer/unittest.cmake | 28 ++++++ 2 files changed, 126 insertions(+) create mode 100644 UNITTESTS/features/netsocket/TCPServer/test_TCPServer.cpp create mode 100644 UNITTESTS/features/netsocket/TCPServer/unittest.cmake diff --git a/UNITTESTS/features/netsocket/TCPServer/test_TCPServer.cpp b/UNITTESTS/features/netsocket/TCPServer/test_TCPServer.cpp new file mode 100644 index 0000000000..c2cf9532fb --- /dev/null +++ b/UNITTESTS/features/netsocket/TCPServer/test_TCPServer.cpp @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "features/netsocket/TCPSocket.h" +#include "features/netsocket/TCPServer.h" +#include "NetworkStack_stub.h" + +// Control the rtos EventFlags stub. See EventFlags_stub.cpp +extern std::list eventFlagsStubNextRetval; + +class TestTCPServer : public testing::Test { +public: + unsigned int dataSize = 10; + char dataBuf[10]; +protected: + TCPSocket *socket; + TCPServer *server; + NetworkStackstub stack; + + virtual void SetUp() + { + server = new TCPServer(); + socket = new TCPSocket(); + } + + virtual void TearDown() + { + stack.return_values.clear(); + eventFlagsStubNextRetval.clear(); + delete socket; + delete server; + } +}; + +TEST_F(TestTCPServer, constructor) +{ + EXPECT_TRUE(server); +} + +TEST_F(TestTCPServer, constructor_parameters) +{ + TCPServer serverParam = TCPServer(dynamic_cast(&stack)); + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(serverParam.connect(a), NSAPI_ERROR_OK); +} + +TEST_F(TestTCPServer, accept) +{ + const SocketAddress a("127.0.0.1", 1024); + EXPECT_EQ(socket->open(static_cast(&stack)), NSAPI_ERROR_OK); + EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK); + nsapi_error_t error; + EXPECT_EQ(server->open(static_cast(&stack)), NSAPI_ERROR_OK); + EXPECT_EQ(server->bind(a), NSAPI_ERROR_OK); + server->listen(1); + SocketAddress client_addr; + EXPECT_EQ(server->accept(socket, &client_addr), NSAPI_ERROR_OK); +} + +TEST_F(TestTCPServer, accept_no_socket) +{ + SocketAddress client_addr; + EXPECT_EQ(server->accept(socket, &client_addr), NSAPI_ERROR_NO_SOCKET); +} + +TEST_F(TestTCPServer, accept_error) +{ + SocketAddress client_addr; + EXPECT_EQ(server->open(static_cast(&stack)), NSAPI_ERROR_OK); + stack.return_value = NSAPI_ERROR_AUTH_FAILURE; + EXPECT_EQ(server->accept(socket, &client_addr), NSAPI_ERROR_AUTH_FAILURE); +} + +TEST_F(TestTCPServer, accept_error_would_block) +{ + SocketAddress client_addr; + EXPECT_EQ(server->open(static_cast(&stack)), NSAPI_ERROR_OK); + stack.return_value = NSAPI_ERROR_WOULD_BLOCK; + eventFlagsStubNextRetval.push_back(0); + eventFlagsStubNextRetval.push_back(osFlagsError); // Break the wait loop + + EXPECT_EQ(server->accept(socket, &client_addr), NSAPI_ERROR_WOULD_BLOCK); +} diff --git a/UNITTESTS/features/netsocket/TCPServer/unittest.cmake b/UNITTESTS/features/netsocket/TCPServer/unittest.cmake new file mode 100644 index 0000000000..d0b1e031b1 --- /dev/null +++ b/UNITTESTS/features/netsocket/TCPServer/unittest.cmake @@ -0,0 +1,28 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "features_netsocket_TCPServer") + +set(unittest-sources + ../features/netsocket/SocketAddress.cpp + ../features/netsocket/NetworkStack.cpp + ../features/netsocket/InternetSocket.cpp + ../features/netsocket/TCPSocket.cpp + ../features/netsocket/TCPServer.cpp + ../features/frameworks/nanostack-libservice/source/libip4string/ip4tos.c + ../features/frameworks/nanostack-libservice/source/libip4string/stoip4.c +) + +set(unittest-test-sources + stubs/Mutex_stub.cpp + stubs/mbed_assert_stub.c + stubs/equeue_stub.c + stubs/EventQueue_stub.cpp + stubs/mbed_shared_queues_stub.cpp + stubs/nsapi_dns_stub.cpp + stubs/EventFlags_stub.cpp + features/netsocket/TCPServer/test_TCPServer.cpp +) From 6c012fc47616bdc59909e3abeff041e33dc85a52 Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Fri, 14 Sep 2018 14:43:43 +0200 Subject: [PATCH 105/202] unittests: Add tests for NetworkStack class. Improved the stubs for event queue and nsapi_dns, to allow checking if callback are handled correctly. This involves some memory allocation and deallocation. The NetworkStackWrapper is not covered as it seems to be deprecated code. --- .../NetworkStack/test_NetworkStack.cpp | 233 ++++++++++++++++++ .../netsocket/NetworkStack/unittest.cmake | 28 +++ UNITTESTS/stubs/equeue_stub.c | 19 +- UNITTESTS/stubs/mbed_shared_queues_stub.cpp | 3 +- UNITTESTS/stubs/nsapi_dns_stub.cpp | 4 + 5 files changed, 280 insertions(+), 7 deletions(-) create mode 100644 UNITTESTS/features/netsocket/NetworkStack/test_NetworkStack.cpp create mode 100644 UNITTESTS/features/netsocket/NetworkStack/unittest.cmake diff --git a/UNITTESTS/features/netsocket/NetworkStack/test_NetworkStack.cpp b/UNITTESTS/features/netsocket/NetworkStack/test_NetworkStack.cpp new file mode 100644 index 0000000000..2b18f2b466 --- /dev/null +++ b/UNITTESTS/features/netsocket/NetworkStack/test_NetworkStack.cpp @@ -0,0 +1,233 @@ +/* + * Copyright (c) 2018, Arm Limited and affiliates + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "features/netsocket/NetworkStack.h" +#include "netsocket/nsapi_dns.h" +#include "events/EventQueue.h" +#include + +// Control nsapi stub return value. See stubs/nsapi_dns_stub.cpp +extern nsapi_error_t nsapi_stub_return_value; + +// For testing async calls which require callback +static bool callback_is_called; +static SocketAddress address_received; +static nsapi_error_t result_received; +static void my_callback(nsapi_error_t result, SocketAddress *address) +{ + result_received = result; + address_received = *address; + callback_is_called = true; +} + +static bool noarg_callback_is_called; +static void noarg_callback(void) +{ + noarg_callback_is_called = true; +} + +extern call_in_callback_cb_t callin_callback; + +namespace mbed { +extern events::EventQueue *mbed_shared_queue_stub; +} + +// NetworkStack is an abstract class we need to provide a child class for tests. +class NetworkStackChild : public NetworkStack { + virtual nsapi_error_t socket_open(nsapi_socket_t *handle, nsapi_protocol_t proto) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t socket_close(nsapi_socket_t handle) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t socket_bind(nsapi_socket_t handle, const SocketAddress &address) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t socket_listen(nsapi_socket_t handle, int backlog) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t socket_connect(nsapi_socket_t handle, const SocketAddress &address) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_error_t socket_accept(nsapi_socket_t server, + nsapi_socket_t *handle, SocketAddress *address = 0) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle, + const void *data, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle, + void *data, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address, + const void *data, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address, + void *buffer, nsapi_size_t size) + { + return NSAPI_ERROR_OK; + } + virtual void socket_attach(nsapi_socket_t handle, void (*callback)(void *), void *data) + { + } +public: + std::string ip_address; + const char *get_ip_address() + { + return ip_address.c_str(); + + } +}; + +class TestNetworkStack : public testing::Test { +protected: + NetworkStackChild *stack; + + virtual void SetUp() + { + stack = new NetworkStackChild(); + address_received = SocketAddress(); + result_received = NSAPI_ERROR_OK; + callback_is_called = false; + noarg_callback_is_called = false; + mbed::mbed_shared_queue_stub = 0; + } + + virtual void TearDown() + { + delete stack; + if (mbed::mbed_shared_queue_stub) + { + delete mbed::mbed_shared_queue_stub; + mbed::mbed_shared_queue_stub = 0; + } + } + + void SetUpQueue() + { + mbed::mbed_shared_queue_stub = new events::EventQueue(); + } +}; + +TEST_F(TestNetworkStack, constructor) +{ + EXPECT_TRUE(stack); +} + +TEST_F(TestNetworkStack, get_ip_address_default) +{ + EXPECT_EQ(stack->NetworkStack::get_ip_address(), (char*)NULL); +} + +/* gethostbyname */ + +TEST_F(TestNetworkStack, gethostbyname) +{ + SocketAddress a; + stack->ip_address = std::string("127.0.0.1"); + EXPECT_EQ(stack->gethostbyname("host", &a, NSAPI_UNSPEC), NSAPI_ERROR_DNS_FAILURE); +} + +TEST_F(TestNetworkStack, gethostbyname_simple_address) +{ + SocketAddress a; + EXPECT_EQ(stack->gethostbyname("127.0.0.1", &a, NSAPI_UNSPEC), NSAPI_ERROR_OK); +} + +TEST_F(TestNetworkStack, gethostbyname_simple_address_right_version) +{ + SocketAddress a; + EXPECT_EQ(stack->gethostbyname("127.0.0.1", &a, NSAPI_IPv4), NSAPI_ERROR_OK); +} + +TEST_F(TestNetworkStack, gethostbyname_simple_address_wrong_version) +{ + SocketAddress a; + EXPECT_EQ(stack->gethostbyname("127.0.0.1", &a, NSAPI_IPv6), NSAPI_ERROR_DNS_FAILURE); +} + +TEST_F(TestNetworkStack, gethostbyname_empty_host) +{ + SocketAddress a; + EXPECT_EQ(stack->gethostbyname("", &a, NSAPI_UNSPEC), NSAPI_ERROR_PARAMETER); +} + +/* gethostbyname_async */ + +TEST_F(TestNetworkStack, gethostbyname_async_delay) +{ + SocketAddress a; + stack->ip_address = std::string("127.0.0.1"); + SetUpQueue(); + EXPECT_EQ(stack->gethostbyname_async("localhost", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_DNS_FAILURE); + EXPECT_EQ(callin_callback(1, mbed::callback(noarg_callback)), NSAPI_ERROR_OK); + EXPECT_TRUE(noarg_callback_is_called); + EXPECT_FALSE(callback_is_called); +} + +TEST_F(TestNetworkStack, gethostbyname_async) +{ + SocketAddress a; + stack->ip_address = std::string("127.0.0.1"); + SetUpQueue(); + EXPECT_EQ(stack->gethostbyname_async("localhost", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_DNS_FAILURE); + EXPECT_EQ(callin_callback(0, mbed::callback(noarg_callback)), NSAPI_ERROR_OK); + EXPECT_TRUE(noarg_callback_is_called); + EXPECT_FALSE(callback_is_called); +} + +TEST_F(TestNetworkStack, gethostbyname_async_eventqueue_simple_address) +{ + SocketAddress a; + stack->ip_address = std::string("127.0.0.1"); + EXPECT_EQ(stack->gethostbyname_async("127.0.0.1", mbed::callback(my_callback), NSAPI_IPv6), NSAPI_ERROR_DNS_FAILURE); + EXPECT_FALSE(callback_is_called); + EXPECT_EQ(stack->gethostbyname_async("127.0.0.1", mbed::callback(my_callback), NSAPI_IPv4), NSAPI_ERROR_OK); + EXPECT_TRUE(callback_is_called); + EXPECT_EQ(result_received, NSAPI_ERROR_OK); + EXPECT_EQ(std::string(address_received.get_ip_address()), stack->ip_address); +} + +TEST_F(TestNetworkStack, gethostbyname_async_empty_host) +{ + SocketAddress a; + EXPECT_EQ(stack->gethostbyname_async("", mbed::callback(my_callback), NSAPI_UNSPEC), NSAPI_ERROR_PARAMETER); +} + +TEST_F(TestNetworkStack, getstackopt) +{ + EXPECT_EQ(stack->getstackopt(0,0,0,0), NSAPI_ERROR_UNSUPPORTED); +} + +TEST_F(TestNetworkStack, setstackopt) +{ + EXPECT_EQ(stack->setstackopt(0,0,0,0), NSAPI_ERROR_UNSUPPORTED); +} + diff --git a/UNITTESTS/features/netsocket/NetworkStack/unittest.cmake b/UNITTESTS/features/netsocket/NetworkStack/unittest.cmake new file mode 100644 index 0000000000..f17d68852e --- /dev/null +++ b/UNITTESTS/features/netsocket/NetworkStack/unittest.cmake @@ -0,0 +1,28 @@ + +#################### +# UNIT TESTS +#################### + +# Unit test suite name +set(TEST_SUITE_NAME "features_netsocket_NetworkStack") + +# Source files +set(unittest-sources + ../features/netsocket/SocketAddress.cpp + ../features/netsocket/NetworkStack.cpp + ../features/netsocket/NetworkInterface.cpp + ../features/frameworks/nanostack-libservice/source/libip4string/ip4tos.c + ../features/frameworks/nanostack-libservice/source/libip4string/stoip4.c +) + +# Test files +set(unittest-test-sources + stubs/Mutex_stub.cpp + stubs/mbed_assert_stub.c + stubs/equeue_stub.c + stubs/EventQueue_stub.cpp + stubs/mbed_shared_queues_stub.cpp + stubs/nsapi_dns_stub.cpp + stubs/EventFlags_stub.cpp + features/netsocket/NetworkStack/test_NetworkStack.cpp +) diff --git a/UNITTESTS/stubs/equeue_stub.c b/UNITTESTS/stubs/equeue_stub.c index 55a52174e7..cbda94c36b 100644 --- a/UNITTESTS/stubs/equeue_stub.c +++ b/UNITTESTS/stubs/equeue_stub.c @@ -16,6 +16,7 @@ */ #include "equeue.h" +#include int equeue_create(equeue_t *queue, size_t size) { @@ -47,11 +48,6 @@ int equeue_call(equeue_t *queue, void (*cb)(void *), void *data) return 0; } -int equeue_call_in(equeue_t *queue, int ms, void (*cb)(void *), void *data) -{ - return 0; -} - int equeue_call_every(equeue_t *queue, int ms, void (*cb)(void *), void *data) { return 0; @@ -59,7 +55,7 @@ int equeue_call_every(equeue_t *queue, int ms, void (*cb)(void *), void *data) void *equeue_alloc(equeue_t *queue, size_t size) { - return NULL; + return malloc(size); } void equeue_dealloc(equeue_t *queue, void *event) @@ -84,6 +80,12 @@ void equeue_event_dtor(void *event, void (*dtor)(void *)) int equeue_post(equeue_t *queue, void (*cb)(void *), void *event) { + if (cb) + { + cb(event); + free(event); + return 1; //Fake ID for calling cancel + } return 0; } @@ -102,3 +104,8 @@ void equeue_chain(equeue_t *queue, equeue_t *target) { } + +int equeue_call_in(equeue_t *q, int ms, void (*cb)(void*), void *data) { + // The stub does not implement the delay mechanism. + return equeue_post(q, cb, data); +} diff --git a/UNITTESTS/stubs/mbed_shared_queues_stub.cpp b/UNITTESTS/stubs/mbed_shared_queues_stub.cpp index e0c0c2ba20..7f0474badc 100644 --- a/UNITTESTS/stubs/mbed_shared_queues_stub.cpp +++ b/UNITTESTS/stubs/mbed_shared_queues_stub.cpp @@ -21,8 +21,9 @@ using namespace events; namespace mbed { +EventQueue *mbed_shared_queue_stub; EventQueue *mbed_event_queue() { - return 0; + return mbed_shared_queue_stub; } } // namespace mbed diff --git a/UNITTESTS/stubs/nsapi_dns_stub.cpp b/UNITTESTS/stubs/nsapi_dns_stub.cpp index dcfe7ef0a3..6fd0f92de9 100644 --- a/UNITTESTS/stubs/nsapi_dns_stub.cpp +++ b/UNITTESTS/stubs/nsapi_dns_stub.cpp @@ -19,6 +19,8 @@ nsapi_error_t nsapi_stub_return_value = NSAPI_ERROR_DNS_FAILURE; +NetworkStack::hostbyname_cb_t query_callback; +call_in_callback_cb_t callin_callback; nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host, SocketAddress *addr, nsapi_version_t version) @@ -30,6 +32,8 @@ nsapi_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host, NetworkStack::hostbyname_cb_t callback, call_in_callback_cb_t call_in_cb, nsapi_version_t version) { + query_callback = callback; + callin_callback = call_in_cb; return nsapi_stub_return_value; } From 5b659c898b231065e1cc2a2848d08150965b9692 Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Mon, 17 Sep 2018 15:17:56 +0300 Subject: [PATCH 106/202] Fix TCPSocket::accept() unittest. accept() is not anymore returning NULL pointer. It was a bug. --- UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp index 95a1187381..16022ca525 100644 --- a/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp +++ b/UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp @@ -271,7 +271,7 @@ TEST_F(TestTCPSocket, accept) nsapi_error_t error; stack.return_value = NSAPI_ERROR_OK; socket->open((NetworkStack *)&stack); - EXPECT_EQ(socket->accept(&error), static_cast(NULL)); + EXPECT_NE(socket->accept(&error), static_cast(NULL)); EXPECT_EQ(error, NSAPI_ERROR_OK); } From 3664339c39e75fadd6af0f4800bd247b52c1db99 Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Fri, 21 Sep 2018 14:21:47 +0300 Subject: [PATCH 107/202] Use SocketAddr that actually has IP bytes in UDP test --- .../features/netsocket/UDPSocket/test_UDPSocket.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp b/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp index a5dce4e776..d631cc7573 100644 --- a/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp +++ b/UNITTESTS/features/netsocket/UDPSocket/test_UDPSocket.cpp @@ -79,7 +79,8 @@ TEST_F(TestUDPSocket, sendto_addr_port) TEST_F(TestUDPSocket, connect) { stack.return_value = NSAPI_ERROR_OK; - const SocketAddress a("127.0.0.1", 1024); + const nsapi_addr_t addr = {NSAPI_IPv4, {127,0,0,1} }; + const SocketAddress a(addr, 1024); socket->open((NetworkStack *)&stack); EXPECT_EQ(socket->send(dataBuf, dataSize), NSAPI_ERROR_NO_ADDRESS); @@ -92,7 +93,9 @@ TEST_F(TestUDPSocket, connect) TEST_F(TestUDPSocket, sendto_timeout) { - SocketAddress addr("127.0.0.1", 1024); + const nsapi_addr_t saddr = {NSAPI_IPv4, {127,0,0,1} }; + const SocketAddress addr(saddr, 1024); + socket->open((NetworkStack *)&stack); stack.return_value = NSAPI_ERROR_WOULD_BLOCK; @@ -124,8 +127,10 @@ TEST_F(TestUDPSocket, recv) TEST_F(TestUDPSocket, recv_address_filtering) { socket->open((NetworkStack *)&stack); - SocketAddress a1("127.0.0.1", 1024); - SocketAddress a2("127.0.0.2", 1024); + const nsapi_addr_t addr1 = {NSAPI_IPv4, {127,0,0,1} }; + const nsapi_addr_t addr2 = {NSAPI_IPv4, {127,0,0,2} }; + SocketAddress a1(addr1, 1024); + SocketAddress a2(addr2, 1024); EXPECT_EQ(socket->connect(a1), NSAPI_ERROR_OK); From f8f67e29fc04055a6e31a72d5fffa7dd5f103991 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Wed, 30 May 2018 14:32:08 +0300 Subject: [PATCH 108/202] Add TRNG API test --- TESTS/host_tests/trng_reset.py | 133 +++++++++++ TESTS/mbed_hal/trng/base64b/base64b.cpp | 185 +++++++++++++++ TESTS/mbed_hal/trng/base64b/base64b.h | 16 ++ TESTS/mbed_hal/trng/lzflib/lzf.h | 101 ++++++++ TESTS/mbed_hal/trng/lzflib/lzfP.h | 185 +++++++++++++++ TESTS/mbed_hal/trng/lzflib/lzf_c.c | 291 ++++++++++++++++++++++++ TESTS/mbed_hal/trng/main.cpp | 276 ++++++++++++++++++++++ 7 files changed, 1187 insertions(+) create mode 100644 TESTS/host_tests/trng_reset.py create mode 100644 TESTS/mbed_hal/trng/base64b/base64b.cpp create mode 100644 TESTS/mbed_hal/trng/base64b/base64b.h create mode 100644 TESTS/mbed_hal/trng/lzflib/lzf.h create mode 100644 TESTS/mbed_hal/trng/lzflib/lzfP.h create mode 100644 TESTS/mbed_hal/trng/lzflib/lzf_c.c create mode 100644 TESTS/mbed_hal/trng/main.cpp diff --git a/TESTS/host_tests/trng_reset.py b/TESTS/host_tests/trng_reset.py new file mode 100644 index 0000000000..b6b4adfef2 --- /dev/null +++ b/TESTS/host_tests/trng_reset.py @@ -0,0 +1,133 @@ +""" +Copyright (c) 2018 ARM Limited +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +""" +This script is the host script for trng test sequence, it send the +step signaling sequence and receive and transmit data to the device after +reset if necesarry (default lading and storing while reseting the device +is NVstore, in case NVstore isn't enabled we'll use current infrastructure, +for more details see main.cpp file) +""" + +import time +from mbed_host_tests import BaseHostTest +from mbed_host_tests.host_tests_runner.host_test_default import DefaultTestSelector + +DEFAULT_CYCLE_PERIOD = 1.0 +MSG_VALUE_DUMMY = '0' +MSG_TRNG_READY = 'ready' +MSG_TRNG_BUFFER = 'buffer' +MSG_TRNG_FINISH = 'finish' +MSG_TRNG_TEST_STEP1 = 'check_step1' +MSG_TRNG_TEST_STEP2 = 'check_step2' +MSG_KEY_SYNC = '__sync' +MSG_KEY_TEST_SUITE_ENDED = 'Test suite ended' + +class TRNGResetTest(BaseHostTest): + """Test for the TRNG API. + """ + + def __init__(self): + super(TRNGResetTest, self).__init__() + self.reset = False + self.finish = False + self.suite_ended = False + self.buffer = 0 + cycle_s = self.get_config_item('program_cycle_s') + self.program_cycle_s = cycle_s if cycle_s is not None else DEFAULT_CYCLE_PERIOD + self.test_steps_sequence = self.test_steps() + # Advance the coroutine to it's first yield statement. + self.test_steps_sequence.send(None) + + #define callback functions for msg handling + def setup(self): + self.register_callback(MSG_TRNG_READY, self.cb_device_ready) + self.register_callback(MSG_TRNG_BUFFER, self.cb_trng_buffer) + self.register_callback(MSG_TRNG_FINISH, self.cb_device_finish) + self.register_callback(MSG_KEY_TEST_SUITE_ENDED, self.cb_device_test_suit_ended) + + #receive sent data from device before reset + def cb_trng_buffer(self, key, value, timestamp): + """Acknowledge device rebooted correctly and feed the test execution + """ + self.buffer = value + + def cb_device_ready(self, key, value, timestamp): + """Acknowledge device rebooted correctly and feed the test execution + """ + self.reset = True + + try: + if self.test_steps_sequence.send(value): + self.notify_complete(True) + except (StopIteration, RuntimeError) as exc: + self.notify_complete(False) + + def cb_device_finish(self, key, value, timestamp): + """Acknowledge device finished a test step correctly and feed the test execution + """ + self.finish = True + + try: + if self.test_steps_sequence.send(value): + self.notify_complete(True) + except (StopIteration, RuntimeError) as exc: + self.notify_complete(False) + + def cb_device_test_suit_ended(self, key, value, timestamp): + """Acknowledge device finished a test step correctly and feed the test execution + """ + self.suite_ended = True + + try: + if self.test_steps_sequence.send(value): + self.notify_complete(True) + except (StopIteration, RuntimeError) as exc: + self.notify_complete(False) + + #define test steps and actions + def test_steps(self): + """Test step 1 + """ + wait_for_communication = yield + + self.reset = False + self.send_kv(MSG_TRNG_TEST_STEP1, MSG_VALUE_DUMMY) + time.sleep(self.program_cycle_s) + self.send_kv(MSG_KEY_SYNC, MSG_VALUE_DUMMY) + + wait_for_communication = yield + + if self.reset == False: + raise RuntimeError('Phase 1: Platform did not reset as expected.') + + """Test step 2 (After reset) + """ + self.finish = False + self.send_kv(MSG_TRNG_TEST_STEP2, self.buffer) + time.sleep(self.program_cycle_s) + + wait_for_communication = yield + + if self.finish == False: + raise RuntimeError('Test failed.') + + wait_for_communication = yield + + if self.suite_ended == False: + raise RuntimeError('Test failed.') + + # The sequence is correct -- test passed. + yield True \ No newline at end of file diff --git a/TESTS/mbed_hal/trng/base64b/base64b.cpp b/TESTS/mbed_hal/trng/base64b/base64b.cpp new file mode 100644 index 0000000000..e9a8cf35fc --- /dev/null +++ b/TESTS/mbed_hal/trng/base64b/base64b.cpp @@ -0,0 +1,185 @@ +#include "base64b.h" + +using namespace std; + +static char IntToBase64Char(uint8_t intVal) +{ + const char* base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + return base64Digits[intVal & 0x3F]; +} + +#define BASE_64_PAD 0xFF +static base64_result_e Base64CharToInt(char base64, uint8_t* intVal) +{ + if (NULL == intVal) + { + return BASE64_INVALID_PARAMETER; + } + + if ((base64 >= 'A') && (base64 <= 'Z')) + *intVal = base64 - 'A' ; + else if((base64 >= 'a')&&(base64 <= 'z')) + *intVal = base64 - 'a' + 26; + else if ((base64 >= '0')&&(base64 <= '9')) + *intVal = base64 - '0' + 52; + else if (base64 == '+') + *intVal = 62; + else if (base64 == '/') + *intVal = 63; + else if (base64 == '=') + *intVal = BASE_64_PAD; + else + { + return BASE64_ERROR; + } + + return BASE64_SUCCESS; +} + +base64_result_e esfs_DecodeNBase64(const char* string, + uint32_t stringMaxSize, + void* buffer, + uint32_t bufferSize, + uint32_t* lengthWritten, + uint32_t* charsProcessed) +{ + base64_result_e result = BASE64_SUCCESS; + uint32_t bitOffset =0; + uint8_t* writePtr = (uint8_t*)buffer; + uint8_t* bufferEnd = (uint8_t*)buffer + bufferSize; + uint8_t tempVal = 0; + uint32_t currPos = 0; + uint32_t localBytesWritten = 0; + uint32_t localCharsProcessed = 0; + bool isEndOfString = false; + + if ((NULL == string) || (NULL == buffer) || (bufferSize == 0)) + { + return BASE64_INVALID_PARAMETER; + } + + *writePtr = 0; + while (( string[currPos] != 0 ) && + ( currPos < stringMaxSize ) && + ( writePtr < bufferEnd ) && + ( !isEndOfString )) + { + uint8_t val; + + if (string[currPos] == 0 || currPos >= stringMaxSize) + break; + + result = Base64CharToInt(string[currPos++], &val); + if (result != BASE64_SUCCESS) + break; + + if (val != BASE_64_PAD) + { + if(bitOffset <= 2) + { + tempVal |= val << (2 - bitOffset); + if (bitOffset == 2) + { + *writePtr++ = tempVal; + tempVal = 0; + } + } + else + { + *writePtr++ = (uint8_t)(tempVal | (val >> (bitOffset - 2))); + tempVal = (uint8_t)(val << (10 - bitOffset)); + } + } + else // found BASE_64_PAD + { + // At most two pad characters may occur at the end of the encoded stream + if (bitOffset == 2) + isEndOfString = true; // The last padding byte has been processed. + else if (bitOffset != 4) + return BASE64_ERROR; // Incorrect padding + } + + bitOffset = (bitOffset + 6) & 0x7; + if (bitOffset == 0) + { + localBytesWritten = (uint32_t)(writePtr - (uint8_t*)buffer); + localCharsProcessed = currPos; + } + } + if (charsProcessed == NULL) + localBytesWritten = (uint32_t)(writePtr - (uint8_t*)buffer); + else + *charsProcessed = localCharsProcessed; + if (lengthWritten != NULL) + *lengthWritten = localBytesWritten; + else if (bufferSize != localBytesWritten) + return BASE64_BUFFER_TOO_SMALL; + + // Check if additional bytes should have been processed but buffer isn't sufficient. + if (( result == BASE64_SUCCESS ) && + ( !isEndOfString ) && + ( string[currPos] != '=' ) && + ( string[currPos] != 0 ) && + ( currPos < stringMaxSize) ) + return BASE64_BUFFER_TOO_SMALL; + + if (result != BASE64_SUCCESS) + return result; + + return BASE64_SUCCESS; +} + +base64_result_e esfs_EncodeBase64(const void* buffer, uint32_t bufferSize, char* string, uint32_t stringSize) +{ + uint32_t bitOffset = 0; + + const uint8_t* readPtr = (const uint8_t*)buffer; + const uint8_t* bufferEnd = (const uint8_t*)buffer + bufferSize; + + char* writePtr = string; + char* stringEnd = string + stringSize - 1; + + if ((NULL == string) || (NULL == buffer) || (stringSize == 0)) + return BASE64_INVALID_PARAMETER; + + stringSize--; + while(readPtr < bufferEnd && writePtr < stringEnd) + { + uint8_t tempVal = 0; + switch (bitOffset) + { + case 0: + *writePtr++ = IntToBase64Char(*readPtr >> 2); // take upper 6 bits + break; + case 6: + tempVal = *readPtr++ << 4; + if (readPtr < bufferEnd) + tempVal |= *readPtr >> 4; + *writePtr++ = IntToBase64Char(tempVal); + break; + case 4: + tempVal = *readPtr++ << 2; + if (readPtr < bufferEnd) + tempVal |= *readPtr >> 6; + *writePtr++ = IntToBase64Char(tempVal); + break; + case 2: + *writePtr++ = IntToBase64Char(*readPtr++); + break; + default: + return BASE64_ERROR; // we should never reach this code. + } + bitOffset = (bitOffset + 6) & 0x7; + } + while (bitOffset > 0 && writePtr < stringEnd) + { + *writePtr++ = '='; + bitOffset = (bitOffset + 6) & 0x7; + } + *writePtr = 0; + + if ((readPtr < bufferEnd) || (bitOffset != 0)) + return (BASE64_BUFFER_TOO_SMALL); + + return(BASE64_SUCCESS); +} diff --git a/TESTS/mbed_hal/trng/base64b/base64b.h b/TESTS/mbed_hal/trng/base64b/base64b.h new file mode 100644 index 0000000000..2a35d05983 --- /dev/null +++ b/TESTS/mbed_hal/trng/base64b/base64b.h @@ -0,0 +1,16 @@ +#include +#include +#include + +typedef enum { + BASE64_SUCCESS = 0, + BASE64_INVALID_PARAMETER = 1, + BASE64_BUFFER_TOO_SMALL = 2, + BASE64_ERROR = 3, +}base64_result_e; + +base64_result_e esfs_EncodeBase64(const void* buffer, uint32_t bufferSize, char* string, uint32_t stringSize); +base64_result_e esfs_DecodeNBase64(const char* string, uint32_t stringMaxSize, void* buffer, uint32_t bufferSize, + uint32_t* lengthWritten, uint32_t* charsProcessed); + + diff --git a/TESTS/mbed_hal/trng/lzflib/lzf.h b/TESTS/mbed_hal/trng/lzflib/lzf.h new file mode 100644 index 0000000000..1f848a09b8 --- /dev/null +++ b/TESTS/mbed_hal/trng/lzflib/lzf.h @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2000-2008 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#ifndef LZF_H +#define LZF_H + +/*********************************************************************** +** +** lzf -- an extremely fast/free compression/decompression-method +** http://liblzf.plan9.de/ +** +** This algorithm is believed to be patent-free. +** +***********************************************************************/ + +#define LZF_VERSION 0x0105 /* 1.5, API version */ + +/* + * Compress in_len bytes stored at the memory block starting at + * in_data and write the result to out_data, up to a maximum length + * of out_len bytes. + * + * If the output buffer is not large enough or any error occurs return 0, + * otherwise return the number of bytes used, which might be considerably + * more than in_len (but less than 104% of the original size), so it + * makes sense to always use out_len == in_len - 1), to ensure _some_ + * compression, and store the data uncompressed otherwise (with a flag, of + * course. + * + * lzf_compress might use different algorithms on different systems and + * even different runs, thus might result in different compressed strings + * depending on the phase of the moon or similar factors. However, all + * these strings are architecture-independent and will result in the + * original data when decompressed using lzf_decompress. + * + * The buffers must not be overlapping. + * + * If the option LZF_STATE_ARG is enabled, an extra argument must be + * supplied which is not reflected in this header file. Refer to lzfP.h + * and lzf_c.c. + * + */ +unsigned int +lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len, + unsigned char **htab); + +/* + * Decompress data compressed with some version of the lzf_compress + * function and stored at location in_data and length in_len. The result + * will be stored at out_data up to a maximum of out_len characters. + * + * If the output buffer is not large enough to hold the decompressed + * data, a 0 is returned and errno is set to E2BIG. Otherwise the number + * of decompressed bytes (i.e. the original length of the data) is + * returned. + * + * If an error in the compressed data is detected, a zero is returned and + * errno is set to EINVAL. + * + * This function is very fast, about as fast as a copying loop. + */ +unsigned int +lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + +#endif + diff --git a/TESTS/mbed_hal/trng/lzflib/lzfP.h b/TESTS/mbed_hal/trng/lzflib/lzfP.h new file mode 100644 index 0000000000..7244bc1547 --- /dev/null +++ b/TESTS/mbed_hal/trng/lzflib/lzfP.h @@ -0,0 +1,185 @@ +/* + * Copyright (c) 2000-2007 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#ifndef LZFP_h +#define LZFP_h + +#define STANDALONE 1 /* at the moment, this is ok. */ + +#ifndef STANDALONE +# include "lzf.h" +#endif + +/* + * Size of hashtable is (1 << HLOG) * sizeof (char *) + * decompression is independent of the hash table size + * the difference between 15 and 14 is very small + * for small blocks (and 14 is usually a bit faster). + * For a low-memory/faster configuration, use HLOG == 13; + * For best compression, use 15 or 16 (or more, up to 22). + */ +#ifndef HLOG +# define HLOG 14 +#endif + +/* + * Sacrifice very little compression quality in favour of compression speed. + * This gives almost the same compression as the default code, and is + * (very roughly) 15% faster. This is the preferred mode of operation. + */ +#ifndef VERY_FAST +# define VERY_FAST 1 +#endif + +/* + * Sacrifice some more compression quality in favour of compression speed. + * (roughly 1-2% worse compression for large blocks and + * 9-10% for small, redundant, blocks and >>20% better speed in both cases) + * In short: when in need for speed, enable this for binary data, + * possibly disable this for text data. + */ +#ifndef ULTRA_FAST +# define ULTRA_FAST 0 +#endif + +/* + * Unconditionally aligning does not cost very much, so do it if unsure + */ +#ifndef STRICT_ALIGN +# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) +#endif + +/* + * You may choose to pre-set the hash table (might be faster on some + * modern cpus and large (>>64k) blocks, and also makes compression + * deterministic/repeatable when the configuration otherwise is the same). + */ +#ifndef INIT_HTAB +# define INIT_HTAB 0 +#endif + +/* + * Avoid assigning values to errno variable? for some embedding purposes + * (linux kernel for example), this is necessary. NOTE: this breaks + * the documentation in lzf.h. Avoiding errno has no speed impact. + */ +#ifndef AVOID_ERRNO +# define AVOID_ERRNO 0 +#endif + +/* + * Whether to pass the LZF_STATE variable as argument, or allocate it + * on the stack. For small-stack environments, define this to 1. + * NOTE: this breaks the prototype in lzf.h. + */ +#ifndef LZF_STATE_ARG +# define LZF_STATE_ARG 1 +#endif + +/* + * Whether to add extra checks for input validity in lzf_decompress + * and return EINVAL if the input stream has been corrupted. This + * only shields against overflowing the input buffer and will not + * detect most corrupted streams. + * This check is not normally noticeable on modern hardware + * (<1% slowdown), but might slow down older cpus considerably. + */ +#ifndef CHECK_INPUT +# define CHECK_INPUT 1 +#endif + +/* + * Whether to store pointers or offsets inside the hash table. On + * 64 bit architetcures, pointers take up twice as much space, + * and might also be slower. Default is to autodetect. + */ +/*#define LZF_USER_OFFSETS autodetect */ + +/*****************************************************************************/ +/* nothing should be changed below */ + +#ifdef __cplusplus +# include +# include +using namespace std; +#else +# include +# include +#endif + +#ifndef LZF_USE_OFFSETS +# if defined (WIN32) +# define LZF_USE_OFFSETS defined(_M_X64) +# else +# if __cplusplus > 199711L +# include +# else +# include +# endif +# define LZF_USE_OFFSETS (UINTPTR_MAX > 0xffffffffU) +# endif +#endif + +typedef unsigned char u8; + +#if LZF_USE_OFFSETS +# define LZF_HSLOT_BIAS ((const u8 *)in_data) + typedef unsigned int LZF_HSLOT; +#else +# define LZF_HSLOT_BIAS 0 + typedef const u8 *LZF_HSLOT; +#endif + +typedef LZF_HSLOT LZF_STATE[1 << (HLOG)]; + +#if !STRICT_ALIGN +/* for unaligned accesses we need a 16 bit datatype. */ +# if USHRT_MAX == 65535 + typedef unsigned short u16; +# elif UINT_MAX == 65535 + typedef unsigned int u16; +# else +# undef STRICT_ALIGN +# define STRICT_ALIGN 1 +# endif +#endif + +#if ULTRA_FAST +# undef VERY_FAST +#endif + +#endif + diff --git a/TESTS/mbed_hal/trng/lzflib/lzf_c.c b/TESTS/mbed_hal/trng/lzflib/lzf_c.c new file mode 100644 index 0000000000..6831d43b16 --- /dev/null +++ b/TESTS/mbed_hal/trng/lzflib/lzf_c.c @@ -0,0 +1,291 @@ +/* + * Copyright (c) 2000-2010 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#include "lzfP.h" + +#define HSIZE (1 << (HLOG)) + +/* + * don't play with this unless you benchmark! + * the data format is not dependent on the hash function. + * the hash function might seem strange, just believe me, + * it works ;) + */ +#ifndef FRST +# define FRST(p) (((p[0]) << 8) | p[1]) +# define NEXT(v,p) (((v) << 8) | p[2]) +# if ULTRA_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h ) & (HSIZE - 1)) +# elif VERY_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# else +# define IDX(h) ((((h ^ (h << 5)) >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# endif +#endif +/* + * IDX works because it is very similar to a multiplicative hash, e.g. + * ((h * 57321 >> (3*8 - HLOG)) & (HSIZE - 1)) + * the latter is also quite fast on newer CPUs, and compresses similarly. + * + * the next one is also quite good, albeit slow ;) + * (int)(cos(h & 0xffffff) * 1e6) + */ + +#if 0 +/* original lzv-like hash function, much worse and thus slower */ +# define FRST(p) (p[0] << 5) ^ p[1] +# define NEXT(v,p) ((v) << 5) ^ p[2] +# define IDX(h) ((h) & (HSIZE - 1)) +#endif + +#define MAX_LIT (1 << 5) +#define MAX_OFF (1 << 13) +#define MAX_REF ((1 << 8) + (1 << 3)) + +#if __GNUC__ >= 3 +# define expect(expr,value) __builtin_expect ((expr),(value)) +# define inline inline +#else +# define expect(expr,value) (expr) +# define inline static +#endif + +#define expect_false(expr) expect ((expr) != 0, 0) +#define expect_true(expr) expect ((expr) != 0, 1) + +/* + * compressed format + * + * 000LLLLL ; literal, L+1=1..33 octets + * LLLooooo oooooooo ; backref L+1=1..7 octets, o+1=1..4096 offset + * 111ooooo LLLLLLLL oooooooo ; backref L+8 octets, o+1=1..4096 offset + * + */ + +unsigned int +lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len +#if LZF_STATE_ARG + , LZF_STATE htab +#endif + ) +{ +#if !LZF_STATE_ARG + LZF_STATE htab; +#endif + const u8 *ip = (const u8 *)in_data; + u8 *op = (u8 *)out_data; + const u8 *in_end = ip + in_len; + u8 *out_end = op + out_len; + const u8 *ref; + + /* off requires a type wide enough to hold a general pointer difference. + * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only + * works for differences within a single object). We also assume that no + * no bit pattern traps. Since the only platform that is both non-POSIX + * and fails to support both assumptions is windows 64 bit, we make a + * special workaround for it. + */ +#if defined (WIN32) && defined (_M_X64) + unsigned _int64 off; /* workaround for missing POSIX compliance */ +#else + unsigned long off; +#endif + unsigned int hval; + int lit; + + if (!in_len || !out_len) + return 0; + +#if INIT_HTAB + memset (htab, 0, sizeof (htab)); +#endif + + lit = 0; op++; /* start run */ + + hval = FRST (ip); + while (ip < in_end - 2) + { + LZF_HSLOT *hslot; + + hval = NEXT (hval, ip); + hslot = htab + IDX (hval); + ref = *hslot + LZF_HSLOT_BIAS; *hslot = ip - LZF_HSLOT_BIAS; + + if (1 +#if INIT_HTAB + && ref < ip /* the next test will actually take care of this, but this is faster */ +#endif + && (off = (unsigned long)(uintptr_t)(ip - ref - 1)) < MAX_OFF + && ref > (u8 *)in_data + && ref[2] == ip[2] +#if STRICT_ALIGN + && ((ref[1] << 8) | ref[0]) == ((ip[1] << 8) | ip[0]) +#else + && *(u16 *)ref == *(u16 *)ip +#endif + ) + { + /* match found at *ref++ */ + unsigned int len = 2; + unsigned int maxlen = (unsigned int)((uintptr_t)in_end - (uintptr_t)ip) - len; + maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; + + if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ + if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ + return 0; + + op [- lit - 1] = lit - 1; /* stop run */ + op -= !lit; /* undo run if length is zero */ + + for (;;) + { + if (expect_true (maxlen > 16)) + { + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + } + + do + len++; + while (len < maxlen && ref[len] == ip[len]); + + break; + } + + len -= 2; /* len is now #octets - 1 */ + ip++; + + if (len < 7) + { + *op++ = (u8)((off >> 8) + (len << 5)); + } + else + { + *op++ = (u8)((off >> 8) + ( 7 << 5)); + *op++ = len - 7; + } + + *op++ = (u8)off; + + lit = 0; op++; /* start run */ + + ip += len + 1; + + if (expect_false (ip >= in_end - 2)) + break; + +#if ULTRA_FAST || VERY_FAST + --ip; +# if VERY_FAST && !ULTRA_FAST + --ip; +# endif + hval = FRST (ip); + + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; + +# if VERY_FAST && !ULTRA_FAST + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; +# endif +#else + ip -= len + 1; + + do + { + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; + } + while (len--); +#endif + } + else + { + /* one more literal byte we must copy */ + if (expect_false (op >= out_end)) + return 0; + + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + } + + if (op + 3 > out_end) /* at most 3 bytes can be missing here */ + return 0; + + while (ip < in_end) + { + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + + op [- lit - 1] = lit - 1; /* end run */ + op -= !lit; /* undo run if length is zero */ + + return (unsigned int)((uintptr_t)op - (uintptr_t)out_data); +} + diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp new file mode 100644 index 0000000000..c63a244b80 --- /dev/null +++ b/TESTS/mbed_hal/trng/main.cpp @@ -0,0 +1,276 @@ +/* +* Copyright (c) 2018 ARM Limited. All rights reserved. +* SPDX-License-Identifier: Apache-2.0 +* Licensed under the Apache License, Version 2.0 (the License); you may +* not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* +* The test is based on the assumption that trng will generate random data, random so +* there will not be any similar patterns in it, that kind of data will be impossible to +* compress, if compression will acuur the test will result in failure. +* +* The test is composed out of three parts: +* the first, generate a trng buffer and try to compress it, at the end of first part +* we will reset the device. +* In second part we will generate a trng buffer with a different buffer size and try to +* compress it. +* In the third part we will again generate a trng buffer to see that the same trng output +* is not generated as the stored trng buffer from part one (before reseting), the new trng data will +* be concatenated to the trng data from the first part and then try to compress it +* together, if there are similar patterns the compression will succeed. +* +* We need to store and load the first part data before and after reset, the mechanism +* we chose is NVstore, mainly because its simplicity and the fact it is not platform +* dependent, in case a specific board does not support NVstore we will use the +* mbed greentea platform for sending and receving the data from the device to the +* host running the test and back, the problem with this mechanism is that it doesn't handle +* well certain characters, especially non ASCII ones, so we used the base64 algorithm +* to ensure all characters will be transmitted correctly. +*/ + +#include "greentea-client/test_env.h" +#include "unity/unity.h" +#include "utest/utest.h" +#include "hal/trng_api.h" +#include "base64b.h" +#include "nvstore.h" +#include + +/*Include LZF Compressor librart */ +extern "C" { +#include "lzf.h" +} + +#if !DEVICE_TRNG +#error [NOT_SUPPORTED] TRNG API not supported for this target +#endif + +#define MSG_VALUE_DUMMY "0" +#define MSG_VALUE_LEN 64 +#define MSG_KEY_LEN 32 + +#define BUFFER_LEN (MSG_VALUE_LEN/2) //size of first step data, and half of the second step data + +#define MSG_TRNG_READY "ready" +#define MSG_TRNG_BUFFER "buffer" + +#define MSG_TRNG_TEST_STEP1 "check_step1" +#define MSG_TRNG_TEST_STEP2 "check_step2" +#define MSG_TRNG_TEST_SUITE_ENDED "Test_suite_ended" + +#define NVKEY 1 //NVstore key for storing and loading data + +/*there are some issues with nvstore and greentea reset, so for now nvstore is disabled, + *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/ +#define NVSTORE_RESET (NVSTORE_ENABLED & 0) + +using namespace utest::v1; + +static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) +{ + size_t temp_size = 0, output_length = 0; + int trng_res = 0; + uint8_t *temp_in_buf = buffer; + + trng_init(trng_obj); + memset(buffer, 0, BUFFER_LEN); + + while (true) + { + trng_res = trng_get_bytes(trng_obj, temp_in_buf, trng_len, &output_length); + TEST_ASSERT_EQUAL_INT_MESSAGE(0, trng_res, "trng_get_bytes error!"); + temp_size += output_length; + temp_in_buf += output_length; + trng_len -= output_length; + if (temp_size >= trng_len) + { + break; + } + } + + temp_in_buf = NULL; + trng_free(trng_obj); + return 0; +} + +static void compress_and_compare(char *key, char *value) +{ + trng_t trng_obj; + uint8_t out_comp_buf[BUFFER_LEN * 2] = {0}, buffer[BUFFER_LEN] = {0}; + uint8_t input_buf[BUFFER_LEN * 2] = {0}, temp_buff[BUFFER_LEN * 2] = {0}; + size_t out_comp_buf_len = 0; + unsigned int comp_res = 0, result = 0; + unsigned char htab[32][32] = {0}; + +#if NVSTORE_RESET + NVStore &nvstore = NVStore::get_instance(); +#endif + + /*At the begining of step 2 load trng buffer from step 1*/ + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) + { +#if NVSTORE_RESET + uint16_t actual = 0; + result = nvstore.get(NVKEY, sizeof(buffer), buffer, actual); + TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); +#else + /*Using base64 to decode data sent from host*/ + uint32_t lengthWritten = 0; + uint32_t charsProcessed = 0; + result = esfs_DecodeNBase64((const char*)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); + TEST_ASSERT_EQUAL(0, result); +#endif + memcpy(input_buf, buffer, BUFFER_LEN); + } + + /*Fill buffer with trng values*/ + result = fill_buffer_trng(buffer, &trng_obj, sizeof(buffer)); + TEST_ASSERT_EQUAL(0, result); + + /*lzf_compress will try to compress the random data, if it succeeded it means the data is not really random*/ + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) + { + printf("\n******TRNG_TEST_STEP1*****\n"); + out_comp_buf_len = BUFFER_LEN + (BUFFER_LEN / 4); + comp_res = lzf_compress((const void *)buffer, + (unsigned int)sizeof(buffer), + (void *)out_comp_buf, + out_comp_buf_len, + (unsigned char **)htab); + if (comp_res >= BUFFER_LEN) + { + printf("trng_get_bytes for buffer size %d was successful", sizeof(buffer)); + } + else + { + printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(buffer)); + TEST_ASSERT(false); + } + printf("\n******FINISHED_TRNG_TEST_STEP1*****\n\n"); + } + else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) + { + printf("\n******TRNG_TEST_STEP2*****\n"); + result = fill_buffer_trng(temp_buff, &trng_obj, sizeof(temp_buff)); + TEST_ASSERT_EQUAL(0, result); + + out_comp_buf_len = 2 * BUFFER_LEN + (BUFFER_LEN / 2); + comp_res = lzf_compress((const void *)temp_buff, + (unsigned int)sizeof(temp_buff), + (void *)out_comp_buf, + out_comp_buf_len, + (unsigned char **)htab); + + if (comp_res >= BUFFER_LEN) + { + printf("trng_get_bytes for buffer size %d was successful", sizeof(temp_buff)); + } + else + { + printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(temp_buff)); + TEST_ASSERT(false); + } + printf("\n******FINISHED_TRNG_TEST_STEP2*****\n\n"); + + printf("******TRNG_TEST_STEP3*****\n"); + + memcpy(input_buf + BUFFER_LEN, buffer, BUFFER_LEN); + comp_res = lzf_compress((const void *)input_buf, + (unsigned int)sizeof(input_buf), + (void *)out_comp_buf, + out_comp_buf_len, + (unsigned char **)htab); + + if (comp_res >= BUFFER_LEN) + { + printf("compression for concatenated buffer after reset was successful"); + } + else + { + printf("compression for concatenated buffer after reset was unsuccessful"); + TEST_ASSERT(false); + } + printf("\n******FINISHED_TRNG_TEST_STEP3*****\n\n"); + } + + /*At the end of step 1 store trng buffer and reset the device*/ + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) + { + int result = 0; +#if NVSTORE_RESET + result = nvstore.set(NVKEY, sizeof(buffer), buffer); + TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); +#else + /*Using base64 to encode data sending from host*/ + result = esfs_EncodeBase64(buffer, BUFFER_LEN, (char*)out_comp_buf, sizeof(out_comp_buf)); + TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); + greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); +#endif + system_reset(); + TEST_ASSERT_MESSAGE(false, "system_reset() did not reset the device as expected."); + } + + return; +} + +/*This method call first and second steps, it directs by the key received from the host*/ +void trng_test() +{ + greentea_send_kv(MSG_TRNG_READY, MSG_VALUE_DUMMY); + + static char key[MSG_KEY_LEN + 1] = { }; + static char value[MSG_VALUE_LEN + 1] = { }; + memset(key, 0, MSG_KEY_LEN + 1); + memset(value, 0, MSG_VALUE_LEN + 1); + + greentea_parse_kv(key, value, MSG_KEY_LEN, MSG_VALUE_LEN); + + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) + { + /*create trng data buffer and try to compress it, store it for later checks*/ + compress_and_compare(key, value); + return trng_test(); + } + + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) + { + /*create another trng data buffer and concatenate it to the stored trng data buffer + try to compress them both*/ + compress_and_compare(key, value); + } +} + +utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) { + greentea_case_failure_abort_handler(source, reason); + return STATUS_CONTINUE; +} + +Case cases[] = { + Case("TRNG: trng_test", trng_test, greentea_failure_handler), +}; + +utest::v1::status_t greentea_test_setup(const size_t number_of_cases) +{ + GREENTEA_SETUP(100, "trng_reset"); + return greentea_test_setup_handler(number_of_cases); +} + +Specification specification(greentea_test_setup, cases, greentea_test_teardown_handler); + +int main() +{ + bool ret = !Harness::run(specification); + greentea_send_kv(MSG_TRNG_TEST_SUITE_ENDED, MSG_VALUE_DUMMY); + + return ret; +} From 1aa1682d8c059211ab5ee25ecbf2deb7576a58bf Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Wed, 30 May 2018 17:15:20 +0300 Subject: [PATCH 109/202] Fix lisence and style --- TESTS/mbed_hal/trng/base64b/base64b.cpp | 153 ++++++------- TESTS/mbed_hal/trng/base64b/base64b.h | 24 ++- TESTS/mbed_hal/trng/lzflib/lzf.h | 12 +- TESTS/mbed_hal/trng/lzflib/lzfP.h | 16 +- TESTS/mbed_hal/trng/lzflib/lzf_c.c | 271 ++++++++++++------------ TESTS/mbed_hal/trng/main.cpp | 101 ++++----- 6 files changed, 293 insertions(+), 284 deletions(-) diff --git a/TESTS/mbed_hal/trng/base64b/base64b.cpp b/TESTS/mbed_hal/trng/base64b/base64b.cpp index e9a8cf35fc..2f668da987 100644 --- a/TESTS/mbed_hal/trng/base64b/base64b.cpp +++ b/TESTS/mbed_hal/trng/base64b/base64b.cpp @@ -1,60 +1,73 @@ +/* +* Copyright (c) 2018 ARM Limited. All rights reserved. +* SPDX-License-Identifier: Apache-2.0 +* Licensed under the Apache License, Version 2.0 (the License); you may +* not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + #include "base64b.h" using namespace std; static char IntToBase64Char(uint8_t intVal) { - const char* base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + const char *base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; return base64Digits[intVal & 0x3F]; } #define BASE_64_PAD 0xFF -static base64_result_e Base64CharToInt(char base64, uint8_t* intVal) +static base64_result_e Base64CharToInt(char base64, uint8_t *intVal) { - if (NULL == intVal) - { + if (NULL == intVal) { return BASE64_INVALID_PARAMETER; } if ((base64 >= 'A') && (base64 <= 'Z')) - *intVal = base64 - 'A' ; - else if((base64 >= 'a')&&(base64 <= 'z')) - *intVal = base64 - 'a' + 26; - else if ((base64 >= '0')&&(base64 <= '9')) - *intVal = base64 - '0' + 52; + { *intVal = base64 - 'A' ; } + else if ((base64 >= 'a') && (base64 <= 'z')) + { *intVal = base64 - 'a' + 26; } + else if ((base64 >= '0') && (base64 <= '9')) + { *intVal = base64 - '0' + 52; } else if (base64 == '+') - *intVal = 62; + { *intVal = 62; } else if (base64 == '/') - *intVal = 63; + { *intVal = 63; } else if (base64 == '=') - *intVal = BASE_64_PAD; - else - { + { *intVal = BASE_64_PAD; } + else { return BASE64_ERROR; } - + return BASE64_SUCCESS; } -base64_result_e esfs_DecodeNBase64(const char* string, - uint32_t stringMaxSize, - void* buffer, - uint32_t bufferSize, - uint32_t* lengthWritten, - uint32_t* charsProcessed) +base64_result_e esfs_DecodeNBase64(const char *string, + uint32_t stringMaxSize, + void *buffer, + uint32_t bufferSize, + uint32_t *lengthWritten, + uint32_t *charsProcessed) { base64_result_e result = BASE64_SUCCESS; - uint32_t bitOffset =0; - uint8_t* writePtr = (uint8_t*)buffer; - uint8_t* bufferEnd = (uint8_t*)buffer + bufferSize; + uint32_t bitOffset = 0; + uint8_t *writePtr = (uint8_t *)buffer; + uint8_t *bufferEnd = (uint8_t *)buffer + bufferSize; uint8_t tempVal = 0; uint32_t currPos = 0; uint32_t localBytesWritten = 0; uint32_t localCharsProcessed = 0; bool isEndOfString = false; - if ((NULL == string) || (NULL == buffer) || (bufferSize == 0)) - { + if ((NULL == string) || (NULL == buffer) || (bufferSize == 0)) { return BASE64_INVALID_PARAMETER; } @@ -62,105 +75,94 @@ base64_result_e esfs_DecodeNBase64(const char* string, while (( string[currPos] != 0 ) && ( currPos < stringMaxSize ) && ( writePtr < bufferEnd ) && - ( !isEndOfString )) - { + ( !isEndOfString )) { uint8_t val; if (string[currPos] == 0 || currPos >= stringMaxSize) - break; - + { break; } + result = Base64CharToInt(string[currPos++], &val); if (result != BASE64_SUCCESS) - break; + { break; } - if (val != BASE_64_PAD) - { - if(bitOffset <= 2) - { + if (val != BASE_64_PAD) { + if (bitOffset <= 2) { tempVal |= val << (2 - bitOffset); - if (bitOffset == 2) - { + if (bitOffset == 2) { *writePtr++ = tempVal; tempVal = 0; } - } - else - { + } else { *writePtr++ = (uint8_t)(tempVal | (val >> (bitOffset - 2))); tempVal = (uint8_t)(val << (10 - bitOffset)); } - } - else // found BASE_64_PAD - { + } else { // found BASE_64_PAD // At most two pad characters may occur at the end of the encoded stream if (bitOffset == 2) - isEndOfString = true; // The last padding byte has been processed. + { isEndOfString = true; } // The last padding byte has been processed. else if (bitOffset != 4) - return BASE64_ERROR; // Incorrect padding + { return BASE64_ERROR; } // Incorrect padding } - + bitOffset = (bitOffset + 6) & 0x7; - if (bitOffset == 0) - { - localBytesWritten = (uint32_t)(writePtr - (uint8_t*)buffer); + if (bitOffset == 0) { + localBytesWritten = (uint32_t)(writePtr - (uint8_t *)buffer); localCharsProcessed = currPos; } } if (charsProcessed == NULL) - localBytesWritten = (uint32_t)(writePtr - (uint8_t*)buffer); - else - *charsProcessed = localCharsProcessed; + { localBytesWritten = (uint32_t)(writePtr - (uint8_t *)buffer); } + else + { *charsProcessed = localCharsProcessed; } if (lengthWritten != NULL) - *lengthWritten = localBytesWritten; + { *lengthWritten = localBytesWritten; } else if (bufferSize != localBytesWritten) - return BASE64_BUFFER_TOO_SMALL; + { return BASE64_BUFFER_TOO_SMALL; } // Check if additional bytes should have been processed but buffer isn't sufficient. if (( result == BASE64_SUCCESS ) && - ( !isEndOfString ) && - ( string[currPos] != '=' ) && - ( string[currPos] != 0 ) && - ( currPos < stringMaxSize) ) - return BASE64_BUFFER_TOO_SMALL; + ( !isEndOfString ) && + ( string[currPos] != '=' ) && + ( string[currPos] != 0 ) && + ( currPos < stringMaxSize) ) + { return BASE64_BUFFER_TOO_SMALL; } if (result != BASE64_SUCCESS) - return result; + { return result; } return BASE64_SUCCESS; } -base64_result_e esfs_EncodeBase64(const void* buffer, uint32_t bufferSize, char* string, uint32_t stringSize) +base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize) { uint32_t bitOffset = 0; - const uint8_t* readPtr = (const uint8_t*)buffer; - const uint8_t* bufferEnd = (const uint8_t*)buffer + bufferSize; + const uint8_t *readPtr = (const uint8_t *)buffer; + const uint8_t *bufferEnd = (const uint8_t *)buffer + bufferSize; - char* writePtr = string; - char* stringEnd = string + stringSize - 1; + char *writePtr = string; + char *stringEnd = string + stringSize - 1; if ((NULL == string) || (NULL == buffer) || (stringSize == 0)) - return BASE64_INVALID_PARAMETER; + { return BASE64_INVALID_PARAMETER; } stringSize--; - while(readPtr < bufferEnd && writePtr < stringEnd) - { + while (readPtr < bufferEnd && writePtr < stringEnd) { uint8_t tempVal = 0; - switch (bitOffset) - { + switch (bitOffset) { case 0: *writePtr++ = IntToBase64Char(*readPtr >> 2); // take upper 6 bits break; case 6: tempVal = *readPtr++ << 4; if (readPtr < bufferEnd) - tempVal |= *readPtr >> 4; + { tempVal |= *readPtr >> 4; } *writePtr++ = IntToBase64Char(tempVal); break; case 4: tempVal = *readPtr++ << 2; if (readPtr < bufferEnd) - tempVal |= *readPtr >> 6; + { tempVal |= *readPtr >> 6; } *writePtr++ = IntToBase64Char(tempVal); break; case 2: @@ -171,15 +173,14 @@ base64_result_e esfs_EncodeBase64(const void* buffer, uint32_t bufferSize, char* } bitOffset = (bitOffset + 6) & 0x7; } - while (bitOffset > 0 && writePtr < stringEnd) - { + while (bitOffset > 0 && writePtr < stringEnd) { *writePtr++ = '='; bitOffset = (bitOffset + 6) & 0x7; } *writePtr = 0; if ((readPtr < bufferEnd) || (bitOffset != 0)) - return (BASE64_BUFFER_TOO_SMALL); + { return (BASE64_BUFFER_TOO_SMALL); } - return(BASE64_SUCCESS); + return (BASE64_SUCCESS); } diff --git a/TESTS/mbed_hal/trng/base64b/base64b.h b/TESTS/mbed_hal/trng/base64b/base64b.h index 2a35d05983..e68796ce98 100644 --- a/TESTS/mbed_hal/trng/base64b/base64b.h +++ b/TESTS/mbed_hal/trng/base64b/base64b.h @@ -1,3 +1,19 @@ +/* +* Copyright (c) 2018 ARM Limited. All rights reserved. +* SPDX-License-Identifier: Apache-2.0 +* Licensed under the Apache License, Version 2.0 (the License); you may +* not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + #include #include #include @@ -7,10 +23,10 @@ typedef enum { BASE64_INVALID_PARAMETER = 1, BASE64_BUFFER_TOO_SMALL = 2, BASE64_ERROR = 3, -}base64_result_e; +} base64_result_e; -base64_result_e esfs_EncodeBase64(const void* buffer, uint32_t bufferSize, char* string, uint32_t stringSize); -base64_result_e esfs_DecodeNBase64(const char* string, uint32_t stringMaxSize, void* buffer, uint32_t bufferSize, - uint32_t* lengthWritten, uint32_t* charsProcessed); +base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize); +base64_result_e esfs_DecodeNBase64(const char *string, uint32_t stringMaxSize, void *buffer, uint32_t bufferSize, + uint32_t *lengthWritten, uint32_t *charsProcessed); diff --git a/TESTS/mbed_hal/trng/lzflib/lzf.h b/TESTS/mbed_hal/trng/lzflib/lzf.h index 1f848a09b8..e59029adef 100644 --- a/TESTS/mbed_hal/trng/lzflib/lzf.h +++ b/TESTS/mbed_hal/trng/lzflib/lzf.h @@ -1,16 +1,16 @@ /* * Copyright (c) 2000-2008 Marc Alexander Lehmann - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -73,7 +73,7 @@ * and lzf_c.c. * */ -unsigned int +unsigned int lzf_compress (const void *const in_data, unsigned int in_len, void *out_data, unsigned int out_len, unsigned char **htab); @@ -93,7 +93,7 @@ lzf_compress (const void *const in_data, unsigned int in_len, * * This function is very fast, about as fast as a copying loop. */ -unsigned int +unsigned int lzf_decompress (const void *const in_data, unsigned int in_len, void *out_data, unsigned int out_len); diff --git a/TESTS/mbed_hal/trng/lzflib/lzfP.h b/TESTS/mbed_hal/trng/lzflib/lzfP.h index 7244bc1547..04ecdc1e70 100644 --- a/TESTS/mbed_hal/trng/lzflib/lzfP.h +++ b/TESTS/mbed_hal/trng/lzflib/lzfP.h @@ -1,16 +1,16 @@ /* * Copyright (c) 2000-2007 Marc Alexander Lehmann - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -157,10 +157,10 @@ typedef unsigned char u8; #if LZF_USE_OFFSETS # define LZF_HSLOT_BIAS ((const u8 *)in_data) - typedef unsigned int LZF_HSLOT; +typedef unsigned int LZF_HSLOT; #else # define LZF_HSLOT_BIAS 0 - typedef const u8 *LZF_HSLOT; +typedef const u8 *LZF_HSLOT; #endif typedef LZF_HSLOT LZF_STATE[1 << (HLOG)]; @@ -168,9 +168,9 @@ typedef LZF_HSLOT LZF_STATE[1 << (HLOG)]; #if !STRICT_ALIGN /* for unaligned accesses we need a 16 bit datatype. */ # if USHRT_MAX == 65535 - typedef unsigned short u16; +typedef unsigned short u16; # elif UINT_MAX == 65535 - typedef unsigned int u16; +typedef unsigned int u16; # else # undef STRICT_ALIGN # define STRICT_ALIGN 1 diff --git a/TESTS/mbed_hal/trng/lzflib/lzf_c.c b/TESTS/mbed_hal/trng/lzflib/lzf_c.c index 6831d43b16..c0b4b014f2 100644 --- a/TESTS/mbed_hal/trng/lzflib/lzf_c.c +++ b/TESTS/mbed_hal/trng/lzflib/lzf_c.c @@ -1,16 +1,16 @@ /* * Copyright (c) 2000-2010 Marc Alexander Lehmann - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO @@ -97,195 +97,204 @@ unsigned int lzf_compress (const void *const in_data, unsigned int in_len, - void *out_data, unsigned int out_len + void *out_data, unsigned int out_len #if LZF_STATE_ARG , LZF_STATE htab #endif - ) + ) { #if !LZF_STATE_ARG - LZF_STATE htab; + LZF_STATE htab; #endif - const u8 *ip = (const u8 *)in_data; - u8 *op = (u8 *)out_data; - const u8 *in_end = ip + in_len; - u8 *out_end = op + out_len; - const u8 *ref; + const u8 *ip = (const u8 *)in_data; + u8 *op = (u8 *)out_data; + const u8 *in_end = ip + in_len; + u8 *out_end = op + out_len; + const u8 *ref; - /* off requires a type wide enough to hold a general pointer difference. - * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only - * works for differences within a single object). We also assume that no - * no bit pattern traps. Since the only platform that is both non-POSIX - * and fails to support both assumptions is windows 64 bit, we make a - * special workaround for it. - */ + /* off requires a type wide enough to hold a general pointer difference. + * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only + * works for differences within a single object). We also assume that no + * no bit pattern traps. Since the only platform that is both non-POSIX + * and fails to support both assumptions is windows 64 bit, we make a + * special workaround for it. + */ #if defined (WIN32) && defined (_M_X64) - unsigned _int64 off; /* workaround for missing POSIX compliance */ + unsigned _int64 off; /* workaround for missing POSIX compliance */ #else - unsigned long off; + unsigned long off; #endif - unsigned int hval; - int lit; + unsigned int hval; + int lit; - if (!in_len || !out_len) - return 0; + if (!in_len || !out_len) + { return 0; } #if INIT_HTAB - memset (htab, 0, sizeof (htab)); + memset (htab, 0, sizeof (htab)); #endif - lit = 0; op++; /* start run */ + lit = 0; + op++; /* start run */ - hval = FRST (ip); - while (ip < in_end - 2) - { - LZF_HSLOT *hslot; + hval = FRST (ip); + while (ip < in_end - 2) { + LZF_HSLOT *hslot; - hval = NEXT (hval, ip); - hslot = htab + IDX (hval); - ref = *hslot + LZF_HSLOT_BIAS; *hslot = ip - LZF_HSLOT_BIAS; + hval = NEXT (hval, ip); + hslot = htab + IDX (hval); + ref = *hslot + LZF_HSLOT_BIAS; + *hslot = ip - LZF_HSLOT_BIAS; - if (1 + if (1 #if INIT_HTAB - && ref < ip /* the next test will actually take care of this, but this is faster */ + && ref < ip /* the next test will actually take care of this, but this is faster */ #endif - && (off = (unsigned long)(uintptr_t)(ip - ref - 1)) < MAX_OFF - && ref > (u8 *)in_data - && ref[2] == ip[2] + && (off = (unsigned long)(uintptr_t)(ip - ref - 1)) < MAX_OFF + && ref > (u8 *)in_data + && ref[2] == ip[2] #if STRICT_ALIGN - && ((ref[1] << 8) | ref[0]) == ((ip[1] << 8) | ip[0]) + && ((ref[1] << 8) | ref[0]) == ((ip[1] << 8) | ip[0]) #else - && *(u16 *)ref == *(u16 *)ip + && *(u16 *)ref == *(u16 *)ip #endif - ) - { - /* match found at *ref++ */ - unsigned int len = 2; - unsigned int maxlen = (unsigned int)((uintptr_t)in_end - (uintptr_t)ip) - len; - maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; + ) { + /* match found at *ref++ */ + unsigned int len = 2; + unsigned int maxlen = (unsigned int)((uintptr_t)in_end - (uintptr_t)ip) - len; + maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; - if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ - if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ - return 0; + if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ + if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ + { return 0; } - op [- lit - 1] = lit - 1; /* stop run */ - op -= !lit; /* undo run if length is zero */ + op [- lit - 1] = lit - 1; /* stop run */ + op -= !lit; /* undo run if length is zero */ - for (;;) - { - if (expect_true (maxlen > 16)) - { - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; + for (;;) { + if (expect_true (maxlen > 16)) { + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; - len++; if (ref [len] != ip [len]) break; + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } + len++; + if (ref [len] != ip [len]) { break; } } - do - len++; - while (len < maxlen && ref[len] == ip[len]); + do + { len++; } + while (len < maxlen && ref[len] == ip[len]); - break; + break; } - len -= 2; /* len is now #octets - 1 */ - ip++; + len -= 2; /* len is now #octets - 1 */ + ip++; - if (len < 7) - { - *op++ = (u8)((off >> 8) + (len << 5)); - } - else - { - *op++ = (u8)((off >> 8) + ( 7 << 5)); - *op++ = len - 7; + if (len < 7) { + *op++ = (u8)((off >> 8) + (len << 5)); + } else { + *op++ = (u8)((off >> 8) + ( 7 << 5)); + *op++ = len - 7; } - *op++ = (u8)off; + *op++ = (u8)off; - lit = 0; op++; /* start run */ + lit = 0; + op++; /* start run */ - ip += len + 1; + ip += len + 1; - if (expect_false (ip >= in_end - 2)) - break; + if (expect_false (ip >= in_end - 2)) + { break; } #if ULTRA_FAST || VERY_FAST - --ip; + --ip; # if VERY_FAST && !ULTRA_FAST - --ip; + --ip; # endif - hval = FRST (ip); + hval = FRST (ip); - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; # if VERY_FAST && !ULTRA_FAST - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; # endif #else - ip -= len + 1; + ip -= len + 1; - do - { - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; - } - while (len--); + do { + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; + ip++; + } while (len--); #endif - } - else - { - /* one more literal byte we must copy */ - if (expect_false (op >= out_end)) - return 0; + } else { + /* one more literal byte we must copy */ + if (expect_false (op >= out_end)) + { return 0; } - lit++; *op++ = *ip++; + lit++; + *op++ = *ip++; - if (expect_false (lit == MAX_LIT)) - { - op [- lit - 1] = lit - 1; /* stop run */ - lit = 0; op++; /* start run */ + if (expect_false (lit == MAX_LIT)) { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; + op++; /* start run */ } } } - if (op + 3 > out_end) /* at most 3 bytes can be missing here */ - return 0; + if (op + 3 > out_end) /* at most 3 bytes can be missing here */ + { return 0; } - while (ip < in_end) - { - lit++; *op++ = *ip++; + while (ip < in_end) { + lit++; + *op++ = *ip++; - if (expect_false (lit == MAX_LIT)) - { - op [- lit - 1] = lit - 1; /* stop run */ - lit = 0; op++; /* start run */ + if (expect_false (lit == MAX_LIT)) { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; + op++; /* start run */ } } - op [- lit - 1] = lit - 1; /* end run */ - op -= !lit; /* undo run if length is zero */ + op [- lit - 1] = lit - 1; /* end run */ + op -= !lit; /* undo run if length is zero */ - return (unsigned int)((uintptr_t)op - (uintptr_t)out_data); + return (unsigned int)((uintptr_t)op - (uintptr_t)out_data); } diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index c63a244b80..b378d03b79 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -15,23 +15,23 @@ */ /* -* The test is based on the assumption that trng will generate random data, random so +* The test is based on the assumption that trng will generate random data, random so * there will not be any similar patterns in it, that kind of data will be impossible to * compress, if compression will acuur the test will result in failure. * -* The test is composed out of three parts: -* the first, generate a trng buffer and try to compress it, at the end of first part -* we will reset the device. +* The test is composed out of three parts: +* the first, generate a trng buffer and try to compress it, at the end of first part +* we will reset the device. * In second part we will generate a trng buffer with a different buffer size and try to * compress it. -* In the third part we will again generate a trng buffer to see that the same trng output +* In the third part we will again generate a trng buffer to see that the same trng output * is not generated as the stored trng buffer from part one (before reseting), the new trng data will -* be concatenated to the trng data from the first part and then try to compress it +* be concatenated to the trng data from the first part and then try to compress it * together, if there are similar patterns the compression will succeed. * -* We need to store and load the first part data before and after reset, the mechanism -* we chose is NVstore, mainly because its simplicity and the fact it is not platform -* dependent, in case a specific board does not support NVstore we will use the +* We need to store and load the first part data before and after reset, the mechanism +* we chose is NVstore, mainly because its simplicity and the fact it is not platform +* dependent, in case a specific board does not support NVstore we will use the * mbed greentea platform for sending and receving the data from the device to the * host running the test and back, the problem with this mechanism is that it doesn't handle * well certain characters, especially non ASCII ones, so we used the base64 algorithm @@ -85,15 +85,13 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) trng_init(trng_obj); memset(buffer, 0, BUFFER_LEN); - while (true) - { + while (true) { trng_res = trng_get_bytes(trng_obj, temp_in_buf, trng_len, &output_length); TEST_ASSERT_EQUAL_INT_MESSAGE(0, trng_res, "trng_get_bytes error!"); temp_size += output_length; temp_in_buf += output_length; trng_len -= output_length; - if (temp_size >= trng_len) - { + if (temp_size >= trng_len) { break; } } @@ -113,12 +111,11 @@ static void compress_and_compare(char *key, char *value) unsigned char htab[32][32] = {0}; #if NVSTORE_RESET - NVStore &nvstore = NVStore::get_instance(); + NVStore& nvstore = NVStore::get_instance(); #endif /*At the begining of step 2 load trng buffer from step 1*/ - if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) - { + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { #if NVSTORE_RESET uint16_t actual = 0; result = nvstore.get(NVKEY, sizeof(buffer), buffer, actual); @@ -126,8 +123,8 @@ static void compress_and_compare(char *key, char *value) #else /*Using base64 to decode data sent from host*/ uint32_t lengthWritten = 0; - uint32_t charsProcessed = 0; - result = esfs_DecodeNBase64((const char*)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); + uint32_t charsProcessed = 0; + result = esfs_DecodeNBase64((const char *)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); TEST_ASSERT_EQUAL(0, result); #endif memcpy(input_buf, buffer, BUFFER_LEN); @@ -138,45 +135,36 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(0, result); /*lzf_compress will try to compress the random data, if it succeeded it means the data is not really random*/ - if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) - { + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { printf("\n******TRNG_TEST_STEP1*****\n"); out_comp_buf_len = BUFFER_LEN + (BUFFER_LEN / 4); - comp_res = lzf_compress((const void *)buffer, - (unsigned int)sizeof(buffer), - (void *)out_comp_buf, - out_comp_buf_len, + comp_res = lzf_compress((const void *)buffer, + (unsigned int)sizeof(buffer), + (void *)out_comp_buf, + out_comp_buf_len, (unsigned char **)htab); - if (comp_res >= BUFFER_LEN) - { + if (comp_res >= BUFFER_LEN) { printf("trng_get_bytes for buffer size %d was successful", sizeof(buffer)); - } - else - { + } else { printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(buffer)); TEST_ASSERT(false); } printf("\n******FINISHED_TRNG_TEST_STEP1*****\n\n"); - } - else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) - { + } else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { printf("\n******TRNG_TEST_STEP2*****\n"); result = fill_buffer_trng(temp_buff, &trng_obj, sizeof(temp_buff)); TEST_ASSERT_EQUAL(0, result); out_comp_buf_len = 2 * BUFFER_LEN + (BUFFER_LEN / 2); - comp_res = lzf_compress((const void *)temp_buff, - (unsigned int)sizeof(temp_buff), - (void *)out_comp_buf, - out_comp_buf_len, + comp_res = lzf_compress((const void *)temp_buff, + (unsigned int)sizeof(temp_buff), + (void *)out_comp_buf, + out_comp_buf_len, (unsigned char **)htab); - - if (comp_res >= BUFFER_LEN) - { + + if (comp_res >= BUFFER_LEN) { printf("trng_get_bytes for buffer size %d was successful", sizeof(temp_buff)); - } - else - { + } else { printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(temp_buff)); TEST_ASSERT(false); } @@ -185,18 +173,15 @@ static void compress_and_compare(char *key, char *value) printf("******TRNG_TEST_STEP3*****\n"); memcpy(input_buf + BUFFER_LEN, buffer, BUFFER_LEN); - comp_res = lzf_compress((const void *)input_buf, - (unsigned int)sizeof(input_buf), - (void *)out_comp_buf, - out_comp_buf_len, + comp_res = lzf_compress((const void *)input_buf, + (unsigned int)sizeof(input_buf), + (void *)out_comp_buf, + out_comp_buf_len, (unsigned char **)htab); - if (comp_res >= BUFFER_LEN) - { + if (comp_res >= BUFFER_LEN) { printf("compression for concatenated buffer after reset was successful"); - } - else - { + } else { printf("compression for concatenated buffer after reset was unsuccessful"); TEST_ASSERT(false); } @@ -204,15 +189,14 @@ static void compress_and_compare(char *key, char *value) } /*At the end of step 1 store trng buffer and reset the device*/ - if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) - { + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { int result = 0; #if NVSTORE_RESET result = nvstore.set(NVKEY, sizeof(buffer), buffer); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); #else /*Using base64 to encode data sending from host*/ - result = esfs_EncodeBase64(buffer, BUFFER_LEN, (char*)out_comp_buf, sizeof(out_comp_buf)); + result = esfs_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, sizeof(out_comp_buf)); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); #endif @@ -235,22 +219,21 @@ void trng_test() greentea_parse_kv(key, value, MSG_KEY_LEN, MSG_VALUE_LEN); - if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) - { + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { /*create trng data buffer and try to compress it, store it for later checks*/ compress_and_compare(key, value); return trng_test(); } - if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) - { + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { /*create another trng data buffer and concatenate it to the stored trng data buffer try to compress them both*/ compress_and_compare(key, value); } } -utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) { +utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) +{ greentea_case_failure_abort_handler(source, reason); return STATUS_CONTINUE; } From bced8d9dd921216e6194537411b07dc7ea1f79a0 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Mon, 4 Jun 2018 13:53:56 +0300 Subject: [PATCH 110/202] Repalce compression libs for license issues --- TESTS/mbed_hal/trng/lzflib/lzf.h | 101 ---- TESTS/mbed_hal/trng/lzflib/lzfP.h | 185 ------- TESTS/mbed_hal/trng/lzflib/lzf_c.c | 300 ---------- TESTS/mbed_hal/trng/main.cpp | 47 +- TESTS/mbed_hal/trng/pithy/pithy.c | 842 +++++++++++++++++++++++++++++ TESTS/mbed_hal/trng/pithy/pithy.h | 63 +++ 6 files changed, 921 insertions(+), 617 deletions(-) delete mode 100644 TESTS/mbed_hal/trng/lzflib/lzf.h delete mode 100644 TESTS/mbed_hal/trng/lzflib/lzfP.h delete mode 100644 TESTS/mbed_hal/trng/lzflib/lzf_c.c create mode 100644 TESTS/mbed_hal/trng/pithy/pithy.c create mode 100644 TESTS/mbed_hal/trng/pithy/pithy.h diff --git a/TESTS/mbed_hal/trng/lzflib/lzf.h b/TESTS/mbed_hal/trng/lzflib/lzf.h deleted file mode 100644 index e59029adef..0000000000 --- a/TESTS/mbed_hal/trng/lzflib/lzf.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (c) 2000-2008 Marc Alexander Lehmann - * - * Redistribution and use in source and binary forms, with or without modifica- - * tion, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- - * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- - * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- - * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License ("GPL") version 2 or any later version, - * in which case the provisions of the GPL are applicable instead of - * the above. If you wish to allow the use of your version of this file - * only under the terms of the GPL and not to allow others to use your - * version of this file under the BSD license, indicate your decision - * by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL. If you do not delete the - * provisions above, a recipient may use your version of this file under - * either the BSD or the GPL. - */ - -#ifndef LZF_H -#define LZF_H - -/*********************************************************************** -** -** lzf -- an extremely fast/free compression/decompression-method -** http://liblzf.plan9.de/ -** -** This algorithm is believed to be patent-free. -** -***********************************************************************/ - -#define LZF_VERSION 0x0105 /* 1.5, API version */ - -/* - * Compress in_len bytes stored at the memory block starting at - * in_data and write the result to out_data, up to a maximum length - * of out_len bytes. - * - * If the output buffer is not large enough or any error occurs return 0, - * otherwise return the number of bytes used, which might be considerably - * more than in_len (but less than 104% of the original size), so it - * makes sense to always use out_len == in_len - 1), to ensure _some_ - * compression, and store the data uncompressed otherwise (with a flag, of - * course. - * - * lzf_compress might use different algorithms on different systems and - * even different runs, thus might result in different compressed strings - * depending on the phase of the moon or similar factors. However, all - * these strings are architecture-independent and will result in the - * original data when decompressed using lzf_decompress. - * - * The buffers must not be overlapping. - * - * If the option LZF_STATE_ARG is enabled, an extra argument must be - * supplied which is not reflected in this header file. Refer to lzfP.h - * and lzf_c.c. - * - */ -unsigned int -lzf_compress (const void *const in_data, unsigned int in_len, - void *out_data, unsigned int out_len, - unsigned char **htab); - -/* - * Decompress data compressed with some version of the lzf_compress - * function and stored at location in_data and length in_len. The result - * will be stored at out_data up to a maximum of out_len characters. - * - * If the output buffer is not large enough to hold the decompressed - * data, a 0 is returned and errno is set to E2BIG. Otherwise the number - * of decompressed bytes (i.e. the original length of the data) is - * returned. - * - * If an error in the compressed data is detected, a zero is returned and - * errno is set to EINVAL. - * - * This function is very fast, about as fast as a copying loop. - */ -unsigned int -lzf_decompress (const void *const in_data, unsigned int in_len, - void *out_data, unsigned int out_len); - -#endif - diff --git a/TESTS/mbed_hal/trng/lzflib/lzfP.h b/TESTS/mbed_hal/trng/lzflib/lzfP.h deleted file mode 100644 index 04ecdc1e70..0000000000 --- a/TESTS/mbed_hal/trng/lzflib/lzfP.h +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright (c) 2000-2007 Marc Alexander Lehmann - * - * Redistribution and use in source and binary forms, with or without modifica- - * tion, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- - * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- - * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- - * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License ("GPL") version 2 or any later version, - * in which case the provisions of the GPL are applicable instead of - * the above. If you wish to allow the use of your version of this file - * only under the terms of the GPL and not to allow others to use your - * version of this file under the BSD license, indicate your decision - * by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL. If you do not delete the - * provisions above, a recipient may use your version of this file under - * either the BSD or the GPL. - */ - -#ifndef LZFP_h -#define LZFP_h - -#define STANDALONE 1 /* at the moment, this is ok. */ - -#ifndef STANDALONE -# include "lzf.h" -#endif - -/* - * Size of hashtable is (1 << HLOG) * sizeof (char *) - * decompression is independent of the hash table size - * the difference between 15 and 14 is very small - * for small blocks (and 14 is usually a bit faster). - * For a low-memory/faster configuration, use HLOG == 13; - * For best compression, use 15 or 16 (or more, up to 22). - */ -#ifndef HLOG -# define HLOG 14 -#endif - -/* - * Sacrifice very little compression quality in favour of compression speed. - * This gives almost the same compression as the default code, and is - * (very roughly) 15% faster. This is the preferred mode of operation. - */ -#ifndef VERY_FAST -# define VERY_FAST 1 -#endif - -/* - * Sacrifice some more compression quality in favour of compression speed. - * (roughly 1-2% worse compression for large blocks and - * 9-10% for small, redundant, blocks and >>20% better speed in both cases) - * In short: when in need for speed, enable this for binary data, - * possibly disable this for text data. - */ -#ifndef ULTRA_FAST -# define ULTRA_FAST 0 -#endif - -/* - * Unconditionally aligning does not cost very much, so do it if unsure - */ -#ifndef STRICT_ALIGN -# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) -#endif - -/* - * You may choose to pre-set the hash table (might be faster on some - * modern cpus and large (>>64k) blocks, and also makes compression - * deterministic/repeatable when the configuration otherwise is the same). - */ -#ifndef INIT_HTAB -# define INIT_HTAB 0 -#endif - -/* - * Avoid assigning values to errno variable? for some embedding purposes - * (linux kernel for example), this is necessary. NOTE: this breaks - * the documentation in lzf.h. Avoiding errno has no speed impact. - */ -#ifndef AVOID_ERRNO -# define AVOID_ERRNO 0 -#endif - -/* - * Whether to pass the LZF_STATE variable as argument, or allocate it - * on the stack. For small-stack environments, define this to 1. - * NOTE: this breaks the prototype in lzf.h. - */ -#ifndef LZF_STATE_ARG -# define LZF_STATE_ARG 1 -#endif - -/* - * Whether to add extra checks for input validity in lzf_decompress - * and return EINVAL if the input stream has been corrupted. This - * only shields against overflowing the input buffer and will not - * detect most corrupted streams. - * This check is not normally noticeable on modern hardware - * (<1% slowdown), but might slow down older cpus considerably. - */ -#ifndef CHECK_INPUT -# define CHECK_INPUT 1 -#endif - -/* - * Whether to store pointers or offsets inside the hash table. On - * 64 bit architetcures, pointers take up twice as much space, - * and might also be slower. Default is to autodetect. - */ -/*#define LZF_USER_OFFSETS autodetect */ - -/*****************************************************************************/ -/* nothing should be changed below */ - -#ifdef __cplusplus -# include -# include -using namespace std; -#else -# include -# include -#endif - -#ifndef LZF_USE_OFFSETS -# if defined (WIN32) -# define LZF_USE_OFFSETS defined(_M_X64) -# else -# if __cplusplus > 199711L -# include -# else -# include -# endif -# define LZF_USE_OFFSETS (UINTPTR_MAX > 0xffffffffU) -# endif -#endif - -typedef unsigned char u8; - -#if LZF_USE_OFFSETS -# define LZF_HSLOT_BIAS ((const u8 *)in_data) -typedef unsigned int LZF_HSLOT; -#else -# define LZF_HSLOT_BIAS 0 -typedef const u8 *LZF_HSLOT; -#endif - -typedef LZF_HSLOT LZF_STATE[1 << (HLOG)]; - -#if !STRICT_ALIGN -/* for unaligned accesses we need a 16 bit datatype. */ -# if USHRT_MAX == 65535 -typedef unsigned short u16; -# elif UINT_MAX == 65535 -typedef unsigned int u16; -# else -# undef STRICT_ALIGN -# define STRICT_ALIGN 1 -# endif -#endif - -#if ULTRA_FAST -# undef VERY_FAST -#endif - -#endif - diff --git a/TESTS/mbed_hal/trng/lzflib/lzf_c.c b/TESTS/mbed_hal/trng/lzflib/lzf_c.c deleted file mode 100644 index c0b4b014f2..0000000000 --- a/TESTS/mbed_hal/trng/lzflib/lzf_c.c +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Copyright (c) 2000-2010 Marc Alexander Lehmann - * - * Redistribution and use in source and binary forms, with or without modifica- - * tion, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- - * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- - * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- - * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License ("GPL") version 2 or any later version, - * in which case the provisions of the GPL are applicable instead of - * the above. If you wish to allow the use of your version of this file - * only under the terms of the GPL and not to allow others to use your - * version of this file under the BSD license, indicate your decision - * by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL. If you do not delete the - * provisions above, a recipient may use your version of this file under - * either the BSD or the GPL. - */ - -#include "lzfP.h" - -#define HSIZE (1 << (HLOG)) - -/* - * don't play with this unless you benchmark! - * the data format is not dependent on the hash function. - * the hash function might seem strange, just believe me, - * it works ;) - */ -#ifndef FRST -# define FRST(p) (((p[0]) << 8) | p[1]) -# define NEXT(v,p) (((v) << 8) | p[2]) -# if ULTRA_FAST -# define IDX(h) ((( h >> (3*8 - HLOG)) - h ) & (HSIZE - 1)) -# elif VERY_FAST -# define IDX(h) ((( h >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) -# else -# define IDX(h) ((((h ^ (h << 5)) >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) -# endif -#endif -/* - * IDX works because it is very similar to a multiplicative hash, e.g. - * ((h * 57321 >> (3*8 - HLOG)) & (HSIZE - 1)) - * the latter is also quite fast on newer CPUs, and compresses similarly. - * - * the next one is also quite good, albeit slow ;) - * (int)(cos(h & 0xffffff) * 1e6) - */ - -#if 0 -/* original lzv-like hash function, much worse and thus slower */ -# define FRST(p) (p[0] << 5) ^ p[1] -# define NEXT(v,p) ((v) << 5) ^ p[2] -# define IDX(h) ((h) & (HSIZE - 1)) -#endif - -#define MAX_LIT (1 << 5) -#define MAX_OFF (1 << 13) -#define MAX_REF ((1 << 8) + (1 << 3)) - -#if __GNUC__ >= 3 -# define expect(expr,value) __builtin_expect ((expr),(value)) -# define inline inline -#else -# define expect(expr,value) (expr) -# define inline static -#endif - -#define expect_false(expr) expect ((expr) != 0, 0) -#define expect_true(expr) expect ((expr) != 0, 1) - -/* - * compressed format - * - * 000LLLLL ; literal, L+1=1..33 octets - * LLLooooo oooooooo ; backref L+1=1..7 octets, o+1=1..4096 offset - * 111ooooo LLLLLLLL oooooooo ; backref L+8 octets, o+1=1..4096 offset - * - */ - -unsigned int -lzf_compress (const void *const in_data, unsigned int in_len, - void *out_data, unsigned int out_len -#if LZF_STATE_ARG - , LZF_STATE htab -#endif - ) -{ -#if !LZF_STATE_ARG - LZF_STATE htab; -#endif - const u8 *ip = (const u8 *)in_data; - u8 *op = (u8 *)out_data; - const u8 *in_end = ip + in_len; - u8 *out_end = op + out_len; - const u8 *ref; - - /* off requires a type wide enough to hold a general pointer difference. - * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only - * works for differences within a single object). We also assume that no - * no bit pattern traps. Since the only platform that is both non-POSIX - * and fails to support both assumptions is windows 64 bit, we make a - * special workaround for it. - */ -#if defined (WIN32) && defined (_M_X64) - unsigned _int64 off; /* workaround for missing POSIX compliance */ -#else - unsigned long off; -#endif - unsigned int hval; - int lit; - - if (!in_len || !out_len) - { return 0; } - -#if INIT_HTAB - memset (htab, 0, sizeof (htab)); -#endif - - lit = 0; - op++; /* start run */ - - hval = FRST (ip); - while (ip < in_end - 2) { - LZF_HSLOT *hslot; - - hval = NEXT (hval, ip); - hslot = htab + IDX (hval); - ref = *hslot + LZF_HSLOT_BIAS; - *hslot = ip - LZF_HSLOT_BIAS; - - if (1 -#if INIT_HTAB - && ref < ip /* the next test will actually take care of this, but this is faster */ -#endif - && (off = (unsigned long)(uintptr_t)(ip - ref - 1)) < MAX_OFF - && ref > (u8 *)in_data - && ref[2] == ip[2] -#if STRICT_ALIGN - && ((ref[1] << 8) | ref[0]) == ((ip[1] << 8) | ip[0]) -#else - && *(u16 *)ref == *(u16 *)ip -#endif - ) { - /* match found at *ref++ */ - unsigned int len = 2; - unsigned int maxlen = (unsigned int)((uintptr_t)in_end - (uintptr_t)ip) - len; - maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; - - if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ - if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ - { return 0; } - - op [- lit - 1] = lit - 1; /* stop run */ - op -= !lit; /* undo run if length is zero */ - - for (;;) { - if (expect_true (maxlen > 16)) { - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - len++; - if (ref [len] != ip [len]) { break; } - } - - do - { len++; } - while (len < maxlen && ref[len] == ip[len]); - - break; - } - - len -= 2; /* len is now #octets - 1 */ - ip++; - - if (len < 7) { - *op++ = (u8)((off >> 8) + (len << 5)); - } else { - *op++ = (u8)((off >> 8) + ( 7 << 5)); - *op++ = len - 7; - } - - *op++ = (u8)off; - - lit = 0; - op++; /* start run */ - - ip += len + 1; - - if (expect_false (ip >= in_end - 2)) - { break; } - -#if ULTRA_FAST || VERY_FAST - --ip; -# if VERY_FAST && !ULTRA_FAST - --ip; -# endif - hval = FRST (ip); - - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; - -# if VERY_FAST && !ULTRA_FAST - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; -# endif -#else - ip -= len + 1; - - do { - hval = NEXT (hval, ip); - htab[IDX (hval)] = ip - LZF_HSLOT_BIAS; - ip++; - } while (len--); -#endif - } else { - /* one more literal byte we must copy */ - if (expect_false (op >= out_end)) - { return 0; } - - lit++; - *op++ = *ip++; - - if (expect_false (lit == MAX_LIT)) { - op [- lit - 1] = lit - 1; /* stop run */ - lit = 0; - op++; /* start run */ - } - } - } - - if (op + 3 > out_end) /* at most 3 bytes can be missing here */ - { return 0; } - - while (ip < in_end) { - lit++; - *op++ = *ip++; - - if (expect_false (lit == MAX_LIT)) { - op [- lit - 1] = lit - 1; /* stop run */ - lit = 0; - op++; /* start run */ - } - } - - op [- lit - 1] = lit - 1; /* end run */ - op -= !lit; /* undo run if length is zero */ - - return (unsigned int)((uintptr_t)op - (uintptr_t)out_data); -} - diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index b378d03b79..a3bea42bd3 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -44,13 +44,9 @@ #include "hal/trng_api.h" #include "base64b.h" #include "nvstore.h" +#include "pithy.h" #include -/*Include LZF Compressor librart */ -extern "C" { -#include "lzf.h" -} - #if !DEVICE_TRNG #error [NOT_SUPPORTED] TRNG API not supported for this target #endif @@ -104,11 +100,10 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) static void compress_and_compare(char *key, char *value) { trng_t trng_obj; - uint8_t out_comp_buf[BUFFER_LEN * 2] = {0}, buffer[BUFFER_LEN] = {0}; + uint8_t out_comp_buf[BUFFER_LEN * 4] = {0}, buffer[BUFFER_LEN] = {0}; uint8_t input_buf[BUFFER_LEN * 2] = {0}, temp_buff[BUFFER_LEN * 2] = {0}; - size_t out_comp_buf_len = 0; - unsigned int comp_res = 0, result = 0; - unsigned char htab[32][32] = {0}; + size_t comp_sz = 0; + unsigned int result = 0; #if NVSTORE_RESET NVStore& nvstore = NVStore::get_instance(); @@ -134,35 +129,29 @@ static void compress_and_compare(char *key, char *value) result = fill_buffer_trng(buffer, &trng_obj, sizeof(buffer)); TEST_ASSERT_EQUAL(0, result); - /*lzf_compress will try to compress the random data, if it succeeded it means the data is not really random*/ + /*pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/ if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { printf("\n******TRNG_TEST_STEP1*****\n"); - out_comp_buf_len = BUFFER_LEN + (BUFFER_LEN / 4); - comp_res = lzf_compress((const void *)buffer, - (unsigned int)sizeof(buffer), - (void *)out_comp_buf, - out_comp_buf_len, - (unsigned char **)htab); - if (comp_res >= BUFFER_LEN) { + + comp_sz = pithy_Compress((char *)buffer, sizeof(buffer), (char *)out_comp_buf, sizeof(out_comp_buf), 9); + + if (comp_sz >= BUFFER_LEN) { printf("trng_get_bytes for buffer size %d was successful", sizeof(buffer)); } else { printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(buffer)); TEST_ASSERT(false); } printf("\n******FINISHED_TRNG_TEST_STEP1*****\n\n"); + } else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { + /*pithy_Compress will try to compress the random data with a different buffer sizem*/ printf("\n******TRNG_TEST_STEP2*****\n"); result = fill_buffer_trng(temp_buff, &trng_obj, sizeof(temp_buff)); TEST_ASSERT_EQUAL(0, result); - out_comp_buf_len = 2 * BUFFER_LEN + (BUFFER_LEN / 2); - comp_res = lzf_compress((const void *)temp_buff, - (unsigned int)sizeof(temp_buff), - (void *)out_comp_buf, - out_comp_buf_len, - (unsigned char **)htab); + comp_sz = pithy_Compress((char *)temp_buff, sizeof(temp_buff), (char *)out_comp_buf, sizeof(out_comp_buf), 9); - if (comp_res >= BUFFER_LEN) { + if (comp_sz >= BUFFER_LEN) { printf("trng_get_bytes for buffer size %d was successful", sizeof(temp_buff)); } else { printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(temp_buff)); @@ -172,14 +161,10 @@ static void compress_and_compare(char *key, char *value) printf("******TRNG_TEST_STEP3*****\n"); - memcpy(input_buf + BUFFER_LEN, buffer, BUFFER_LEN); - comp_res = lzf_compress((const void *)input_buf, - (unsigned int)sizeof(input_buf), - (void *)out_comp_buf, - out_comp_buf_len, - (unsigned char **)htab); + /*pithy_Compress will try to compress the random data from before reset concatenated with new random data*/ + comp_sz = pithy_Compress((char *)input_buf, sizeof(input_buf), (char *)out_comp_buf, sizeof(out_comp_buf), 9); - if (comp_res >= BUFFER_LEN) { + if (comp_sz >= BUFFER_LEN) { printf("compression for concatenated buffer after reset was successful"); } else { printf("compression for concatenated buffer after reset was unsuccessful"); diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c new file mode 100644 index 0000000000..669831e02c --- /dev/null +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -0,0 +1,842 @@ +// +// pithy.c +// http://github.com/johnezang/pithy +// Licensed under the terms of the BSD License, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include +#include +#include + +#if defined(__arm__) && defined(__ARM_NEON__) +#include +#endif + +#include "pithy.h" + +#define kBlockLog 20ul +#define kBlockSize ((size_t)(1 << kBlockLog)) + +// The maximum size that can be compressed while still allowing for the worst case compression expansion. +#define PITHY_UNCOMPRESSED_MAX_LENGTH 0xdb6db6bfu // 0xdb6db6bf == 3681400511, or 3510.857 Mbytes. + +#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__arm__) +#define PITHY_UNALIGNED_LOADS_AND_STORES +#endif + +typedef const char *pithy_hashOffset_t; + +enum { + PITHY_LITERAL = 0, + PITHY_COPY_1_BYTE_OFFSET = 1, + PITHY_COPY_2_BYTE_OFFSET = 2, + PITHY_COPY_3_BYTE_OFFSET = 3 +}; + + +#if defined (__GNUC__) && (__GNUC__ >= 3) +#define PITHY_ATTRIBUTES(attr, ...) __attribute__((attr, ##__VA_ARGS__)) +#define PITHY_EXPECTED(cond, expect) __builtin_expect((long)(cond), (expect)) +#define PITHY_EXPECT_T(cond) PITHY_EXPECTED(cond, 1u) +#define PITHY_EXPECT_F(cond) PITHY_EXPECTED(cond, 0u) +#define PITHY_PREFETCH(ptr) __builtin_prefetch(ptr) +#else // defined (__GNUC__) && (__GNUC__ >= 3) +#define PITHY_ATTRIBUTES(attr, ...) +#define PITHY_EXPECTED(cond, expect) (cond) +#define PITHY_EXPECT_T(cond) (cond) +#define PITHY_EXPECT_F(cond) (cond) +#define PITHY_PREFETCH(ptr) +#endif // defined (__GNUC__) && (__GNUC__ >= 3) + +#define PITHY_STATIC_INLINE static __inline__ PITHY_ATTRIBUTES(always_inline) +#define PITHY_ALIGNED(x) PITHY_ATTRIBUTES(aligned(x)) + +#if defined(NS_BLOCK_ASSERTIONS) && !defined(NDEBUG) +#define NDEBUG +#endif + +#ifdef NDEBUG +#define DCHECK(condition) +#else +#define DCHECK(condition) do { \ + if(PITHY_EXPECT_F(!(condition))) { \ + fprintf(stderr, "%s / %s @ %ld: Invalid parameter not satisfying: %s", \ + __FILE__, __PRETTY_FUNCTION__, (long)__LINE__, #condition); fflush(stderr); \ + abort(); \ + } \ + } while(0) +#endif + + +PITHY_STATIC_INLINE const char *pithy_Parse32WithLimit(const char *p, const char *l, size_t *OUTPUT); +PITHY_STATIC_INLINE char *pithy_Encode32(char *ptr, uint32_t v); + +PITHY_STATIC_INLINE uint32_t pithy_GetUint32AtOffset(uint64_t v, uint32_t offset); +PITHY_STATIC_INLINE uint32_t pithy_HashBytes(uint32_t bytes, uint32_t shift); +PITHY_STATIC_INLINE size_t pithy_FindMatchLength(const char *s1, const char *s2, const char *s2_limit); +PITHY_STATIC_INLINE char *pithy_EmitLiteral(char *op, const char *literal, size_t len, int allow_fast_path); +PITHY_STATIC_INLINE char *pithy_EmitCopyGreaterThan63(char *op, size_t offset, size_t len); +PITHY_STATIC_INLINE char *pithy_EmitCopyLessThan63(char *op, size_t offset, size_t len); +PITHY_STATIC_INLINE char *pithy_EmitCopy(char *op, size_t offset, size_t len); + + +#ifdef PITHY_UNALIGNED_LOADS_AND_STORES + +#define pithy_Load16(_p) (*((uint16_t *)(_p))) +#define pithy_Load32(_p) (*((uint32_t *)(_p))) +#define pithy_Store16(_p, _val) (*((uint16_t *)(_p)) = (_val)) +#define pithy_Store32(_p, _val) (*((uint32_t *)(_p)) = (_val)) + +#if defined(__arm__) + +#if defined(__ARM_NEON__) +#define pithy_Load64(_p) ((uint64_t)vld1_u64(_p)) +#define pithy_Store64(_p, _val) vst1_u64(_p, (uint64x1_t)_val) +#else +#define PITHY_32BIT_MOVE64 +PITHY_STATIC_INLINE uint64_t pithy_Load64(const void *p) { uint64_t t; memcpy(&t, p, sizeof(t)); return (t); } +PITHY_STATIC_INLINE void pithy_Store64(void *p, uint64_t v) { memcpy(p, &v, sizeof(v)); } +#endif + +#else // not __arm__ +#define pithy_Load64(_p) (*((uint64_t *)(_p))) +#define pithy_Store64(_p, _val) (*((uint64_t *)(_p)) = (_val)) +#endif // __arm__ + +#else + +PITHY_STATIC_INLINE uint16_t pithy_Load16(const void *p) { uint16_t t; memcpy(&t, p, sizeof(t)); return (t); } +PITHY_STATIC_INLINE uint32_t pithy_Load32(const void *p) { uint32_t t; memcpy(&t, p, sizeof(t)); return (t); } +PITHY_STATIC_INLINE uint64_t pithy_Load64(const void *p) { uint64_t t; memcpy(&t, p, sizeof(t)); return (t); } +PITHY_STATIC_INLINE void pithy_Store16(void *p, uint16_t v) { memcpy(p, &v, sizeof(v)); } +PITHY_STATIC_INLINE void pithy_Store32(void *p, uint32_t v) { memcpy(p, &v, sizeof(v)); } +PITHY_STATIC_INLINE void pithy_Store64(void *p, uint64_t v) { memcpy(p, &v, sizeof(v)); } + +#endif + + +#ifdef PITHY_32BIT_MOVE64 +#define pithy_Move64(dst,src) pithy_Store32(dst, pithy_Load32(src)); \ + pithy_Store32(dst + 4ul, pithy_Load32(src + 4ul)); +#else +#define pithy_Move64(dst,src) pithy_Store64(dst, pithy_Load64(src)); +#endif + + +#if defined(__arm__) && defined(__ARM_NEON__) && defined(PITHY_UNALIGNED_LOADS_AND_STORES) +#define pithy_Move128(_dst,_src) ({ \ + asm ("vld1.64 {d0-d1}, [%[src]]\n\tvst1.64 {d0-d1}, [%[dst]]" : : \ + [src]"r"(_src), [dst]"r"(_dst) : "d0", "d1", "memory"); }) +#else +#define pithy_Move128(dst,src) pithy_Move64(dst, src); pithy_Move64(dst + 8ul, src + 8ul); +#endif + +#ifdef __BIG_ENDIAN__ + +#ifdef _MSC_VER +#include +#define pithy_bswap_16(x) _byteswap_ushort(x) +#define pithy_bswap_32(x) _byteswap_ulong(x) +#define pithy_bswap_64(x) _byteswap_uint64(x) + +#elif defined(__APPLE__) + +// Mac OS X / Darwin features +#include +#define pithy_bswap_16(x) OSSwapInt16(x) +#define pithy_bswap_32(x) OSSwapInt32(x) +#define pithy_bswap_64(x) OSSwapInt64(x) +#else +#include +#endif + +#endif // __BIG_ENDIAN__ + +// Conversion functions. +#ifdef __BIG_ENDIAN__ +#define pithy_FromHost16(x) ((uint16_t)pithy_bswap_16(x)) +#define pithy_ToHost16(x) ((uint16_t)pithy_bswap_16(x)) +#define pithy_FromHost32(x) ((uint32_t)pithy_bswap_32(x)) +#define pithy_ToHost32(x) ((uint32_t)pithy_bswap_32(x)) +#define pithy_IsLittleEndian() (0) + +#else // !defined(__BIG_ENDIAN__) +#define pithy_FromHost16(x) ((uint16_t)(x)) +#define pithy_ToHost16(x) ((uint16_t)(x)) +#define pithy_FromHost32(x) ((uint32_t)(x)) +#define pithy_ToHost32(x) ((uint32_t)(x)) +#define pithy_IsLittleEndian() (1) + +#endif // !defined(__BIG_ENDIAN__) + +#define pithy_LoadHost16(p) pithy_ToHost16(pithy_Load16((const void *)(p))) +#define pithy_StoreHost16(p, v) pithy_Store16((void *)(p), pithy_FromHost16(v)) +#define pithy_LoadHost32(p) pithy_ToHost32(pithy_Load32((p))) +#define pithy_StoreHost32(p, v) pithy_Store32((p), pithy_FromHost32(v)) + +PITHY_STATIC_INLINE void pithy_StoreHost24(char *p, uint32_t v) +{ + *p++ = (v & 0xffu); + *p++ = ((v >> 8) & 0xffu); + *p++ = ((v >> 16) & 0xffu); +} + +#if defined (__GNUC__) && (__GNUC__ >= 3) + +#define pithy_Log2Floor(n) ({typeof(n) _n = (n); _n == 0 ? (int)-1 : (int)(31 ^ __builtin_clz(_n));}) +#define pithy_FindLSBSetNonZero32(n) ((int)__builtin_ctz((uint32_t)(n))) +#define pithy_FindLSBSetNonZero64(n) ((int)__builtin_ctzll((uint64_t)(n))) +#define pithy_FindMSBSetNonZero32(n) ((int)__builtin_clz((uint32_t)(n))) +#define pithy_FindMSBSetNonZero64(n) ((int)__builtin_clzll((uint64_t)(n))) + +#else // Portable versions, !GNUC || GNUC < 3 + +PITHY_STATIC_INLINE int pithy_Log2Floor(uint32_t n) +{ + if (n == 0u) { + return (-1); + } + int i = 0, log = 0; + uint32_t value = n; + for (i = 4; i >= 0; --i) { + int shift = (1 << i); + uint32_t x = value >> shift; + if (x != 0u) { + value = x; + log += shift; + } + } + DCHECK(value == 1); + return (log); +} + +PITHY_STATIC_INLINE int pithy_FindLSBSetNonZero32(uint32_t n) +{ + int i = 0, rc = 31; + for (i = 4, shift = 1 << 4; i >= 0; --i) { + const uint32_t x = n << shift; + if (x != 0u) { + n = x; + rc -= shift; + } + shift >>= 1; + } + return (rc); +} + +PITHY_STATIC_INLINE int pithy_FindLSBSetNonZero64(uint64_t n) +{ + const uint32_t bottomBits = n; + if (bottomBits == 0u) { + return (32 + pithy_FindLSBSetNonZero32((n >> 32))); + } else { + return (pithy_FindLSBSetNonZero32(bottomBits)); + } +} + +PITHY_STATIC_INLINE int pithy_FindMSBSetNonZero32(uint32_t n) +{ + int i; + uint32_t x, rc = 32, shift = 1 << 4; + for (i = 3; i >= 0; --i) { + x = n >> shift; + if (x != 0) { + rc -= shift; + n = x; + } + shift >>= 1; + } + x = n >> shift; + return (rc - ((x != 0) ? 2 : n)); +} + +PITHY_STATIC_INLINE int pithy_FindMSBSetNonZero64(uint64_t n) +{ + const uint32_t upperBits = n >> 32; + if (upperBits == 0u) { + return (32 + pithy_FindMSBSetNonZero32((n))); + } else { + return (pithy_FindMSBSetNonZero32(upperBits)); + } +} + +#endif // End portable versions. + +PITHY_STATIC_INLINE const char *pithy_Parse32WithLimit(const char *p, const char *l, size_t *resultOut) +{ + const unsigned char *ptr = (const unsigned char *)p, *limit = (const unsigned char *)l; + size_t resultShift = 0ul, result = 0ul; + uint32_t encodedByte = 0u; + + for (resultShift = 0ul; resultShift <= 28ul; resultShift += 7ul) { + if (ptr >= limit) { + return (NULL); + } + encodedByte = *(ptr++); + result |= (encodedByte & 127u) << resultShift; + if (encodedByte < ((resultShift == 28ul) ? 16u : 128u)) { + goto done; + } + } + return (NULL); +done: + *resultOut = result; + return ((const char *)ptr); +} + +PITHY_STATIC_INLINE char *pithy_Encode32(char *sptr, uint32_t v) +{ + unsigned char *ptr = (unsigned char *)sptr; + if (v < (1u << 7)) { + *(ptr++) = v; + } else if (v < (1u << 14)) { + *(ptr++) = v | 0x80u; + *(ptr++) = (v >> 7); + } else if (v < (1u << 21)) { + *(ptr++) = v | 0x80u; + *(ptr++) = (v >> 7) | 0x80u; + *(ptr++) = (v >> 14); + } else if (v < (1u << 28)) { + *(ptr++) = v | 0x80u; + *(ptr++) = (v >> 7) | 0x80u; + *(ptr++) = (v >> 14) | 0x80u; + *(ptr++) = (v >> 21); + } else { + *(ptr++) = v | 0x80u; + *(ptr++) = (v >> 7) | 0x80u; + *(ptr++) = (v >> 14) | 0x80u; + *(ptr++) = (v >> 21) | 0x80u; + *(ptr++) = (v >> 28); + } + return ((char *)ptr); +} + + +PITHY_STATIC_INLINE uint32_t pithy_GetUint32AtOffset(uint64_t v, uint32_t offset) +{ + DCHECK(offset <= 4); + return (v >> (pithy_IsLittleEndian() ? (8u * offset) : (32u - (8u * offset)))); +} + + +PITHY_STATIC_INLINE uint32_t pithy_HashBytes(uint32_t bytes, uint32_t shift) +{ + uint32_t kMul = 0x1e35a7bdU; + return ((bytes * kMul) >> shift); +} + + +PITHY_STATIC_INLINE size_t pithy_FindMatchLength(const char *s1, const char *s2, const char *s2_limit) +{ + DCHECK(s2_limit >= s2); + const char *ms1 = s1, *ms2 = s2; + +#if defined(__LP64__) + while (PITHY_EXPECT_T(ms2 < (s2_limit - 8ul))) { + uint64_t x = pithy_Load64(ms1) ^ pithy_Load64(ms2); + if (PITHY_EXPECT_F(x == 0ul)) { + ms1 += 8ul; + ms2 += 8ul; + } else { + return ((ms1 - s1) + ((unsigned int)(pithy_IsLittleEndian() ? (pithy_FindLSBSetNonZero64(x) >> 3) : + (pithy_FindMSBSetNonZero64(x) >> 3)))); + } + } +#else + while (PITHY_EXPECT_T(ms2 < (s2_limit - 4u ))) { + uint32_t x = pithy_Load32(ms1) ^ pithy_Load32(ms2); + if (PITHY_EXPECT_F(x == 0u)) { + ms1 += 4u; + ms2 += 4u; + } else { + return ((ms1 - s1) + ((unsigned int)(pithy_IsLittleEndian() ? + (pithy_FindLSBSetNonZero32(x) >> 3) : (pithy_FindMSBSetNonZero32(x) >> 3)))); + } + } +#endif + while (PITHY_EXPECT_T(ms2 < s2_limit)) { + if (PITHY_EXPECT_T(*ms1 == *ms2)) { + ms1++; + ms2++; + } else { + return (ms1 - s1); + } + } + return (ms1 - s1); +} + + +PITHY_STATIC_INLINE char *pithy_EmitLiteral(char *op, const char *literal, size_t len, int allow_fast_path) +{ + ssize_t n = len - 1l; + if (PITHY_EXPECT_T(n < 60l)) { + *op++ = PITHY_LITERAL | (n << 2); + if (PITHY_EXPECT_T(allow_fast_path) && PITHY_EXPECT_T(len <= 16ul)) { + pithy_Move128(op, literal); + return (op + len); + } + } else { + char *base = op; + int count = 0; + op++; + while (n > 0l) { + *op++ = n & 0xff; + n >>= 8; + count++; + } + DCHECK((count >= 1) && (count <= 4)); + *base = PITHY_LITERAL | ((59 + count) << 2); + } + memcpy(op, literal, len); + return (op + len); +} + +PITHY_STATIC_INLINE char *pithy_EmitCopyGreaterThan63(char *op, size_t offset, size_t len) +{ + DCHECK((len < 65536ul) && (len >= 63ul) && (offset < kBlockSize)); + if (PITHY_EXPECT_T(offset < 65536ul)) { + if (PITHY_EXPECT_T(len < (256ul + 63ul))) { + *op++ = PITHY_COPY_2_BYTE_OFFSET | (62 << 2); + pithy_StoreHost16(op, offset); + op += 2ul; + *op++ = (len - 63ul); + } else { + *op++ = PITHY_COPY_2_BYTE_OFFSET | (63 << 2); + pithy_StoreHost16(op, offset); + op += 2ul; + pithy_StoreHost16(op, len); + op += 2ul; + } + } else { + if (PITHY_EXPECT_T(len < (256ul + 63ul))) { + *op++ = PITHY_COPY_3_BYTE_OFFSET | (62 << 2); + pithy_StoreHost24(op, offset); + op += 3ul; + *op++ = (len - 63ul); + } else { + *op++ = PITHY_COPY_3_BYTE_OFFSET | (63 << 2); + pithy_StoreHost24(op, offset); + op += 3ul; + pithy_StoreHost16(op, len); + op += 2ul; + } + } + return (op); +} + +PITHY_STATIC_INLINE char *pithy_EmitCopyLessThan63(char *op, size_t offset, size_t len) +{ + DCHECK((len < 63ul) && (len >= 4ul) && (offset < kBlockSize)); + if (PITHY_EXPECT_T(len < 12ul) && PITHY_EXPECT_T(offset < 2048ul)) { + ssize_t lenMinus4 = len - 4l; + DCHECK(lenMinus4 < 8l); + *op++ = PITHY_COPY_1_BYTE_OFFSET | (lenMinus4 << 2) | ((offset >> 8) << 5); + *op++ = offset & 0xff; + } else { + if (PITHY_EXPECT_T(offset < 65536ul)) { + *op++ = PITHY_COPY_2_BYTE_OFFSET | ((len - 1ul) << 2); + pithy_StoreHost16(op, offset); + op += 2ul; + } else { + *op++ = PITHY_COPY_3_BYTE_OFFSET | ((len - 1ul) << 2); + pithy_StoreHost24(op, offset); + op += 3ul; + } + } + return (op); +} + +PITHY_STATIC_INLINE char *pithy_EmitCopy(char *op, size_t offset, size_t len) +{ + while (PITHY_EXPECT_F(len >= 63ul)) { + op = pithy_EmitCopyGreaterThan63(op, offset, (len >= 65539ul) ? 65535ul : len); + len -= (len >= 65539ul) ? 65535ul : len; + } + DCHECK((len > 0ul) ? ((len >= 4ul) && (len < 63ul)) : 1); + if ( PITHY_EXPECT_T(len > 0ul)) { + op = pithy_EmitCopyLessThan63(op, offset, len); + len -= len; + } + return (op); +} + +size_t pithy_MaxCompressedLength(size_t inputLength) +{ + return ((inputLength >= PITHY_UNCOMPRESSED_MAX_LENGTH) ? 0ul : 32ul + inputLength + (inputLength / 6ul)); +} + +size_t pithy_Compress(const char *uncompressed, + size_t uncompressedLength, + char *compressedOut, + size_t compressedOutLength, + int compressionLevel) +{ + + if ((pithy_MaxCompressedLength(uncompressedLength) > compressedOutLength) || + (uncompressedLength >= PITHY_UNCOMPRESSED_MAX_LENGTH) || + (uncompressedLength == 0ul)) { + return (0ul); + } + + char *compressedPtr = compressedOut; + + size_t hashTableSize = 0x100ul, maxHashTableSize = 1 << (12ul + (((compressionLevel < 0) ? 0 : + (compressionLevel > 9) ? 9 : compressionLevel) / 2ul)); + while ((hashTableSize < maxHashTableSize) && (hashTableSize < uncompressedLength)) { + hashTableSize <<= 1; + } + pithy_hashOffset_t stackHashTable[hashTableSize], *heapHashTable = NULL, *hashTable = stackHashTable; + if ((sizeof(pithy_hashOffset_t) * hashTableSize) >= (1024ul * 128ul)) { + if ((heapHashTable = malloc(sizeof(pithy_hashOffset_t) * hashTableSize)) == NULL) { + return (0ul); + } + hashTable = heapHashTable; + } + size_t x = 0ul; + for (x = 0ul; x < hashTableSize; x++) { + hashTable[x] = uncompressed; + } + +#ifndef NDEBUG + char *const compressedOutEnd = compressedOut + compressedOutLength; +#endif + compressedPtr = pithy_Encode32(compressedPtr, uncompressedLength); + DCHECK(compressedPtr <= compressedOutEnd); + { + const char *uncompressedPtr = uncompressed; + const char *uncompressedEnd = uncompressed + uncompressedLength; + const char *nextEmitUncompressedPtr = uncompressedPtr; + DCHECK((hashTableSize & (hashTableSize - 1l)) == 0); + const int shift = 32 - pithy_Log2Floor(hashTableSize); + DCHECK((UINT32_MAX >> shift) == (hashTableSize - 1l)); + size_t skip = 32ul; + + if (PITHY_EXPECT_T(uncompressedLength >= 15ul)) { + const char *uncompressedEndLimit = uncompressed + uncompressedLength - 15ul; + uint32_t uncompressedBytes; + uint32_t nextUncompressedBytes = pithy_Load32(++uncompressedPtr); + uint32_t nextUncompressedBytesHash = pithy_HashBytes(nextUncompressedBytes, shift); + + while (1) { + DCHECK(nextEmitUncompressedPtr < uncompressedPtr); + const char *nextUncompressedPtr = uncompressedPtr, *matchCandidatePtr = NULL; + + skip = (((skip - 32ul) * 184ul) >> 8) + 32ul; + + do { + uncompressedPtr = nextUncompressedPtr; + uncompressedBytes = nextUncompressedBytes; + uint32_t uncompressedBytesHash = nextUncompressedBytesHash; + DCHECK(uncompressedBytesHash == pithy_HashBytes(uncompressedBytes, shift)); + size_t skipBytesBetweenHashLookups = skip >> 5; + skip += ((skip * 7ul) >> 11) + 1ul; + nextUncompressedPtr = uncompressedPtr + skipBytesBetweenHashLookups; + if (PITHY_EXPECT_F(nextUncompressedPtr > uncompressedEndLimit)) { + goto emit_remainder; + } + nextUncompressedBytes = pithy_Load32(nextUncompressedPtr); + nextUncompressedBytesHash = pithy_HashBytes(nextUncompressedBytes, shift); + matchCandidatePtr = hashTable[uncompressedBytesHash]; + DCHECK((matchCandidatePtr >= uncompressed) && (matchCandidatePtr < uncompressedPtr)); + hashTable[uncompressedBytesHash] = uncompressedPtr; + } while ((PITHY_EXPECT_T(uncompressedBytes != pithy_Load32(matchCandidatePtr))) || + PITHY_EXPECT_F((uncompressedPtr - matchCandidatePtr) >= ((ssize_t)(kBlockSize - 2ul)))); + + DCHECK((nextEmitUncompressedPtr + 16ul) <= uncompressedEnd); + compressedPtr = pithy_EmitLiteral(compressedPtr, + nextEmitUncompressedPtr, + uncompressedPtr - nextEmitUncompressedPtr, + 1); + DCHECK(compressedPtr <= compressedOutEnd); + uint64_t uncompressedBytes64 = 0ul; + + do { + if (compressionLevel > 2) { + DCHECK((uncompressedPtr + 5ul) <= uncompressedEnd); + uncompressedBytes64 = pithy_Load64(uncompressedPtr + 1ul); + hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 0u), shift)] = + uncompressedPtr + 1ul; + if (compressionLevel > 4) { + hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 1u), shift)] = + uncompressedPtr + 2ul; + } + } + + DCHECK((matchCandidatePtr >= uncompressed) && + (matchCandidatePtr <= uncompressedPtr) && + ((matchCandidatePtr + 4ul) <= uncompressedEnd) && + ((uncompressedPtr + 4ul) <= uncompressedEnd)); + + size_t matchCandidateLength = 4ul + pithy_FindMatchLength(matchCandidatePtr + 4ul, + uncompressedPtr + 4ul, + uncompressedEnd); + DCHECK(((matchCandidatePtr + matchCandidateLength) >= uncompressed) && + ((matchCandidatePtr + matchCandidateLength) <= uncompressedEnd)); + DCHECK(0 == memcmp(uncompressedPtr, matchCandidatePtr, matchCandidateLength)); + compressedPtr = pithy_EmitCopy(compressedPtr, + uncompressedPtr - matchCandidatePtr, + matchCandidateLength); + DCHECK(compressedPtr <= compressedOutEnd); + uncompressedPtr += matchCandidateLength; + DCHECK(uncompressedPtr <= uncompressedEnd); + nextEmitUncompressedPtr = uncompressedPtr; + if (PITHY_EXPECT_F(uncompressedPtr >= uncompressedEndLimit)) { + goto emit_remainder; + } + + DCHECK(((uncompressedPtr - 3ul) >= uncompressed) && (uncompressedPtr <= uncompressedEnd)); + + uncompressedBytes64 = pithy_Load64(uncompressedPtr - 3ul); + + if (compressionLevel > 0) { + if (compressionLevel > 8) { + hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 0u), shift)] = + uncompressedPtr - 3ul; + } + if (compressionLevel > 6) { + hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 1u), shift)] = + uncompressedPtr - 2ul; + } + hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 2u), shift)] = + uncompressedPtr - 1ul; + } + + uncompressedBytes = pithy_GetUint32AtOffset(uncompressedBytes64, 3u); + uint32_t uncompressedBytesHash = pithy_HashBytes(uncompressedBytes, shift); + matchCandidatePtr = hashTable[uncompressedBytesHash]; + DCHECK((matchCandidatePtr >= uncompressed) && (matchCandidatePtr < uncompressedPtr)); + hashTable[uncompressedBytesHash] = uncompressedPtr; + } while (PITHY_EXPECT_F(uncompressedBytes == pithy_Load32(matchCandidatePtr)) && + PITHY_EXPECT_T((uncompressedPtr - matchCandidatePtr) < ((ssize_t)(kBlockSize - 2ul)))); + + nextUncompressedBytes = pithy_GetUint32AtOffset(uncompressedBytes64, 4u); + nextUncompressedBytesHash = pithy_HashBytes(nextUncompressedBytes, shift); + uncompressedPtr++; + } + } + +emit_remainder: + if (nextEmitUncompressedPtr < uncompressedEnd) { + compressedPtr = pithy_EmitLiteral(compressedPtr, + nextEmitUncompressedPtr, + uncompressedEnd - nextEmitUncompressedPtr, + 0); + } + } + + pithy_Store32(compressedPtr, 0); + compressedPtr += 4; + + DCHECK((size_t)(compressedPtr - compressedOut) <= compressedOutLength); + if (heapHashTable != NULL) { + free(heapHashTable); + heapHashTable = NULL; + hashTable = NULL; + } + return (compressedPtr - compressedOut); +} + + +static const uint32_t pithy_wordmask[] = { + 0u, 0xffu, 0xffffu, 0xffffffu, 0xffffffffu +}; + + +static const uint16_t pithy_charTable[256] = { + 0x0001, 0x0804, 0x1001, 0x1801, 0x0002, 0x0805, 0x1002, 0x1802, + 0x0003, 0x0806, 0x1003, 0x1803, 0x0004, 0x0807, 0x1004, 0x1804, + 0x0005, 0x0808, 0x1005, 0x1805, 0x0006, 0x0809, 0x1006, 0x1806, + 0x0007, 0x080a, 0x1007, 0x1807, 0x0008, 0x080b, 0x1008, 0x1808, + 0x0009, 0x0904, 0x1009, 0x1809, 0x000a, 0x0905, 0x100a, 0x180a, + 0x000b, 0x0906, 0x100b, 0x180b, 0x000c, 0x0907, 0x100c, 0x180c, + 0x000d, 0x0908, 0x100d, 0x180d, 0x000e, 0x0909, 0x100e, 0x180e, + 0x000f, 0x090a, 0x100f, 0x180f, 0x0010, 0x090b, 0x1010, 0x1810, + 0x0011, 0x0a04, 0x1011, 0x1811, 0x0012, 0x0a05, 0x1012, 0x1812, + 0x0013, 0x0a06, 0x1013, 0x1813, 0x0014, 0x0a07, 0x1014, 0x1814, + 0x0015, 0x0a08, 0x1015, 0x1815, 0x0016, 0x0a09, 0x1016, 0x1816, + 0x0017, 0x0a0a, 0x1017, 0x1817, 0x0018, 0x0a0b, 0x1018, 0x1818, + 0x0019, 0x0b04, 0x1019, 0x1819, 0x001a, 0x0b05, 0x101a, 0x181a, + 0x001b, 0x0b06, 0x101b, 0x181b, 0x001c, 0x0b07, 0x101c, 0x181c, + 0x001d, 0x0b08, 0x101d, 0x181d, 0x001e, 0x0b09, 0x101e, 0x181e, + 0x001f, 0x0b0a, 0x101f, 0x181f, 0x0020, 0x0b0b, 0x1020, 0x1820, + 0x0021, 0x0c04, 0x1021, 0x1821, 0x0022, 0x0c05, 0x1022, 0x1822, + 0x0023, 0x0c06, 0x1023, 0x1823, 0x0024, 0x0c07, 0x1024, 0x1824, + 0x0025, 0x0c08, 0x1025, 0x1825, 0x0026, 0x0c09, 0x1026, 0x1826, + 0x0027, 0x0c0a, 0x1027, 0x1827, 0x0028, 0x0c0b, 0x1028, 0x1828, + 0x0029, 0x0d04, 0x1029, 0x1829, 0x002a, 0x0d05, 0x102a, 0x182a, + 0x002b, 0x0d06, 0x102b, 0x182b, 0x002c, 0x0d07, 0x102c, 0x182c, + 0x002d, 0x0d08, 0x102d, 0x182d, 0x002e, 0x0d09, 0x102e, 0x182e, + 0x002f, 0x0d0a, 0x102f, 0x182f, 0x0030, 0x0d0b, 0x1030, 0x1830, + 0x0031, 0x0e04, 0x1031, 0x1831, 0x0032, 0x0e05, 0x1032, 0x1832, + 0x0033, 0x0e06, 0x1033, 0x1833, 0x0034, 0x0e07, 0x1034, 0x1834, + 0x0035, 0x0e08, 0x1035, 0x1835, 0x0036, 0x0e09, 0x1036, 0x1836, + 0x0037, 0x0e0a, 0x1037, 0x1837, 0x0038, 0x0e0b, 0x1038, 0x1838, + 0x0039, 0x0f04, 0x1039, 0x1839, 0x003a, 0x0f05, 0x103a, 0x183a, + 0x003b, 0x0f06, 0x103b, 0x183b, 0x003c, 0x0f07, 0x103c, 0x183c, + 0x0801, 0x0f08, 0x103d, 0x183d, 0x1001, 0x0f09, 0x103e, 0x183e, + 0x1801, 0x0f0a, 0x103f, 0x183f, 0x2001, 0x0f0b, 0x1040, 0x1840 +}; + + +int pithy_GetDecompressedLength(const char *compressed, size_t compressedLength, size_t *decompressedOutLengthResult) +{ + const char *compressedEnd = compressed + compressedLength; + size_t decompressedLength = 0ul; + if (pithy_Parse32WithLimit(compressed, compressedEnd, &decompressedLength) != NULL) { + *decompressedOutLengthResult = decompressedLength; + return (1); + } else { + return (0); + } +} + + +int pithy_Decompress(const char *compressed, size_t compressedLength, char *decompressedOut, + size_t decompressedOutLength) +{ + const char *nextCompressedPtr = NULL, *compressedEnd = (compressed + compressedLength); + size_t parsedDecompressedLength = 0ul; + if (((nextCompressedPtr = pithy_Parse32WithLimit(compressed, compressedEnd, &parsedDecompressedLength)) == NULL) || + (parsedDecompressedLength > decompressedOutLength)) { + return (0); + } + + char *decompressedPtr = decompressedOut, *decompressedEnd = decompressedOut + parsedDecompressedLength; + + while (1) { + const char *compressedPtr = nextCompressedPtr; + DCHECK(compressedPtr <= compressedEnd); + if (PITHY_EXPECT_F(compressedPtr >= compressedEnd)) { + break; + } + + const unsigned char c = *((const unsigned char *)(compressedPtr++)); + const unsigned char cLowerBits = (c & 0x3u); + const ssize_t spaceLeft = (decompressedEnd - decompressedPtr); + + if ((cLowerBits == PITHY_LITERAL)) { + size_t literalLength = (c >> 2) + 1; + if (PITHY_EXPECT_T(literalLength <= 16ul) && PITHY_EXPECT_T((compressedEnd - compressedPtr) >= 16l) && + PITHY_EXPECT_T(spaceLeft >= 16l)) { + pithy_Move128(decompressedPtr, compressedPtr); + } else { + if (PITHY_EXPECT_F(literalLength > 60)) { + if (PITHY_EXPECT_F((compressedPtr + 4) > compressedEnd)) { + break; + } + size_t literalLengthBytes = literalLength - 60; + literalLength = (pithy_LoadHost32(compressedPtr) & pithy_wordmask[literalLengthBytes]) + 1; + compressedPtr += literalLengthBytes; + } + if (PITHY_EXPECT_F(spaceLeft < (ssize_t)literalLength) || + PITHY_EXPECT_F((compressedPtr + literalLength) > compressedEnd)) { + break; + } + memcpy(decompressedPtr, compressedPtr, literalLength); + } + nextCompressedPtr = compressedPtr + literalLength; + decompressedPtr += literalLength; + } else { + const uint32_t entry = pithy_charTable[c]; + const size_t trailer = pithy_LoadHost32(compressedPtr) & pithy_wordmask[cLowerBits]; + size_t length = entry & 0xffu; + const size_t copyOffset = ((entry & 0x700u) + trailer); + + compressedPtr += cLowerBits; + + DCHECK((compressedPtr <= compressedEnd) && (copyOffset > 0ul) && (spaceLeft > 0l) && (length > 0ul)); + + if (PITHY_EXPECT_F((decompressedPtr - decompressedOut) <= ((ssize_t)copyOffset - 1l))) { + break; + } + if (PITHY_EXPECT_T(length <= 16ul) && + PITHY_EXPECT_T(copyOffset >= 16ul) && + PITHY_EXPECT_T(spaceLeft >= 16l)) { + pithy_Move128(decompressedPtr, decompressedPtr - copyOffset); + } else { + if (PITHY_EXPECT_F(length >= 63ul)) { + if (PITHY_EXPECT_T(length == 63ul)) { + if (PITHY_EXPECT_F((compressedPtr + 1) > compressedEnd)) { + break; + } + length = (*((unsigned char *)compressedPtr++)) + 63ul; + } else { + if (PITHY_EXPECT_F((compressedPtr + 2) > compressedEnd)) { + break; + } + length = pithy_LoadHost16(compressedPtr); + compressedPtr += 2ul; + } + } + + char *copyFrom = decompressedPtr - copyOffset, *copyTo = decompressedPtr; + ssize_t copyLength = (ssize_t)length; + + if (PITHY_EXPECT_F(copyLength > 256l) && PITHY_EXPECT_T(copyOffset > (size_t)copyLength)) { + if (PITHY_EXPECT_F(spaceLeft < copyLength)) { + break; + } + memcpy(copyTo, copyFrom, copyLength); + } else { + if (PITHY_EXPECT_T(spaceLeft >= (copyLength + 24)) && PITHY_EXPECT_T(copyLength > 0l)) { + while ((copyTo - copyFrom) < 16l) { + pithy_Move128(copyTo, copyFrom); + copyLength -= copyTo - copyFrom; + copyTo += copyTo - copyFrom; + } + while (copyLength > 0l) { + pithy_Move128(copyTo, copyFrom); + copyFrom += 16l; + copyTo += 16l; + copyLength -= 16l; + } + } else { + if (PITHY_EXPECT_F(spaceLeft < copyLength) || PITHY_EXPECT_F(copyLength <= 0l)) { + break; + } + do { + *copyTo++ = *copyFrom++; + } while (--copyLength > 0l); + } + } + } + nextCompressedPtr = compressedPtr; + decompressedPtr += length; + } + } + + return (decompressedPtr == decompressedEnd); +} diff --git a/TESTS/mbed_hal/trng/pithy/pithy.h b/TESTS/mbed_hal/trng/pithy/pithy.h new file mode 100644 index 0000000000..57fff97088 --- /dev/null +++ b/TESTS/mbed_hal/trng/pithy/pithy.h @@ -0,0 +1,63 @@ +// +// pithy.h +// http://github.com/johnezang/pithy +// Licensed under the terms of the BSD License, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _PITHY_H_ +#define _PITHY_H_ + +// compressionLevel >= 0 && compressionLevel <= 9. Values out side this range will be clamped to this range. +size_t pithy_Compress (const char *uncompressed, size_t uncompressedLength, char *compressedOut, + size_t compressedOutLength, int compressionLevel); +int pithy_Decompress(const char *compressed, size_t compressedLength, char *decompressedOut, + size_t decompressedOutLength); + +size_t pithy_MaxCompressedLength(size_t inputLength); +int pithy_GetDecompressedLength(const char *compressed, size_t compressedLength, + size_t *decompressedOutLengthResult); + +#endif // _PITHY_H_ + +#ifdef __cplusplus +} // extern "C" +#endif From 91d0c1b1e3a1bab2f3f469fb5026eddcf6fd3a18 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Mon, 4 Jun 2018 17:08:56 +0300 Subject: [PATCH 111/202] Fix var declaration problem --- TESTS/mbed_hal/trng/pithy/pithy.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c index 669831e02c..11cef26975 100644 --- a/TESTS/mbed_hal/trng/pithy/pithy.c +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -401,7 +401,7 @@ PITHY_STATIC_INLINE size_t pithy_FindMatchLength(const char *s1, const char *s2, PITHY_STATIC_INLINE char *pithy_EmitLiteral(char *op, const char *literal, size_t len, int allow_fast_path) { - ssize_t n = len - 1l; + int n = len - 1l; if (PITHY_EXPECT_T(n < 60l)) { *op++ = PITHY_LITERAL | (n << 2); if (PITHY_EXPECT_T(allow_fast_path) && PITHY_EXPECT_T(len <= 16ul)) { @@ -461,7 +461,7 @@ PITHY_STATIC_INLINE char *pithy_EmitCopyLessThan63(char *op, size_t offset, size { DCHECK((len < 63ul) && (len >= 4ul) && (offset < kBlockSize)); if (PITHY_EXPECT_T(len < 12ul) && PITHY_EXPECT_T(offset < 2048ul)) { - ssize_t lenMinus4 = len - 4l; + int lenMinus4 = len - 4l; DCHECK(lenMinus4 < 8l); *op++ = PITHY_COPY_1_BYTE_OFFSET | (lenMinus4 << 2) | ((offset >> 8) << 5); *op++ = offset & 0xff; @@ -573,7 +573,7 @@ size_t pithy_Compress(const char *uncompressed, DCHECK((matchCandidatePtr >= uncompressed) && (matchCandidatePtr < uncompressedPtr)); hashTable[uncompressedBytesHash] = uncompressedPtr; } while ((PITHY_EXPECT_T(uncompressedBytes != pithy_Load32(matchCandidatePtr))) || - PITHY_EXPECT_F((uncompressedPtr - matchCandidatePtr) >= ((ssize_t)(kBlockSize - 2ul)))); + PITHY_EXPECT_F((uncompressedPtr - matchCandidatePtr) >= ((int)(kBlockSize - 2ul)))); DCHECK((nextEmitUncompressedPtr + 16ul) <= uncompressedEnd); compressedPtr = pithy_EmitLiteral(compressedPtr, @@ -640,7 +640,7 @@ size_t pithy_Compress(const char *uncompressed, DCHECK((matchCandidatePtr >= uncompressed) && (matchCandidatePtr < uncompressedPtr)); hashTable[uncompressedBytesHash] = uncompressedPtr; } while (PITHY_EXPECT_F(uncompressedBytes == pithy_Load32(matchCandidatePtr)) && - PITHY_EXPECT_T((uncompressedPtr - matchCandidatePtr) < ((ssize_t)(kBlockSize - 2ul)))); + PITHY_EXPECT_T((uncompressedPtr - matchCandidatePtr) < ((int)(kBlockSize - 2ul)))); nextUncompressedBytes = pithy_GetUint32AtOffset(uncompressedBytes64, 4u); nextUncompressedBytesHash = pithy_HashBytes(nextUncompressedBytes, shift); @@ -745,7 +745,7 @@ int pithy_Decompress(const char *compressed, size_t compressedLength, char *deco const unsigned char c = *((const unsigned char *)(compressedPtr++)); const unsigned char cLowerBits = (c & 0x3u); - const ssize_t spaceLeft = (decompressedEnd - decompressedPtr); + const int spaceLeft = (decompressedEnd - decompressedPtr); if ((cLowerBits == PITHY_LITERAL)) { size_t literalLength = (c >> 2) + 1; @@ -761,7 +761,7 @@ int pithy_Decompress(const char *compressed, size_t compressedLength, char *deco literalLength = (pithy_LoadHost32(compressedPtr) & pithy_wordmask[literalLengthBytes]) + 1; compressedPtr += literalLengthBytes; } - if (PITHY_EXPECT_F(spaceLeft < (ssize_t)literalLength) || + if (PITHY_EXPECT_F(spaceLeft < (int)literalLength) || PITHY_EXPECT_F((compressedPtr + literalLength) > compressedEnd)) { break; } @@ -779,7 +779,7 @@ int pithy_Decompress(const char *compressed, size_t compressedLength, char *deco DCHECK((compressedPtr <= compressedEnd) && (copyOffset > 0ul) && (spaceLeft > 0l) && (length > 0ul)); - if (PITHY_EXPECT_F((decompressedPtr - decompressedOut) <= ((ssize_t)copyOffset - 1l))) { + if (PITHY_EXPECT_F((decompressedPtr - decompressedOut) <= ((int)copyOffset - 1l))) { break; } if (PITHY_EXPECT_T(length <= 16ul) && @@ -803,7 +803,7 @@ int pithy_Decompress(const char *compressed, size_t compressedLength, char *deco } char *copyFrom = decompressedPtr - copyOffset, *copyTo = decompressedPtr; - ssize_t copyLength = (ssize_t)length; + int copyLength = (int)length; if (PITHY_EXPECT_F(copyLength > 256l) && PITHY_EXPECT_T(copyOffset > (size_t)copyLength)) { if (PITHY_EXPECT_F(spaceLeft < copyLength)) { From 2c43d412b31bc930f51becb6de8778fa604ba5da Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Mon, 9 Jul 2018 11:28:09 +0300 Subject: [PATCH 112/202] Fixing PR comments --- TESTS/host_tests/trng_reset.py | 2 +- TESTS/mbed_hal/trng/base64b/base64b.cpp | 103 +++++++++++++----------- TESTS/mbed_hal/trng/base64b/base64b.h | 4 +- TESTS/mbed_hal/trng/main.cpp | 6 +- TESTS/mbed_hal/trng/pithy/pithy.c | 1 - 5 files changed, 63 insertions(+), 53 deletions(-) diff --git a/TESTS/host_tests/trng_reset.py b/TESTS/host_tests/trng_reset.py index b6b4adfef2..eec7ac7977 100644 --- a/TESTS/host_tests/trng_reset.py +++ b/TESTS/host_tests/trng_reset.py @@ -16,7 +16,7 @@ limitations under the License. """ This script is the host script for trng test sequence, it send the step signaling sequence and receive and transmit data to the device after -reset if necesarry (default lading and storing while reseting the device +reset if necesarry (default loading and storing mechanism while reseting the device is NVstore, in case NVstore isn't enabled we'll use current infrastructure, for more details see main.cpp file) """ diff --git a/TESTS/mbed_hal/trng/base64b/base64b.cpp b/TESTS/mbed_hal/trng/base64b/base64b.cpp index 2f668da987..2623bfee6f 100644 --- a/TESTS/mbed_hal/trng/base64b/base64b.cpp +++ b/TESTS/mbed_hal/trng/base64b/base64b.cpp @@ -31,26 +31,26 @@ static base64_result_e Base64CharToInt(char base64, uint8_t *intVal) return BASE64_INVALID_PARAMETER; } - if ((base64 >= 'A') && (base64 <= 'Z')) - { *intVal = base64 - 'A' ; } - else if ((base64 >= 'a') && (base64 <= 'z')) - { *intVal = base64 - 'a' + 26; } - else if ((base64 >= '0') && (base64 <= '9')) - { *intVal = base64 - '0' + 52; } - else if (base64 == '+') - { *intVal = 62; } - else if (base64 == '/') - { *intVal = 63; } - else if (base64 == '=') - { *intVal = BASE_64_PAD; } - else { + if ((base64 >= 'A') && (base64 <= 'Z')) { + *intVal = base64 - 'A' ; + } else if ((base64 >= 'a') && (base64 <= 'z')) { + *intVal = base64 - 'a' + 26; + } else if ((base64 >= '0') && (base64 <= '9')) { + *intVal = base64 - '0' + 52; + } else if (base64 == '+') { + *intVal = 62; + } else if (base64 == '/') { + *intVal = 63; + } else if (base64 == '=') { + *intVal = BASE_64_PAD; + } else { return BASE64_ERROR; } return BASE64_SUCCESS; } -base64_result_e esfs_DecodeNBase64(const char *string, +base64_result_e trng_DecodeNBase64(const char *string, uint32_t stringMaxSize, void *buffer, uint32_t bufferSize, @@ -72,18 +72,20 @@ base64_result_e esfs_DecodeNBase64(const char *string, } *writePtr = 0; - while (( string[currPos] != 0 ) && - ( currPos < stringMaxSize ) && + while (( currPos < stringMaxSize ) && + ( string[currPos] != 0 ) && ( writePtr < bufferEnd ) && ( !isEndOfString )) { uint8_t val; - if (string[currPos] == 0 || currPos >= stringMaxSize) - { break; } + if (string[currPos] == 0) { + break; + } result = Base64CharToInt(string[currPos++], &val); - if (result != BASE64_SUCCESS) - { break; } + if (result != BASE64_SUCCESS) { + break; + } if (val != BASE_64_PAD) { if (bitOffset <= 2) { @@ -98,10 +100,11 @@ base64_result_e esfs_DecodeNBase64(const char *string, } } else { // found BASE_64_PAD // At most two pad characters may occur at the end of the encoded stream - if (bitOffset == 2) - { isEndOfString = true; } // The last padding byte has been processed. - else if (bitOffset != 4) - { return BASE64_ERROR; } // Incorrect padding + if (bitOffset == 2) { + isEndOfString = true; // The last padding byte has been processed. + } else if (bitOffset != 4) { + return BASE64_ERROR; // Incorrect padding + } } bitOffset = (bitOffset + 6) & 0x7; @@ -110,30 +113,34 @@ base64_result_e esfs_DecodeNBase64(const char *string, localCharsProcessed = currPos; } } - if (charsProcessed == NULL) - { localBytesWritten = (uint32_t)(writePtr - (uint8_t *)buffer); } - else - { *charsProcessed = localCharsProcessed; } - if (lengthWritten != NULL) - { *lengthWritten = localBytesWritten; } - else if (bufferSize != localBytesWritten) - { return BASE64_BUFFER_TOO_SMALL; } + if (charsProcessed == NULL) { + localBytesWritten = (uint32_t)(writePtr - (uint8_t *)buffer); + } else { + *charsProcessed = localCharsProcessed; + } + if (lengthWritten != NULL) { + *lengthWritten = localBytesWritten; + } else if (bufferSize != localBytesWritten) { + return BASE64_BUFFER_TOO_SMALL; + } // Check if additional bytes should have been processed but buffer isn't sufficient. if (( result == BASE64_SUCCESS ) && ( !isEndOfString ) && - ( string[currPos] != '=' ) && + ( currPos < stringMaxSize ) && ( string[currPos] != 0 ) && - ( currPos < stringMaxSize) ) - { return BASE64_BUFFER_TOO_SMALL; } + ( string[currPos] != '=' ) ) { + return BASE64_BUFFER_TOO_SMALL; + } - if (result != BASE64_SUCCESS) - { return result; } + if (result != BASE64_SUCCESS) { + return result; + } return BASE64_SUCCESS; } -base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize) +base64_result_e trng_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize) { uint32_t bitOffset = 0; @@ -143,8 +150,9 @@ base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char char *writePtr = string; char *stringEnd = string + stringSize - 1; - if ((NULL == string) || (NULL == buffer) || (stringSize == 0)) - { return BASE64_INVALID_PARAMETER; } + if ((NULL == string) || (NULL == buffer) || (stringSize == 0)) { + return BASE64_INVALID_PARAMETER; + } stringSize--; while (readPtr < bufferEnd && writePtr < stringEnd) { @@ -155,14 +163,16 @@ base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char break; case 6: tempVal = *readPtr++ << 4; - if (readPtr < bufferEnd) - { tempVal |= *readPtr >> 4; } + if (readPtr < bufferEnd) { + tempVal |= *readPtr >> 4; + } *writePtr++ = IntToBase64Char(tempVal); break; case 4: tempVal = *readPtr++ << 2; - if (readPtr < bufferEnd) - { tempVal |= *readPtr >> 6; } + if (readPtr < bufferEnd) { + tempVal |= *readPtr >> 6; + } *writePtr++ = IntToBase64Char(tempVal); break; case 2: @@ -179,8 +189,9 @@ base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char } *writePtr = 0; - if ((readPtr < bufferEnd) || (bitOffset != 0)) - { return (BASE64_BUFFER_TOO_SMALL); } + if ((readPtr < bufferEnd) || (bitOffset != 0)) { + return (BASE64_BUFFER_TOO_SMALL); + } return (BASE64_SUCCESS); } diff --git a/TESTS/mbed_hal/trng/base64b/base64b.h b/TESTS/mbed_hal/trng/base64b/base64b.h index e68796ce98..cbb6b85b56 100644 --- a/TESTS/mbed_hal/trng/base64b/base64b.h +++ b/TESTS/mbed_hal/trng/base64b/base64b.h @@ -25,8 +25,8 @@ typedef enum { BASE64_ERROR = 3, } base64_result_e; -base64_result_e esfs_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize); -base64_result_e esfs_DecodeNBase64(const char *string, uint32_t stringMaxSize, void *buffer, uint32_t bufferSize, +base64_result_e trng_EncodeBase64(const void *buffer, uint32_t bufferSize, char *string, uint32_t stringSize); +base64_result_e trng_DecodeNBase64(const char *string, uint32_t stringMaxSize, void *buffer, uint32_t bufferSize, uint32_t *lengthWritten, uint32_t *charsProcessed); diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index a3bea42bd3..6201eada0a 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -17,7 +17,7 @@ /* * The test is based on the assumption that trng will generate random data, random so * there will not be any similar patterns in it, that kind of data will be impossible to -* compress, if compression will acuur the test will result in failure. +* compress, if compression will occur the test will result in failure. * * The test is composed out of three parts: * the first, generate a trng buffer and try to compress it, at the end of first part @@ -119,7 +119,7 @@ static void compress_and_compare(char *key, char *value) /*Using base64 to decode data sent from host*/ uint32_t lengthWritten = 0; uint32_t charsProcessed = 0; - result = esfs_DecodeNBase64((const char *)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); + result = trng_DecodeNBase64((const char *)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); TEST_ASSERT_EQUAL(0, result); #endif memcpy(input_buf, buffer, BUFFER_LEN); @@ -181,7 +181,7 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); #else /*Using base64 to encode data sending from host*/ - result = esfs_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, sizeof(out_comp_buf)); + result = trng_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, sizeof(out_comp_buf)); TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); #endif diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c index 11cef26975..08f021f701 100644 --- a/TESTS/mbed_hal/trng/pithy/pithy.c +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -128,7 +128,6 @@ PITHY_STATIC_INLINE char *pithy_EmitCopy(char *op, size_t offset, size_t l #else #define PITHY_32BIT_MOVE64 PITHY_STATIC_INLINE uint64_t pithy_Load64(const void *p) { uint64_t t; memcpy(&t, p, sizeof(t)); return (t); } -PITHY_STATIC_INLINE void pithy_Store64(void *p, uint64_t v) { memcpy(p, &v, sizeof(v)); } #endif #else // not __arm__ From e9dc151bdd98a672a730c3a6747b33351396dcf2 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Tue, 10 Jul 2018 12:39:46 +0300 Subject: [PATCH 113/202] Reduce Debug prints --- TESTS/mbed_hal/trng/main.cpp | 71 ++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 6201eada0a..5468de8175 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -55,7 +55,7 @@ #define MSG_VALUE_LEN 64 #define MSG_KEY_LEN 32 -#define BUFFER_LEN (MSG_VALUE_LEN/2) //size of first step data, and half of the second step data +#define BUFFER_LEN (MSG_VALUE_LEN/2) #define MSG_TRNG_READY "ready" #define MSG_TRNG_BUFFER "buffer" @@ -64,10 +64,10 @@ #define MSG_TRNG_TEST_STEP2 "check_step2" #define MSG_TRNG_TEST_SUITE_ENDED "Test_suite_ended" -#define NVKEY 1 //NVstore key for storing and loading data +#define NVKEY 1 //NVstore key for storing and loading data /*there are some issues with nvstore and greentea reset, so for now nvstore is disabled, - *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/ + *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/ #define NVSTORE_RESET (NVSTORE_ENABLED & 0) using namespace utest::v1; @@ -100,8 +100,8 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) static void compress_and_compare(char *key, char *value) { trng_t trng_obj; - uint8_t out_comp_buf[BUFFER_LEN * 4] = {0}, buffer[BUFFER_LEN] = {0}; - uint8_t input_buf[BUFFER_LEN * 2] = {0}, temp_buff[BUFFER_LEN * 2] = {0}; + uint8_t out_comp_buf[(BUFFER_LEN * 8) + 32] = {0}, buffer[BUFFER_LEN] = {0}; + uint8_t input_buf[BUFFER_LEN * 4] = {0}, temp_buf[BUFFER_LEN * 2] = {0}; size_t comp_sz = 0; unsigned int result = 0; @@ -119,10 +119,14 @@ static void compress_and_compare(char *key, char *value) /*Using base64 to decode data sent from host*/ uint32_t lengthWritten = 0; uint32_t charsProcessed = 0; - result = trng_DecodeNBase64((const char *)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); + result = trng_DecodeNBase64((const char *)value, + MSG_VALUE_LEN, buffer, + BUFFER_LEN, + &lengthWritten, + &charsProcessed); TEST_ASSERT_EQUAL(0, result); #endif - memcpy(input_buf, buffer, BUFFER_LEN); + memcpy(input_buf, buffer, sizeof(buffer)); } /*Fill buffer with trng values*/ @@ -131,46 +135,41 @@ static void compress_and_compare(char *key, char *value) /*pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/ if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { - printf("\n******TRNG_TEST_STEP1*****\n"); - comp_sz = pithy_Compress((char *)buffer, sizeof(buffer), (char *)out_comp_buf, sizeof(out_comp_buf), 9); + printf("\n***TRNG_TEST_STEP1***\n trng_get_bytes for buffer size %d\n", sizeof(buffer)); - if (comp_sz >= BUFFER_LEN) { - printf("trng_get_bytes for buffer size %d was successful", sizeof(buffer)); - } else { - printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(buffer)); - TEST_ASSERT(false); - } - printf("\n******FINISHED_TRNG_TEST_STEP1*****\n\n"); + comp_sz = pithy_Compress((char *)buffer, + sizeof(buffer), + (char *)out_comp_buf, + sizeof(out_comp_buf), + 9); + TEST_ASSERT(comp_sz > sizeof(buffer)); } else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { + /*pithy_Compress will try to compress the random data with a different buffer sizem*/ - printf("\n******TRNG_TEST_STEP2*****\n"); - result = fill_buffer_trng(temp_buff, &trng_obj, sizeof(temp_buff)); + result = fill_buffer_trng(temp_buf, &trng_obj, sizeof(temp_buf)); TEST_ASSERT_EQUAL(0, result); - comp_sz = pithy_Compress((char *)temp_buff, sizeof(temp_buff), (char *)out_comp_buf, sizeof(out_comp_buf), 9); + printf("\n***TRNG_TEST_STEP2***\n trng_get_bytes for buffer size %d\n", sizeof(temp_buf)); - if (comp_sz >= BUFFER_LEN) { - printf("trng_get_bytes for buffer size %d was successful", sizeof(temp_buff)); - } else { - printf("trng_get_bytes for buffer size %d was unsuccessful", sizeof(temp_buff)); - TEST_ASSERT(false); - } - printf("\n******FINISHED_TRNG_TEST_STEP2*****\n\n"); + comp_sz = pithy_Compress((char *)temp_buf, + sizeof(temp_buf), + (char *)out_comp_buf, + sizeof(out_comp_buf), + 9); + TEST_ASSERT(comp_sz > sizeof(temp_buf)); - printf("******TRNG_TEST_STEP3*****\n"); + printf("\n***TRNG_TEST_STEP3***\n compression of concatenated buffer after reset\n"); + memcpy(input_buf + sizeof(buffer), temp_buf, sizeof(temp_buf)); /*pithy_Compress will try to compress the random data from before reset concatenated with new random data*/ - comp_sz = pithy_Compress((char *)input_buf, sizeof(input_buf), (char *)out_comp_buf, sizeof(out_comp_buf), 9); - - if (comp_sz >= BUFFER_LEN) { - printf("compression for concatenated buffer after reset was successful"); - } else { - printf("compression for concatenated buffer after reset was unsuccessful"); - TEST_ASSERT(false); - } - printf("\n******FINISHED_TRNG_TEST_STEP3*****\n\n"); + comp_sz = pithy_Compress((char *)input_buf, + sizeof(temp_buf) + sizeof(buffer), + (char *)out_comp_buf, + sizeof(out_comp_buf), + 9); + TEST_ASSERT(comp_sz > sizeof(temp_buf) + sizeof(buffer)); } /*At the end of step 1 store trng buffer and reset the device*/ From 42d6d7dca019d8cfdd68459cfcd192c4a8ff0840 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Tue, 10 Jul 2018 17:07:46 +0300 Subject: [PATCH 114/202] Erase debug prints --- TESTS/mbed_hal/trng/main.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 5468de8175..fa9558d517 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -134,33 +134,28 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(0, result); /*pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/ - if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { - - printf("\n***TRNG_TEST_STEP1***\n trng_get_bytes for buffer size %d\n", sizeof(buffer)); + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { comp_sz = pithy_Compress((char *)buffer, sizeof(buffer), (char *)out_comp_buf, sizeof(out_comp_buf), 9); - TEST_ASSERT(comp_sz > sizeof(buffer)); - - } else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { + TEST_ASSERT_MESSAGE(comp_sz > sizeof(buffer), + "TRNG_TEST_STEP1: trng_get_bytes was able to compressed thus not random"); /*pithy_Compress will try to compress the random data with a different buffer sizem*/ result = fill_buffer_trng(temp_buf, &trng_obj, sizeof(temp_buf)); TEST_ASSERT_EQUAL(0, result); - printf("\n***TRNG_TEST_STEP2***\n trng_get_bytes for buffer size %d\n", sizeof(temp_buf)); - comp_sz = pithy_Compress((char *)temp_buf, sizeof(temp_buf), (char *)out_comp_buf, sizeof(out_comp_buf), 9); - TEST_ASSERT(comp_sz > sizeof(temp_buf)); + TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf), + "TRNG_TEST_STEP2: trng_get_bytes was able to compressed thus not random"); - printf("\n***TRNG_TEST_STEP3***\n compression of concatenated buffer after reset\n"); memcpy(input_buf + sizeof(buffer), temp_buf, sizeof(temp_buf)); /*pithy_Compress will try to compress the random data from before reset concatenated with new random data*/ @@ -169,7 +164,8 @@ static void compress_and_compare(char *key, char *value) (char *)out_comp_buf, sizeof(out_comp_buf), 9); - TEST_ASSERT(comp_sz > sizeof(temp_buf) + sizeof(buffer)); + TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf) + sizeof(buffer), + "TRNG_TEST_STEP3: concatenated buffer after reset was able to compressed thus not random"); } /*At the end of step 1 store trng buffer and reset the device*/ From 9a4087ce5204b876ec2ee8d2af579423de636957 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Thu, 12 Jul 2018 09:46:32 +0300 Subject: [PATCH 115/202] Fix IAR issues --- TESTS/mbed_hal/trng/pithy/pithy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c index 08f021f701..213a44c877 100644 --- a/TESTS/mbed_hal/trng/pithy/pithy.c +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -81,7 +81,7 @@ enum { #define PITHY_PREFETCH(ptr) #endif // defined (__GNUC__) && (__GNUC__ >= 3) -#define PITHY_STATIC_INLINE static __inline__ PITHY_ATTRIBUTES(always_inline) +#define PITHY_STATIC_INLINE static inline PITHY_ATTRIBUTES(always_inline) #define PITHY_ALIGNED(x) PITHY_ATTRIBUTES(aligned(x)) #if defined(NS_BLOCK_ASSERTIONS) && !defined(NDEBUG) @@ -244,7 +244,7 @@ PITHY_STATIC_INLINE int pithy_Log2Floor(uint32_t n) PITHY_STATIC_INLINE int pithy_FindLSBSetNonZero32(uint32_t n) { - int i = 0, rc = 31; + int i = 0, rc = 31, shift = 0; for (i = 4, shift = 1 << 4; i >= 0; --i) { const uint32_t x = n << shift; if (x != 0u) { From 7140baecadeeab02532dc451721c9130fc4e7a76 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Thu, 12 Jul 2018 13:56:45 +0300 Subject: [PATCH 116/202] Fix Compilation problems --- TESTS/mbed_hal/trng/main.cpp | 8 +++++--- TESTS/mbed_hal/trng/pithy/pithy.c | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index fa9558d517..183c156fec 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -64,6 +64,8 @@ #define MSG_TRNG_TEST_STEP2 "check_step2" #define MSG_TRNG_TEST_SUITE_ENDED "Test_suite_ended" +#define RESULT_SUCCESS 0 + #define NVKEY 1 //NVstore key for storing and loading data /*there are some issues with nvstore and greentea reset, so for now nvstore is disabled, @@ -114,7 +116,7 @@ static void compress_and_compare(char *key, char *value) #if NVSTORE_RESET uint16_t actual = 0; result = nvstore.get(NVKEY, sizeof(buffer), buffer, actual); - TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); + TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to decode data sent from host*/ uint32_t lengthWritten = 0; @@ -173,11 +175,11 @@ static void compress_and_compare(char *key, char *value) int result = 0; #if NVSTORE_RESET result = nvstore.set(NVKEY, sizeof(buffer), buffer); - TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); + TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to encode data sending from host*/ result = trng_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, sizeof(out_comp_buf)); - TEST_ASSERT_EQUAL(NVSTORE_SUCCESS, result); + TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); #endif system_reset(); diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c index 213a44c877..97ffac8407 100644 --- a/TESTS/mbed_hal/trng/pithy/pithy.c +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -585,7 +585,7 @@ size_t pithy_Compress(const char *uncompressed, do { if (compressionLevel > 2) { DCHECK((uncompressedPtr + 5ul) <= uncompressedEnd); - uncompressedBytes64 = pithy_Load64(uncompressedPtr + 1ul); + uncompressedBytes64 = pithy_Load64((uint64_t*)uncompressedPtr + 1ul); hashTable[pithy_HashBytes(pithy_GetUint32AtOffset(uncompressedBytes64, 0u), shift)] = uncompressedPtr + 1ul; if (compressionLevel > 4) { @@ -618,7 +618,7 @@ size_t pithy_Compress(const char *uncompressed, DCHECK(((uncompressedPtr - 3ul) >= uncompressed) && (uncompressedPtr <= uncompressedEnd)); - uncompressedBytes64 = pithy_Load64(uncompressedPtr - 3ul); + uncompressedBytes64 = pithy_Load64((uint64_t*)uncompressedPtr - 3ul); if (compressionLevel > 0) { if (compressionLevel > 8) { From df1c9b9d92b1af529c633dd5529272658243d4c1 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Sun, 15 Jul 2018 10:29:02 +0300 Subject: [PATCH 117/202] Fix pithy library --- TESTS/mbed_hal/trng/pithy/pithy.c | 46 ------------------------------- 1 file changed, 46 deletions(-) diff --git a/TESTS/mbed_hal/trng/pithy/pithy.c b/TESTS/mbed_hal/trng/pithy/pithy.c index 97ffac8407..a17091d85a 100644 --- a/TESTS/mbed_hal/trng/pithy/pithy.c +++ b/TESTS/mbed_hal/trng/pithy/pithy.c @@ -53,10 +53,6 @@ // The maximum size that can be compressed while still allowing for the worst case compression expansion. #define PITHY_UNCOMPRESSED_MAX_LENGTH 0xdb6db6bfu // 0xdb6db6bf == 3681400511, or 3510.857 Mbytes. -#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__arm__) -#define PITHY_UNALIGNED_LOADS_AND_STORES -#endif - typedef const char *pithy_hashOffset_t; enum { @@ -100,7 +96,6 @@ enum { } while(0) #endif - PITHY_STATIC_INLINE const char *pithy_Parse32WithLimit(const char *p, const char *l, size_t *OUTPUT); PITHY_STATIC_INLINE char *pithy_Encode32(char *ptr, uint32_t v); @@ -112,31 +107,6 @@ PITHY_STATIC_INLINE char *pithy_EmitCopyGreaterThan63(char *op, size_t off PITHY_STATIC_INLINE char *pithy_EmitCopyLessThan63(char *op, size_t offset, size_t len); PITHY_STATIC_INLINE char *pithy_EmitCopy(char *op, size_t offset, size_t len); - -#ifdef PITHY_UNALIGNED_LOADS_AND_STORES - -#define pithy_Load16(_p) (*((uint16_t *)(_p))) -#define pithy_Load32(_p) (*((uint32_t *)(_p))) -#define pithy_Store16(_p, _val) (*((uint16_t *)(_p)) = (_val)) -#define pithy_Store32(_p, _val) (*((uint32_t *)(_p)) = (_val)) - -#if defined(__arm__) - -#if defined(__ARM_NEON__) -#define pithy_Load64(_p) ((uint64_t)vld1_u64(_p)) -#define pithy_Store64(_p, _val) vst1_u64(_p, (uint64x1_t)_val) -#else -#define PITHY_32BIT_MOVE64 -PITHY_STATIC_INLINE uint64_t pithy_Load64(const void *p) { uint64_t t; memcpy(&t, p, sizeof(t)); return (t); } -#endif - -#else // not __arm__ -#define pithy_Load64(_p) (*((uint64_t *)(_p))) -#define pithy_Store64(_p, _val) (*((uint64_t *)(_p)) = (_val)) -#endif // __arm__ - -#else - PITHY_STATIC_INLINE uint16_t pithy_Load16(const void *p) { uint16_t t; memcpy(&t, p, sizeof(t)); return (t); } PITHY_STATIC_INLINE uint32_t pithy_Load32(const void *p) { uint32_t t; memcpy(&t, p, sizeof(t)); return (t); } PITHY_STATIC_INLINE uint64_t pithy_Load64(const void *p) { uint64_t t; memcpy(&t, p, sizeof(t)); return (t); } @@ -144,24 +114,8 @@ PITHY_STATIC_INLINE void pithy_Store16(void *p, uint16_t v) { memcpy(p, &v, PITHY_STATIC_INLINE void pithy_Store32(void *p, uint32_t v) { memcpy(p, &v, sizeof(v)); } PITHY_STATIC_INLINE void pithy_Store64(void *p, uint64_t v) { memcpy(p, &v, sizeof(v)); } -#endif - - -#ifdef PITHY_32BIT_MOVE64 -#define pithy_Move64(dst,src) pithy_Store32(dst, pithy_Load32(src)); \ - pithy_Store32(dst + 4ul, pithy_Load32(src + 4ul)); -#else #define pithy_Move64(dst,src) pithy_Store64(dst, pithy_Load64(src)); -#endif - - -#if defined(__arm__) && defined(__ARM_NEON__) && defined(PITHY_UNALIGNED_LOADS_AND_STORES) -#define pithy_Move128(_dst,_src) ({ \ - asm ("vld1.64 {d0-d1}, [%[src]]\n\tvst1.64 {d0-d1}, [%[dst]]" : : \ - [src]"r"(_src), [dst]"r"(_dst) : "d0", "d1", "memory"); }) -#else #define pithy_Move128(dst,src) pithy_Move64(dst, src); pithy_Move64(dst + 8ul, src + 8ul); -#endif #ifdef __BIG_ENDIAN__ From 11cca7545a549f5ebc9ae3bd32b7e7c1abce0dc2 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Sun, 5 Aug 2018 11:27:27 +0300 Subject: [PATCH 118/202] Fix messages --- TESTS/mbed_hal/trng/main.cpp | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 183c156fec..168ef599b5 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -84,7 +84,7 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) memset(buffer, 0, BUFFER_LEN); while (true) { - trng_res = trng_get_bytes(trng_obj, temp_in_buf, trng_len, &output_length); + trng_res = trng_get_bytes(trng_obj, temp_in_buf, trng_len - temp_size, &output_length); TEST_ASSERT_EQUAL_INT_MESSAGE(0, trng_res, "trng_get_bytes error!"); temp_size += output_length; temp_in_buf += output_length; @@ -102,7 +102,7 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) static void compress_and_compare(char *key, char *value) { trng_t trng_obj; - uint8_t out_comp_buf[(BUFFER_LEN * 8) + 32] = {0}, buffer[BUFFER_LEN] = {0}; + uint8_t out_comp_buf[(BUFFER_LEN * 5) + 32] = {0}, buffer[BUFFER_LEN] = {0}; uint8_t input_buf[BUFFER_LEN * 4] = {0}, temp_buf[BUFFER_LEN * 2] = {0}; size_t comp_sz = 0; unsigned int result = 0; @@ -119,10 +119,12 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to decode data sent from host*/ + uint32_t lengthWritten = 0; uint32_t charsProcessed = 0; result = trng_DecodeNBase64((const char *)value, - MSG_VALUE_LEN, buffer, + MSG_VALUE_LEN, + buffer, BUFFER_LEN, &lengthWritten, &charsProcessed); @@ -131,12 +133,14 @@ static void compress_and_compare(char *key, char *value) memcpy(input_buf, buffer, sizeof(buffer)); } - /*Fill buffer with trng values*/ - result = fill_buffer_trng(buffer, &trng_obj, sizeof(buffer)); - TEST_ASSERT_EQUAL(0, result); - + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { + /*Fill buffer with trng values*/ + result = fill_buffer_trng(buffer, &trng_obj, sizeof(buffer)); + TEST_ASSERT_EQUAL(0, result); + memcpy(input_buf, buffer, sizeof(buffer)); + } /*pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/ - if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { + else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { comp_sz = pithy_Compress((char *)buffer, sizeof(buffer), @@ -144,7 +148,7 @@ static void compress_and_compare(char *key, char *value) sizeof(out_comp_buf), 9); TEST_ASSERT_MESSAGE(comp_sz > sizeof(buffer), - "TRNG_TEST_STEP1: trng_get_bytes was able to compressed thus not random"); + "TRNG_TEST_STEP1: trng_get_bytes was able to compress thus not random"); /*pithy_Compress will try to compress the random data with a different buffer sizem*/ result = fill_buffer_trng(temp_buf, &trng_obj, sizeof(temp_buf)); @@ -156,10 +160,9 @@ static void compress_and_compare(char *key, char *value) sizeof(out_comp_buf), 9); TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf), - "TRNG_TEST_STEP2: trng_get_bytes was able to compressed thus not random"); + "TRNG_TEST_STEP2: trng_get_bytes was able to compress thus not random"); memcpy(input_buf + sizeof(buffer), temp_buf, sizeof(temp_buf)); - /*pithy_Compress will try to compress the random data from before reset concatenated with new random data*/ comp_sz = pithy_Compress((char *)input_buf, sizeof(temp_buf) + sizeof(buffer), @@ -167,7 +170,7 @@ static void compress_and_compare(char *key, char *value) sizeof(out_comp_buf), 9); TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf) + sizeof(buffer), - "TRNG_TEST_STEP3: concatenated buffer after reset was able to compressed thus not random"); + "TRNG_TEST_STEP3: concatenated buffer after reset was able to compress thus not random"); } /*At the end of step 1 store trng buffer and reset the device*/ @@ -178,8 +181,12 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to encode data sending from host*/ - result = trng_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, sizeof(out_comp_buf)); + result = trng_EncodeBase64(buffer, + BUFFER_LEN, + (char *)out_comp_buf, + sizeof(out_comp_buf)); TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); + greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); #endif system_reset(); From e39e964e868efc73aa377c1c80aa2ea8ddfa6c6e Mon Sep 17 00:00:00 2001 From: David Saada Date: Thu, 26 Jul 2018 12:07:09 +0300 Subject: [PATCH 119/202] Fix TRNG test to use reset from python script and not from code --- TESTS/host_tests/trng_reset.py | 64 +++++++++++++---------- TESTS/mbed_hal/trng/main.cpp | 95 ++++++++++++++++++---------------- 2 files changed, 89 insertions(+), 70 deletions(-) diff --git a/TESTS/host_tests/trng_reset.py b/TESTS/host_tests/trng_reset.py index eec7ac7977..33dfffc987 100644 --- a/TESTS/host_tests/trng_reset.py +++ b/TESTS/host_tests/trng_reset.py @@ -24,16 +24,18 @@ for more details see main.cpp file) import time from mbed_host_tests import BaseHostTest from mbed_host_tests.host_tests_runner.host_test_default import DefaultTestSelector +from time import sleep DEFAULT_CYCLE_PERIOD = 1.0 MSG_VALUE_DUMMY = '0' MSG_TRNG_READY = 'ready' MSG_TRNG_BUFFER = 'buffer' -MSG_TRNG_FINISH = 'finish' MSG_TRNG_TEST_STEP1 = 'check_step1' MSG_TRNG_TEST_STEP2 = 'check_step2' MSG_KEY_SYNC = '__sync' -MSG_KEY_TEST_SUITE_ENDED = 'Test suite ended' +MSG_KEY_RESET_COMPLETE = 'reset_complete' +MSG_KEY_TEST_SUITE_ENDED = 'Test_suite_ended' +MSG_KEY_EXIT = 'exit' class TRNGResetTest(BaseHostTest): """Test for the TRNG API. @@ -41,12 +43,10 @@ class TRNGResetTest(BaseHostTest): def __init__(self): super(TRNGResetTest, self).__init__() - self.reset = False - self.finish = False + self.did_reset = False + self.ready = False self.suite_ended = False self.buffer = 0 - cycle_s = self.get_config_item('program_cycle_s') - self.program_cycle_s = cycle_s if cycle_s is not None else DEFAULT_CYCLE_PERIOD self.test_steps_sequence = self.test_steps() # Advance the coroutine to it's first yield statement. self.test_steps_sequence.send(None) @@ -55,8 +55,8 @@ class TRNGResetTest(BaseHostTest): def setup(self): self.register_callback(MSG_TRNG_READY, self.cb_device_ready) self.register_callback(MSG_TRNG_BUFFER, self.cb_trng_buffer) - self.register_callback(MSG_TRNG_FINISH, self.cb_device_finish) self.register_callback(MSG_KEY_TEST_SUITE_ENDED, self.cb_device_test_suit_ended) + self.register_callback(MSG_KEY_RESET_COMPLETE, self.cb_reset_complete) #receive sent data from device before reset def cb_trng_buffer(self, key, value, timestamp): @@ -64,10 +64,16 @@ class TRNGResetTest(BaseHostTest): """ self.buffer = value + try: + if self.test_steps_sequence.send(value): + self.notify_complete(True) + except (StopIteration, RuntimeError) as exc: + self.notify_complete(False) + def cb_device_ready(self, key, value, timestamp): """Acknowledge device rebooted correctly and feed the test execution """ - self.reset = True + self.ready = True try: if self.test_steps_sequence.send(value): @@ -75,10 +81,10 @@ class TRNGResetTest(BaseHostTest): except (StopIteration, RuntimeError) as exc: self.notify_complete(False) - def cb_device_finish(self, key, value, timestamp): - """Acknowledge device finished a test step correctly and feed the test execution + def cb_reset_complete(self, key, value, timestamp): + """Acknowledge reset complete """ - self.finish = True + self.did_reset = True try: if self.test_steps_sequence.send(value): @@ -103,31 +109,37 @@ class TRNGResetTest(BaseHostTest): """ wait_for_communication = yield - self.reset = False + self.ready = False + self.did_reset = False + self.suite_ended = False self.send_kv(MSG_TRNG_TEST_STEP1, MSG_VALUE_DUMMY) - time.sleep(self.program_cycle_s) + wait_for_communication = yield + if self.buffer == 0: + raise RuntimeError('Phase 1: No buffer received.') + + self.reset() + + """Test step 2 (After reset) + """ + wait_for_communication = yield + if self.did_reset == False: + raise RuntimeError('Phase 1: Platform did not reset as expected.') + self.send_kv(MSG_KEY_SYNC, MSG_VALUE_DUMMY) wait_for_communication = yield - if self.reset == False: - raise RuntimeError('Phase 1: Platform did not reset as expected.') - - """Test step 2 (After reset) - """ - self.finish = False + if self.ready == False: + raise RuntimeError('Phase 1: Platform not ready as expected.') + self.send_kv(MSG_TRNG_TEST_STEP2, self.buffer) - time.sleep(self.program_cycle_s) - - wait_for_communication = yield - - if self.finish == False: - raise RuntimeError('Test failed.') wait_for_communication = yield if self.suite_ended == False: raise RuntimeError('Test failed.') + self.send_kv(MSG_KEY_EXIT, MSG_VALUE_DUMMY) + # The sequence is correct -- test passed. - yield True \ No newline at end of file + yield \ No newline at end of file diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 168ef599b5..a99ab02250 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -59,6 +59,7 @@ #define MSG_TRNG_READY "ready" #define MSG_TRNG_BUFFER "buffer" +#define MSG_TRNG_EXIT "exit" #define MSG_TRNG_TEST_STEP1 "check_step1" #define MSG_TRNG_TEST_STEP2 "check_step2" @@ -102,11 +103,19 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) static void compress_and_compare(char *key, char *value) { trng_t trng_obj; - uint8_t out_comp_buf[(BUFFER_LEN * 5) + 32] = {0}, buffer[BUFFER_LEN] = {0}; - uint8_t input_buf[BUFFER_LEN * 4] = {0}, temp_buf[BUFFER_LEN * 2] = {0}; + uint8_t *out_comp_buf, *buffer; + uint8_t *input_buf, *temp_buf; size_t comp_sz = 0; unsigned int result = 0; +#define OUT_COMP_BUF_SIZE ((BUFFER_LEN * 5) + 32) +#define TEMP_BUF_SIZE (BUFFER_LEN * 2) + + out_comp_buf = new uint8_t[OUT_COMP_BUF_SIZE]; + buffer = new uint8_t[BUFFER_LEN]; + input_buf = new uint8_t[BUFFER_LEN * 4]; + temp_buf = new uint8_t[BUFFER_LEN * 2]; + #if NVSTORE_RESET NVStore& nvstore = NVStore::get_instance(); #endif @@ -115,7 +124,7 @@ static void compress_and_compare(char *key, char *value) if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { #if NVSTORE_RESET uint16_t actual = 0; - result = nvstore.get(NVKEY, sizeof(buffer), buffer, actual); + result = nvstore.get(NVKEY, BUFFER_LEN, buffer, actual); TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to decode data sent from host*/ @@ -130,70 +139,72 @@ static void compress_and_compare(char *key, char *value) &charsProcessed); TEST_ASSERT_EQUAL(0, result); #endif - memcpy(input_buf, buffer, sizeof(buffer)); + memcpy(input_buf, buffer, BUFFER_LEN); } if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { /*Fill buffer with trng values*/ - result = fill_buffer_trng(buffer, &trng_obj, sizeof(buffer)); + result = fill_buffer_trng(buffer, &trng_obj, BUFFER_LEN); TEST_ASSERT_EQUAL(0, result); - memcpy(input_buf, buffer, sizeof(buffer)); + memcpy(input_buf, buffer, BUFFER_LEN); } /*pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/ else if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { comp_sz = pithy_Compress((char *)buffer, - sizeof(buffer), + BUFFER_LEN, (char *)out_comp_buf, - sizeof(out_comp_buf), + OUT_COMP_BUF_SIZE, 9); - TEST_ASSERT_MESSAGE(comp_sz > sizeof(buffer), + TEST_ASSERT_MESSAGE(comp_sz > BUFFER_LEN, "TRNG_TEST_STEP1: trng_get_bytes was able to compress thus not random"); /*pithy_Compress will try to compress the random data with a different buffer sizem*/ - result = fill_buffer_trng(temp_buf, &trng_obj, sizeof(temp_buf)); + result = fill_buffer_trng(temp_buf, &trng_obj, TEMP_BUF_SIZE); TEST_ASSERT_EQUAL(0, result); comp_sz = pithy_Compress((char *)temp_buf, - sizeof(temp_buf), + TEMP_BUF_SIZE, (char *)out_comp_buf, - sizeof(out_comp_buf), + OUT_COMP_BUF_SIZE, 9); - TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf), + TEST_ASSERT_MESSAGE(comp_sz > TEMP_BUF_SIZE, "TRNG_TEST_STEP2: trng_get_bytes was able to compress thus not random"); - memcpy(input_buf + sizeof(buffer), temp_buf, sizeof(temp_buf)); + memcpy(input_buf + BUFFER_LEN, temp_buf, TEMP_BUF_SIZE); /*pithy_Compress will try to compress the random data from before reset concatenated with new random data*/ comp_sz = pithy_Compress((char *)input_buf, - sizeof(temp_buf) + sizeof(buffer), + TEMP_BUF_SIZE + BUFFER_LEN, (char *)out_comp_buf, - sizeof(out_comp_buf), + OUT_COMP_BUF_SIZE, 9); - TEST_ASSERT_MESSAGE(comp_sz > sizeof(temp_buf) + sizeof(buffer), + TEST_ASSERT_MESSAGE(comp_sz > TEMP_BUF_SIZE + BUFFER_LEN, "TRNG_TEST_STEP3: concatenated buffer after reset was able to compress thus not random"); + greentea_send_kv(MSG_TRNG_TEST_SUITE_ENDED, MSG_VALUE_DUMMY); } /*At the end of step 1 store trng buffer and reset the device*/ if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { int result = 0; #if NVSTORE_RESET - result = nvstore.set(NVKEY, sizeof(buffer), buffer); + result = nvstore.set(NVKEY, BUFFER_LEN, buffer); TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); #else /*Using base64 to encode data sending from host*/ result = trng_EncodeBase64(buffer, BUFFER_LEN, (char *)out_comp_buf, - sizeof(out_comp_buf)); + OUT_COMP_BUF_SIZE); TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); #endif - system_reset(); - TEST_ASSERT_MESSAGE(false, "system_reset() did not reset the device as expected."); } - return; + delete[] out_comp_buf; + delete[] buffer; + delete[] input_buf; + delete[] temp_buf; } /*This method call first and second steps, it directs by the key received from the host*/ @@ -201,34 +212,31 @@ void trng_test() { greentea_send_kv(MSG_TRNG_READY, MSG_VALUE_DUMMY); - static char key[MSG_KEY_LEN + 1] = { }; - static char value[MSG_VALUE_LEN + 1] = { }; - memset(key, 0, MSG_KEY_LEN + 1); - memset(value, 0, MSG_VALUE_LEN + 1); + char key[MSG_KEY_LEN + 1] = { }; + char *value = new char[MSG_VALUE_LEN + 1]; + do { + memset(key, 0, MSG_KEY_LEN + 1); + memset(value, 0, MSG_VALUE_LEN + 1); - greentea_parse_kv(key, value, MSG_KEY_LEN, MSG_VALUE_LEN); + greentea_parse_kv(key, value, MSG_KEY_LEN, MSG_VALUE_LEN); - if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { - /*create trng data buffer and try to compress it, store it for later checks*/ - compress_and_compare(key, value); - return trng_test(); - } + if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { + /*create trng data buffer and try to compress it, store it for later checks*/ + compress_and_compare(key, value); + } - if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { - /*create another trng data buffer and concatenate it to the stored trng data buffer - try to compress them both*/ - compress_and_compare(key, value); - } -} + if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { + /*create another trng data buffer and concatenate it to the stored trng data buffer + try to compress them both*/ + compress_and_compare(key, value); + } + } while (strcmp(key, MSG_TRNG_EXIT) != 0); -utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) -{ - greentea_case_failure_abort_handler(source, reason); - return STATUS_CONTINUE; + delete[] value; } Case cases[] = { - Case("TRNG: trng_test", trng_test, greentea_failure_handler), + Case("TRNG: trng_test", trng_test), }; utest::v1::status_t greentea_test_setup(const size_t number_of_cases) @@ -242,7 +250,6 @@ Specification specification(greentea_test_setup, cases, greentea_test_teardown_h int main() { bool ret = !Harness::run(specification); - greentea_send_kv(MSG_TRNG_TEST_SUITE_ENDED, MSG_VALUE_DUMMY); return ret; } From b31b0fae290783737a3c1cec32e776cfc196a4e9 Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Mon, 6 Aug 2018 15:40:57 +0300 Subject: [PATCH 120/202] Remove NVstore unused mechanism --- TESTS/mbed_hal/trng/main.cpp | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index a99ab02250..16d791ca7e 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -30,11 +30,9 @@ * together, if there are similar patterns the compression will succeed. * * We need to store and load the first part data before and after reset, the mechanism -* we chose is NVstore, mainly because its simplicity and the fact it is not platform -* dependent, in case a specific board does not support NVstore we will use the -* mbed greentea platform for sending and receving the data from the device to the -* host running the test and back, the problem with this mechanism is that it doesn't handle -* well certain characters, especially non ASCII ones, so we used the base64 algorithm +* we will use is the mbed greentea platform for sending and receving the data from the device +* to the host running the test and back, the problem with this mechanism is that it doesn't +* handle well certain characters, especially non ASCII ones, so we use the base64 algorithm * to ensure all characters will be transmitted correctly. */ @@ -43,7 +41,6 @@ #include "utest/utest.h" #include "hal/trng_api.h" #include "base64b.h" -#include "nvstore.h" #include "pithy.h" #include @@ -67,12 +64,6 @@ #define RESULT_SUCCESS 0 -#define NVKEY 1 //NVstore key for storing and loading data - -/*there are some issues with nvstore and greentea reset, so for now nvstore is disabled, - *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/ -#define NVSTORE_RESET (NVSTORE_ENABLED & 0) - using namespace utest::v1; static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) @@ -116,19 +107,9 @@ static void compress_and_compare(char *key, char *value) input_buf = new uint8_t[BUFFER_LEN * 4]; temp_buf = new uint8_t[BUFFER_LEN * 2]; -#if NVSTORE_RESET - NVStore& nvstore = NVStore::get_instance(); -#endif - /*At the begining of step 2 load trng buffer from step 1*/ if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { -#if NVSTORE_RESET - uint16_t actual = 0; - result = nvstore.get(NVKEY, BUFFER_LEN, buffer, actual); - TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); -#else /*Using base64 to decode data sent from host*/ - uint32_t lengthWritten = 0; uint32_t charsProcessed = 0; result = trng_DecodeNBase64((const char *)value, @@ -138,7 +119,6 @@ static void compress_and_compare(char *key, char *value) &lengthWritten, &charsProcessed); TEST_ASSERT_EQUAL(0, result); -#endif memcpy(input_buf, buffer, BUFFER_LEN); } @@ -186,10 +166,6 @@ static void compress_and_compare(char *key, char *value) /*At the end of step 1 store trng buffer and reset the device*/ if (strcmp(key, MSG_TRNG_TEST_STEP1) == 0) { int result = 0; -#if NVSTORE_RESET - result = nvstore.set(NVKEY, BUFFER_LEN, buffer); - TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); -#else /*Using base64 to encode data sending from host*/ result = trng_EncodeBase64(buffer, BUFFER_LEN, @@ -198,7 +174,6 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_EQUAL(RESULT_SUCCESS, result); greentea_send_kv(MSG_TRNG_BUFFER, (const char *)out_comp_buf); -#endif } delete[] out_comp_buf; From 3ad5eca9df9acba45c135af59749ecab595a178f Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Thu, 9 Aug 2018 09:54:44 +0300 Subject: [PATCH 121/202] Fix trng_len loop --- TESTS/mbed_hal/trng/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 16d791ca7e..ea661ba185 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -80,7 +80,6 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) TEST_ASSERT_EQUAL_INT_MESSAGE(0, trng_res, "trng_get_bytes error!"); temp_size += output_length; temp_in_buf += output_length; - trng_len -= output_length; if (temp_size >= trng_len) { break; } From 59d258722a6441b1ef42c117e2e018cf6eb9a6c2 Mon Sep 17 00:00:00 2001 From: Yossi Levy Date: Wed, 5 Sep 2018 17:42:06 +0300 Subject: [PATCH 122/202] Adding complete buffer print in case of failure. --- TESTS/mbed_hal/trng/main.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index ea661ba185..0c967f7507 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -90,6 +90,14 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len) return 0; } +void print_array(uint8_t *buffer, size_t size) +{ + for (size_t i=0; i < size; i++) { + utest_printf("%02x", buffer[i]); + } + utest_printf("\n"); +} + static void compress_and_compare(char *key, char *value) { trng_t trng_obj; @@ -135,6 +143,9 @@ static void compress_and_compare(char *key, char *value) (char *)out_comp_buf, OUT_COMP_BUF_SIZE, 9); + if (comp_sz <= BUFFER_LEN){ + print_array(buffer, BUFFER_LEN); + } TEST_ASSERT_MESSAGE(comp_sz > BUFFER_LEN, "TRNG_TEST_STEP1: trng_get_bytes was able to compress thus not random"); @@ -147,6 +158,9 @@ static void compress_and_compare(char *key, char *value) (char *)out_comp_buf, OUT_COMP_BUF_SIZE, 9); + if (comp_sz <= BUFFER_LEN){ + print_array(temp_buf, TEMP_BUF_SIZE); + } TEST_ASSERT_MESSAGE(comp_sz > TEMP_BUF_SIZE, "TRNG_TEST_STEP2: trng_get_bytes was able to compress thus not random"); @@ -157,8 +171,12 @@ static void compress_and_compare(char *key, char *value) (char *)out_comp_buf, OUT_COMP_BUF_SIZE, 9); + if (comp_sz <= TEMP_BUF_SIZE + BUFFER_LEN){ + print_array(input_buf, TEMP_BUF_SIZE + BUFFER_LEN); + } TEST_ASSERT_MESSAGE(comp_sz > TEMP_BUF_SIZE + BUFFER_LEN, "TRNG_TEST_STEP3: concatenated buffer after reset was able to compress thus not random"); + greentea_send_kv(MSG_TRNG_TEST_SUITE_ENDED, MSG_VALUE_DUMMY); } From aa01c2ea75c4808551337e7a9e2dedfe5145e95a Mon Sep 17 00:00:00 2001 From: Amir Cohen Date: Tue, 25 Sep 2018 15:30:29 +0300 Subject: [PATCH 123/202] Fix print error --- TESTS/mbed_hal/trng/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TESTS/mbed_hal/trng/main.cpp b/TESTS/mbed_hal/trng/main.cpp index 0c967f7507..cfa0260d13 100644 --- a/TESTS/mbed_hal/trng/main.cpp +++ b/TESTS/mbed_hal/trng/main.cpp @@ -111,8 +111,8 @@ static void compress_and_compare(char *key, char *value) out_comp_buf = new uint8_t[OUT_COMP_BUF_SIZE]; buffer = new uint8_t[BUFFER_LEN]; - input_buf = new uint8_t[BUFFER_LEN * 4]; temp_buf = new uint8_t[BUFFER_LEN * 2]; + input_buf = new uint8_t[BUFFER_LEN * 4]; /*At the begining of step 2 load trng buffer from step 1*/ if (strcmp(key, MSG_TRNG_TEST_STEP2) == 0) { @@ -149,7 +149,7 @@ static void compress_and_compare(char *key, char *value) TEST_ASSERT_MESSAGE(comp_sz > BUFFER_LEN, "TRNG_TEST_STEP1: trng_get_bytes was able to compress thus not random"); - /*pithy_Compress will try to compress the random data with a different buffer sizem*/ + /*pithy_Compress will try to compress the random data with a different buffer size*/ result = fill_buffer_trng(temp_buf, &trng_obj, TEMP_BUF_SIZE); TEST_ASSERT_EQUAL(0, result); @@ -158,7 +158,7 @@ static void compress_and_compare(char *key, char *value) (char *)out_comp_buf, OUT_COMP_BUF_SIZE, 9); - if (comp_sz <= BUFFER_LEN){ + if (comp_sz <= TEMP_BUF_SIZE){ print_array(temp_buf, TEMP_BUF_SIZE); } TEST_ASSERT_MESSAGE(comp_sz > TEMP_BUF_SIZE, From 50d73e59ef1e81d668774481cab3a6dac385e6a4 Mon Sep 17 00:00:00 2001 From: zzw Date: Thu, 6 Sep 2018 14:28:34 +0800 Subject: [PATCH 124/202] rtl8195am lib updates 1, rtl8195am lib updates. Preparation for the low power features. --- .../TARGET_RTL8195A/analogin_api.c | 32 +- .../TARGET_RTL8195A/analogout_api.c | 2 + .../lib_peripheral_mbed_arm.ar | Bin 285112 -> 300690 bytes .../TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar | Bin 1171736 -> 1172050 bytes .../lib_peripheral_mbed_gcc.a | Bin 665826 -> 978004 bytes .../TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a | Bin 6553148 -> 8317270 bytes .../TOOLCHAIN_IAR/lib_peripheral_mbed_iar.a | Bin 358636 -> 391294 bytes .../device/TOOLCHAIN_IAR/lib_wlan_mbed_iar.a | Bin 1217756 -> 1308826 bytes .../device/platform_autoconf.h | 57 +- .../TARGET_RTL8195A/device/platform_opts.h | 227 +- .../TARGET_RTL8195A/device/rtl8195a_init.c | 154 +- .../TARGET_RTL8195A/device/rtl8195a_trap.h | 4 - .../TARGET_AMEBA/TARGET_RTL8195A/gpio_api.c | 2 + .../TARGET_RTL8195A/gpio_irq_api.c | 2 + .../TARGET_AMEBA/TARGET_RTL8195A/i2c_api.c | 17 +- .../TARGET_RTL8195A/log_uart_api.h | 291 ++- .../TARGET_AMEBA/TARGET_RTL8195A/port_api.c | 2 +- .../TARGET_AMEBA/TARGET_RTL8195A/serial_api.c | 4 + .../TARGET_AMEBA/TARGET_RTL8195A/spi_api.c | 90 +- .../TARGET_AMEBA/TARGET_RTL8195A/spi_ex_api.h | 244 ++ .../TARGET_AMEBA/TARGET_RTL8195A/timer_api.c | 2 +- .../TARGET_AMEBA/TARGET_RTL8195A/timer_api.h | 2 +- .../TARGET_AMEBA/TARGET_RTL8195A/trng_api.c | 2 +- .../TARGET_AMEBA/TARGET_RTL8195A/us_ticker.c | 4 +- .../TARGET_Realtek/TARGET_AMEBA/rtw_emac.cpp | 1 + .../sdk/common/api/platform/platform_stdlib.h | 285 +-- .../api/platform/platform_stdlib_rtl8195a.h | 166 ++ .../sdk/common/api/wifi/wifi_conf.c | 1967 ----------------- .../sdk/common/api/wifi/wifi_conf.h | 181 +- .../sdk/common/api/wifi/wifi_ind.c | 274 --- .../sdk/common/api/wifi/wifi_ind.h | 23 +- .../sdk/common/api/wifi/wifi_promisc.c | 482 ---- .../sdk/common/api/wifi/wifi_util.c | 1344 ----------- .../sdk/common/api/wifi/wifi_util.h | 2 + .../drivers/wlan/realtek/include/autoconf.h | 303 ++- .../drivers/wlan/realtek/include/drv_conf.h | 104 - .../drivers/wlan/realtek/include/rom_aes.h | 52 - .../drivers/wlan/realtek/include/rtw_debug.h | 453 ---- .../wlan/realtek/include/wifi_constants.h | 46 +- .../wlan/realtek/include/wifi_structures.h | 57 +- .../wlan/realtek/src/osdep/freertos/wrapper.h | 14 +- .../wlan/realtek/src/osdep/lwip_intf.c | 249 +-- .../wlan/realtek/src/osdep/lwip_intf.h | 12 +- .../drivers/wlan/realtek/src/osdep/wireless.h | 2 + .../wlan/realtek/src/osdep/wlan_intf.h | 1 + .../sdk/os/cmsis_rtos/cmsis_rtos_service.c | 1314 ++++++----- .../sdk/os/cmsis_rtos/cmsis_rtos_service.h | 267 ++- .../TARGET_AMEBA/sdk/os/os_dep/device_lock.c | 2 +- .../sdk/os/os_dep/include/device_lock.h | 4 +- .../sdk/os/os_dep/include/osdep_service.h | 961 +++++++- .../sdk/os/os_dep/osdep_service.c | 106 +- .../TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c | 32 +- .../sdk/soc/realtek/8195a/fwlib/hal_adc.h | 12 +- .../sdk/soc/realtek/8195a/fwlib/hal_common.h | 17 + .../sdk/soc/realtek/8195a/fwlib/hal_dac.h | 5 - .../sdk/soc/realtek/8195a/fwlib/hal_efuse.h | 2 + .../sdk/soc/realtek/8195a/fwlib/hal_i2c.h | 25 +- .../sdk/soc/realtek/8195a/fwlib/hal_i2s.h | 347 +++ .../sdk/soc/realtek/8195a/fwlib/hal_misc.h | 15 + .../sdk/soc/realtek/8195a/fwlib/hal_pwm.h | 7 + .../soc/realtek/8195a/fwlib/hal_spi_flash.h | 87 +- .../sdk/soc/realtek/8195a/fwlib/hal_ssi.h | 1 + .../sdk/soc/realtek/8195a/fwlib/hal_timer.h | 9 +- .../realtek/8195a/fwlib/rtl8195a/rtl8195a.h | 9 +- .../8195a/fwlib/rtl8195a/rtl8195a_i2s.h | 714 ++++++ .../8195a/fwlib/rtl8195a/rtl8195a_pwm.h | 4 + .../8195a/fwlib/rtl8195a/rtl8195a_sdio.h | 1060 ++++++++- .../8195a/fwlib/rtl8195a/rtl8195a_timer.h | 5 - .../8195a/fwlib/rtl8195a/rtl8195a_uart.h | 49 +- .../realtek/8195a/misc/driver/rtl_consol.c | 384 ---- .../realtek/8195a/misc/driver/rtl_consol.h | 139 -- .../realtek/8195a/misc/os/cmsis_pmu_8195a.c | 213 ++ .../realtek/8195a/misc/os/cmsis_pmu_8195a.h | 110 + .../sdk/soc/realtek/common/bsp/basic_types.h | 72 +- .../soc/realtek/common/bsp/section_config.h | 42 +- .../common/rtl_std_lib/include/rtl_lib.h | 155 -- targets/TARGET_Realtek/mbed_rtx.h | 2 +- tools/bootloaders/REALTEK_RTL8195AM/LICENSE | 49 + tools/bootloaders/REALTEK_RTL8195AM/ram_1.bin | Bin 262144 -> 262144 bytes 79 files changed, 6402 insertions(+), 6974 deletions(-) create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/spi_ex_api.h create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/platform/platform_stdlib_rtl8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_conf.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_ind.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_promisc.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_util.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/drv_conf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/rom_aes.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/rtw_debug.h create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_common.h create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_i2s.h create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_i2s.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/driver/rtl_consol.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/driver/rtl_consol.h create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/os/cmsis_pmu_8195a.c create mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/os/cmsis_pmu_8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/common/rtl_std_lib/include/rtl_lib.h create mode 100644 tools/bootloaders/REALTEK_RTL8195AM/LICENSE diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogin_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogin_api.c index 44ce5b66cd..8a5237958a 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogin_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogin_api.c @@ -41,8 +41,11 @@ void analogin_init (analogin_t *obj, PinName pin) HAL_ADC_INIT_DAT HalADCInitDataTmp; PHAL_ADC_INIT_DAT pHalADCInitDataTmp = &HalADCInitDataTmp; /* To backup user config first */ - + +#if defined(CONFIG_MBED_ENABLED) _memset(&(obj->HalADCInitData), 0, sizeof(HAL_ADC_INIT_DAT)); +#endif + _memcpy(pHalADCInitDataTmp, &(obj->HalADCInitData), sizeof(HAL_ADC_INIT_DAT)); _memset(obj, 0x00, sizeof(analogin_t)); @@ -92,17 +95,13 @@ void analogin_init (analogin_t *obj, PinName pin) pSalADCHND->pUserCB = pSalADCMngtAdpt->pUserCB; /*To assign user callback pointers*/ - pSalADCMngtAdpt->pUserCB->pTXCB = pSalADCUserCBAdpt; - pSalADCMngtAdpt->pUserCB->pTXCCB = (pSalADCUserCBAdpt+1); - pSalADCMngtAdpt->pUserCB->pRXCB = (pSalADCUserCBAdpt+2); - pSalADCMngtAdpt->pUserCB->pRXCCB = (pSalADCUserCBAdpt+3); - pSalADCMngtAdpt->pUserCB->pRDREQCB = (pSalADCUserCBAdpt+4); - pSalADCMngtAdpt->pUserCB->pERRCB = (pSalADCUserCBAdpt+5); - pSalADCMngtAdpt->pUserCB->pDMATXCB = (pSalADCUserCBAdpt+6); - pSalADCMngtAdpt->pUserCB->pDMATXCCB = (pSalADCUserCBAdpt+7); - pSalADCMngtAdpt->pUserCB->pDMARXCB = (pSalADCUserCBAdpt+8); - pSalADCMngtAdpt->pUserCB->pDMARXCCB = (pSalADCUserCBAdpt+9); - + + pSalADCMngtAdpt->pUserCB->pRXCB = pSalADCUserCBAdpt; + pSalADCMngtAdpt->pUserCB->pRXCCB = (pSalADCUserCBAdpt+1); + pSalADCMngtAdpt->pUserCB->pERRCB = (pSalADCUserCBAdpt+2); + pSalADCMngtAdpt->pUserCB->pIDMARXCCB= (pSalADCUserCBAdpt+3); + pSalADCMngtAdpt->pUserCB->pDMARXCB = (pSalADCUserCBAdpt+4); + pSalADCMngtAdpt->pUserCB->pDMARXCCB = (pSalADCUserCBAdpt+5); /* Set ADC Device Number */ pSalADCHND->DevNum = adc_idx; @@ -136,9 +135,13 @@ float analogin_read(analogin_t *obj) uint8_t AnaloginIdx = 0; uint32_t AnalogDat = 0; +#if defined(CONFIG_MBED_ENABLED) //no auto-calibration implemented yet, uses hard coded calibrate uint32_t Offset = 0x2980; uint32_t AnalogDatFull = 0xAA00; +#else + uint32_t AnalogDatFull = 0; +#endif PSAL_ADC_MNGT_ADPT pSalADCMngtAdpt = NULL; PSAL_ADC_HND pSalADCHND = NULL; @@ -152,7 +155,12 @@ float analogin_read(analogin_t *obj) AnalogDat = AnaloginTmp[(AnaloginIdx/2)]; AnalogDat = (AnalogDat & AnaloginDatMsk); AnalogDat = (AnalogDat>>((u32)(16*(AnaloginIdx&0x01)))); + +#if defined(CONFIG_MBED_ENABLED) AnalogDat -= Offset; +#else + AnalogDatFull = 0xCE80; +#endif value = (float)(AnalogDat) / (float)(AnalogDatFull); return (float)value; diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogout_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogout_api.c index d69e12db05..2c33b63290 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogout_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/analogout_api.c @@ -26,6 +26,8 @@ #define DAC_POSITIVE_FULL_SCALE 0x7E0 #define DAC_NEGATIVE_FULL_SCALE 0x820 +extern void HalDACPinMuxInit(void *Data); +extern void HalDACPinMuxDeInit(void *Data); /** \brief analogout_init:\n * to initialize DAC diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_peripheral_mbed_arm.ar b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_peripheral_mbed_arm.ar index 7aff54937f7dc8412326aa7e4d8574f232845343..156f86a5763979083d471bf04705858aa853706d 100644 GIT binary patch literal 300690 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 T;UfyZdL{fOB(O>WD!%^**mxQ@ literal 285112 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�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%0A?r#amf_}D^3&3E%mYf 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 diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar index 980575aa8b65824a0abf0f2d503f58c7c612df19..0b2a03c1dd790144c7de553fe2c6ac216f17a3b1 100644 GIT binary patch literal 1172050 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

F1ZI&L{%QCZ$lwQ_~!FRiLxRaeQr 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�)|LLTz3=6B2@zC3I933 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%0A+e)j*|?C_ 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

J1b~hA74CutB6Dr*t4}$ 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 uZcVh&tL} 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 mM?E^|vE}FG@ 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�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

nKF;5w6ODcC6{D9rDZp6g8XSBqXp!qFJh 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

>$WA{eALLv zl>1cgn1_`Q!?Qc?Oo%-Pj=%Snitv5@!o6bBC;iv?U-0kmGDbRM`@5VYJ+TpSW0LDk z#k%JcMT@s5O72dJyH1tPezwxIns)nLr#|qSb%Fhum*w~!{$C_qMOXR@{q1w_L+U?P z*5+9CG4aq_PPaRl2K#)6_fTSc%b~>ELe){%7||xLsH@8>cm~>Pec~2<ytXa!CMKLu~?c*K4 zEgP2TtJYB4Y|-zd??~)BPq_T&#jvJAM6mLNp*gC&+7_LBnr15*;~JN*wal6_d}CsH zVe?o_`bPCJS;j+exzfK8^gUQK&WHLk&(`Zt91wYbl=c6xpSf0^9Fr!x#-!)Rj>8sz znp{hR^)Tw*F?{ZrH+d{Njm!6UiIHiYlOwxM7_yf3l#KrObW6F-+P+5jE)T*!f4p~# znfttBd_XKJFRfg-u)K81yvl`MfAPHeOBa>XpEmQ06y?!p%9$D3mb`p99z7`I0|$K3{@q-HGfY-n)~l64+B=g;Ux{|14ZPvsKRu zyW=_jyzsTEu5whq!uN;dnu|SeV!gqcwneX@mzuZ#HS|#h`}O_m=`gtB06*Q%9634B zQ8~frJvmQC<543cXN}0LUXyhoBR@LVvrlwwF&rpAOMd_Zz@7u}MF@9or=LqWJJCPN ztIB=V-#@1RIsC&KUQ2A8YIw(Xh{-rJtU53z|2Y<&yK&!ne)hxNDZAydAy@mv!*7MR zmR#1EmOJ@U@1@Mc@MU-YI_&PsGF)9*GAF|~vXiAbkZ@&T`!$Dg(&2o(#NBx?eb0%1 z{ybJRcsJr4H?nsP^D5|CGO!9O9?tQzgiA;&KjTJwci2D4mV?LA~t1kj9TP#ty z?cv1Q>c972ijBCx-+(6zxnj89kLYF9gil~ec{o>`p<=?yJEXmJ-JGpxYM{K zzR;f&4^1B%`(mO+Y)`agZBMNAGNj7i@#m9W#>o#nUremcGEUrObo}|3s7>im)h3BRWoMYj)@r)dE^ZqNo*G#jay6R z{d~{uhOazU9>2818<`v_l6CZ{@XwA7L+?smF^RoLg=ztXvF92KP{Ntjx)(Il+n#t> zgnVOTm&C&j9jm7Lx0X!!1vRN>h#(+!{Uh$=}|TpzWm6?29Ay&FCIg*RTEY_%%?Q@`as zo0%_iikl2sa_f6rqH?6XtI%hhxo$T(9svg47Db-ryDSiID?)eK>NRd7@h6 zKC_x>h`rmfdX4W|>|?`*E=zmIn69#s!(+Mi*LUo?ZCgnuT1Oc|r^@#1>loh=ZHP2% zEfK$%jw_QBk!ksU6r0`A-J+baEUuT#J3nsLp7~d(m1S+JCYy&&em{rBf5&Ff_T7vXTDb_CKuq1`#V`;@-)bOkdtGjVI${~{a;L!=Nnfz(ZiPKJFXC&#nn%B zVdun&SPLgE^WWy5mV>)kK5;(*bRFKnO*AI)i;)NaaHnu3yqVt5bHdt{n2^aburHNY zC=F}xDmu{{yIJ4uaa>tii=BKF}-Rs6W?D471M4yMu|Bt3WbZOeejk{z^mWp2rct~N zWIDu|?}gCA)Me#l$+V;R_G!<;+x&?;MJ%yNWbdCh{s+&A$?tT|8+Z7*=mD44eWGYo zXCiBqG5L?NqVWfxbNJ4@7Co?WU#4*T$H;fb2XH>dv!$x{*`5#vTH6WX{RcebZ}XQa ze?HIM{!H|MS+e&NzL7DkTRwB0Y_Trki5bbaBJ)cN-*5-s->27#Z*=2rOlfCz;G5PE z@fX6C?|iVv_#N}|2*Y8P#mMeT$>UFfwn6=_jA=!J)_fzw)q2if{Ujh1Un{7gW zix|Qc6W+tsW=gu|4VCiyI6t&L_Xxk&%d6%R7sXuisA6wHs}UWY^JH6lwF^%M;q?Zq zgRZV@K|Q|p^Scno-@{whfrX9UVovRP7lvBaH#V*E7O%kkt#>hAalK`Yt3!BgmhOXN z`Yru8=xa~TMcx^>!s(CsxA}D$+~a4&#;DRvjE%vU6LZWDJA4yk`5U~^O$h^UB+hM* zCbs2a?d-5&?|Qm2O78*kwx*r%jLIx9e4}GH8eMm#11o4V)P6ONz$TjoVrBr+-hM@bJYV_lD?wYciTn9yssfr^hw4PA%J6^0R+G$v4Bf+st<@ ztj&!jUT+i=GjogN9gsQ6Io*i4ri;#BO-#d4I*#%uR-SHKW8STX@StBB7IU51wdP2o zY65EzvN`kWk?~(mGh+GEhIejH+&jT_re@6}as~X>L}nFynnzq+=x;nGa@!M&^4b$s zc?T2A^4M3MtZeiDru~6E_xodSiL48E{^+e?S)Nl%%27Af7y2_lk%{~~r{>T7d%x$| zX*p&ub$qX9$I-ooSdVQCtJv=i5Bp|*S$giTa>RC)=U)?I+gMy(W0xAQIaMS60e9u_ zXU|j5x8Xb3Up|mX6Gsyp$GIjuJBv<^llbJt#y7|2PE#p;26K^ii&%>y}$%mro|2+k6|HFw&aWI`Ll!b44=TETOy3RM{ z-ycp~Q?zyU&9n3O7bNd?;Ts=*Z zQS!E`7@mN_mlhkg-w`>#Lqt49X84C&qs<;sgfsmDUo<(g??&HH?W_LtZ_!H3x8gI` zt@IXb)o;GS-C3MGu8Qr697?<=I0_;zFS<3_!SNLIz7ul&LY@Cl60MmSXTi$z>2ZVw zPafNxc%^Z3;z#)XxbaXTYYnbb=ApzGBMa@vb!Ml012&JhTaNFS#~!KkwB>l0Jl>S3 zKstvfa}J@xEbcV^iLDpvoH#j<-&Ja<>{iP zw5}b7+2)TXva^CgH{P1=^y7_7zBgT%*fw%=V%_j)>*mDz;rXp~g_{#C!z+^EXx*Z{ zgX4F?+lnumrwx87Y?poDjc7kS);*5L`(MYr-V+?5s5<3H4wwVx<2ST+{_N_2^C)Lq zkLMx{&Jo$mF_^XUeZ}z@9*4*2ae3UHG*7z6;~D13@C^54dN8omSDbVs{V#~~m*tb* zN7=Gb58Clq?mP0JF%SEVyqc#1=)V=elF=gmPhQr^BA06j{=Rh(| zrFRR;@Y2h#nmn=8IRu?5snh%3EZpFc$lmx3^!Zm{k`7awx~^_uK02%pVY9o#mNAUFbdMv<2dS>pjjV@P zi-#w<4`|P8hNqsNj{iG^UoYdQhI`>hHwzbu^VR*8y$}(mS*Y$c2YrR)IX8R~X zIV{(&2F>iHm;d!}vK?~0TD#0Q^*ZbG`3}N)e(D-t&t|Igh#~BVDsvA`5%_!Yqk9?? z<*z{Y)>d?Tj-mtL+7$aJO-;#EZd#meS=Y6=Z9iLSV z;|D){RrUcfquO6+-fz4=c0&ir$bJSwya@anWUo9l zrK4|i)Qn!Q>*+z*&#!~7<^0ws&kz2(u3fOJzcy7bng1u1%{`ijV0mr__CgZVJr0cK znZ(??64@s4cNErn9R@b)+jUE&HKS%j zOQ^A_4r7Uf*^r1=qrX&}n`&oRw--8_5~{R@_60kuUD_I(>q5~PTpN_a3vxCWW@ulq zzBkRo?p}?}SQHff&^PPQzF=&i`T=2XJC^K|6s=8aD41?quNs7kj%9gR^_^a~a^D-8 z4Td+yTCTz94-wVaS$n26Z)l!@<#ORnuQ0(_$=hX35sQtn(=DwRGiL^YS-Tdvy~A{9Gq*lEKq8+MCqq_^9pQ*_I4j`x_( z41YbDrx^}=t(5SEH0qbmEi#k3^hmSeOu=tj?Z_LmTVbyKa0)}TE6gI1$7Xv9c8dEH z#t_N>W$#_UqbSn-;p(1iCLv4+YQPXXA;^GS0)hracXD9}iV_iByk-Ik35{T<2NU+z#(eL+GS0|GOl-;xc z=lj0r`8Q17{?+~ZR@Gb8Z^6DR;e3s5;V1m{&w%t_o>(?viwRrV<~aYP$L72^OnPimfFH;DkJgf;x5ftiTd{T|{2dmYFUR3Sz;6T7 zT9WMl0Q@=d`vPwTj*9gn+5Z-p9?H1|<=-=YJC}!W2lykgL{oUYs!kQxy|- z0Anf6#fa#l#I)MiQZ^ZjFffIqh#k(HAjU7eBd_N&ZZD9Ps179)Yug|1%D!0Ji~OF6@7VoN+8NM=~<<{}nLlJ~I681ug~l z3iq!8Zv-ZpFuC6b{1@PCf!70DP#KEAcL5IsMikurt-ynU(d0QU2EGIsS>!ke_|iD{ z%aPtZV57dq179EKz7Oz?akvHkZ;r#S1DC|%eZZx0_&nfQz zTl9%{1*WpO4SkMerW8KO&hJMWjPgnVejpBihq`zOI4u0X2izMx%5WbACLU(g_d4LS zz(W<`p6;m}3w)Kpw*lV+JVxN_fM1To6M)-*pB45afgi&da;Lxpfm6VYb_?7acposy z8!12kjfOD_42tB7gbxEh2Mi}1e+c|K@CO3F2K*415y=b5{Z?Qb`003o*8%?m*ywM| zftLU)!oCXFc>17F=9+Mc36qX2<01FIFyZq}IMsx|M_)4@^8cv`zh=T)O?bTt*O~C0 zCQN$4jECZzX2Ro5nDo>b54rDa!au^yc*y>U3ICS~|K5bndcjti?5j<9t_hP4GvlH7 zCz|kuCVZX=Cz!BV&sQt@mGMycW<6gon(TjT!jGD8*n}6E@H`X#IXz#On%rlZF!3GZ zq4d*OWjusGHvlN%cTM;W6W(sZ8%_8j6Q+J^JQV(H1Ar2~(S)a(aJ~r-H{tV5nC30U zL*d6|pX>SRF<&zDd@U6|mI#VOgT*ozzCopNDC4&}|8U)}k8`eZ`n{Tj{p1dGK2Zqu ztBL+vpD(yp>w0^L){{Bt(?r3HJ|eo6v2Q>#!uo!C#xvl}&5&v=JLH`rcXHm|A`av^*gM<}~AA+tBbRF5l{8xm1LNC@t?A;S?WbF5# zv-2@d5Jq}FA&U6^N)+kh`mkXB1K~~hflpI?a=lm&W4=Qe?&ux^7w`m`cLOY=MO_h+I=?-8PK_r0*UVy;6tnJCgp^D`=6AJOZO zE~4;%3sKn9e2#FPz*~r-d}v-w`oeY-MgBh{igbKU6zTY0*gF$|e}{SloqY?^OBm_O zB?|XNM3Ju>h$5cZ!ahj!dh{bC=MhD?{fWX|7SRXLzKE`YJ~*OqKb|Pu=M#ndBBEd-*9m(+QKYw; zD8gAGXoM)f*WN%B{$3)A@b(gY0_8;%`FADiR3W+wYQBgf952z8s2`%>b5{|aiFk=3 zpSKWw5__mb5q=HP`_bNs{s!|{q6lXT(RB{~aw>4=6I zJ5Kbs;6F*ATe0pW3jf21mZE(N^Bai5{Y+s$k0|(KCDGNm`;X{7y}*P$H>+9d4XCyI9W z3DLX2he2o0hdwxAp59ycmrWGmjUc)l>qDX_kIRI)k7xvZis*yjQ$*1YZXk+wF`Fpd zR}w{eg^8lw)e%KLB7!y$jiQ_c-9vOe$_F&#KE@~V#1CDV&{O-#CJOf>1RYQGDYS24 z|0|*!5uTvCi6XohD1}#qwE)=%h$4SA0&fuX8=`0jNqs=Kpq&v#_#=oyaB-b5pG_3* zmJ9qEQIzWspc(g|zEXh^et$vF7xW{d$j33Fa8DBmS1sBx(Z|4li6Xv$pw)tg1zj!Z zGeloxY!6Z7=dXeuCyMrTHe_-{M-%-W_ylOioRjqp79j~T(maJI+Q1BfZxT2lFq#Or z4+&f&aGk)YQf^Q47zz)pgyT&DKP&JKfnO7NkHGH=ykFqY1a1}hYk@U^PY9e#6lFPq zDB29iC7FIRA%SZIUMn!ov&gjr3A|U} zc7cxx?6$xk%7fNzl(fD_64Q$=U2?)x*zY1d%t}F9W~&_ zBFtcAMKx5ELNTSTJ#ujsX=fn43{cvj8wKYsL|C^X>bZLGRfb7dV5HNorxMn=dMr?N z3M&M)2ntRYLy_j~JWR8iRcy+K7C;SZ6%^u?EfShFVc4ZiwQ3fWMU>H(bfg+7-o~V6 zHQp*-{c3l{e^#X{SHn4XVHJ*KlvJa5d6e9+tbBfXwVni0A`AVRU215d2Nv2xq3)Gm zdt8F3;dNn`ArFHJFs_(5>{dO?Aw?4?FV$6fa+8^}7R;iW=M_(x#{nL?S-GU5Y(dHG zrMlW%!z^$|W%(Q)7nxAAC@Y`c<%)28NQ6Z_(JShx5_(E`3V9f0cvAFK=Ov4fq&uK7 zvm{s!b+^#V+MNwD;2F_DIz~p%1rwq27=TUBF08NyThEF(@P2o#q*d zS1oeKtzC82Q=Kk~7WErfKWK8ZdKmCN)g!IY_&T$+vivq4B%SX=FDC~)r1IOTG-tur z%+gu6GQ-+vIVS6_rhZ2VH32=y(C$kCu<}rFE|k7f_o`Tg@B+6os6?hns7X)-LsPKc zo4XX;nzieiRpCPAZI@cxYdLetuLOsgK6AcMNjY;-S=r()#gx?Sbd%Du(jaLjUZiWe zoj-Tst(SikwPi3L& z#wI>_N?Wk6Gthy}JFH$&>tV{%oqxOrQ0LE*4^pe1f$b%!s&)$qLN3YX;lRlMHtBe>G%JoH#0b@-MTmy=LMy z*Ikr-*EQ3xD7d0fhZh4DP05~mO>thq#Q*aevWegQzpETuq#(Nt>*dn4MvFvJ= zcNIh?rR5l|nUsZBTi16k%7c#L?l4aVI;q{p9jY`#NG z()Aeb2E&BHGae1@=zNj!7_Vk`C(b!D9opWsGjmsahVJ&j-QKv280nje1RL*^_9rsC z>wvJ4UmxD%-8I17XNlxOe+;|J03oLBdTNF<7KS?%4?k~7;X%ZGk`C!mN9E*PbkRkMGA8$;i^g#CpVy)7-N|F?(xH7GPH4*i zSBLf_Dua^V-P*OGcN-eTk9BDjH*BPUuIHQE1YG`I-j-t6T%z>mV0 z_m$wJCj6!z$zegX2f0qpl#YCm^5(bRtds&vOd2A^+|Z561_USdv|}AE85)I#SYk4M zX>ddC+&=tX#1T~$y2_j7XsTa=Ue+7aEo}u>x0dZ?!;V60DrssZt;?S;$*S47gfuFV ztM(Ti&}H^y8EIoX(Xgtq_nrq@d$S*ktk3t}vjT6V;n>NwgR%1+o#9_Tv+OY~%hFKw zRn_^`wc7rfk7)xf{_0*?bD>f5ZSJmDmUXkW<2C-?utXl5?6Dk3f^NBwWeK`CKdvm) z_E&_np7GE2*J?kMj_@z^Kkxs>KcaMD>4=#NXMR)4GD+*@^QDx+1jVNPu6IT7o2rCH zU3XSrAC7)^hObZdZSrl(A`N#3v^1`t`uY*lhj))CXkL#Lx!V(aOEGAua$2(fbcHjM zDJ!*!O4=o?&6|{}B{jV;(b0@|mR6V_3Ws3FEUGuXXiuz zbu)U!4DCxrQA_5=IlHx5CP7nE*j-pkT6PWHNTltJw1F-6J<>>;6P<-A5!dlOIOgn% zxS#{HRFY~$TseWt`=2;qJ9ZnnRPva)_0pus9g?atk>hTs< zd>+kHLADY!7CSqv+%E5^GwWG5T8?ymu81-7tExaIznBS~BALZkfSS~5%aNX=FyDZ-S@v^5&k7Dm14Oua;P zdyap2P|FFk%w8R7iM=|k$^Nv6R;D}!jfzh7T#e=Aw}+Do+QXJ7Cdx5yx_9ES550Ix z)*Q;+>66plL%#a(j;M2Fm5;4E=b$r7%1q{EYuWlA9Zq?4CR8V=RF1W7QReG)n#whv zjfY-g-Tghj-&9yT>Y!;YC({AlZB*X5(RCkFAsrfe*iO}el zpz^7q&F*j}xDtN^`=|L^uJG+(7sm8j4ZXTEJ)z?h);~+vg1b}ugt@mU?fJ~xo+NG7 zK5?H7O>GpzlbV-VpjA1gKB7UHSd?6Pp}~&axU;^WoX~NQm+mFV?eMsCxuD5xYI~B? z6&Zv6$=0maaXWNvb~}#%eIZcs&aZ$}ff}MN#Mmi^qle;5ozY|^ z6lCk}4859u5V7fHusB3@484%fjTLzl|G0m>_B1(&h0<^6 zdp$HgKAoK()kEo3e>ebabr!bzTLYd_@6l3sex887ozS^!w!DV?mmFcPs+g<8Y0VUxXQ@wrBKkCFF;l2V4$?fmsdsK# zO8t`hr?a4SIZU7j&Y7q8PEQ^6O>cW6^Mpy)B8#MfqdDs>k%TrhwGJuq@7wKJj?UWK zJX}Zj_23XTa0E(+{;qR^mo=~KTp!*>x&-^7XAzZEXOwun6*^l7_@pgzCgVNlWo<$q z*t;*_W)zZTeNX%`T*yP*&63(%eMWs*)7-0UOZO4yzcc3OOsNWIxifW5ua&A?zdA>6 z^~9M@PNl91n(UxioTocDSMuOu7@kHwg*kJrgDswOnse&Hw!S=`l-N2=aR=v7+Pz1X z1+5XhZ}FxFXIe!rSY*y3vVA-*XQS?;eB5ZtS2rFt*D|DE^QgL2wzGLG(3sibu~2T_ z!_5a&5}rErMz1GKV~wOJi~eJg8ejudzY6`w-EFuJZ^J3P4X2VeiPH0Y?5d8K{m+Z$!p%Lsrcl>E78d9 zy1P%iz4w^d)edQ2dL~mHnLkW@Op}^cPn14Lv7fWgo4#9j&8%%k85hfbV2XN!WlVvvCjsb11 zcE!)z56_9N(Q=*ka9?XjUs*>D)n&@l+FqINv}j*O8pff-2AXws9hE2SxZ|MN+BuSI zX{4A9ZNTo=&!bxgiqWzaw&pp_o`bQ@!3NIr6&-iyQJm+!zM-foK>A8gaVxI5L8Ior2JU*xB{#EzSjrJO1 zZT5p-*kh97FO@QNZsJjy@?DFJ8y&2k^J1AQxyWqZ)RAGC=YyWnjtoXIZHg{SCk?@j zkL?zPWhv+>y5?X?qaIdY?pp>wqPs?}L(ld`e|L0k4uvoseR~Y=+qy4F`I^S3srUF+ zHbTSk9P}QqHIj(6L9-T$I4kTCPl#nV6@(qLo2MRgmd@a z5R5{LeZZmGv!H8Lj8yI0hX+XG^u4&FVhqv|Mmo~Hl#cdL<>FC`A82*3kwx1>m7!6g zm^O^3%UZuv>mS~!r8U?B@^E{zwcd-{GGyrf1&1B<3OKeD>$P1{rQwrenUh2F6GC2hJAivrgf1FG6?k{0H>14(mg6Rw4u^qUR$A`a`-W|>M$8B5OnF$?PEK8qvZnv!;vOSz-?M%5X%zHt5bT3k^9K&4_ z$HIQf!N-_SAavQ;A%RYiS(cIi7hvnf_@L)eQkJwZb%09oy#~%rp@dDLc%Pz>4zzUJ zGG0n3<--rT-fQVSXad^xiM-zW?GEM^{qE>suitNn zR{QI7aL

?>!#1t@F($XxRM@dYEe)q1{=c*_gBQ$=S}%UAHTTUKvZZ21rmtM$ zXJj2}b;^{%n3>r+tO@q4+yVN$6LT!gsu-Vx+OsC(1`mC%vSVpR8e^aw)HG)?Vw|vAuP>wEn>MN#{BXEs;$XHNR*&x1mi+ z9FO^mo?|tT(B`n^7OH-^9-4g@$F$e1`621y9ckh8qKUos%k>YZ!>q4fBU1gLfUPi` z?ks!`>6YrprAcjxj9ez}zX7#o;iY&eaC0GYzfN0iq5G<)wp$aCuY>{WmI@>G zO%;a%tS!NYwL;5BTAd}a?T=F4O{*NPeVCO+inWW`J?ThINRQp-yE~mi+mYY;$%U%H zP)Nr5V~dQ{UXf3Jobqn#m|~H#ELa~BLVdWUc8et8J~Nj2faY{t)>yX6S@>9nm#Mr} z${H%%I!8JV*gEE0jP)h?kDvb~9ypmNUR39^1TKs|gW3MFZC!8n*vMTfO~L z=*`cK>TL$^O1(DU9hsz$D>gpb6!Fofbtgi`ILI<7WJ+H{l&#N;^7Xr5WRt z^2n3;%tn5mwb>J18gQQaqmo-ST;1GeXI9UUPjl)h{mXq9X>xCR%R8DUy_9~B@4ksr zb55u>vITm<`;4<--9WbYL~bd(YNGmKFZHgQAB=|j(cLln93w57JR+@G4Kzl_7P9(# z^S}9UWj*N!-=R%#Pfp*2zseG}J~^jp+t9T8@{VqcD z;r_fObnT^ufpiL)m+Y-?X$~gUhp^(hcQd%9B>Og2tk`PESeQpThu>)p}X zddUO%7EJD`_f)Obrm#R2-MEy@AY0)rNK)PaC;k>?d=|>MS0`KYX#IOy5!Q8uC}Hok zBRFpkx+iKkc zKYhr|TJOZ{@UkMfmItU4iozNHXxS4z*%$d?h{@aKONxyy`n+Wne5fsw^5+(;b`sED z?xdD7*%#m~cw@yQTjz;+i6{D`Cb0!RU%%%D3{dS#mKr?Q>goTfhu65nH&(QaFlLo` z?78%n`BL+v;2Qsd8FQapOSA57xo=|Oi}{B>qBQ(=L)9>l|%fZ`?q| zv=Hv1V!Gst`t&_rvZsq;cZTMnA1j_w`*&iVtB+Tqkm|Rp2tV?E%Wf?xY{f`HI^uOb z?Z2sDgXe)q&ghbVu?^0lDf^eD>pXz{`ZpExe51SU{ZY2zk7$`|@}&=$^23*(_gj{3 zL5NgR7Db))n+gf{z8InH)~1AaYu>Ok8V)6^6w;+#Au-P}+%wQ*!zv%Q$>92}GJVEH z;~;Jb;vwqtO^2_^ksRBt`6Ko$dxuNvr9xl5jaHF1tRf@Y39E{n`NL%Emh`oXW|#Nv z*2Y966@QV2qA>Y6G(X-K?hK8ULjt^rNy>WC+CSC7RyN*`kv_?Zda*B!IgW>zE#knM zPG4z4&XZ7y8D(iuA8SeOGdPwYxN2_ZX2=@k`fGh}AC?=K^0ww?Z)3HOnh$Ql=D0@|` z#`RV7-FfX{tgct{p1ucRe5wU`=^?znb#s7}Pqh#qmna5cw>0Nv?Q+)GX}!B|EO&lr zyS;4%!fKM5wN~Zw?X7|3`Aq$dIs*60x!KpFsBYV%gVlIf`B8F}9OuHjlU9c0cCYps zW>&lL_x5yY#OI&(QqRHdO{cbf<5S8l`I6Tc`}pjAD$uTa+$H7cD8?Gt9;5Y;Xv;g# z!TJa*5=oaT|()xIL%2-5=w&1n@4bux+?;LiU`C zwPL^6V3l@h9)l#*y)$sDDp(#z3GbI(fB356N1Yy%X;}9s&H2PFgY=BK{Pve*|uWjCmZAaUTr_*z?SAA zVm(TuE8V{E-Bj+6R+b6(b;&(*a5qetmz#~9-zD>ilY55!rAd%`ZVJ+Ek5nS9LFZU| z7Tu%3OFK*6yorxkSNrVZW*#rUna6=L)cYOX1`DZD&L-T4rq@v?t#$KAX0og79NY<^ z-vU9BJbkX(6jcJat3;BAq&DYU(T61azD)mk-2SG=>Qvpw(o1k(hMy!+x|yWhhfu$p z>hRqU+0!0|-WI?;e=bU;oxKKm9PO3pEsMs6d$qDi0Q2#Wgme|uYtOpgm#ukzt@nLH zhGFg6ClT`*q|@Mv4NG^Nv`eBchZ#%D^kV!^VoDu$IxM;@wuvd>!+v=^$(L7clh??Q zobod5A;-QCbHLo_ss^%Ig&AOwkKe{x^p`FCJ|tuA2bqa3BlQFwu0dYDlE7+_QL2Uw83TD!dNMEx5W%`&tSZymU;TbaszMJ z&f2#LW0i3i&`RtFkir)n{8=HNyyPn~l;^$BOeAY+XiNXwy>ER_+f zgG>@5oFRkPd-#n$yXY@3X(u3y&pYPLBdI*?Kaj7Fv_Pi4^VurrP?EXJ`=!hzb&E>- zdSpvxx{JoD(V0#@1GV{H()P%b&Dj~jNPOYGkF_FecsnLwkpo&NN3N%P=#nn6^7XL9 zaO=;8X;F_)zu}4XSgVqInw7vc&%sZ-rdY$aA&Adwg#t9hC)XncH`{Q3|9QTHnaNz1 zW5@kO_N*T!H*z^n05c}yf2WGws$$g@&B4m~(-sSM<7ijS+1$Z*)jU4RIhBCT_p#R0 z_v+}!+Pm4~kqEUb?E2%I`pWYw^Tso7Ab-?&Ibq+}$a+yubvcxW zbttD?UQQ$r%d=(g&9gf8+Ox2;$!8JYAF?WcY5|w_dXKSUlEsa$e_GouO9Q1XM#*~9 zaVu4QWAqx|$So{$EN@L|QHu&+{?A*aK_ju^KA zow?N$c;ER*n;l!FNv)3J&Aet_y~(!vUU8H&DayhzA!I0x+!?K_O85F zi^*PmuDl!cBdt&xzuxKHt?kGAl$1+0q~KlcGg2KgXrwxHP~joZp!`EkjuEl5>ir1+ zNo_{>pf)`+K61$^V`zzsfh3?5gIC0`7w<(PhR^z7mKI|}@Eh)HmQ|WH?7{6(dt|x| z8#@%J!9B7ohTNsFA+N;-tiNr$_gI*lUZxIMpAsb`sd`=SLC6!N$o3cD$9>FOGCXz> zcDHv}i?);0sMXEZT(o}tR;)GUW^H$0DpjYNW-xU@t?H9nD+}*T8T5`yJL!r?I-q1p z^e*F;vV$l|X##ICluAl3$$fWg)-{yUTFw24gtIJXr`Bp`JyNUn#V-}VK95jJyw>{d zV<8cEEkZ5hAm^D_mpJn{52Dy8P2uenvXqHDQMf4-Zaw5j2;0*1ZC;;REoI=F1$`Vc zR-$L8(z&CvACVmA#olyG#eB{J)3Z`#%;PBq%N_DQq=LKZ`$)dS0@Me#nXv8i2;;V? z+&1+Q+y{8EUJ9G` z50~Y)?_Y}^8@7`_d7rl(`;V%EzvN;8q&0LKTW)>p_8i>6HpJLhP%dqp{pDWR?AR%B z7ml_tR!Oz|EDQOtc{&fgj9WPC^5p}-kzOru!J4#MFL9D_o00xvv?ioOW3-o`pH;AS zCIs~oaqskUem-t9WS{B+mFkLiT*hrSTsnkHFZh2gQaem`bd*WmzR1UXv`*{*Sg+VO z@l|6_z@Uj@b(6Cb`zE)|@Ll})7|us@guL;QBDdZjjn6stV>fQu#;Pc)sP2IssErdW z(`QHSu+wy%K7%7y%N*8ybcdv;T2^dolf#OAdP0)2$=|(0At~3lxCdU1nZ7plp^7ly zb=BpdHHo>j6R3~Xv=f-`Y?E2{Uf`WEPr!Z5U2=QOYpvc(`=FHL(ESSPtfJlG^7yY* zbMODH_AGWlq%U7ei#_P+ z*L=}rd)BG}`ZyiI&X-=Qy;S4P+4W}WdJBf0PPZ0LnfTF%xB*$zuE#$J;|cbZj_-F< z>avQi#!coEIA?rZn~oiA+V^MdLUE&`F=pf)?Nr?8gO8uhABz5>ow!FDGBn2b z5RcdJ7#eD3EzMebsD{oj&Z^0(ne5vSj!o&m+-J<)=^S8<^-;{I?YKLbd9H-4=6m^3 zKCjOI;89JJ_iw*UWdW=q%dtCod_NCaS@QXkr%bz05SRMO0I zV_Yd0^HNr~PeCa=L@7`3QkdparZ9_6D&-7b%1D>f8pl&kE@yq-7e+bj>jUGiN=Z#p z)75n-={;gSq?hapt@9~2H>VnC%G3RmyPh>*(`(?Nl7FHGeuT_pRU_I|sYP+Dc>rq) zI%8>vbifYjfF05Ydz<9KZIg*q4kVRZ3Mrh^VYCg}>pLLi1E9rFsKHl7o&hdi(j*}m zg?-EJHIdHG;@3nZAK0{%cKYJaYQ;+kJav#13JF0Br?vj!r}c0>&Kl_}mjYj+c(Y;N zWM!{wIc|&R_U0$GVN8J>su(h;iss*|Yqj4)Ugm}jx)yKW#R_mT`1csA^*%tp@{Y=~ z)ZSalKe9}E4*OOGkg@7(r@W(eqnNruB^g(N&mvY-R-bFVgU=^yY8Mm0OC(C6N$n1t z!O4@NxNE!V+eE~@QQIqt+n6CK>&ps!HiV@3u2m^5Z*--lz?URquwhNtOYF?r>n*rd zUiP?RBwO1QU8}vxSo<&N6k~B;bu98{VCGMXLt(!y4zVC|#x`h^m>Xqdi@DU-ft7X% zCynXNi#Kwi=Up$G7qs16vWHZPbZLRyu2Wfw=nnks#_{=l%s7r&el_nOlLZgy)foM1 zkDVo(!yN>fp%djPZ~2h;fslC78iiWUgB2dEr$>pMB=2@5@J7KZhlKHI>ORP)okq{u zA02%cN%Sp43!2wzFDM(LmxqQ%v1SWv%K?9|%JRv8$K#gh^ zW%6P+^o?(qOA+nIOw0Gux0cuj+@||uX1dy+(+Fw)S!ew5cgaN)s zyibseythMela-KQgKzQ+MUz~r7<`e&*;N(pLfqV*#!317z&MPNkx6Cg$6}Il0Q)s`Dx21jjK_w%Qx!`iNM zcwCblxb=FKA^V$6A=xsrz_sW!rOs98baxq}UcFEBYS3W5&vWr);evKHwEI{><1#g@ z@5a-**yCgTZgmQiZU9$!I_YFT$u-?L_igo67D<^ncQw}@pgZiz<QKJxKWCJUW#$NF^G{N(Vm6# z54*6#$J+tg2A3Go`3GHMr1v)Bj@_pq==7?#+&J?P7H1w*{|5BYrh;YsoWq2el4|`R^9gd&Ujr$HBtfCG1L}4*2qzI-kX<=aR629uYI_T34kkMi z_OZu`wXx#FfuEOit#1K8aj+@>@FyOX&KMN?ET=eQ@PL-oXvLWVJ5H0j8})MsmLBH{ z5)Lrcp_Nc;f%cp>G9Rt zSoi(umxmHUR0F&Xq;AeX^2x{A6WNzzeOBLh6z34Yr;yIM4m^Mw%#A+4>u)vcZ-y9+ z^!}MBWOLfo`+YVR1P82_Y?$-dFz2!1I}%;4WoNT!PXu!vy;q`ET`RS+h5+_<;`c``E$XQv9jU2eEJH9_I{Q(V$Vl<#25uI(*=*?GH*LuO8M;? z3;e5)nX*&X?&zsyV<-iRE*a8YqX}HC<9M;t#&g@i_$4?R_qCvuG*C0 zEKF?gElYJN1rlsa6}rzp?+89B1{x1!0m=uW_Nbq1qFDi*n(dxXc9)dVH#VJO$ElU? zI2k2noc!N|9?>7C!<5ooUxM08a5!VXfOwmYS_&^gTjLjB(Tc_9+e|wSG)7Q=4`6K# zzA-G3DQHEO^CC(lGr}IpioC4(#;^;P#$MJ6K^Mm!)^;h

dN_4`>ngfVMi0E6gLV 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

&rd9fhXskuh;u#~Obz1APpv*x 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 z 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 z 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 QzHdsp9cy&6O)w&fC~gwS39il~{1p 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%0ApRcTnS?=C{HX#x$Td=Dzgi%EMjr(i`pU5XxcY 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 WXoE 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 z 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 z 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�TL*eWabi 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

3EWR$jExsrI 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

    jgIm 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

    Rh#UWAUdMWg{2n3hrlhdJoB#X(_vZD#&VRDVk z@PcIPK!!6J!jG4PM)Li(O36=#U8d91U{&&0j9h3elPPj396eOY z?aY>5_*-ZklXHka41xX)tY>UYB_sTt=kY=bTzCqYT;*!<@lOTGBZACg9Wv5 z%T$b^Xh5NP1v!u=HuV9%m9Qm7VV)Vc5q5}2P~NzmHY;3WMl$e9!VSa}C~w?BxS=>Y z1$Y(VRMDag_)fxZF$ZzRSWUPQe))Ad$X!1{hbALnqtli#U0;TZd}GU)5xf1`G7qI@ z#(ppG2E5sr#goz@^I>IUHj`v|44!6O%`W7U4zVjv z4yJ;!Aa<7)za!O*g*-A5ISLMGEase2*`__nlGt6^R&WPnDHrP~pCl_TW71i!nFex` zPCsHOlMjbMZst4j)iO8^WTn2TB^IgPo8jKZYL=E|c?}GlaW}^~X?a03!+y+HS>81G zv0*>w8?wBM;QYq@T(Z#e_M`5uwRN(*2dIHZb=oEAXn8x*U~Ocr$}I2ugt=cB zK}kFaLr+Tfu)ICVw!3v2`Wnldj#+Q);TD!yUhLd!#`A35m6o?JPBg||W_MWLTQGHu zeau!_Uix{5@q$jScBkd7P69i?rdw@!-)so>66?9f@(!cCmpN~(<=qP zKiDUnx5e_Vp#FW%t?#hB9@6>?X1gu#WOCR#W_vAfDQR|wHQR4_Q!z`8ub3UQybVpT zubI7KdAp^9oo81)YIy}s2aWHI)>>YA^M}!d?+PEsh#`_0_TB80miNw%U?F1#n*Gr7 z{$K39d3;>ubvJ(RTv?VSVHq#jz}Sp8JQ%EHEO|p-Mx&86wwCeC$g+*$GMl8q(#&`k zNj3q(62j63$U+EpYG~3dZvzP}B})^UCX~?9qzze`64Ew1+1e!V(rj(s@Ao|S-kGrk zNq_nL`u_9IM|YlmJI^`iIp;j*j=oP)+w3Y}`~Q`{>`lIa->n6QUH5rN4IQF{tmAJ| zc8ChH?r}`ecUWGTx)NmV8FZ?}cr=p!_Um*y`PZc$@b&)NJ=YjPDNbllb;|zl!gz-glzsPVZ^-+~s{^j2D#c z=zqI+0N*>jpQz^r<)Z^2WA6_mynMU|^Y8JVLaTuHCn)XpUJqUu^xo*<<>N!>XTSGJ zeD`}_z<0>|3w(#Y2iEgqkw2>y@qPilMZI?*9`pVU`Wf-Q7xBa1C&5ccy+>Oi7kQsX z&QWgyeO~Kb4^)VI7vekN{WkKG-ZJW>yx&i2TH5<7v>Nkn18I$W7vV&h@czrBre(Z~ z#_&G|yuaG5X(zn@jPFVBr6`^9eiHGlci=K8%-&&;Zr6bw15AqE0BV-J z{UD06_m|k0Y45$jjTvtgqs)5i`Zev8_dUR*)7}se=O%5<&%x(*_-@rtBPqXM=X--3 z#&}2SFhG5~BVcg4-zA8SF$j}(}~>o6UEEi zFDyXfr;3%ib09O{OOp7YyFi$}EQt@fug8(?``?my%)Ks*#4D2cQ}>ih*Au=!m&BjDPl28Kej$k`+>ZcUzF$h>!|p%8Vd?voBtGK)BM1(@|CGc> z-CqYb`utt|v`hpwy*1LF= z>F!(4M`E*-;O+B`ID>qbyV%c~PlA;-_o(#0;#U9=ui@L}`U`+bWK&^P9#QLq|LXkz6gu=jfz)QuWR*a8&XFk z6?U!uC?@PXCR06*vI~$pE|a*%wfY0&NL?){6J?}bQ&QKuR)3jz8y64V3D@eMaV05N z2hOIvYxP}FKzt{p&w^|955ePn1sSj8TK!j~*rN3Ede`b-v8*Jin_a8l4%G0KC3TBy z^)k+7T6($7wfdLb=NT!x-L-mq8mUFn+SRLYa-YBW_jMYyrLhALBT5PO-0XXEl zMX+ayvHE$^(ydaq+*lp(BXzs1Zxvp8Ak5w?Z>hY_Qx?570!lq1Q zeim3INWWNH^F2(w!8c{RL`-{u#G5s)1YzJOA-G97qq&ST9`6OBTyEf)Zl+ph-{SoY zB}>_S9ZIBIyhgYb@%B#;q5jZdzV#a6G?vt~^`LOgKXW%{6#AofwEgKWxNqy_A7D5ulf?^gMash?=?RLL+R|gN55toAmGc8 zUH9tzKQ#C;j|>v`$*++uasL#%(e-Bi8ZQJC_bP06*IRT0+}rJb5&-UctInTB@VNhW zArfzs#0K{Oy6n1N_o2k=ehLCe*W2|`B(89`VwqhJ=mjL&wF@2w4mPh{b`PqnU)Wpz z0Zu^vt;<@8*R9xyI{0B7Wb%aUEHQS5hH0wTK-{U%_|9TYf(SBu!Fy2QrT@-yad6B}F0 z&l%q?HpLdPUF}$L5BvEw^LM&;q!3rOt6lERqe$p-9$xA01#-14kVLopGhqKM3nj7J zJqbSA(jbXF?oR_)ElVV^*S)3_iStEt*yr8@0&H0>CB1I`dPIw|PzBvT-+_d(Q1!X* z$L_aWB-Qr2qYyD$)<~k?{pb`D>Q$+b`+@~Xtd)`j@``!OI!PRKp9hR?SucqJciZJi z49c6NgYLU=VzdlN;%ay1G9->kwJGUGCGMn;URCwmc`SQ*$3-;tP_{ z-H&rZUzCJPeixwSOOn8wPT-oFt3{K4O6I-_r$dWwaQ8L$$9E#(k_2DD;IP}ji)rYe zZRW&Q;nB~00|W2i%TCA@rx@h!_-hK++dpPv_&q$u}l75Kv zMk8Qj9e+|``;T{_hfbLzSS{w5yxyK;r_Avq$W?RflsSGE>75s$uD-3Ab=P3|-Aj?F zy&Jj?GVHP6*RUJA)uHWSzvoPV|ABD(e*x(FN*NjijiI-_&K`QD49&e(L$8#f`4e7y zKh}z>7dC$!Tj9EIQqANdnaS^?SV3e<^QGu;U*Tb}6-4;a*EatIlk?w=ypN%x|0YB} zhltkAD$SUD6Nbm+UDNnJgubfq_TyrQg-Wx^G6b_scf}UT6-o!qr#P<{JQ^Um|Z=9U}jZ2pxTc z-$bOZ7gaU@DB8aFz8?B3BG2H_KibrS&is!f?@H9&&&>W$B9%g_|L+j_BqLuzyO zzJWp%mUg<`#Z zw;t8oHTg&6`%&c!R+Wa7*8P;#?Mv0oTu!$=Uqty+H`zmCjmMA?MJI@Ir>EY4NH-!T z^7;l4x#l)RVu<|W7JN0<@y9{}4}ulyhn?*}72v^>=vUGF;U;=YT@3E4w&QRUuZ4Fq z&HvVimOPL~nda{hSUvGyUhn)&7U?7MBOLEw`uIkqkIMFanCUOE{jnyF^#i6SE=2k& z>AwYAdXPVoqaT-UJB<HFZEjVvy|!>VR& z4Ju=7sT{OQxKaD8+UA_v{Z`4WRZ`{_a{xkf1_QiV3J$qWqd@KY7)owM$$RY1R%t!2 zN8aE&Wy_4&2bPdxOUQ!g0+bJ2oX7efY_tg@f)f1<(N*olgN-DNHv$q0vS%8}egBwg zf$TdQNf@7IS|Iy}jf5=!!>fYiS?T%Wg*GIgXxxAix*PFDs10EtVlN@N+{%lqJT7z{ zvIxoRt!foWZbJzddXHU#g$^OlUg%6^p#!Hc!J0CS`b(%gC}&DWRyD*QyVp-NK8<#} zl73X0Y~)$7OU{+4MxHCfL-b?O%NBqF!w_rrJr1~t{rVZQ1O=`=(lP%_^Uh6sP_$3L zbvx4nF28{5gG>v!dIVhGL|TEXS9)I2V1vtSBr*xJBe-tBKsLB+#JgAJ5nMLn{V%Ip z1zeyx0oRju3Bbjzo(EjvZAnbLsZn1DdR5?Rl2r`~XKZRDDIO}GW*tIK3+w?}>yIt6 zQRoQr^fRP(1(U}X5rz1(e>*OVN=*`P8EJ)5f3}DybwASrqsJE!r5i ztzh(F8L4@Z4WqwXT_1L3XI6Lh*ICMO8_HM z+B`7Y4zD;({{W@{y$6qeX6ROXxgU__4xvmf_XCT#+#J$9i&6C+jDYDuz6g^N8v-QV z`@jeSUt~wK4j2>CFS(}z2?gY?EB z{`VvAOQ`Grb3}qTh_qf-Bf+t%-n;00^e)wop;W5nSWS@Y58e$Zpq#)eA#WcFxaoVH zJlXdxT3;9?tlfPak@q5UwW?w?zG!HD*CO-JkO@XjpOEcu31R3a0mt*m)z5tDb{iZ` z0*+fT1$A6DEh3Hn3h9W@=_1l8|3hrF4OpdLAnB(tSWMf;UMQ1Np3v7Ux&ul7-{b3U zRNv3c{;wkSC8YYliwOU}Wyc*ND7@k)}67reb6zBC7!6{`H6)W26m{Gl&Qb zIT8q2)8E-Jg0=#~mh&wb-hznMO;$yyWKd2R@{Ifd^8ONeH&pWa{?w|6V(gXnEQ-%m ziiKtVBl12}$)j$leG_@;R>}7R7aqb~?rzY#F-gVi?rtEr+I2o~M}JcTdD<>s;p+FQ zIInQ+IInQ+IInQ^`&1p@zDk@|xOTpv;@cXCidx{O?C7{OKvE&rnJ;1*irSCMH0}pP zM!wZAHMynwp%MNtnbl5@?D}^y)N2~ZKzDtTakGJaD6GF$hWar2P!u0;AR~PN>BA!B zBxQ76k^9Zu79tyeGcEAsAo|+o%x(xJ`kAlYVb5-x%+A1W?%=PhSvA)py;EkiLuS;& z^j}?y@|_KAdo9xfgk3VTw=ylf=t`N{6G$swv|C1g9%(hXk%kSJf$THc`EBTosL|k2 zDhc!6uJUwWMQV7=s#am~?dXLp{;%y4u=oSWvswIfMQXr5y#^q*?_PlEzq}B2EXDNr zoi-3&UPw%FV_TH6^72A%!)~P2B41g^oh~7*7O|iKw4=_cf5#jSpd*Ed;dwOAz$(m3 ze`2A1sNzJ#4%~N_J@^wc_&YfG^A|fcKg+b72CC)4<(Q1@$VX&yex^5!qy9%1vad4J zvI8GmNZjE6LRCBPaT)o0NUO0?nB8{0*cP zXx_MR14eK}+O-(SMoxfFVAHAccu=mhCO%|Ut01Q>(kASZR~KmmIoLn+oz4=kktLq_ zJ$s2eWr-UuzyZJ?P_%0HAiYDl$?Ow>fKaI2k z!Co2pKaf@+IJVGB5P-|eayOu|4T6iTyzMGa@2-eohpcK95D;&u*yOE}avk@ZyB^WE zRj}tayCEQCV-LnNYRH#AKpA+(gW2C)Z&T6z=wClG@+KQjH`kMdcLHB_h^^@6dctLj z>9(BH@?oZhs#H&3MOwk>)_RgW|6BIXZQD`*wtDuxm1#kpH`J4=_#ZWuZR+-V+NSP9 z`d|@vsrsGu)HgoEv~c9RWTwAFTEX=r^~4}K%YF&4-17ShuBQMHf<^0IgJKfj{Ze`ewkq$?x(BSvKb})LW|b_$A}fT4{;x#=$$GU_ zK(dAuEql4Uy0S6*LtSlV&zn(h^W9U`e3!pz8u)A);OufX?mMWgpSk*8d*ixft_z%XXC+A!Gmrv&yPcf?83T zpxk4Zyq4gxb|)6jf2yeeV1doK4#>jyf@qX{_=5%HT>RJRJ0su``i~Zn6CGlD;0mPw zZ2{}%n3je9cmX-lyO353{i*c)8Kl)ho9cNmIfvMHta);w_96E3%0fM;OMbEpV-O1} zn1``tp_}XyER+Z~?+){KmIFUois?REXD{?g7m{bb`*wSw&(?9Fi&i6jOId2NY!lLI zA)k|$L8N!SV=v18zV1rM>~CcHOWg5)sQVG>f0}8zKKOhc0rekJ-ih+(>Ij(2!AKRQ zf1!?)&Yxc0`69mbFV?+;_9vMZ%KuUwDgSLu7r+noFW3DX_GoY-LH}U8q(fOiu)nexa@j=>XDdBfhm@7v_HiM}YR&TTy8UxTqTo zcrJ~zQH+zWr1!SAAYHeBHU`&yvAw_Us!AR{N_s&9?UlEn>CaLqYnF|F1G?JPc^K*Q zBrO{G!avrue?dj==rm-k8_{qX@+v!wT&=qoUu%%P9@AryZGD7Q*@ctIb%O>Av+IUB zIiT)B<;&QIRas#Q`sscUC0!`Frn~9D4-J&lw_tdVbV< z(5lC&=aDye>POl!=C|JlJ$NMmqk9%Sjr8B4Sxn8tjYw-_mRh$XRW*nz+OQKL3ziVk~dk9`cT!N^FitX z3sO&2#_M^{ypZbqLku>E!L*}35F}5UOYR47R_q4c?q5LH=8ph4Jv}HqifR=UnMFJT zoUl$iI2ftZF1DZ#9f-pJELzHG_aj8KUfw-Dj%syC=tmb!u^R85TpmPjLS!W(s@g|T z4Me5sS1;fj!&2=EyV^df_9-;@J5-b2W*0n)YQZlc50(ymzZLVn776_`3!ZUGx*JiS z$K?yi;z~q{vhseS@{Go5L+j?x%98Ijfy7x+-G8wQqB?^q(L%?l{uk+|1t zW9cw%t=omku*6g)M(JgA3iZaLB&2Ts)7F#d^CqjMLInrF-M6Fs29&>d-f|M6G4oTP z)V-*8C+hu$Rc{t~??xUEq`$ZFropE_hCG{3my|>{4OlhS(G?r-!pS$ireTqq;Wz!F z8|$tu@SEOFf$KT}+M>hD>j>#H-QaKP&?*WqAMqeN@Gpl^rfz|e)Skklp9z2|sH!f5 zY=7E=^dxp1HCgsnrayL>q)EGfinKZg>f}E8ACOiD{{n+-{+CQ&kwX1?BZT%F)*>zE z;X;FK|0L5Q;58Uz`)@<~=ym9LIiAJuK<61v-(qm652HvpB6qB^_oAD)8X(=t9V%Jo z`|#-7jV?471br4Q1&_auh}Jvsu%rlWV`=1R4Wma980F@(O5&$Uc^0J{ zOvz+KDyrN(9Eh*KXO$8G*I9WF*?G9&qtrok{g{=f5Qw$+pyX{pi7(XluXXpKfOzp; zy9s2z3FHyC>j6P$<$~c{csKZ`pv_uUY?K{gUbqNtm_3i84sX5D+$hU6tLJ(5m|5@7(fKWi)Z@W_hU@$T>~7;bahr$+$L)dx?|c_Z!##JP z(!^N>HjoUOuSZqLMyh$UtH|b^$onrgw+jwj$L6sfP>%MYn&$rs6!{!-1$#ET&Y*el zC&)W)XI}j)q^xo1a3Isny1r_UbN+f%whPoahk7=kV$C?B%0G-f|0&vG)0E$uQaK(W zDgX#Xg;QW92Qb`6k$17mGs>@T)%qSsCOsLtKZ(d?I8F9gEfo7J;oJvn(uS=z_r>b9 zYnEabrew$sW#0uz|1~=9+l+{G){6*-e}mN-hBt?h_j%+gw>)mW`e6)8Ou#JS(Dwg` z0-WzhMR>vE(a&%bmDTS3f;k%imA<7YBDwUfu_Aj|nK?vT`@+V96XfF|baJn>)VZO9 zf=KrYBJJY8V$t6$h1#`|E+lSKHOX65&D*MK-mYo}Ccs|xYsHNTql&kHeuj|SA)Q|< zO|HT`cgO(OO0(OLRtzv9e&UZHt*|^PFLAYOu;t1dprC-ck-kA@+P5&5=sy8D^y{VJ zb4bUuo-m5O24Hf*(?8pS{UZoCi~m9e?zppma+%FtS&CAYU{8DYq4v;2=hV~!@qP@n zO$I^*jqugal$^C~leGmgSGBfnvbLL$-g);Zs_qbKe+X$UydUVMZ_)KPp|t|$7HO@8 zZy!R*MqPg&OMHapMu`In_&;g_H-Z3lw*%lhnZzrcgj9A*4T z{|FEyy?)Qy0T~Z3HN5=%yK{wx0XhRe}YDwntp?27e5NcJ?K z;{R4%adWi9_*zu|rri(m0T-7K+5LQz{alTPX>lC-w&gdZdi@StJ%mEx4ElTE!i9$1 zcBSIe2j~KH$nn-&B^XnVrSnjGyPXF)gD7<&@@iUZW8WxaKF{`%dhSN;aar86oYaIY z>{(7BBXj#K=XTwB;reX!n559Ud1nc!21mB`zVTj&U;lkTd9KxPwWlbc~gLh(4zTRgTM~dpL53wJteo z;bfzY^{qzRwNise|F}$QEhm+g#_MH}f!7@bdfekOC=Cx%Bte2A$slD;#8s`YgLYlF zyA0k(s#>>K)w*5P%H0X%cNHXIQ0i4R3sp5$p_X$^03mO6QDruGv>Zwl@lWP%bx~*5 za*tw##+`MP_KihAPTu-kX>p4%?v^qw9~{v%&)fMnqOlS6#`#N=Dy^L))c8^Raumf1 z^|5b-eJIoCqWnoBB|lf-(a$V+7usC&5Re>g{24?-h+JJlq{y1w*EM*gXqE>tDX(G)aHI#lIY_JIDAdR2BpDGu zE}vC$~McNqE%p3Cmj%V7`rJsx93FXxlE6~JTk>E#zOGd{-k zdil0~TnFMY9@NW|7lWYjTz=YBK5z^-YI!}QG)sDkIx$@1YNI1TW$hV=5i8{ln#r}cnd9yyNtT|BJ=dYL8(%PdiT z1kL!kzUC^Q1T^><_v+;VteTJO1y}iBAu{uEEjG$6z2L`qe9ySbuK>V&TyagBgKL07|Lw7JTc2LL@h#*MD>kAUZVjEGUb z3iIM)Jf>^<`TEAi%bJYE7cU-JdA`16C8po08H;x{UAZ8%Z108L7oy$VQHn zP-RUaoPP^0)fm7~E5!{ksdPzB18Oy(2dTBF1;xNn2CUw+Lf>>DeJr02 zxL%=c!iX))Fbs!YvQlqqVoz*v{&`h{FV*$XGUhH@i*DL5!t!NRbyrmC?m*cE%XDLL zrKgoBwI;~YRZ_aZ9_PZUwhJKLa>8n?i=B!KIJDcUh^e!i)m2HfTjPu=l`pZTCkcAa@qCN8v9K#s|@)ijV9v{z$~YZcCAXNIzg zK5K^PkjvRxNy1)=w$@VB+Pf+lZiDYQ06T~#+gtU$7b+y(bm959rP#OX?LC52=+j1C z7jSuJWj0Lisw5$uH(FKC*Kso4d5aEO=n$0Jeb+6z=2~@M52n9I6}+wI!VV0)x6%RE zwr@3BMD&rBN1Bex>ir9}j%6IF$LY-)b0`?dtp^a2VA#e^?#v#tZXBePC{t+&S(?8k-h%c>Y^cV}> zz=x~sO@RoZigBQFnNV95NLk%f;ITI4+RA*09%=#cYRH0bI(3>@r)Cq9*1Um|TwcnW zx0OsINnkRG*^kwBqy`(W^q^@I7PQa+Qgfv>MgcWm;wAxR7b`S^Ij|-JZR7)v zujyKt0eA_-r~JK{vy2fN>NE&fXAyBeB8O^+7~uRy%NPSdoSiVRn;oiY#_rMek1sfD z4}|LWC<{3XULmPz!4X{A$t4U~(WRA^AaFi7$T%c}^YNhbugsif48s3w&zm#Eycs~; zVJ8giX0`KX_lA~lK3g@;w<_b*%gkYNtolGIW1kG#B^s+L)VKy+lXn4CDddI9r)D^a zp{RP80jnBXsWK3iMGqdA*5M3p=b;TsoDch~1=KT@1-#}4|E_@gVr8890Cl;V7=wKh zjWK|%!|5{UlW2^=L6ys3NaZq!s$2$KGB%aLQI*T!X_d?18I{Z6%PJS&&c}-wwuQky ziH$PrL~`B_&A;g+Lg1K`z)g$ zktE*7ai3-MW0g`y39JR0l-gapv@0EqKZfEG9^eZD*4DLAyC$N@kdHlE#e(b!*J&j% z9lN?p*)13n0O*>*Z4y0#Z|6f^gKc7%oDd{ZY%$v1Tg=lq!s8fN=Ls4It zf$BfTX8e#+T8eVB}M(spSHy-rM zK=t6jkUe0|^hY1eCeAqjBU=We0GcFH+ zC90HxDs^D799e`1+A`Q6(UD6L_*5Lp6>tIrhP91kR@c zF|3gRsiuk+S%n8WXomqyNgb7Qmy_hSqB#TAoI}cokn-R`DFX!rncWVR%RsepHk@0` znN*OU6>2w}b-1Hk2t#(v4QHr85N5z-vkF5sinEW%u@)wh4d?!v$E%WR3T)JSG~co&?dhZv~cBrq$@4%y9Wpaww(DVWs zGt5A-pI9rRYRb-5U4$&s4yMjPRTMt8OXV_9ZJez_j@+=Qt+L^uwu)6bB~@0LTs7UY zz1q6h15V(fp1%4N_i(HMhamCJxo02wpjAn1X?gv!OY z^YI{t?PI`>)h;pS!-E0_>{}I7Mmc1Uq6#<=tZQt+fCJ6laF68X-*@R*#?){nq!{B; z09mB$Md3t5${tabRR(35y*gE9FHp5Zch1Lyn26Dga4->O?NOz~9#l%~F{Q*FQcCO* zrNkbvMl^Pzdk*tIIUe!U&>B1r3nZ&{CV{wo?96j9jD^4t22Bz@#2_!x!wiZN4Kpa= zQTxi+yQSbTgFlgIn8Bkem%(Eym%;NY7vIk3|Hfz$4$8T36&0q!L-0C0P+oq=g}o2G zaOu@hX7BBi*M7DWA@PgMouL}_7)O0TvO7dD{gf4d1|g^W-|KFK-OWm~_OlG{x4L*7 zq3XK*Y^CdV2XQ#lxwDJ0JJm(|Z#BEQT^y+_u>C9-%9-fe5e8~~ziARj=kMX@Z{Ne{ z{5_1mS`Wm1LxXp>O$0*IHW^T-JhZ;~EIWO-U6T>gfYh{!LHe-CK}u|bkP=jv4`Kg* zVaSUxY&CXqE@Wb02@LAwIoA%u5?P5|Wj+mCl~LfgYbjGpm7I%il#`2+y@!xI$9_=7 zBv@K|sF3jyY?vzp)jWond?+4}>7leDyNYmrh00~1+BgCLmrGep7RLz7YqrU*p~L{Y zN}UGxcZZBvXB{5GmEi`7&k^4TtSSuEJi>@MA0?(bb}BAC> zDY(g;n%eTpBq{mXP*G(zVCD+<#809FL$-l%#$bn)&5#r4vA~eCW_5;Yjxh$aRyIR5 zNeA1JQ%y<{B&*aO;)vQF*-};Nv|Wx;0%k6y_*5Y(@1dG~h8$haz z?d;ETM7SHA=sqjXupbZR#6XRD7%}-Y;QPM|S+-Flb)03$(a<}CZFqtHBeFgq|6EN21QWk*X#hRmvWnPZi~`w04V^Am;)+=$wIS&dJG# z0QTTPDFd%Wg)mxGE(6uZ*}i&Yah?@&RHIg(tgOS%xJ6|DWK4`RB(yLd1J&~}#N=c5 zET^6gikeg1uEDWaiGh+`kQJVW-Fgs?BSxiWTOr%7a{PJVUj@c1Q5T zY&b~2RfVA%#o1uw2(LlSeTY8k;>?_Rvve08aBc>w)R`em#mf+*Gvo_sBnXE4@UTw= zA4i{@AVbwd&FG7*Rt(t^zsx>uoMl74+{6ADvY{&BsQl2m+lL3EFkn*%9iKw*tjcAe z#&b^HMr2*8N*Qnv>>>MSJM_drwW;A%`!JruF2>Yc@TN-*Nw7qS+^$k%n?a$*0`&4s z!&%0xUXVh<`RqeXF#^Wykt&P;nRY)P+F0EWQY^DS`w&4t|4=g)Qg%5pQi1FUp->O- zLM5&)-G>Bv`0=9ZQIMLa&TUQAb&#^_5W64510ZvhX#uhW*(^$?@c>Ytyab_q9>sT^ zs>kZwn<_Hndt*mrt_}|IO);)Sz-^;S4eVKi?*zb3<#ndUnjcY_72{PUv+BnA4fR!tCL%mNC3S1asZp{-tx}~9>Y_l*!@3q}MpTtL8^+Rh zJS3NG2=BMz3{_Q!rdJ`0k`89cfUQ9BcB3ldUx$(^_M|EvW<|vkk65Kn!%IJN>IfCFvg(B|Hd&wR5Z;J~%e3>Dz84R;gI2+B zJJ-;vnzIRkhov((fK3G(X2AD`C}UKV+@GSt%c?HE<@0@f{{)XN*YA?$Vms+3+Khmn zF;%6k^4pHbomUeYwI?*kWWhS@4?z6cmb3N}07Rr}8zBSr=ylIWDdVTp$E?R-?HhZv}e zu}Z~5PAx<@4tJfQ!bG|2-GL;wkU_UZ<^Hx;*_mHLwC}_N zuETCstHYI6`6bA8K1&e;C>UIXM}dN|DxH>OHWx+>$i=zJz^+ia2}GudG@K-*4c2JX z3R>f@e|=HIm6ti2%X$VLOo2h2Jk@B74EPa91qO|H=1!%m0tcI0VWH}Q0S}HUCc%X> z>s)AZAWVt@=Z+Q(xO1S$S^iTr>y{_xLzM8Ae1!6`D_4!ge6A0@GT>amC}z(xLLjPH zGiHsAnDbeL7#cEAI~H?_5UE=K`~c#Xqd9{sBuZ3vKICndZmUWimd@E!m0l_pYf7tn zR;4vP|HiHTAFFVv8og@qRLvn$U7=zpn*>jB38c7b>O&aw!=2#AP7`?i5F7X*Uh!j> z+dZiM6gIG&$ik0ZZikyyw(uQBS6OM2COPgr5X3ZJq%Kk8q2be8u+4&E>N$l%FMR$VUMV;vR3Ks$qrVGYT?^}j zOZym@txNyq;`1~eA9RUFZ*6UJ{*t+=d@h^Lmf8@T%4OS9h0JuiP;8r-jAz>l>G)(R zeWI;cNTR%u)~Z^fi{GwsCYzirr(V5nuGp3iBk#uf1dYmXn=ZrsCJ-3dd2nC5ts}NyihJ z<5r)?r{c+pOg63k|Iv5xRPj|IQ_LkDFj^o^6!X91G$u2NTB(=7yLVp zFfS0XNCJHecB~XHjHgS*wwOP%KNvG37NS^5|6s7k@07&`c699Q^0%eZ)0yO}kq@QJZ_d9q}dPUX`@JtnS zbF*8=%lHS-xvVu9Dq*wH7zbi16CXzm0%@u+?ev6M&twW|@F>m&=NTFlITKt(s~yM{ zeMsUYorq7GnZn5|Qn*WH3bv6WI4=uYARmocs!rMf4b%roW@ob4h&W=7OQ4eju*HZsXc4vxJU@V z72K-YE$IKn6N&N|VFy5PYh@&Wh;jT3q977Vaoo>j#yE;qHo-9%&rO+`bUMAG-Ph4k zDJHr&b!VqCR_&@Dt$qsW(+1NHTktkv%is@vzkSU$2 zmml95U$%ESh%1yR^c&)TaXQd_H2C=KMapfZDf%F8}4Q(%#8LpL^o07j)T zf*Iw|b5H`UX|3)xwzT3`gm8pgScKax8H!v{}z{S+<&9T__1C) zvokJzMNJof?9x}(%;Ax9YdnFjR_T|o*IadaeRqAEvFOP9nijVi=%RXB_nw>aenY>& zy}`X<{a|~?*7cXytnOc3y64hPW4d*d8lkoRpnn`Md?IIH&APS5_*hNfFSqEMj8mRX zoA#lf>Oo(>N(T^(GC{HC+H(ruzDmE;IPK|NSLZTboE*cOiVrUHApV_6kHovN6MJjA zd;GP!`|O3fXM?f$$cD`|ZJsjpR-@Uo)mYTMcC^iC={9B$92{78#kxTSJAAvw>WzyI z7&EPvoCEd7{Wl#jeyVk^HEu@aR=pb?95wz{J7E0fP2JPRI*&2dT4xyFtZT(&|LFSC z#T(ZRZQNrl@$4BgT0BOw)mYhzChhBuhi~jQzO8p}G)}h~jh=&h)~#8$^-9;GDwKJt zK{xQ<4XYvd>>}M*(Q2G%HCA|x6CPu6YnRNVyYw+ zm2>ct-MhCA9$aUf*SZ^k{L|CjnAWp`tK7#naECATX?%y->!S>6xUeUhqw!K@nZZ;OR?)J+(j?{NDK!7+jh05+V`zn(_Yi{&F2wUy4M+}yAAX?ip8SWwd?J!*Q{H& zdt%+14K?%r=wdXo=55Vqna3!!ZfR@(%bJQ`Uu*&3AeOe=W8^*SuGsLQnkrA=KS4F? zU>zPzL*VQIZC~y&jnIDWv`)M^}UH8y!_X!nUF7^c}n{?qJH z@DVt!s|EK9OLSv%EzaG&6f0@;_yN0rDiC!ZYd&C{xMjET1Fh9~+fChDj2~;=>o0F> zYj4BHxTw`@%(fbL-qhNaFcKb+#AX$EjZu%W!DF;~jHRtc7Q23ApYe&Cx(U`4>lvoU zSbM;@rrU6Pj5OlRsX_k_F4ZxMrwT-H|)7 z4}E-X`vj{LzH%e!;xU~w`1>0@dy#ll63^Wzc&~f*w09Y&TDyi&;csp{Fj%uK zA6TY)cJHpqdTg0a5PH0AGCy#QGUnI*NDWHdyw<1zNS+O(Cgc1AMyYk} zCF>qF#!EF-A6x-8t`@(92*JhIbbiN5y>)%hCyb|H_)#axo(|)KuWL2#F}ine*lm3F z22b1G0sk~u|L*aOkt^-nYuw=)GoAw{dHjZMS6vlde)$5um8U>J;oK^ZF=^4{!Ht{S z+aHpF!;#RSKXTOc_xi)JU_>+XT}7?mKVbF-`^?A@vv<&MMvrNw;+T@5$1<~KAzp$K zS}qjKLb_Bq#dIczU-T(;bnGwW3$yvGmMA52Y1ACcWwm&bl3?N#g<$-^w^^EiPM$I+ zQj?~(AEKPuSI#EQU{)Ir#DcMoZDwdF7Tk}yh&*XdoiwNT&u<{@s419J@!6SFQ7fST zOm>-r!^u**B(mBhBu@%F=FADo>RLIQ$w3UCQPY$;n*F2ZVSgm#?->Y2 zwSjQd48$S>=7HhRP){_f?GJ~B&5>v@Vum7z%s#w!NU-cDK!(E*z6k_=%S7@g7(#Y4 z^DsUjR!nD80nECXE}6-R>?Ef+5znS3(*;e9YX>p&$T1Jm?P% znFst~{}9B~l*u0y$`vD}*%;;PKB_WiNsB|cj>Ej5Wpn04$s8Yp99z=*UTd|QvUoky72I)L~N~<1P zfES<2r^*T%7K)rK$0s#&f4USq62U~G*e0wblPs$7tS=1jin3yS~ z$AQMh%sAlefsC!?S*D02mp7prIGE)hG)E($SWpxAkDFy^q|ntwgUObsq+^QfW;R`# z$rVmm+qNHSRshHUoK5BqlXJXH$wU* z^n^?<#l@Sx`LnlbSa>|OgP5y^4;2f+tUsIT%@nms0Nb=sOEU*(sByRh0fF^%t4&~A zTo#o9b`#`^43ngkcxF=Tk15t+ZG7*5*%KHtqrm~_+S!yjlS!2(v@lVgsFD`l&MfBB zNo_90{7i!Eo#-CR*&+re%tz-C=P&!_4tX@Rrb2A&|?KVDFfRYxV^K9p(_e z6gG@uDq|UQCVnDa&I1*SCtjn?R!}i$K5M4OKrdR5-+*=i2OS2Ba>LD0Xw_*GY$_7m zZ&3yg1?+}7G#rWs&B5WJ5V=V;BRL5^A{o%$6WHgpWZ+m693pcJ&lH5u33CK`6gUk* z5^mVGPC(Bb9q+6!Lgzgd^v3ZnXNvYML7qim=6xD01v8(8L}M{D=3`OxY1x6 zzN9%eLn^V@Jvq-9&XTki6{0!>nu7HJ=#igEB`TyDm`umBp!8g{kkn=b6rlgH4EO+# z&meXMSOz|*4d=m^%2Q^X8n04 z^O)>x*AlVWo^tV2tPmd?%Oth*G|1061IYf-VT3lT*ev! zAf*~e0Hq8_pDYrB73BjB%-}>irG=wCJw#G}U$9++fB=e9Jdo{S6a)>T16$JT?b#1e zPmo57&Gx2e{XERDx!LmMWIGm0>=7GS8feD#Npr|$GBM3O5*mz|JtKW4AUkSu?ZYD> z#XP{%Ao>(1w7kfFVMo;D#fS(FW(j;+CU1A6CHiJ8!V6`?QBsGN1y^(qECF#ohvNZM zm4xk5GqZ#qR_be?nmDakPfqB=5$zze1co7G1!9_zQ@H;qj+4G&O{5)jYMi?#SR9T* zXsXC$QfYGBIX{I%SoSz|_!Q&QIK#mN<)pWfB2+j@nki@?<8)yxo`g(9L5hb4z{2VU z+@!=QAaip~T6zV}=~*6RATbCW&iQ4+N;?Hg*81X;#k7BN3KAx`$Uvki zW+B#P3Nsn-W0NxfOg?Uo7jj_cNhO1sRYExgODs#v%n&C}YLO$s!-E3qu^CJO$GR9% zxf2!0CJRY3T_D$j;0u;Jl1-&yf2Kqhoyz4(6X{eSa8Lt+lHxT;a+a)t^I8eXToU?* z1^|_&KzUIlD_fkiM60T`Ltq~VnJbY5jG0oF7Ksj-{*hR}c`$g?9NZ6L3P%r`!-v5= zL=phYFC{2_=V`{D%#DL)PGBrZm{T~`c&EUtL7pbjQv9F|P-GY4omlR}#786Fwxg#xMtBVjWX#CBmK6TGLjV&+KhN}(5i?tdQO9Kg@ ztdMSre%#>%#U6+iAf!T?B99V=X!Jh<6&TS{@es%Jzi(lLLwcW-zTy93dqRm*e zPaDgmC(k*hz=B|y2p^1T=^S{cy~ZeHT)T&UU%&(mEloZWjw$^)YU38|$YQd1~m-=?t-Vss%gmTVb( z|70!^pX}xBPEfHH8cu-quz%R_=^N#d2qj>6$dPr@am+vinhb%yO;Pkj93^9_5o2Np zLt!mEJW9F7e>gM*IhbaX(SxYgTaguec$5KvT%o03Ohf;cbK64mU?0pYX3xA>eE2qzN|SNH084g~2=A zJw82dk{QBgkt89C`9R$gir`Z@h$Kn<&QZ-|BM1ygRZ3ChneHgAFw5og#Tr{n1ndYx z{t?aJ+Y8eXj@WV<)J;BQ*?UBK$)iJ{QZ}6wO&rHD4`Yy6s*uCQVM+tGCt(S)#D^s1 zBaAy`sVLJqo>pSfiBA<%<$2DUP&DF)>h4fJBvM8F*4fe<0a}7eVYkeP%%%3M+HORX zRUkYPjv}z^Zlj@I9KT((M^MBfXeg!$gVW-v35aO(AAOXTObSjN+vk~VrF6$@mhRLn z6ImEW1VL{AW*TBP(K`yV7)WQwVWlvWlQ~F3IDV27Ckpw}{AQI7CE(J^A+oCts}K}f zGD;x*gh-rNSt>!%jfPycRxmDW`U@1LwwnQ;p zSXw;6lM%-`4Owf%n9gM+Mxf4 zZJ1EB6<3FzV&kEp1*1d&$F6nejt=)n2kqSiB9M51=@7ds$lfzN42C|W1;)msr;3Vq zQYOs84TCZ>eS=b_VpqZxi{vsVlf!hi}vZsLS(npUu< zv04kpA+2MEgT?X6Hj(X6Y=S)(Ja;$@5{!wd1$J?mNMIAHNEMhUY?M>!j(PHY^W<%v zC$Dp!ysmljw#}1=L)=ndvBlO75XE}p5tu!|87bb=RtH9JLWZLl44Ia^T*P2lMJQh@ z;j{|3#5y7DjeQWqR0Aae70RFk)0|08Bw+EJjGuy+o+A zaxw!3G#Cm*M6|>=RwSkcNOzeTW$1=FMElDQkbzCDskBfv4lf*w;Ikm=A}rR`XH_)T z6TlVEiIO%g1Eein*A|#Y|fkP4VXBHCo0!O!}%cSM4??3^W$D?dAbCt{h%mInuE$qA+m}W zDepE*Ur?7oRMVz2ao~9>b&B)}ql~5GD08E8hXGr&a~UQAXYcS(5cgm(%tJ0kOR*a# zC{-vzO~9IA3C*M+=S&udIgy>H?P}O8nK!mr3{T3c;vb@ogvN245+EO_a;zYjNg)@i zb~H3h8*49&XC|y?>G2-u1Lb@*(aUMNA1t~T?zvIOf)J}=dm?KW364UP44#2HQG?xP zV)BIO+-fs;CrB$P02=NInBn1p0m{-ADu6Y}>|iS>LK~))D;+21135)1R)T77CQH>+ zE>vNoC;_?1RJbnK?j|zh6PAsFXl?UWu;ao!dJAYI7oEwJAdwPDDg8l00uXqS0U%Ic zghjkY$r=pyhJ;9CBhV+HXAuqXg8J13C5KVh$f5*jGgFiwx{ewyIDnN^dk#V*litKwN#hjSIssT|O?^9DS^~mIk5Z%+s!YLem z7=qXJyoR75cOZC}H(SNxWCo@_b-^Z7YgZ8FMP)RT#kr^CKoX$R60HLURyy1&ikdJ7 z3q|U%O*znk#FP^a9fP?7J2OSSLwF%fdDX;oj;&}u6TNLJ+My}M09*j7IM4T~%oMD| zw8E5)fa57eXmimW-Vv;gj(P$Hg!aE($!RYV!^)S?TsxSoc&2$nrCePXV)!IqJx zim+*@7X-rbCS-s^P_D3r?@%qzr?N_^qOh1qQ0Y^LH14v5L8PcLm6hdOZ7`Wo9!Fb# zq7a8rUqu|!lbpwn)xtTBMQyb211+0lMFi{z)mMvuO#3J|@TQcvI<-}+r9D=ymh_me zmhzb1uE9JAAk&-*!Vr)QKzQj*m!R><$pJGxj%8UdmNxRw_po~Fk)L$p(|0U;RS`LVW!y^8VKTlLYdV0 zsGhy%419pBx;Rx=QX*t0dc_GORNN0^%y=v}lBE$wjQ=Tk4FCy9jo3@PqM?}wl*J~J zFDa?cIcDkP5eOVnqOvM8dotr-8^H6J91(t8dScruXm2Y?N=p?=^AADcgeVEKqjdt~ z;0x0spofHM%FXj!RWIfbjY4mPf?+A|>HxJkXpIvH^Kddx=1MVMy-en^;~qy6;&g$9 zaFv0>j-@WD(=b8WB31R4r(jl%4E1&jMe&HnSuhjFd7a9QYa(h=Q$$x{^b*^TsN~AN z1P32*EYQDDY&x6FiSZFODVWX5U}BU+;N1m^ox9Hc1H(Nut_=GJL&^qa_Tm)+2#>gb zu*`&(htb@|q6Ep6lHe4s0@Kjm)U1TV4JWPx>#*4ywklIBsI3!8nzjUr;ShAIG$F`d z1zghberG<|6F%cK-@wO+=7U0U8iE;dn*!3@NybJZxOth2^>U*7ff}Nw&eJdy&~O`z z+Xb*9a60H*r9v5|FMzwsqM?i#W{@|Iqd8ta(g&j>))A>_z?O1lF)ho69UhGg4)+GN z(ZNB%D(4Ci!ZXaJ0FAoJqstcV>g6_2diF)||KBDYpEEg^(^JX(DeWXoN;Ye>9R&gd zsE(sj?F!`eBCg(mPG&ZT-2lo=#c=^#WuAzD_owD#g<(Ie$4AT_rN;{i({ z<})cN_`0Z51d3!D%vj7^R7Iih6;7%Pg@W9U3%*Vj$KhuH_ZR_kjUogYKxxeV*;H}j zL|9!1)9eiPH3eIwsA0;0phQHd#y|}bF=^%(M?c%g51uAwXZw^!hdIhpxG(Mt?T2zn z;UWt$Sae(^2|zZL!@o4Eq=vazw2>tj&f`ff9^4xyX~-Ak(ngx!I7QTPj}1MI>Q8f`9Z?QXRl6rLk`@tG!xL z^k7mvgtw3giPR#%7;#%C3{f!3x)GtQ$P3geR37f@9qa;M0rCT~%1i;>NqlEAa0LV> zvbIf>)(|{?Y^Bw*X7T8nnscJs^0IPrj1B~0gGNWylDi1z6nQ6k_RiumyK-tl&P`V? z1A2o)@RNd4n2OMpCJ+V8XqExVLW3&K;7voZiNV;G$3R~j8Q!CxHDt|NtUxMM7hTDCL z>}9wu@r@~R{V|^amq&Vy^I?pNEtPg#dxDC}tcU0@FhwsqSmRYDK>lArS}5JgUDL=t!k!&(3*Q0%DX5qDCcl*5+eAQ3(zKG-n3 zMPQ7u_l&m)B0X2_s%>;a7Ce&$aJ-Vk9iF;Im}i3^2l!}2olhRM%RqN{&rM;K<+UW% z3`f-{!6pE$je<_$AJfIn07dyCsBN`lYceIUf-v5z)j*muBHX+o3*!6` zr3~r-86o|#v|4z*2QSHNwq^2k-L(BLI7_Cr=v zAQoYo2&66#U~8MMz@8jYol6!AqdF;ms%CH~2G12vj&dj@z#v?R0=Cmu@f2Qb5a$qF zaKLvaU6RZ2xrhau2i!-^-oEHOR3kc?TrYNNVmTBqbW^U^O*(7aRzygBoiX^=CLHS& z&o8cBn{4&o~{>WgP{gVV+wr@#*UnVC! z07j;W4e|K8x_s@OS9`WViY)JjlN3CrwoGkBx-?OqO1yghxX-g?xaiq}caeAF2M{oa zEo0f-7G?B9+&cZYz<361+}(~Wdg~Aiwm^(#h}L728>`b0?n+xkuG^A_dI&oaDiO8u zdcT;K75#yy`f2f0Zc{Pwn%W;b7)b*>=Uo2cdXeW|!4foB!QOLUKPZhf454aTT~p8+ z4$ar95#>(^ghvOpFa$AZvNEP~Q!a#WDLq2>&aJ-fkf_99+fz-6&tY+&*Zj&q)LsbQ zs(?ojzdPg`M;_uh(DB_V-(B*(O}@8NJMEu=_-PB(yhOE>T>GMeFD<~^-nwBHH}S1L z5Uq6^q1^ascjLV!FP$mQfrv!ofljW3q~zGRtc`Aauos9|Be2i9){^5Mr%@>lVNU8< z25F5K4d7=y;xzmuhw}#n`EUHNN1F^FujSKE?*LwmIovDO zOXUZK-`BtrEtME6uy4uL4T5vqM32C86&OK4N>iLhwWY5#OQtLaGt{B?JyOuUE#TsP zBC<9UZ{+mIsUbWK=bi0BQBl?cBXEp@p#sK=;Lwm?>!;rXy5k1>k^>M?stz%+^5+V$ zrBuIUV%clJ-Qwd^1G!bSS?A@HQA!e}3`sJQ!`@@lt(O9zEq!k8aH zASCxFbQi%1Ko=IVkK?8a5~IB=v4&Xp>cMbi7%vv^0G1OYNN*eZ@Dy#E0M0c`W(+^- zLN9#k!tgGZc_?X(r>XU_4uH*59*3%Wog|pGJk^yO4z8-OJMtqQeB}xILM{mjnd&cW zA`qCMN#lYPF1aTNL+qCbdU9a)CGmsF)t6&X1L*YP+=++F zr2r&KQKlWBhGI~t;1kZ}v2a=$sOc;v*6u{LyEq`I90~Ii_$7sTjtkp<-T|8%P8!@P z9mJNz#Gg(Z!97fsc0KP&)Ip#84p@b`@s=yQO-AG#aLqeRKW{kKs2AA!Lx*g3l2>y_=~GZuC{>AZhBQQv2SV&-?&Ce&}O_atOD@EWxWH8Rxk1X~igyL{C$iLc9E|7y?MG+U; ziBQp>J%u59f?;_Jm6kwUh*+cnhN~r_>cy-G@TQa=#iqcJMJEo3*UFESw_8M2h}lZr z7c)P|!<_a{(gD3OaRZb+^ADR9Ka+HAc$9-TQ>dgTA7FLW0%KK5-=V<2$ z)3KX413P{uSwR|kb(1?%1bmdQZsqhV;Tl#>MazIFOa}0e0gDSX#6y}A6%S4q*do|I zC>K?kkV1TcSYEpI<07MiBb<@KF0M`u$YWT1RYl^0Q3!`&q>p$4bO)iT_Y%#)@vJr& z4O^G-bX5_2oJ&wjO(he5^=l)RZk^}!sI=Xt1+4epL~_Z)5(#Z}8h6#oyM=aj5gH*% z<8o{QCpMgW@H;fU zRj&c#o*tr#Vt$G=Em<23$Yxvqa36$&A-9Y%u_?e zp^!-*Fb#p_XA*J^LM@jD#!0p**L+J5zNeH14Quoo-@at-hvY#+ZW;SbZAP12y< zNBRHR!dIl`)mTeKwK)#0qskM^Qd_Op`zu|CvcNlaO$(8DFg|N(h{|WDkRAtx;aUT# znDzE_QM0^tacwBvv#5cU!GAgKgBooXAhd|{f=K+pC_20G!Wze=?YAY~lmaPYob-)X z9LL9%r>P8hlgMsJayAbT_lr{ULBuxoL$bX@f67ecf;fS znU*r$2*vVKnkDv}2Hz-ylH?asEVeDYh4o>~oS5P-g>XSQ!mVpHMcMuI^`$cu*i^O7 z&39dRU80Eq-@f~K7b1gH9H1)Zl*nJA5l3KPc}T{xjGl7a%Z2fH=IVj+ z;^K%`6@`b&qEpr{MyfkanJ}Fpqj*1!CMr>b5_lPsS~M@dVKudVa$zJ2|f<<(yC<5wz#V;$rDsfPPmWxk-o#S>n+r4!ZQq~%yY z1&c*j=j|+yHn|nZXQ2cr`I9G|C9x=P2YLXCs-av&%wkOna2&&H;k2@e@J4@dF@?=t zq?k%X^W+aMP~C>=W9j0!mXRC5!*Yp?os;Wd{6>a)C&}h4bk2kolUh8DQj|f&GDRBa zW&&omO6Z85wkNN;QvW}s-3gpm(;xrwTQhAVsT3h8l2qDPD(yAeYg(mgrkU1ho0&F3 zw8)l_rHCSAFS3&)WJw_uAyg6}zibiz_vf6~{mz}+@c%y^|L;Sd^SSqa&pmhjo_p@O z=jLQhb`MhOrnc>79dxKfo1d%qB6|Sk=*(MHwXL^FnXZ<=-Jo!ls{SxmBVKEoV3lv3 zU9XY7bKU(JHE^}(OsvLLzj5v`N*`mtC92kQTeVMnwR{-p+i_}z=r_b#k^Ab}u+gkP zjnSOQpUW&OuBd05+9hi>#O@CpMTL)zOk8mLeOYJX(e6Hbc%pY3%l)wS?5bx#t@n|m z?yB}uJMlyj(JsSP-$xCkdL`hZW&x+;n!VTR_ov) zUH4{Hr5|2abm-h(zpyH?tB)+*3U!BGns3PAkG?V19?Shu>2#`x^wqWSL{${J^PTGT zC`Y=R1fA8)!XEIoN4av<5r;eK)7_0-+F7|q=CD$!BkD$!h#(MpuACoV2}DP1skcSQBHGmj3aw4v$x@zveqR6XS%jLMm+ zvWLHP^9`l#Nvw>K?NvK!9WS`TW*=WON_kV~ZR;>1ee8tER_QcZy^h$!!TqdX3q2j2 zD6i&aTcOmq4fI#Oer@V3oUP7tbVhX*=Dv_OZEO+8fj@|?7ZF#5U357moTw?q#c6uF zLFY%+1G^2`F;{h|895!bi?}nXJE=_?mF4=@^3Ct9-JbgiwBH9`JMPM^T12}I?Y@yQ za-`K%P`%9Y?<4-U|~f{k3xMJ>C(>*V?Cm6RUr24LD;=a*oH|RIq4i^T_UKp zho1WkTx)uFY}rw&OAsAg!Bnf7w^l1!9y?0Ogl-AjBLr%p;qQ~_%f62VHB<|%X_dPg z;prRKAjb+i*3L#7J0k1`2;aZMU^Emwx{X z+HX?<5H>~D;KXvc(?_C}b;0$3FPTPLH2WdZ$JzXl=)-J&NVIXY9};ce?1w}fIQtS2+_BlYX*|5?M&xJoneMy2@_T={u~qlm(LIycuTNN@=BaPjFG1n{ zhzd5BszIaMN?~+EDU5C+2v?C4;&S z@W0&d_JN*baQBeaC0=hmR;LQq#Cg4=-LbWmTc}B)?YL^%XC3soBS`goiH5fBu-9Iz zBTzj9@OTO<+&>{Ypuak{a6hsB2Qb~WsZs4-*sr11u)jAoF{ks<*Xl)_r?MFvMVRAg{;gGB~MH(X?J3wMXh zZlSrWM7zzX#+Vrs)M1>R8uXVcuM*Eg*eNW}YUo_ms7k^rr_nOfpD3*|BB&AbQ*y`La=dJQcWy2|Y{A8k9pIcejm+7KU z2F2q{DGzt2vby}L0`$xL|f!xh$Uom9;-)P+_ z&6Pg&$jdZc)|O?(etwm!uuIZ{YKKm0hBn&miSDX5Z;bB4xD7$RT{ksHm-Gu(MB}2GovCa? z-IvZbldS81l`>SlVpYEGcU>hoS3=W4poYp5ee>eTlLJ;{&@DkVQ%Kx-^%r#d-FD|W zt8KChL0kE{u2oT5zlnAY>hIQt3tGf&NOvV@mC?5AsnS}{_4!L(?VpA3;T5c^ zsv6NobL~W|%GlL&_f$2vTM)MtZm;%j&Rml}o?Hw!5Y3w1>Wy6PTN%ms<>Buu`#TCe ziqc=#_pW~m-`XMFJwEFWM_rhzNHu9xzPj^KeG54YRcffArX3G7H+8>P zi3>oxVy31pUG3KkpJk%`_u9{~nzO5qS0*2$i!Jxl!P(KRbd{mQ9!A`%r$K=BJC&g9 z8FV!X_75!il6$0NZtVzkrKKG69NE8~kK6-j&ANuY=GYHIW{>Q#)}>D$mG(wWv=c_2 z-O903fbUf+TswAA*~dN15xIqumbiryZdFw{rP`{q(|A_KgpPXhUXeT2bRp@U`^{^t z-+ujECeBB$+g#tG+)v=jd;{`yPs%lVrDW$@9lKT>>PI8m`)#J0PAboKaiMk}BXtC- zIlfNS{s9VW{5)e+j`b1NSbeOyeq<9j^TM*c?T9_B%My1juAd8Q60UQ^r13ht=!Y)P z{nDv|&HdD=wkvWk$|~oypV&BCcmB>|e^({gKc7abg&x@E=47EKg2J`Ysdsv6-|kjA z%J11BwUZq<{<4nW9e<4KRNyO+5>*H4h^%uzbv~u`4xRe*xoz zbjj;({L`Ak)swhO9^L5joe>>oi7p3bhaDYTXJOu1+pdehai6U8Al}Lwf1)HeE8Q zLt5?}71W9(u5`8EX!ELs5UuvmInmeZa;)n?2|W$3o6v*pMzmI3rrJeNq1nZ%Q}lzV z#v$%5!sO|Vbt56LYN&9wy0UO}?YeW5>F>z+a)bLho8Vj1sbI{^RCM#VpYrmo&dcBzw)Ku5%dbBS1*|mCPyUtZX+C6Ae=)(11Zdh}~>VXs8Cku0< zS~4DK(633q8T9!Pskj={rIV{8wZ}XXy>w)zsU2i^o88VRVRCA)*!o6}>(R{@adm@#;-s;8zAsiQc50E` zl|*|z+~Iow)pQ=Onz zpp|b&>9yy5+{RNKq7DOVEgRP5*%hsh0o|2QytKn`*clD>!z}KcqWb9iHu&dMg~VOStEm^m#mS&(M#6I;OHf5WN`G7H8Qw`Ybh1p zPSJ6!=Vjf!fzG-E8~#H2f{FS)*1ZqceDvtEl1}gRtZEgo*5j)$KNlQDIx=%7+n%ob z%XUk__t)(@LFuLrt*r3ru7V0ynD*?jUkmGjUYBBBt+dcy=OYzDT;-JeMbb%OVwT%C z!;KJq?B3nwador(?CjBRMi=YRnL2xyii#iX2G&GbS50n{X4xaj+9RjALZ|C|ql48} z>A;U&61Hrp#ynKMQijtCD%?2r=r!hEfe_YuSX-?u-Dp$sphFjH&FK#adxFd^UpU?Q zre;?B_4k%l&pTP2{OI>X?-x@?8tSJ!pfOx_merN()~?$Yela_`$I*1%+{t&CYJ06a z&qvx)*wRI>sS`Dwx}>&CPhB6VgMWS>BHz<%4b)43U3gziV_`jJTkvR&E6}N2Yqh1B zJtzC8o5Bk49*4!h=iJwoMXgm5U zUw0)Cua43^!#umBbJx1Quxx9?*W3C&rTm^c+3ym4ti^NUYA9@X5!T|nJ{{eWZ#C$4 zEVyPr(ROXBnoI14*1K$f^^V7CT)r0O?) zy{x-^p7@!btlwxAUR)8yYPkIp^wWCm+(i|%s$~ir54z@AW7Vye)s0)r!lN4&>Wr&L z*40EZ%N}923PzqpRe3opY@!fmOqZUnEmC@i&fy^UdP%EkB<}^2bdNkqm612uRoq7( zQnd%DdPb@(63b^*w;g>kv5(!L^CevETsnYt2GIfFZV03e)>C1=8J;2NDcm;m5B_VL z>Lv=;c3B0@Bi+Q@*wiXl<4;{CaEC;ts>Cf4RTEgb$EqkYt)@t~$mkM0EI<0Uo>=u6 z4^{Z1y>RS1myXmv7QA(&@TyjuI;*A(+lH#wQmgR~)SBBJtevevVd5b$*VxNiD7z}m zup=yMXlEx0ear6LP~6vcbKBnSw62iq9!;me^mKn!sWXcn4sxBVSV>1G!thM*>b(-x z0b$!GUpTa)s6Ug1b?1qfHdra5P-VWI^wdELrUN_OI) z^46a;3g<_Cwdh${Yc7(JqaUwH;Zw6mujVxCE+tXsRonZ{I{xhE-=78g_epJ-uDkK= zbwj>~)l9i+*T$|Ho;^x$wIi|nW4^D20lEOUCg-|9?bR=ZcST=;ZM zp+}~VUQhjXouJmN>Ip1W>9JYhUk&(6OXG8{Nb4N44#6Crw`h zbwwGg!q+`xm4xUjuj80b?gv}Pt$$2ttV)B{d7(e0{O9u7!KHd1-P{acJ7E1Rb1a0t zk*N5ui!Zf}=+RpbX7uuJ53)jO>cj#1jSTDd($xw1M62}mcM{x5(CV3eSxbkoN^jZ! zzPf{=wzSrb&KUV))Yy!~BV}<{T@bBS>i_PQRv1)c-NR8be(y^=PwH?e60#jZ!XZTAB4AMtxlKTDtx)KpoUH*{uz{1 zRdCTR<%@r=%xKM@#!Q;32Vd>QY|(;fZ(T^c6GcCs8!uw{eA&R=7-JW(cRyHd25;(d zZB$}~5dX{Q8Uw0nt{$by$PcFJ9liRMa`&B8I8j%CuJXw5kglDM{WKLm40NsF_Y_yY zaeNTJKhR zRci{pi^y6<6x<(AQ~559o8yV@FRix=J&bQX2)SDmGp)s-mBH;u&|`@H*3Z%Vk1C;h zq;fzj3BypS1O>6H>2+QQ^)yn#cFVsrM z?_s(*>-#Dw)Ip)uvShk!xSL3RQZ*P2Z1=SySa`Nbly3*>SBri>!cy_T-r9^>d)lD7 z7V|$CmPP+ancJe%bbXL0FIYuM_%yg{*raM?RVG`-N5KsJlZa`9^ctXElfe_&Na5TLusb9Bs_W}>l&<=o>ock z(Ys@J?Ifz_j@-|6>#Bp@2Jv-ED!KSa11F3n|LRxBKOUl8+P8aFnIzIU*_v{yhcCLl zRI^|eJFTBRYwfT5sOs;)7DA15bcfFMtB|258dbvSWD8-J#(I?2PPHlt`z8lEV(q+a zmpS3qS0SjV1+(f3J5T<{xE6_aJ=xRLFJ-2Gv7FBHwx_srn%gT>Hc;)d)fBicoV3WU z_Xby|XD2MzyHV`@J{o7k%04Fnp&hR!w0&-r7T|dLYPZ&#Y8xC+ZtrW2{huhrM2>BhxHRQIEU?+R*#M*iL^PN3~;qNxO zil0e(R@?RAiZu4SBWv#cd>m&x{2n4ZNL zz;yMC`=MYoe@LyWm$O(K@f-j+pj1`&o8}vCcd0c}Q(% zcX#&a9n2pCu59tIM~ID8YfjZ0*;U(rrBPI+MZp|e{O5OzdKp8(cXi7w&DAlgR>8e+ zOD8n9FNBYj(@saHAUn_K9PMiAtsYW;tG}eww1NKWD*XBLT{c9X^0mrO_holLB-ZT6 zF?zF;>f7B;=pNVzx_0b%ZuQ#MeM_3|)#X)JzpB;S=T4~J*`CPLLrT^AgeR!H>MhP` z+^|uLbEY&sXF|rfNx5hLfA{th=u=kz{?SM8?w(by?6E;58^|X`wl7zDPVt4s3JtI5 zhtIX)_WkfvTz^Dk`+n7Mq^zfZ?aNh}n>;URzP_7Qu6*I~O&OmwPh$tBlq=i*m_qZl zyeU6!zWv5g_^G2mI{5tbd3R&ELd!Z(o!UCF?HYd8X(e|kSM%s} zI+kl$d`XJZI;K#5FVGj;mn$DGPoZ_#%Z)3%4y%VVl6&>9L%Hg6OV2AczvNXV79?Mt zbd9a&=rp(bY37ukTWVg(`6aGOUXXOPO%vTOhr4O2%q=;u#Qfx|^v>g4SZ;V`q%}PL;Xt*h%-tPBaghjQ_V~ z+*ri;=rQJxz48l-buE`1O?Pk+--|C>bo!y1{=e2`QR}*T^>x*=Nl-GSRL?TSD<)SeR=L=TNmYuS zRP5wp)sj!wff4&eha?9F|A~%H3Zi3!AStl3PQfQhL!zIgAUUvYS@5wVs^F6pl#Gop zSuj$6B?YBp<4ecJmx+xp6B~a_Y<%I|Bn8LD#vdE|{&BJK$Hm51h>foh8-ILk{PD5z zm1E;8$Ht!!8-GGSr&8-G@8{MoVbXUE3Zjg7Ax*pEP;#BN?UHvKuV>CcIcuOAy< zKQ_K$Y<%?0XxpoCY`h)N1)rp#X>5E`m*2&SN&NU#kvQ?E{zwX%$G+b@I$Gmf#>Tgd zjXyUw{@mF3*0J%eW8>S##Y<&CJ_>Qsh9o_mVIM;WKP2V{-edpNt zuCei5W8+g}<5OefyT`_NkB#pc8{acFzISYV@7VahvGILl;MOr~XO`hQ#8bvFYs>vfz^x3@ZrqS5jc5m4Z)FkX{hzucRO&7LSa@ z*|B)En}5Ms&F>!tzuA8OC^+l*^;Phj9A7_UW9eJTq~Mbjj1TM=z)l}_eNa)qe+6j; zfr_(16UJ9`<4XozWcac1wgv6`_RCsPzkgZ8KD{!*bj9JvroUSMY4oF#T#PrHpTY+rutV=zlVEb$vGp4cb^@d~Ery(LWnBQ2#0h zrv+VOkcI8;k#BdY|4|K_#sS zo5aum?4Yr&7(SN&4ve>JmWn~$pl@t^W-Oit&et#<)i%*WlwPJCbSllfZ_m9P+WAP=i_{LbgJQhEp*w)7d z`d2Y%7`#es*EJROd;B4>U5{1N-u(^ntuAgJ{HZwn*!DX{E7sDpGg(Fbo>nEc$lb|$MB zbPV2)jo%%M|A@uqO8D<*y6<-mPAA^z;;un6#o@>D+k^4`{E-@D6A#w7ib40_5@MT8 z#h_EWRoh-yDnYip7t{;um7^rdaH%@>EM$ ze`HWIKd7mv+O1;H)$M7hzyF>X;+tj{Op&Pli#(uOM6GMVph8I&?vuz(6s_*HxfZ^! z@AB%JDn{ST=BBfj;o2 z!`vK3smGpCWA(_b^;4+Z2fCAK!>yK;rc&0Rsja26jz-&CeP{R@65aOUl5q!6n<5;d4H&kkv}Ei}Fm{_J9Ohze z*YFM2HjSQn%v5u2-^afVh;`}`Nj=)dicRTubNX|zI6o_g8>*4llG3|^j=flOYzEj} zBzmPRcrMFQ8)N;HM4tY%v1(MH{VV>&T{yMnXN+E)H`=WZJ1AWvFFSy&uK}CvsQauo zFq&RsaSM803J19p0k^=yTlW9jnS_#c_tWg)O%J;p|F_22x=&be>(+9_jcNPysCErD z@TfijY@jV$;a(Rs(AJ`j@au)QpZm_z-3lpqM#s&ppcj`!k8N&v^n_zKhFy;tc1XGt zfwkP%4$9qfH%{Av-P1-Eey}y1z}-1=qt(}&&O7{R4GzLk_dw~{-A39i@O1kL3a7L- zsrI)ONmHf;s$G;bd|9{JCB8hGa%m8pY{OLmJKen8*ZJFUyOv40A_(kSB<0E=sKt0I zi`eimU4=n4F2t%`Y?0#Gj-c9{z+H2uT*rK*rBe-476d9~D!priptU(mWg>H-{+WyX zwN*8ZFK6*h{#wCem%qj2`<5W6ZR3lW&ZTpEK{{n^x}|*Yj=)`WrrhbvG%3ojk_=L2 z2f=F6d(l)rE2@l>vMdOyn;Kus)co3+O2_KSif08unwcF0gUw8prDe6dG@YfhB5>D$ zDfa|{t*VrJgJ8b7G6<{;opN8`u31y=4}#a3e!HpZ_nMmiXH(OcRJth-kPq3^Vy#!3 zzs+a3xhe>9OnvVfhA(FLJq+JuJ{Sbs&4+^EZ?tQ(l!t?$t@%h0Txse8`a1KmAXsib z9t2OD*Ry{qA68DZd{s4-AGcjJT?dObU1`Ra*lx>-#yTmP5O|)3#@EO{`tOsZH%%j#`y2eplM}J~x%ma^_n0TjjHs#j>%f z`L!nQM%)L7naamyrqWwzD!sC%z8_znrcCG3)At54eMzPd*Jrq%-264&1x#0k>D+o& z`YydNf06XY*>sD7V1}vj|F#|K*?4^~+zxKK7g!%J2C6mH_?LoUmHBcIJVrcOR$Iq$ zrSWcgUg3CFJlLk&5V%^dlvj^lA2n^f^5wRx=HJg^t+%1(dgi~;AIG*H-TIJqqThR+ z{Y>A_vfl{~PQd?*>7>4d23c*vk3py&%w} zZny>oDewGyJ{#J2<=<^5&99Ti(kU9PTn}BkACd0II=|TP?WDgW2=27_lOR}We#-oI z2EmIqzt4hTqxpFdykl+-g73{Q{CY1whI~x0>r)MvmC^406dxa`)=TF2D%$>L(_e*dc@!@p)~VQyUyVKXw z!aQ7#kKjh!iaT*19>PF%F_y1}*c#Jt1m@rjoQsR_b=-zu;t%*Imez^N=2sa{#|GFM zQ*j`U#L0LmUW2#cN?e04<7WI6zr~=G&(H0+64&55d>i-R&-f3PE$!23g6*&;4#m-! zk5}MAyaQL^Q@8=Q;7*1$+}f#y$8yELPU% z=QunS>tZYHiUV*YPQlCZdb|T4#Mkfx{1Sh}BY4cQK0hbnS=bCaVqctqm*CZS8{UUc z;w!iXKgS>OFqSCi^HCm8!CKe^+hI=}k27!{-h_AKqxd|&f!pvaEPtHOM>VXAEwMB9 z!x1S%;t?!U-sh__*1&VH6?Vo{0V=>zp%IpGIky)jpeWso{ZJ87S_YY*b>`fC%gdr;6NOPnK%X~Vm@AsvvEFN zhd1Hvco(k3hj2AMjW6N`+=TDqHv9y4;a>b6f5zXjxGqF(eIAQdur9X1j@TP7#L<|C zm*cf~JFdZX_%?3GJ@_-~cCpJ>1+0o^VG}$byW=3t!b!LY@5EKO7T4oDxE*(6R~6)K zJ@vzpI0-MotMDOw3fJS?_%VKsKjEKPy0V{NC9ID1uqAfFzBnAm)UW!-aEw}>L;#c?s9>$WYkh1kr5vySx zY=IZxK+MF6crnh$n{f@kgm2=9_$3~|!&u@ppRcM|8=GP~?1AZcDPE1Y;0k;cpTpPj z1KfoNuvm4UkJGUMw#HN(h*>xj=i|+|93RDv_#W=VU$A%$KmS_T1lwUx9EzjyGQ1X7 z;$f_Cx=*(n*2R|C8DGV%_!;iUVrTet%Hb(k8=GMV?2W^4CeFv3aXCJU&*K}o4gbQ@ zHGMu##X8smJ7ZtG2*=`7yaKPsCHNR_!Y}Z9`~yp#>GN?sR>yPjTUWD&A0>i;Lmsj%bex&R~c*I zIoJw2<5av77vfTU0H45@a1(xjd+~qxH>T9~`8fek$NG3KcEKC)4qS`t@g3ZbyYVOd z3rnBv=UWM@V?FGJQ}If?0q?{I@o9V&x8i5GAAiHXb^ZK@;TW8Xv++i}4VU4)_#i%x zPvHx=0YAVU_yz94@9-f0hDR`|p3iRzo`N;-EIbFBVms`CgE0#y<1Ac&i*Y$Vg3sY= z_#S?S-{YT{a*ogUNmv_OU>EF%!*Lu=!#Q{Z-hmI`)A%~RkDudy{1wa9_xU;*Yhhz- zix=P!9E15d2bbd`_$+S3t+*5S;UNqf`23W`Dp(U6Vr%S%gK!j1#Vc?T-i;6AKKvj4 zjb$48d{o97*cMZ9D2~8Un1i`E6X)V0yc1X9T6_iH!R@#kf5N}8bR+VM)v*z_z&6+s zQ?WM=#3^_sF2IGj7?>vOls`&e;iiDv#~jL#J+eDjzhii!} z;*EG0K8(-dYxn`~!UK31OEvN7R>B%sAJ4;XH~=&8E_?`|#n?D5+~s$cop7^cjLqO48Dq6@Mk=NrCYF_uo|9?P4RrZ00-a* z9FNoR3cL<)$CdaZZo*yoJ^q8owDkEq5zoMe*c!WG8jipTcp1*cYj6?Xig)5YxC$S` zwfH=)$JcQ)evZ3wKmLTj;$K+2m0!*>SQ$^p2G|-ez(JUWQ}7176CcE__!;iU->~wz zJ|CxJ18j|{I0&cU<#-(~#RqULZonSnh6)(Xn z@G86>Z^k8fH{OR2;~IPhU&2@MP27SX;-~l}euD?_fA|OfgC$z~^>GYVz!ULQJOj_h z2G|VG!}iz}dt!eag6Wuz<8ca3$4hYzUX3^4EqDj6zz6VAd=j6-m+>|H5`Qqa1;PJ_ z|G{J0`1N!mo`DVUJnV}7aRg4l#kc|=!wt9vcj8ZY1XJ3Q53Greuq}4S!I+J?csX8& zOYnYt2Y29J{2w+x-{<3e?14jY6z1XexD+42wfG9Yi=W~?`~{1*^Yg8a=U^-BjD7JU z9E(@rLc9Z4;ZwK)x8P3v7JtR0_C7!5@l>pXEwB^z#o;&}XW%@%3Gc>7@Hu=PKfqmh z01soS4nBXCum;x0^ROEZz)YNkv+!!X74OB>_!7Q_ALDL3h=1cT9ew_);F;JM&&M7( z1V>>W&c=m!Cq9JF;_J8#zrx=zxs%UN1+0ekuoZT}{+NLi@M63QSKwp#0&c<&@kjg% z%XIenX@c#rCyvH^yaE^E9k>dg!VS0ucjCABE2ebu^FI-5Vk0~sd*Bcpg?Ts|ug9hM z0ItPX@C!VEhp|*wpPx!t1MA~?*bN6@CQiaxcq`tEtMMg#3qQu)co6@_W4if#orGs$ zGwg_cF&!u1C3rR7hWFulZn5J%!0e0pG<>@EiOEiw*VZl*5y; z7B;~y*bmcjJWj)#@IG9F>+mi75WmDj7+mP{b1a^OHL)R{huts@M_>-lz`3{x@5EKO z7T4nuY&6X0r!}VH0L;J%I1}gLjkpXS#Ha8T+=B=42$s3X&%ZL(!1{O|cEbUfiIeay zT!Sy+oA@Dqi3jixEHT{YqavP-&9FW8z!^9XZ^UKzAU=h!;AY%`d+;D0!IX5LpA)er zHo~^p9S37J=Hlge9WKH9@kv~doADF;1`lDe5k6n#@D!|#&9DRZ#$h-Xr{Nr2n&H!Z z0e51Vk$!k3JQM3;BW!_fF%^g62pokun2R%U9^Qz{@F{!+H{%Z6g9q^lmdWz@uZ%VD z9BhT1u`gbP>b~9mE>FcP@OoT=_u(3R3E#vI@k=~_e_)AhKc5PCDxQtaus!y~A*h!S zxO`5*OYs`K4OikCT!(MtcHDzM<3Ct-l%LN@SPPqAJM4)=aR$!CMR+H!!nL>_H{*8P zjX&XESbDV2S0${D^{^#&!oD~h$Kwo~hd1Hf_y|6Suj2=}3lHF7EH#GwVGXR0=V3P- zfSI@mSKtHqC_ahL;mi0sevF^t*SH^l!D3^5K99wd@JwukZ7>xFU}XJA8YgBRc+%)(rpjSKNkdw95O?80{0)y_lCGufda4W_hn4XZtbu3YIoJeS;rZAZyJKG*gcspR9E+1sFJE){ zx&*JltMGcf8JFPQcppBDYw#I-317uGaSMKkpW>JJ4IaS%;UD-9mYC@Ce+*W@6Y*3$ z1JA|=*bL9Z_ShABVt*Wh>8RHqxb-(4r{HwF6zAa8cmv*oci;+q03XFC@i}}MU&FWY zJ^UCy!>{pM{1Jb_Ke5;(zdWVzSUet2!qf0ftcR_z3--qmH~}xg1$YbIgOB5j_!e%* zJ@_;JgJmcC{GWuiunD%qA()4=@p@c}58zsS1>eO_aUcGI#i#gu9EVl$Y;2Alu@7E^ z<8V68#T)T1d>Eg_Z}1Qn%k}vvhgGpQw#VL>fqIjU+plNg)p#r3i>vV^d<#Fu-FOiH z#$)n)`c?2uY=Z5vH(rF}QSVN6`MU~l!FzEHzKomkQ~VZx!xH&Ez2mV4Ho!L69f#m( zR4-dDKXdR#yc-|IcW?*p#oAN-_nVm?sGk(#F4zx;<2am#SK>lkiudCaxDMaOo%k*O zib>Oae#+yiSO;5RC+v&qI3B0t9K03p#nt!{zJ(v-Zaj!Hr~7=(!)5p&K83H~X54{$ z@E{(+GBbR-m9Yk%gRQU&_Qw%80WZd@a51jH$M6N*gdgHp_#^&>WoG*Poq%UxLu`W= z;2_MxDR>!Pi?`$b_$;o&jrb|1HxTETD(g-mo<)2G z@pZ&E65mO@g7{HfYbxF6@ICyI@xPjN^`3}Jq{tAvi-^Y%PavK_e5tALEyYI||BR_RtJjI&GnL*)#9tEcB|b=e*wpvRUFxSl z5o?$l-T<4JTF#E9((Ojvmv|_S#2m(7YF?!NUT{5b!$Vl&GCy5;JPA+7x_F+c_1DEz z9nk>d5vKB$O+1-+D)DUMdBlr|Zy{bzd>`>@;-`q$6Te2hm3SBKVfgo^@^uhPT<+s4 z*ciLu2%L#G;{*7bspZ{jUKj*l5brm&ygw2jCjN&wWwsxGoT=}hOk4*WFub{`bkD=y zn2ED+5w0?o-cz_4ciIy&oNv85!jreTh`oyh>+Y+Y|55eIK&o-6rIJ^vR z#E0=^{Mb}}cjHf3`bt0icyoaI7b8B$R6ZLMw;}F8+>^K;@kPX$#1n`w#VZ+pwW;|m z#Cz~5+=5@@pQiF%e2)J0SASWi;;N?dSA)17aU)aH^=9}`vv&}TCC)eXy_v*wiLWMJ zOuU46CGmsAYl)vD-blO+cQAaHsrl}~Kd|gvKfD&6ivuv-)bfoodj!E$;@PJ1J&$-1 z@h!y5iSHv`P5cz`CR6FXW9t01lkt1-N5&`3^YbZ-6-|Aw7PiAw9F7xB<$J1mf%>f^ zzQI(!7Zcx2{1`sT@Hb6;Z?mcVea85&h`%E~gh#OCe4qYtSOsff9c*GM{jS7)a3I6S z;bnL=F2gnWs;TANiaT*19zyGA&891hRj?*D#5UN?>=p!rh%-&Cx6#B?aSq;qci{b| zrhl0DY2r=9TTG?@De+#jOA!1*94zqPFJUU*<%ug3S0_G`xFK;f;&#NHiTeE7@OpUKhd@}Kw#C3=pnfiWn?2Z>PevH{E z2&NNXX^vHYdBisn-$r~7@dLz95I;k_f%pyL_ldv4Zy5fAsrmj7OJ3vSld%bQ#Y~)q zx0_o2d(93(@C5No=2*Q;gm^RY`^29Se?@$N_y`ui)~8#>RJ!HxbZmybaU@=1DnIkh zc0q6p@p4o7S&dIId_D1N#9N6!B;G~5hxjLA>yXjXD`9GWWlhbm0-lL2u^&#sd3dj> z?>}a?4T6`5H;3nSHI;r9;!}xh6Q4uelDHcV#)}xA zWh#GTaSq;w58+1q7!RWLU2Na4hHY_}IYH+c^IY{$OMHc?<)2S{Bk`@oD~RtWUPJse z@hily6Te6N5%HJAdx;Mc|4Ll!20#A_SOaUB%I`U*^4lEyGkys11e}da@lkvOci|yC zevwbNF?PW$Q}dlGTibsi(W(p3JgBEE_EHsX7TA0U2$cmuw{@OMq6`vHD~hq2O4etd20 zVk$p<&89&xf_S{C{7fdkg!o!q#PByt|4AI& z?DKhyseF|uK83hCab4nu#OD#WBkoSzhj@^wZ&-7&|6W^6$E)xTe8N<|UNE(tHWPnD{H3Y+?Ik`){3~&ZTm1Jb znN9UhO&oxe@M>Ixui;MIi~lo~kH1aLH|bWNZcS`yYIu9>&hT{NF__En`NTKi5{5sC z&zM^NH;F&PpRw$1e*U$v9ge`+xC&pytyuAPeP7FSs@Yim3KO?5wH$4TyP17e?jz1* z{Al7_;_1X!65oWkG5j9l2Z)~_euj7h@f*bN6Mt-K{s)MECO&?NAAX{#^>mi0d^f~% z8Gj+p#OrYdzJS|sAC_9`(?1>SVjolMZIIbO*FnTnOwIoaoX_x^a2dnzA%2wj3F4QC zHxO?oexLX=;;)GJ<3UsTIE>})@cB62)bKN~74~F&KjKWBf!E^-e9F{vJx}}=?!*IT zmdc03rSA0et%_&j`Pc_X;8@JX`S_5j^}NQcq4Nsy+otlfmEk+^D?DuKd&eyEo`^NE z8Men>IK(_dzfZ(@rsgw)cn|ow-_6WZ z)UP;kZ&Ue5BTgsIBA!G%mH0}$0q?}e@p-ed&MU;*Or^hv;lDAw_}vSK; zbd4F_fw(L2032&-`aH9O-hV)RovH8Nfy)`chVd_$#|6P##M?|wzk~Q7@vo+)E5F=Z z6I)_$Q}a*9sW=@x!L(yPDw}8NL;F;$E|qu1|^oG4;LjEBx?U zrt;Aod*Vrj~mO!!O1K48Mi= zF1(lF&*2An0PWov#ZL@^GtHCK|GugDwIS|ro~rXB!zUBZH&0W)?hL<|_&IZs>VFvi zA%2cuGyWG-%liiwTj}Excq~@HlkikL6VJv**bLiXd+dfiFbxOe2+YD9oQyMY7S6>5 zxCj^HowyuV;Ul;fpT+gK5#PbBxE*)mZrq1I;UWABgZun?EsbTd5>~;}@C>Yj^|3jg ziyg2F_QHNR6o=y|9EZ6$4KKqh@fuu+x8hQ~2k*zn@Cke#*Wv5<7QT-k;pg}j?#CbS zS3Hcx@AvDqB$mU9crsSQT381gV{>ea9Wc zu`{M(A56nhI1cl1240SHP{lVlKmANQwYxc2;j?C4y>|g$#W(Oh{1Csv@9<~*6^~%C zVm{r{SQe|Hy~f_=TNfK(D{O;(&9iks3y0wdoP>FJFivy~je+cO~wQX*d||-LjVM zD7@IbNc9mo53j~WxESxiyYYT}2-o0K_#&>yH}Gw=chB1VKf=%OOWcRwkUg7S_ea*c{tnd$f1cTK;;Vy_?qJK{y;UaV)y`c4)eM;u&~3&cU1T zR$PWFa1}m+PojIzhtgk1yaC_D&A1J>;}`ff?#CbS7yJY5L}kmHjP89Qiccgy3*CD| zH2gf`^RWwFfPHZQX5ko|jQMyu&cTIv6E4FQ_z14X^|%q=#x3{}euCfP0sIaB#1bX^ z`Y3~^m?MJVG^~Ynuobq!PS_0x;f0uqqtLzoMCs2Wo`YB65?qEWaTPv;FW?4z9XI29 zxE*)mclaazfk*JTl79J*$CI%do`a3B6}G|7=-$7gzv#~FB)d0`M- zi#Oq|cppB9t8p#9if`b%_&)By&u};H!{6{vEK$nmrwpEgr{P&x7n@)UY>OT60_=qs znM2gB2*+R!=HYalkJsRhcnjW%%kgo15}!x+o*K>fHR3mMD{jND@f$pdzu-TZRN5~` zWjqOM;F(wt8)8drjUBNo4l)M>!G)NKqi`zD#Mw9(Z^fm!0`J4M_$cs}+r`>S0S4#A6X66WE>co{A`Fi7$FD22yhWjqP1V@+(1=VE*8 zj6JXqrsGH)hZAus&cxX`7jMSfa0T9nkK>d0625{T;K%p{evRMZkN7JdMyorq?Nt(w z#R^!%?4f!BtcMM;1)hf;unYFYzBm|%;Yf7vN78&I66fL-I1jJGMYt62!u#++d=j6* zb+`fF!L9f)eu@Y1ApVK}V41Rh{Tz!Y;wgA0o{deg1-8e|*cY@5$;=eFZU6t)OW$;)$0Z+y=(7h*0 z(>Ek;ik&ePhvIOYgn2l}yg>IOaUtG>OK=&k#8vn>K8Y{kE4T^Y!4L3b{2af+Z}9;B zg+V!=&r)~{R>TwVRIGt@u>m&6bFn>k#va%Q2jPV{4kzMNoQc=s4R|Xq#T9rTK7y<9 z8GHdZ;OqDy?!a&H0RDo1V6o%;dMkltu{>76s#p_iqkHd`_K()Yov<7B!8E)O({VJ8 z$2^>lm*X6~8E?b8@m_ogAH%2ddE9`n<45=jeuaDS0J`^mX*vHOcJKXCoLt_oztUI* zt71*8jSa8~o`>gS7rX$6;&2>=<8TU2#Y^!DT!7c%owyty#7FUId>&uNx9|h}7e{2ce=l)+=sy`SvNAgFG!bnhvXb&1R1!&VgqcCov{b@!9jQ-X5uKEiZgLG&c$o-2D}xQ;)D1oK7%jdYxpL9 zfbKnRTJPTyAHZMm4-6{%^^=Tcu{>76s#p_iV*_l0=i&L-%j}@*H5`H$VGd5l>39iV zgA4H%T!PDSB|eOg<2u}c@8DMa3isj<_%j~Hzp=y#etF7Z1+0wjJ#_7Ypti-b0XD%7 z*adrHUmS^}aU$m86*v!Xz?< z_u(VB8lT5?_!_>6pW+v|7x&{K{2l+nq$+;7-TU{H-;;=|V@+&=EwC+iz`i&D({UtD zz$thMUXC~7Ew~I<;Dh)muEl5Z4SXBl$B*zc{1W%!_xLCNgQau>(e{U9up*v-)zG~^ zP}9{RcJC2X+??3GPf&3OV)tG_#l48#`vnzeSgf0p*_eZq@p7Dl*Wf~2hAVItK7#K3 zgGzq`@te3Acj7Mm2EW6f@mD;8#ZLD5E{~P48lH|#u_d;{PS^wc;2^vZ$Kgbrj+fwd zxCocxUAP+8;tS~Bvv_V0yi5E(euAIlUfhod@fSRT#nh(BwqqGQ7AxaPSR3nMYqMn# zw8O609o_pHHGVj8Hjc$h@N%4w*WeOdhAVLuK8{b~^SBN-qkG?@^6@G07kChV!6R6# zs$Z@$cq~@JDp(zBViU7@5V-e5%C^KEurCh4VK@ROVIE$Lm*G6T8W-VWycZw9HTV?1 zfp6mn_%VKgU*mrK0e{8ASmsnMZ&STz7%O2FJPYe$V{DF{F%|pb0K5n@a17>PKF+|a z@LIeXZ$tOqOXc@I;zw}}zKU<)yZAotz|U|u?!({kPb^-|ub+~5ELOlOSQYDH18jwD zus8O{VK@S(;8eUE=in{41nhqri_>r(y7zl({!5AP!u#++d=_8Cw{Z(@$DQcj`>Avf z5*M$|_QezN6s(60u^o280cPVM7=j}(3#XZVgWzJk0_WjkydCexd+`Z;8ehU!a4T-Z zowy74;rI9_{(~iJ`23|{1+0uUu{Jh9_nuNM*SW-Pu`{M(A56nxI0C2ORJo%2?CXx~Yu~unC@vZLu?^;)SOErQ;|Z zhf{DW&cy|I1Kx~F@h)`li`Cz2h@Zoka3gNQE%*U`f}i6a{1$)0L-;5DgU8kM%Xd7U zf~R3EbnmCtcN!5l!_KD4D5=;7({MOu;#i!3m*X6~1{dOTT#1k1YTRV%TK*mU06)fW zP1PM8z(e>url=0g#+Sp&coNn%E9kl(o8!5diaqfnQ+41OI0kbt52xd7oQv1u4Y(Xv z;*+NC1wMo8a09-LTW|+{hTofN_|w>>yZf z)(wJH<~e$v!PM`{v!==e>rIt2HkrDP*lM;6g6*cR({`C{gJ7T8PV3d|5Cp%Qo%FwA zvP%%S_O#u!{1)pzM-@}|VXK?Hwfv@jhZ~yxwfyD)UC)`?F5S!_YL{hRsO2{=((;=l zG#`Czd6Ka->Nc?(Ud7aM=yJhX9d$ZzaYNK3F4iJCTcfh>VrALc2h(r_X5kpj!5OBO zdlt^dxwyzw;*0Tiyc1WMT0f8AYFvxY;)}S+)cSb`x8gS3g}ZSdeviMK+E4$&z}B<& z*JO0tQ~RxJA1&Q>)&5(_#!I(-wI5ftSXMW6KCOvvduzY0XR&nKUFY+r7E8DNwV$`P zShh2@zjs2nKWM-2VX<`kh4%k6i>2E?bR4*L*K&jnuMq@UIL6d*k%N;>9Uu8P!_;vy z3ul|!zvkisQ^(D9xX9G;vlwqTbsXJ^%S|0mD{+xPM;b(i{)Itt#o9lUv9zh< zwk*2#;@UqeSuCrVI*zMibyLT4O{{I|xUPo{O&#A&v8AcwyfwBnwLf>lZsrJWe|$sx zrtPnvnEH3b)P7m9wAB7s+thy8!PI^@%+!9DZ)$&=XKFul?d-IlJz%l+t4*f%C)Z9+ z`_X=jYXm{bGE)0bGgJGGYtMF85RA82`-y9Zrv2l2i?v_4c4gWhTstl82Mba(T-$%B z@@U)rVpH4u9#h--h^g({xUAH6z0m9s1eclGjvGvEzi-WM+D@jnmurvGL(f5LnQi<0 zVrqK~v33pG9yzAA!;Pla|2?MG`({(?`v+6&`CP3lTfdb8nal5$)^9!HhNjlBvf{=o z3qf%$YZ~!jQ_GM=JjPUB<`OS3HIJ3Vt4wVdcmC4+)?2LYvyJiFO>L*$#QRKbuS3MY zo7!&4w!iB8rA=+WO2k!6ZO59#wM}i$ro=7H8k|S;{WOcUeJ3+M-_&+?$GgTavRK=D z731A;tnI#u*d3R3Io>q=J{zw6z#T`5-EpM-!R_aY-G1I!zjL-fD|Y*JQ~iz;&oZ^2 zEGE9))c&%T_*ql?&359QruLt|h=U}>?Q}evO24|$Rm6{&+HbcKZ!dG2vhN*)#Hk`dJzI8A1Kbyu6@( zZgx(68(2R*H-CEi*okBF(??FoN}rrNc3P1mv!~@Vvfx{zaCY3xMpJpVO`GL@H~(cRB0H*a$KzhubPVg8uh>C?v-F@fJ`;pU2c+l|c2@Lx-;mHez6x5^_E$7VAoDG&&{z66dq%X9UXgg{`1D>XBX@%kwkMR=cnh7osgYtyIua+iKB~7y{E z6qq14W8&!SLf=1nNY2=a*gocqM5vvKxO5g{n8fB(1XtUMK; zuZoC?PdHyIf2o)iv}4To*A{c>=P1@sp8IF>>#2Xy^i&iGD(YYO3DZl}fM|M$BI(&W zurw{bQTi86uaDv|4gHz;droY+eu|4)j>|PXI^Vw{^R?mOe3$F*=zNDMwsjDG!aUrm z0nzl5RZy#g8q)Cw?J`p+lA>pqv6r?sw%ze8fNLK7@J7%BmEss&&scr z^e_B`>AkN3(ezp?JzKAqo{GVV^nTUf(e&)Py{Pr~vxZ00>l8^(#ppzO6_r>ty-ye? z+$YRmIZYHzuSX<36~hzh)rqC|xyFTQSc2i-U1HPi(m30u;U}D~Lu|fjk@=pWiNpP1 zcr3l$8doh$Oor)Ak4;xxaZ&TN=dPp6J1jC^T}CA4YtLWnzr^{V#syQCvsk!%w&zkHpf;QF`J2tjm~0dT+w4T`1r!@uOOe=NP7k^I>?K3raV zjy<}(DT<3)f74>=eIH5h>_~d|#L~0+lVLUkKH+YW7|WQp^5xG6H9Nl zewe~EEJ=-apATZw&DC`4!jX~bwrE&%yXEUZ*ro9{-}?F&u9pL`^g8Ir?rMEAVUbv2` z$I@G=^k!>1%b)#@g!yY1OK)Q-)h%g!_zCl8*Wc0n)x4ot&_@$ldd>AOOwXS0k1p>} z{df!y6O& z2%_nIq%YaL!cUk#tG9?w_lc&n-^}n6PPZ#I-+G#FxSrc<;&3^N>5pi7YxQG3CQM9* z=^crsH!QLo9V6+T5=*bD3OAWWq-XsiMAysQNd7uU(rXn z+iqPW=?#pf*P(3D<)MDD^vddoR=c1}FEx_h%vgE@m7dKv{DkXoYAn46N=NB>mKmq_mn(hJwqvr5nIJ%k@+%YCe0i)eaHZz|ZnswPaN*P8U~ z+-{%M<$d|uM?UYC{P5U(*K4|><~uYt-(i~X0)5|>!?v^K&-U9q($k;r^K3=^zTF>2 ze!dn>ilw((>8;Q3=?&BPFuluT=@ox22&~VF@Dr}08)MU*_i_-7wE_vBaJuVb^IdtU zSTI=y16z)C{R`*2JeJ^pYuw$Ii- zbWdcu|J(j=__#sXAlg*4z_~#x?7u}!VQHM(FwaAvg zvHBP0?^jKypN7fd_jgY#7BmS1Y4f#@8Ck7C6}u49u{1%$r|O@jr(N95Q|To>Rpu27 zwiU5o*)?Qzy6es^9+WI%I#=Cfbv*SaHK?vnqh^g;HE-FpapNY{t2eX({J&AdhRvHd zuU@@zv*t}2yWt~JF7MoAiV zlbh>X#p}9hikCP|_nDI2gLJJ%+cd>XZ8}jyo>%I{d(N~W$t9|4yCgT!$+Woj9Iqjz zGW5$?!u?&kggr%`RJv5Y=2J4c#8_2PX@c9dIb7zFDz(&Ck`HOdNmZ;6Txy-g*J|pd zn(ibpRhQgJ^(NY=9X4u==AYDXw*D+VwPldp)uu0T$c2rXYkA(aI7#cIbY7FjLGlIm zrP5RF&+gyasA?LOJWBab9%{>2COIX!y#^iAL;ovlU6%#N+6~O)9d0$HB-=#gQj+bW zJNW`zuG1&~AMV~ezNsU7AHMhM+6Y^=h4I)D9${G)Ad0aKrUe2RgNAfy#n}k$Sd7o$Q$W}JlUwOZu_n+4vxX(FL z&zw1PX6{Iu0hwgO_>8pUu!OPsJDbE|REGUkACT=NQ!+9jaf5k1Xs?~PgCAb^;U_(b z*TDT7eST!hYZ+>!vx=uc^<`q0k>O6f;@@Bee?Xgf)l~>I#CSXsue%t*HafNxZ3nuS7*fi&1gdJ?2XUi7wFYagMm*exMI?YU1yS z+~Y~R1%G4ho^yXh?`+L?pdU_`uWQ__Z-S>nEtOa!OSIt4@T43)02@%H6+LI9RppT zWxALBiRCGkEhlM+3z;p-T5WL_rZ;yj-~Ze~39yn4KN-qlQRz{Xc^(K|X67r*>h8J= zK_U(P*_FY-){r*ZXKsR%YRMcWPc9V$sybc5l(lcZaW zgOu*O=7aW#)zrY9hOwqmZ&nRKSScZ@)0vZp3G!(EDpiRawa5nSE^)FC68orSE-ok@*CDO*Wxij zv!st2sZq(Q7{X zyd)gi zJnlS`$8||HQU@s7kSo~4fhMc5B~SBk4>H-)ZdAi|C)q5s|Gnt;RQDuv1q--BIT%G7 zk|#U5OB9nRA7-yjF;}BBkC9GjLk2Bj&R+LoYaO&DDYkowbv@z@Sxh;Xs*bW{GP`h@ zO68Wfu-lhg^qpb(Fa?dO&YdoYvzt~}mmq(YOyi)awRrT{BFQg#xK~;n3Tq^P?eDHr zOq=9S^4;}{*(gt9Jq^}2NV8QI(F9gmXM;Ie(q+3>t9t$}Qz^k3mFG&iih?#O=6d-Q zOFL3Ax5=YvUTYO|ujH)fZc@x6at>pfRcTKd>9i77sTAUOc-E@;UJid*jL$N1zI3-+ zkAjyT>a|PJhCGv+Sa0zNu8l@I9SliTM!-m?QfcR!4}R%hsD@!KN4UGiVu$3;rHmUa z*5%Zi1*29ud`4O!0+VcpBy%h(%R@j2bdt>hnatr4v(gzVcpRSTw3HPfR6!QL??UbM za?!t77OHZ)UA;hujzJ$K)lEd|P&1@S&gA+cbTrhPoTbP#BuMrtG8cMI?x)D-Fz}PJ z6}f}iB+0x4`zpxmX~;lq_;je-2p<81FvDBe-f$&`Wbg2UtTD_VdnbqA#?uq#54=;t z&4^76_k!n23$KBM-f$mGi+#coJk!II@a!92fM-US2Wg4$YCJQ;T?okvUj*70ehhj2 z;TlxiFMJ_dkR5IZEyF(|JP>x~ zn=pin!Vlv)BK$I*Bg3EKSsXru=csUB=x20z5T0YgJX&t-fM(eKF$3R*w1*DivOxPQ zl;YX`D0=VUt!34zGApnJOu$fU#sE-KUwg6!`}0WY?k@$5YSRw1e5oC$2391Zh(BA z??)jbftBa@JYh2(;z=dN08@z}l^6p}C5KdU3^J7DN?EE(TnM34j-)y=r$U+Dl&1AaA#TGXrFl4>hWHebDJ^-- zD1Jd(Qd()EZt(!DKBbMc$FK)7!@6-y^iPDRZei(3_BVK@^Km(1^a#ql5kp<34RQfQ z2SiDW_&^#W1WQXBoDbR-xp<}xnS!TVq`@ZBhE{|2h+1??+Az{y@hw`JmQOlEoQvkC z4JYk0)WAw-ay}phWlXYJU%%lXS%b5{M-&4Y&#F8mka8sGWR?{Rm=4;`Vs!;-x zmR7*yuaayAWNt@*C#`4)Lc}^p%q)o&2V9D*B^d{2# zHlpiKx4a8^l9b>UgLjdWfk)VQ7cM7%bi>nd2>g5&GV{f=WIalQ+d=cGdB{jdUhr5sKgH@I0GJ z@jk;&M?<}JDF_L@jHKR1Mur}QiS!vxdkVb)HKzymBQ(ioldU4=p4{sL%DV-_$V!FNg1<9o643mW|OwWEl8L#hqTMEm%)BADtXXV0t?8@hYlkdi}$dw zuhHC$BRED3@dQN7SmM~|cr-R+DQUOhM=cr4lx2xU5F}$c(|g59EH_FzLwo=oW~?CX z69O&CsO3RYQY?f8Wvpa)P<%+bj&#`QN7$(Y~Af5Ml5r-qMZxd;+n2EOeHaoU*20Foa)Z0jp2?X}!+u}lq6#VGKcQl0w z3Lb;v`xEJ~sDdti$FQ7;IF=)SYXIqoiP^AY-!|qg6l0)!-?24L`!`c7u}EO89mb;@jnSBV!$pUUtW zVY8gmNG}rGpkCkUq?a1WRE=Xy>_qen)s{@fIH8={5V{KiO7B#`Z_@8!47-hua$>rB zB-Sk-#&S~$J!w!bkC0Ni*%T*+Wg#XH0m*EL6Utp6gdUCno9E8?&S-~%5_n`(=picR z5KoIrvMI02v<5-9nf$);bpMe%XikmwhJP(h3Y!Q>;%_2tis`Tkf3xykVl3$v(k`{| z@V9ctx5W???{8x%ZZR1B>R(6NBZ4faowQf%M+^NOq%#DMhxK=o_KCF+!Qb^U%9Lsm z;$Qy{&_Q9KZ~Plb=L#O*t3 zlLv80|LrVVDeMjkq7`;0X|1rkNL!A=?k24jc8{YlL1FJb5_P%74AS?J_J~pnem_h1 ziYwtZ{kutLh%eDu{s&l&PYlCg^gnnM<%Cr91ojN-@Hh&X;r5^1f-GVt9{zK3pe!S+ zwtcnXKbP&m2Hc-m)OoWJotXg#6ZHR;8(69_7q9}|n7@(Mjk%DtC3>@#?WA>ME^-?4 z6uf}{Vzmt>mcr!xmyq^|VZA|LN>zHrLaOrbq%*{^7~%fQD5Vb#*aWoc(fyZ`%<%fJ zp)Qm_*TxBSU7SEW9f7zu^iEB2r=&ayTSANJpzib~R%_cRdN z{i5V-IOdEsXt7k=ELHIGu zj^|i&hR^>pPgN30)Z8l+)DS*u=vC6T7=RA;zed_E_E7TI*^wSGnd9IM(q6HH;ct@8 zFzg@L;>}zz$SZU&d8+Ag-#foT~V$;s4sHO4-gg%xOEe^DSxadOV1d?M5o%JCYg2 z{vYm$Rq$h61wX}A@Uv5avWs7w3ixK?|23{Hhg4gnYKvj2#>h?%J5#-VgylRc)>2GF zKFY!AGFkI5`6mi)E2a<Ap+gp|scrYOdg%9*Ar z#*#|RG{v~o8MU)iRq!h0X0ODwk~>plUOu8o&b;gESt0zWEf>T*X3%>olsI0;e1q zrJE{LjN8a5^yisH=(I?CSBv2vq-4cL6X%DBN!_?*CM?rGSQV8aCvsE_QH)Q%L;D)4 z7%3&o9j2I|Y$j8r#0?ucUjImwCm_kS)J(CWwTPos20PNc&hU>mJCVpOmAGR}uGHuQ zT&O?EzR&5fapohGwz+nr;Xlme=rkgA_@Ku>UNKgr5zUyOXgku{g^0rylPG&3pMRp+ z0;h|1XZR@=ylwfq*t8e2~FY7|aKP>9msUF$`YJU_KDQ!JlN$VK58#(2Nnl zQ?a`QG2l4lnCr>pmHL*7bJDimYO@f;R26yugb%=G@5it!jZLH}%XAie?Uuum<@yp&@44g ze7jR_WILBBu?)G8YF@5oY~*l?>OqsjQ(yfn%)Km#C!YH2RDNqR6;SWcpK*=S;LvX~ ze3e6Yv0GL}>tC$Q~LVet!Vtn#hCc9I` zNY;3_xt=vDYrIEwy0)i#6{GFxKE-Hzx?eHco^~rn+tUMz(f0J9VzfOyq!`q=#(%Y$ zmV+9VPrgP8V#vE-Wd3UvW6S-tvFjA$c1+|ZlP5=c9ILoXDK*2fiiefLisfH9M?9kP z)X3{;myfAx7RlQ==RcvCrSfui^OL5404pSa<>ud`^3=o7cVPm;J`cQd$~-1}N@*q` z8)>Z(EaVw;5NMZeuZGpR-1Y+WyUov``mN&{AhQwO;m!{65F>FOipkDXZwy&Y4K3Ih zC2bp-Jo-11J@_Xk+7Bbj9`bk)qeSrN#_XY=g0{t8B+btE=At;U4N_$fF97Wke%Nw$ z!5q+D(T;x1E@}szA&y4@*(1&e?Gx{rphw;fT8djBVD_kwK?g-KTvhhyl#tplxC$AP zP?d)dG};U3A4W~Z@}Nn1B8{tx4EdvDfnY`$@@K`^@-hf552=s3-EtMOOYE)yddoH# zoir7bB+r9^yy^$n6`NFM$vdt0XrK&$1O(6sDhodb0R<>8Q5rdxv{ zWS-<1zw%0zXQ*ss%nrp2lSjZ&$g8a~sF3Rcs#1MWMCGX#skghH2hu!^D78zH1ZBjf zA&cm~CZ7kGh~EQH+E)5ur+IXuOr%wBgzSLdmobXbEQoy)7tKb;is1Q2Dh>N8E)6S< zrP&xu!#<2l6EDg|Ov6rm|F>y+-ftO!Ch_2{B>RC_a&~`Qk=@CW<_n~;SJS`_qXCC_ zbZPdMzQ~}qWygU~t95)%^DBy;3Ld*h3=Zvq7Y}4HB=kHA2>2BFl?l?X$nEf8fqsg- zfC;h{`724O$e~Od;C@r+aSLRB75X|%D3GH_iSZW*Dw5wl4dg0v7b^}a@@H6OAWxCJ z)GZJuY25`=>%ZJ}Jp{J?jDgobs_1lV2^qOopeQ0|oF5Bb8v1k?<+# zAv2AfjV414^MZm?r<^@?%(`cPdSKU8ukZSJ$wLdq9q4ml@s-C;I_JgZa_0rt^?Joz za$NfTC*Z@CqdoIGm)+m~>n(3>y*lxY?VSg|FC}E+=&-7KUQ?j6N6kgKYq;O-Crla^H}-WSHC#7?#aZ}g9m4v zkaWkOvANm9e{LQ&yKlY9$EhI^8ZTtEDu4{bYPSo=AbeYE@XnXCF;({|d-hpw30 z^tk_{bDj$){_Uj`Mx}n!_V**bnGas+cQ=jcKWoGELA&m~x%eL*Ic~;vugs}@@}ebQ zw+>(P`LSnqw$@#>F=OKs$Gfe^Pyg}I{bzmJRCVR|SNw4QR~y$oHWZuCMla>l@~)i# z#}r`@vO;PFQS6vNS_{3!y>*(x#}ySP1neZHY@r z=a6=ZOPM}M+7`U^ER;(+LEMIQLMTK!Q3SDu3FVRQC6+Tyn6z8)XDXoqql+K}g&^x)xAL>S@S7(!+kZ7{HB&nd4GamuDlBcEzB{Ru9n%r7U?&tZno z#dK*Fs1GU`3A;4RiwagXcQTZ(h}PL{g+=WR;77z#nSIOwseO}OsoAOXv-+4`=o<$< zxKa;G9-mOrcanbsmYJ@wk(@jcY0&sgCoZ`H!y;jzK}gimsIS*372-xJH%d^cdZ!^b znoD5vWMK~Sn;`J55b`OyNK}Wt17Qq8jrdBAE0tAyv&`gVmc$HwQsOF4H_eK^4DFkX zVrVWIedE%Kp0r~Tm)X~JrS_DRg;*^hV|^+%AyyBjf29D3I~FF{j{-Y&Wp^h`VAWD5 zgy<|L5XT~4|L!_f;v6lWVuHF|ior)~F@?i8wDwWCqy0SFoS012#l#CokeuJBAD{?$ z_koH)2M@|cpGQy}8>giji~=?56gZ?OK*EZK+EC4JYZ&&MASGjdu~DuhurSJo4>u?I z9g(S-K4yC2WZz$>puY+dx+`PCLi{(1;_8FcSjW(=`G+y0|7ff6fAReJ(4}Q?U)wT& zN=-5FWlRhS1OLt8!wb6q;b*pOtu6SWZ2^C9+uBl4j{^}J+B*vPv)=;zJ{>>%Ut7@8 zUWfSh2BYqFSoQU}tMyt1LbzM+2U znBa)QqA~gFiu0Rmk8EvUipcyH)Rx~+yRva5KU$Z5%r%fs8j;on9wrJd_l7jk%^^JA-S$20J z?VTt|XDO|mS2Jx>F8-4Yq={gQJ(5q^@nsAuFrnZKT;cGaCqaB^~ z_}(xWIFgmM9XLNB7K^csU(c^~qPjzo3|UYT!ZDz63P~(?Z5LJ!tu2gzBSRu63^ZoQ z`o`MTpx_c5=~_ERfW=(CrnV{C*uJg>9A;i}wQY?(j5_q7hvf+wIHmxep|P{I-3iB_ z>TGC^DkUNWRm4;p#lZw^P7vJ%jvN>X4(^N9tgdgabqY{iTO*b}6rnrwY9|OUTTIZ= z5hqnwZ9Da)Qg4j5QjzfBJ$lC}4ec~Tgk!#CAE?ry6P%aOtw*r!t+we>t=fo!Z!LM58c? z+NK8PiLS40>S{205*H$@W0ld`QPtkqN}1=hwl~){jWAl|sBdVh-4t!%0Y3Ap=R_Aw zn^#>?IVU=$dg>onWkkDLx;h%_p^46B2vygCk=VSl1H(*7*`f+Z9E_ySXzo}YZK~~n zE}KRd*Q$!0bj}GF%v85F+R?bVLDgPbQ8j(qylD0OikfNBh105v3ZXm>Q3EFjDTO~SyxM4X=@j@s#`mv_`E@>@{hGP z!iZK?N2g4g*RXmDTHMtZ{o{0_{y2EF(oV_zn(5J*(-uc(m(Q+=&Yx3VHLWy?p%pD! zgpszgu|=Js!X5IadTKV>0&Vn|-1NrPYmD+a^Mj@1#s$?JsTK@{;|hy|5uE$cP}|Wk zIJg7{eiX#k6!~NFSK{=Lx-~%@I?~wD*xG`hos1e$SiCHl-(1($bvXPEPLj!Q9tpm4 zO;_{E{~o@2L@>XyBbX1jc{o-ukRg9nOKZL}4TElWj5i-fxw>=B;e`lV1qFAa(tMZ_ z5xH0KfR%W@6}}{2omGW!aL){ufo1_{F(P)=;9I-)E-OyPvdtRJ6XSHr9GP+tI7S7`_cw|%j&`0cO zBZ|0&jX3)X6Mcs<^{}PY3+6=E7mi$t|M?y3Tb6b&k4VAmFRg8BYig{kWn-7>WrA{D zY8=CN(J5>)oTGA@*F~H8IZ0{N{Hp3IqqcqxW)F6G%+vnrqwEU}AJtd7Fd zwqwQ6J({)ijbc#N8;+F+m6fX_)-Z*s6V_t3ONag&Pgq(yyUI{=N_6(>mfySFIhAv! zIh|38WlrO2q;2mki9*TKQDGCDEtWq#ItuHi+IlBtcQc`EC)ZRi$fm);_V^wQ2e!V3 zXFOH5O+x`)E%D-)u3BBasY7L4SliyBEnJUC9zW#huC}>!O$F9QoP;{s8tNKXH8#}8 zCTw*~5^NOOGxP*sv$$#+e122wN=)%_Hs0M46&>xRaC|LBbPCMHXzXZrj)Lm$Sa=OJ zclI=;qI#ZDMPsa~m<{JqS!JjW=t(f8p{aF)GcP+DQmrndcr@=-EgeQX)Y##8qF5=> zX^U#$iRzkKF-(8gaWyk5s*HIx3!|LeD(6>3otD84nxi<256cz!`}WRgR4r(Gx@{_t zOtOpB7RUN)4{)k9jXM9bmteiEiWR6ka+J#DEE|aIH z8Cc~;8(Jt!z0usLJ&dZl+n_tpeyCnKvzp&HfR!8&>bN}R;-c*v;ZSkv)xz1cqg5sI zRGSSak@91|QxFylnB${u%DHnb7h4_7#|VnE-44hTh}(myZE?%j-R&Uf-wVZz)@amNx9ZBn)rz)ZhUBSQMJy7k8O-9 z7x5nwtnXBdD}B@%*IUt87vR)5jyJf`9&LAbbWGoEok4rbevwW>uEXjMk_%U7cF?MB7Gnz~C^6bdP4vCLCQ2osKdw-*V2v z+7~P5vWi(4j?s?#Mpzg|anG1h@4j#jhSJacY7DH3d2^#>^XC}w3wZx2g&!?dE5SHd z!5PD-TN!P}2gFF;60PAHucy>FbAv#fzPaveX^knZsSztvynM7XH`WDnrcyroCAbT! zx<_%8c0&uCvE!3e8`Y{&xsMXO7*@B}#Z?XW*NPP;&2irRl6f`o6Byn2jspz>Be5aM zg-mw^5KlS31 zIaP@jZVkJ4wR&la%^C4+EH$Dncwa(4{(hCN<|d`EZkLExY#uflU0vJUT&wy8)bDeu zSqnCRNk7^~H?Aa8o%=`c0_vqg35~^Kb7KpKkxGn-f^T~@v!nAiPU%{;itiRQ2Fxbi z<`GqW!M7?@)sFsv(Q?JT3KL?dvkHga^=bx!a8&{wbID1Mg4x1(*ZR$XaV$$MJbR2c zHYAGTtST0U7tZci&{$afVkH(<{0HgceN`-7{Cj9DY>a^grZQ4Tyf&UY7+s@BP;7Ma z9jKyyqiSKy(3OhR3K8pS^>)}j8^l&~bFeS@`;K&GxdwF%tMh^xZLY7~gvq&aH64pG z2WRaGEpEUnfP=Id2NQ18J&3uBZ+6wy7160v%A=)~bIK~p*$}!2EPhb}UZqtBsj<=h zTE~S6?VSrNr-$NKlqzkvJEc)X`EJtFucg!H%rcY_>E&Fsb=4}IWr=rgHAH(xDCU;f zh@0Bg+=drIqqB8wgI*Nq<*LrCJHTnNem~Od6Zi)G=E?VdYM@&@M@ww5YG>ujBk}fx zw!!&C)fC#jOzzn&=+3NGwi~GQ<~G&)PUUeW#gd{#WwA)7R$iR1u_lgrHVh9Q$l1KQ zh3{8bE^lI?E$wRa2i>-cukh8*on8y^}+6KSUy-~w)5Wm4uf>j}8 zP>X+O_{LPestxbsP(9!3R;p%e4Ofk*;^N6rn?1DLDBt*dmY!U*!bmz>H`Hm1b#_Ob z;?YdCm85jxtaMR}V@qm}Af}l(SNWS^&SiPgXiB!Bj(aA$4!RI1Y8^}k>)dF4M{5-4 z?qap=SYz>6wIrjHp#ft&Vb4Wpo!42})v1&|Hr<;4a!oqY;hP6RcJS+$z?EYDuBS;JgODVj29*L@mmqYDs}&o%bp% z=cl!lwA4>+>@XTv)z&p|Wrz0Yflt-9L!TQUAL!1_u-E!7DB4+BI;v7TQffI>b3}Bu zim$+F!sr-I*iEac`v2HjsbFVucsUzmYPWB!(T3fI>IL1?UqwqN#NztcXsdO$t~w07 z+Hviv7Zuf26@}4?>S#%Iw0c&_f@ubh`$fTy8;&ZOoYz%nq;L`Z+dZMG>Y33>Y~jUr zh1BvNt?zl|kLwZjqSb*H)K0YrpkKC>3B|^~s*;5f)0@Wqno?|zV$Xxqc8l7X=k`_4Zbpxp z;3YDC;sYB$=Yfr%?!b=Hj)%+q-;^>&Sz33`sAf1`(>e53bzrnpzk@i2gm}yxG#Rzf zU}neW*lw(}ln2m0DP|$gR+D;@!2AF|*t8N`Q`k9yE2-n7UNzORf!Nr<`b-I=U8N&Y zkND1;LJ`+locwws=5^1TjX3CdBVYS|JHDU}I_y=3cCF>=wb*%CciswMmspr%<0tOz zmhYu{PX=;F=g-1&zk7$Lq-gj*ii4=9IyYelM(l(8o$Vl3yvRdal!G!E-tv3BUo*9_LyE= z^cZJ2Hg?pjcaxZLa$7pSdh+r0l8>*DeEdKsAHSw0AHSX@KgLkbyQ*>_d}DP@NzF8a zt~$0Ha<=oZhtV@&`MRbSmU@HG@xDEFhL2Mm19Nt*W9vx0K!L&W1<9F(SE=QZQC?bl zSTMr<_Zs!t{i@dXUkMalqkGJdbT?Bm4#~-#IG7W1> zDh|U7f{*?2s|+Qn-mUgF*Rj@d=9GsYdhh{!vS*Zxz@wJmA27@a$OOEGW2u=xd!&(= z)N6KcE8Wg8g_-5T&o9k>W`8@xZ$13>FFwRJ4jhV)#RqipEIy%izH|`_bn!FWxIg^n zR-GB$6V&td42HSzfi1qg6!(V@aO3`5_|WjT@%Rui?$5=~a^wD7>XfgZ02e;lkjXd9$=~iiM*Z3EWmub8~ ze1^u5#zKwd z8sFCVsm6mE6X1H7pXV76hiM$Au}ovN#?2Z}(s-W6%QW7o@g9vlgn;F~sPR3GJPe27 zKWpp_$3s3-W1hxBjfZQTp>d(cdW}0Z@*HHA^M%HrH2UzZ7>3tsY}U9*tqhcqVOi%8TXzgVmEsWGT=sK$vJc{(D~Ezr19 zV~a+0uN&e|)ciRbFVVPD<0Be*MiR?=OXH^+4{A)nM928P8p9e3G#;k0OyfL_%QYUU zaf8NVHD00dCXGDHjrBaPai7MwHGZn`dyPlnt5!_kpmDuM9?-z>KWn^DBY&;M@Fz6x z)A*LgPc(j~kzbK!`c#eC8V6|{sd19VnHm>rtk<|s*|YMPr@D7L7+~Gr}1r#pKAPGqYK~RXZ|#e*%}9F9I0`V#+e!yYOK@Ps_`g| zCuuxaV+|IztfyY%28~-Zo~!XvjXO2oq48mj&uV;K<9>}_YdoYeIm4+hOJknK0*&J} zmTRom7}dB|+ z@nMb6YJ6SeevRK~?8TpPAU}UxM$FMTRO1+pr5dX=wrJd}@kEX1XuL$@bsF!`_>jg| zHS$0m)_XwXFB*H}_W%r+8V}Q0rg5Ien=4u?Ru~cJ~#$_6h)VNLKpEX{k@m7tyHNLO$OO3y1Ou{dOS$~#Bp2bU^zZfS@ z*I29Z4vo)fd|l&58o$-ZJ4Bg(tHv`lUa0YEjrVKZqwy7uA8Pzc;~|Y6{$v~F`ZbQ$ zSgNr~<1&p$YTTglc#UUkyi4Pw8eh}6U*k6#c?T-%P1V>><3NogG)~kwL*oLCYc-yr z@gj}aYP?l#1O_^n3X0n7TO#(a(AHBQl3u5q5mosoEc)G^F zYP?+I4I1y%_^`%jG`_0w1C3v5yd=+&XSc?8G^Px2!ux9sYaF7nP~&Kghija!v0CGD zjg1;RH6Ek!RE_6ryjNln8xQdzNPUKjo)ds20C)5YRuM{uW_WtaT*s9F~>9z zG1ncb!@GzH_$if+qtzu%FIyNpq7A^+DaAZver!{hHm{{MXE<1q9Qw&PUa0@VFc*ly_lvotjs z$Z%|3slN$$GGFX3MjwFy((&nNAF;m}y&eIvJdB%+|ChkdVt=u?b_8I%LB%s}>MY!e zg>^B^Q|&mjJj!(}{>SowG~Pm49WmkK;?9esnQrc2!w8blf3Y&o0v})Ru&87AtQW88 z>c@?&_iFr)JS<}y%DWI_D)twP+l7Gm z^6(j{(gWqgYhrhKkAh~NLj31nb^*=`#kwN)$2k7qt1*`DiV7U*8%w0)nC?wY$D+bB z9Gi*pvHpD(0rB$T8@fs_ln>q4E#D`gVJmF_^|uJ+jf^os*2zC&Tz49$BOUL9fV)!u zhV^>!pLND;52W$)Osu;|=)YKbc!m2-x_Zd>V=NIcmX04UHmt%&UjK)8i;NqKyGMfj zTk*fWTjUjPsNKOk?R&;d0TnOR~Lcym3wcy_@F)6Jg?-d3+nB~ zSC)D2T~U5;S87>SnJhc*uHG|)WdS8aq^wuoVP!>1hDUF8WQmj=yw4c$(|*eF|0a+3 zHsjk}HQ_Z*tv!-l*)2&=*frf@_)YxBhsup`ud=htPA)S;xn&oY;pT^(Hyrd#zTsf% zWNIhnK&lI2h#RXUzVD!?aOSkozB>H=xY3 zz4xaH=KN`{PZO+DZna-y&eNtOzk;)2yHf?r?3?fV=*yE5=Df3iY}w7_=#$9jd(Bbr z>^F9+Zp35kE;E!;X5`wcej^kt>!Yd2);_u~&EVMk(3TP-OnqNaX79{9Xw9}m#(BAA z30m&d!ms=nPVv3Lc1BcK$yevqJ^it9{D`vo2VGlp%f=)8f$~UMs4Q2-n?WVrwqV(h z`}05kveGI2q?@;wC8GQ!UH-AL@{Ozu5DWC-pWsEQ$0VX{v7(mW2GGMd1|Mc$T@WCl8xrUUK7mXv?0lRjl7C7A} zkg`O7+u@6}WC_qs!ea(f>zdpmMQe>~*}BR4Jd=>D|OZuLJI^|npB=%D$4 z>p7NMH_fxx%ww&tA5*^$ed4kxH>GtQ?DdpYeD##ny;ji``_qOz{G1Uoa~<74PhO{g zmLTSaBs~&x7oin{iu>ptX%)r zwsL!LiVmN9l=rCKcF8A3?%vJk9A%aw#masw+R7g;J+_zYOVhPzw>h$;*HS!Rztz&{ zD?@y*=ee2rFkJ%;4 zjF9cvalY{vJCv&I#{Tw_YS)2eBYUGcG*OMdL%Gxd?oYbUDjN!~;`o#A_9vd?%nEp# zEttJMJmqsK+&7nzu|MmSFnoOXO-c*k{_V&@ObxM{lxE~1geT)WH!0a`F(FuERv^F2 zO4zm-k!sg$9M=`NROzZBgq&NBG_#Lqh@HU8K`Nawz#56I(y9K#iyPx493 z@~-e|l1C=wid3 zH9$p?oLvaget$9^>RKmzBsPQWEzcpew{2hD3(PUhm}Gx|XYv<#co=DJUyw<*AJ4RBv7oVK5Xv3KPO?`|1KCb8rEeI`X)xJxUiK74@;bbG1n;sJ=|>T=v8dkj2A6q`8U;GsFYTdfj9Mo(zD^@nR?CD%q)G!n|$2sEOH4gM)PEEJufgbPF#BUh5Cy>Tz zXZfHHC+!uRvGLR@DkEN!#DhJFu3e#A8VdI5X?-H zhIljs^eoa_{rhatb0{-Tt~q%+n7L$l*%N#EeI!y1!DUY=pn2I-F0wc(TTaptE*QT% z%35tvQUwlts3Cj<9gDTR< z#5B#zo=!wH&Sg(3jdR(PO5$AhMA9vehJCs3S^?T4T1nqcI(FF;>-Gv>q2Ruk>3yPd zFzAQbRw-Uz4EoWp6QMrwY%b`>0~iBgv9tp8lO>=dV&Fv3dzOHXUG~H>W0yTqve;!$ zEPsNysubz>)gt|5Az_s67uJD}UG~JhQ$+{UyvFpi#DZebulI+Zs>Cmp^Q|kOtGARk%-Hlm}ji)mRE3SvHfYRLQ2w3DkX+ikU7i z!rKKdd*bY_Cr1@N>`~lB?xB$_h4aKEoP^@$E5T#0^ZS|x<8RZC2mp##P)X347J#CBe zaHjW^LEIdZBdLE2WaMQ}4e8E8^CTP~t04>H-)ZdAi|C)q5s{~gc- zFMD#q=w$y2#7|Ze(uD2ZLE<6@xiho>c;7wW{au z@-ysl+Hlzund@aDUH*}ZxlKNXIS!XSG3H*$?=Ru9Co+%7hu8_tsx(~o zL@QyHN+G!Hi9BmnJPr{g&x@24uP=LA171GJ_I6pM4LOJ7alN$>3@&@3gCVK%;Ibzw zm3FRqb=eb#VJ=5FE_-5!+Ly|cbmE|FT7XT&M9FWNz z9x*HBr4UK>8+fMEQur+rRW&Yqik705UM~6F0VC2J3SNo&b2VT}fjw3%COlFwuGft~3-i!5!EK`}Fj8RhMwm z3glyr=*e-llo`f~q`+seYERJh*C;GBIWTz=xLnug3s9yfkPAUQA=l_;+&P>cxEY?# zljqvK1b(`2;5zJhc*3q;^YFd6zJaUYA3d{OkD&p3MW7-F+#J=M7ewICutQI!Yw=9O zctr$$z=YpB%FAIJ=>gZuT&Q`{q&ffHaLo@&KCkr_A<0(xp(RPR%nfxl6C3sjkV zGXv+bhJ{WInE@ZBX3t`k@|DcMyK})Ep}1Ew1DQ6sC5n43Gccd6U8=a(GXrBWAU(?z z_eN$QAs^fd#l4vs_$y^u?bKyc2H+0C~j(2U^I1hfos`X`2DQBmH5Sv=WnjZP}r=jfCYcxxzH79f%=)bo~K>A zTCppd6}SzKz_VB7J3cFLEz5jPaVKX5>fskW`&@4#<>^_0@mL*tzEq{0l@(YEg?J7q z?(D2UKla}*iaRGOkUkvTuc|lCLmW#vq~b2fGVEPcOc#$ZO|m(t?D^1Q%BMw8o86iQ z^55+wn?oQ!UqSL16qoV^-H?670FYl&#r-#<3%w~XT2oUo`m)gal$WemP%2KaMX4z- zE5?+k!atqd%-c2IWvvjQ(4pdw0rP*7+=CISe7?9m@u7$RJ!z%Dbu%TV6rA z-cwA1JRE(Q^1k&x>Pmzd=`7(BYY$6sk3-aF7FR`vJQi;PDgRdKY$wy_u}l|3TzAS3 zRxgwrZZ=YWaw-is;5>Zma};cc8;z7-RE3F7-d`2d%jo|+W;Z*tb5CHVy$*dItS03J7nPCw6D&RD zMHiKoy8w@rmt1UO?nm(DDX%%_PmGXw72e#v z^#dB1n@R1wsMRqH-*QA@dQOa&?ba-~s*<7pfF9r~qQ&>uVL z50r!c#3^SNE#*^1JKa7LtySHgX7t}Q8|&|sZ(QpTCWG)VDL*R>7~w7><&aXX*T~$6 zD&46=&PO7#9DX}>C`m)CsEW}xY?x&XO0a2@X$|}ePy|2g!E;AG-ghFqhoX$g6ttjs zWGsHbZ`<6GFNbx><^*g2s8ukJ7XxjHYT{eN0=lIgX=EqE?q!?f-F{Bb>Abzs} zIi!+fkf{WbN|1<(@yIK4QP^M=5sKgH@aM#MTo72#%IiKruF(3$ zAR8GOT8`Q>hSQ!xm1uzo+>cP~@1fn+V0it^$-M+3GdnoEvu5A~U|e4ZePqpanp!Xg z^eob*vgNGVq%AQF>9gjL#*dY5n+c|pm#rqSfXolj*^#Wpm$R_E8pIvJF=B`s7QDo< z(Rbm)vzC%}3*L~DwM8#pY5Q_@}=Yw9! z@SsS9r^>1$jSB)P8w78>WRg7?&tz^MDiIu8wO3$q z=6hO=wGS7?W^GuQ<2Bd=C$Bn%6{99l- zz8AQ^h6@4<#)Em041S?DD-3vPA9CP=z;|H^zL%*BTo9Ozf#!RK3@-@uAq7(@gTe)Y zG_dz$JT3^#%SGx}KSu~|zQ!{&0j|eCib+D#pvQiFnIp7tFvtuVRKG=#o>!X0RL%>Q zRA6Z=&{Kybu~9n&p-J{;6p}ducCaG5a|@<~{0Or1y#Q2Z7%54rnRfhJLb-rbs~%Tm<@0 zq{Ct+Ms@ZvEGHtaDFMCpN2DJn{yYuzHs&o9cR}mf$1;7f7=blH_Hm@giW6Ax@yt6x z@E1ziC(!gJi>u)NvrnWvQ^offZrLYg^uzm!=mV?GKAGXOL_QRleaaAoSBbwb0(~mO zYXrYBoqZbVMZ(MleL87e6G+uKCdICV3aPeaD#i&_E8Zmg90VxsQw6_C&((+W+ia8* z)7>wz&Uq-7n@Z?OgWCQT%gv@ZF*F3k7zjvaL!3~4et^(^2(W!H-Rv_ep`e69@S%$( z_(S}%Ws*&KaZTX)&|BsM7 z+NG8svX%2brdsG-wy_kqux5Z>N7^Gk!Be)A_KHTBqU<1@AudIK$WGEe@z6rhU38gJ zEk)$|S5baYypR5t8%XDhH_%UVBkK)``@^6&kRXFly(T zKzT0PfsbxZ!MKp;4MCdBNl;l({*~WFRgJlT73jwNjkIpeg`_QUBiDP|N$bX3aR)}4yp*c+irG}_-$`ePTiD>sC?&56TmZBek3-PqBs0A78tOs` zbZwkK*To66(-G)>h$63#6X=FG?cV5U_YPDkZ(_x~A}oiM&8R@o&7XoyXWliaO)vLQ z`4jv`tg8Hh zDcPxTlp`eBs!SV4bXy}0JQAJ?1@;+peeTyy>v*PQ)MbIuutl0TxfSVd-evGT&r??7!b}CSI@rzRd-%sSPacw!I+9Fk33{y2mwo`wmdIt&12CONh zrI?7kvIdOHWX;2*k6mFahSvfegjgvNW=$|%NRZ=^$>uL0!gQq`Qwb@RFHKR5skSp@ zs$wju#7t9+OT9-)uX>NNrE(8_OeLw2vKh`?rkguhgK|W6j;=!u$e?N&uL+c4b0dp-g6?mCstp@KM}Qfq7+w=7^UZ6SrfdWr!*v=} zPJvU7>MFhdmMllu+> zGgL8BrVRu$Off)&vEHc^6M0_A%Ho}waUl`1EiOL1#GPja9}vRj!|mWRuK= z&})sHgk_T~Q--l3jDvX$Im@huraHsCCQvR=YQr^w$Ix~cn!O>8brfY{DvFnd%UUK4maw29pwJX8KbZ~T(6K2 zJy@1Ua%474R!!bH{qvC0*(A=%A#Dq~=$zb86Y`3`O$QzN3FUZH`8j!{z2Z^~yPPoT zj4U3eo-=^7FALX_7&!weu~b(a<_vls#Ro;>Vx%Ab80fH(S=tN51-4D55O2dM1IKb# z+E7d8z;RPiJ%rvd6cHywoP_Ow+#v>bQh~Vg7L1QQBG1SNpj6HlnNhYf8 zzYIDo_8c@RPncIndVX}g5||N&=V!&(G7J6eiCrD}JT&5oT^+duizrX*>c}%;nw~_f zt`#7M!kRq2tR?Idd4mO}w{_N$Xtiv^SoZX>_~sgvYqG$kTN&t%Jb4U;q324KXQ-?$ z1+zmj!{kXWFjrf&JFXF_O4TANPqj$B@%KEC=6*z}{j;Bbn}#f+`SEg+{T>r-2C1~I z^utc`=tSJ`ReKEVfVg^e^gu?lAofXIG#ec&Vp=Q>`zkICD~+XTjHO{8#-)iDNb?S&?7v|~3m!%T&g_5`q)c8SVMYTqxfV zA7DI(&L?e(c1%E_zmm3u9Rz&=JJBT?(7e#!NZX=i1n3J%Cy3Xu*a~fDCnk#N`JgXi zxLfQ->p~Zk?ky^z-_Rwkpp)R$Q!s=>myJeRF%Q-rx}1p&aVy#vx`MQspM{l8=t@PK zy{!D_;O#=_U3Qg1+fy&`{^d5-28g z>n65j9~1q9iLm1i{fBN-b>zP|1N1IM+mN**1on1^H7q0ZVc6B=&|Rg&k?ou+#NACz zVyeWL58cE1EwP!}zL$Aig1`F?-N)p1RxMrwL-#X%lIS}T;k#*v9x;pRd4QIXDt62U z{UAF$D7H@n{Sea^itQ}(VbUY=bC-aAM9E|&7Uvsq%%Mje)-D!{;b}sT(LP7z|HAHi zQl}g(9-aku4?A*<^T}2<^lx?56O4+0sF3E zZDWX7L?PcJJ2ZbAg@0c~nZ1VPchY=6aM;9Qq92?5A=!K}mc#2`q=!3tV$DiVI9iQT zvqdqUqhxyzZ}V2lyx<#j0V@`P%sn1jv?szo^71&1XTFBSk-Q=A0>rH_kGx@O<`vUX zYhFHsZKqcDh^i&eu#d&4$QyAlLWbQ5-{829yy9Un@5tfMrV%-=gihpqj1Mc~#-MRU zj=+e<2A>51^Tz*-teMwfn)2oyj+H`ghrKSpQXJf|GKZ01#~a>TDtbY2Zb@EZ2B z>0lNg17=tYELJybS#Q{FBoiaih;(A0n2{6E%U0z6d2H4bP_P{t3>TAN*f+y9=QZp@ z0qUdLFfuBY;ro8jahN+~MH3?u$#kl22=q%4N z*Cet1Da#>Ap37vB{cppdu=A!_4}p;{VnF4UtN9);jgT>Kx?)T@%>q-Q7)x%3L(ZF_ z7?+W}{2gIsRJRFpSgm*!!r1?n4)ww%ub7AnRq&+83lkzzdZ zr!p{0tad2OD^H*SF11iFem$5ni3(a~Jp(rTSJ>lvSKcb?b5^7bV2$M{;Xb&)yhe+L zY)gK+nAf6GB}rwLZ5EBuBTr(obt+G>91SJpwOcz7GgdxS1*XHIK~9jPsj5zk_Hnp` zdX2m;i+#FG?qjm`)-A}hT%L*{n72VGu|%y~vW%27*vKu`Xr#$r2&t}d6*zNnyr(hO=;ojBr|D3lbPwvq-l|* z?7OzCRf+{H%Bm=!D2RZFtcrk$g1)GzfQllBEGqxs?|x<`lTu#a>;10pe|>Xh^4#~? z&wcLg+~>^9yv};KIfcKo{e_uVfSC(_FAIVlKNz|253(RO^_4;(uiK~z?CRH8x5781 z*lfkG1}uD2?(G_C78)=7qttO?H(Z!wZ-OkU3qZ`mS@tN#iOn+Drf{~M3vE+*pk-mM z-D>wU%rT@`u6lMQkU4hJDo-_|bm3g7qqO||!s+%Qw7Xy%)}v6_IrasWQ09d$Nw+o| zdr?A2@6_h~1aN*~w*3k`aY3lCK*j|guEvb#6fU#>5E&{H8mX{Edcm;)Y~7*FYlm)d6t1;rEk`34Ls=EBw;Cy|+pHDV2&}8?pbQGVGCP|#uLUY} zR$;5XhIMY9g{<~O$G^pl3p)~(u5SX;DW!0_&rUm0L8gVp%iRp+Q@GWB1snOp3KTs# z(Z~^~$-+~lGhH>qRu!6p*wuwx*6o5|KXo^ja_K@RH@U_~kj;g1msT@A3!YpkmuVfw z_t5LY0&;JrF#wKRcmm-m#@eNT3kgp(Zi2tKa3SF=;~mJ)LN{R?7hn|^dI(Q5o`zak zxRmg8V+Q+LMtFu%kPWzme4hg+nOpK%L1a{7OgL6A!lPh84{YdMrWCvbCRvmxV7MEg zQ^0i{0FM)}8$?-jynruH0;mKWng-CtgZP5i;GQm;C#i3s>qYYg?14I5lrNwIGO=iZ zfMuBPq5=Vbum#`=0{$cyU?IV&4&F1K^9YzFckyao^))U;n~T?SBae@;gLI4KB1E?F zH3-4tHr@lp#k9MyJ~@j|YGQ>aHz8vO_wAa|J_qn1Hw_NsbRXa$!kNZqn5f04iYd}& zQK@Z4O<@C2i)7r9#Iv!lm>-|Cv&x84ZNrBJ40W5SAO6nZ`!Ke`R{M zv6=AOgma9O3IB~S_P>PRA)IH7fIjYb2`g>h&ybPtuGUMj(&{j#FuesOj z&tr7B42kbZch|_rxH8on&`xfzAlZu14tK3ig5l5%iq>5xhK#{d&T3u<7C+P7q@Thb zMj>AA69v{3FL1is^v5s~-s58v^X9At+V%C4$)17g*;~oldJm?Sn#dUna;T^$@$;FG!|(xE#mu`n;_fNKVanDw+nKzIt-=mzC(~x)C#tCry!=9Q3K?wf^1iV zSWx%Z1o107RGIrOLHg8PkVyB}1?g9xg{-^3AxJ=74E5r^TachKAUp1R^dN{gXbHAYn_6i-su2xyCp1k-qb8 z3^&hM-41xzz&!4m+dmT0ibCA6z3zMl4Hreoo48EV#X`HDL;IDwlZRhLvDIL-mAdm0 z7TZl^jqW_f0b~!68r``Jwzp_6k$T;^3NtG@?RKb)X5BdeY7~8jNU!evY8#N#i45w_ z{g`3V85aTBqdV_m17{N1r#nBM0px5thZpHiAB;iKIaDhLb>|UGqv%|QR}Se;?w^Xz zBXWc8ycC2kx?n4iBl!Fun7HUdA~)+!GC|SBM82#$6_~i_5+YyGox8y}MVGSaTXg61 z;E1Bjm~)5j{0#?s`8*RJVbGmpFdRjrUFHqPyz6Ai2#sJO{`5f5l4*C^A&5mkCz5Se*%!-FsIt?TuAE3PH>gosY9<6$v$wk-PuA!c7bc`&YQ_qvJG5o zcPcL9AK1V;yYrjSI7M%ArZslwb`ZAckIbpJJAcL{`7@CQyR(YC^A?dtyYru9vA+;$ zvO8C92J%-T&35Pa+1lGgTI|k~pc#tZA#$SK`8Y={_Mz48Vwj+4wmuun-D!6fa8X?% zm=U{cDoHw9mx7HQRz6ag8QRHrGevt{8NxjZCW4~*uSKsd7X=J*UJ5|eknQ>C*G|moOoJ) zx7|jyky#ko37tI2#!}g;goB%Eqn*!D?_&h+Z29;>uDWS8km)uuV4j@sxMv7*oZ18m zyK`jMp$hp+#qL>xzCnwofPW@m3UM#)v*&ZoyF;X z1!a)*l|FH1-VMSvH-}4AP21} zg#6;k+5(uRM3$Ms=-jM2>qjF|9v1f$X+XM`x-4 z*vUO+?W1tu0WLV?KFvm@q%LH+(m=wv-COAi+T6mWlE zf&$wLclXCM_oITGtU^%x?jHzpih6@}9=9>vxm}GCc|wpuwWkuulY&Ildzhj7DM9wA zi>3p4T9AF}yIe#5o~RrkBLgKq9OZLLIf*Nt4~KT5f~ zbeD%q`?gHt9^LgWhT{I4U=Qi8Qa1mNO#NxyB`o}|V9)BVFtob+??QX`)m<@YR`Y~dsjf* zX3?AH$YtRXCwfeSsu{;^w{jUzk^QpG!NoQOp7X_K_~)J-m!qh$9?H}+NLI$4WdW3L zw&%Pjnc+r~=X|Pf&Dep3_K309jYY`xTu7tmFz(F(d=X)2%0n~ZOn8>+zrt!M?qNO4 z#1+=mNo=ZEG&O=pTY;1aVpmt^0x1>5A?~xMOppwQ$V#yu?pFI7z&QT;?g%EjmRv`WJ( z)!(4hJRO2mt1xu7r&Ews>OcjMje@LJ2Ui2>5@d~f1%m785oE2Z!diMZ34*Nw{B+M| zLDs7g$dIR3kQ&9aIL{VY>UwqeEFjw?r&Xv z=RljO+sJyC$d(Vc7KvOY2*M{n2gfMS)p{?>aR=$SR$yxf={c0PgY;aV*g?JvH`wz< z{S;K;Whiz#i$M&2gjV{uYsbF~5zEm%_v*ic2#D_Xd`lPKUX{QUc)lZhPKUaP^SeK> z0X>)Vdq5B+3efXCou=8XKFC1MLxL<-7r;C5Jfc$pmWs~vJgU>SSE~AKV-3qiIke&dSg73pVCO_>Db zmx2tdHQ5wgAZxoJPHcyam$p;)g^98w2ZAI6feB0mgctEW$2eQDHf!)QUYKZEk zK!)?Ux|IyP(8dkJ(`o^UxJah(k}_DwZKI-lMSTNn?Fo-#rH zt_nE0axt{;yINpuJQbGl)LrGUgq})i+o8LDMV+!-sF10<&LSOGNE=gi*9wxjN@kmd zFfZAivk*1}TRsNTav}+_kdqkh5|d)`H1utyXT5DR(kw3Zrg<2i+JuL3=REY%AZwSY zW}N_}$%Y>a#089bgOKq1Jo|0OpNJN?ZS`DXIX2>GdakljGBVZku)E7zN zFAH*ux}NLx6+!M$w~~Es74P;g*_M0mv~k~kkCuO*=RsQw#=k(u|2-N1qQO8EA}5qt z#2aj$hoy`*i$mCg(n7=e+QJbm_kErRY`c)QXcUquw9uCFUZHh5v*gyXp^VKv;} z#W-~LNp7CbEQZOpyC3zy#JSIa=w-N{1+^x*U&WLsyU&6q&2;n2UZ%MJ3NlZ1-|Rz- z)BP0qINN<1C_2sk7Tl!i?wj%u%XBXRS##WxDt`FWL>zRMn?FS`+nuorE9IUC4l~@R z!@SRNzl1U1v(%GNXvrfS_tMEtslh(l&cXf;wA0*!kRRPWt(JrR04mk){w7!fCuDbl z;g>u!4<+Z^Z6MOH8fRhBOFkr= zZFnK=Oa93+ImUBy0RNlmxyD;q;3Xdu&QmXd{g-Gu3n|si$~OH1Ao=QI5M_y7athT~ zX9LNQ9Jl%sh_+;sNlZIshWdXESV}fm1;kzu_Q~7mFgTw>XK=KtWhCQ zYsqv$YSjC7ATtE1S7&lsGX-f@-v_am%oe0o-Go^$F$BSPTXQyZ1?g6Q!^$kl6Qoz2 z+XLh{8R$0kLlW$G$=R;fV)2(0=-zYk>hXT$A}tDmyY5<&K;tKd~GS*DjG=X7PB0Hj!ued=-2tyK3R=R9=@DO#pSfn21z zq1cyH=$8YzOch|+msIO_0@<&wB(JR2zYpXp^=A@fos8h1ssVc~Sue;TmC4Dq=)Xj< z8`Li_+$ARpazuSdTDR)|M9wX0`2rwqx`KOhhgt`2T+*)B0J%%eVzCZA2;?3Wf&a0j zN8bnJKE)5GE!m{s2IK)X1+uhcv;Jcs52;r;pI-efAdjlQV7I(vi#`igA6Mrr19FnS z8pzYCEFZ{LJpklc6(tdO>AaEmg1U7fkTdnmk@J%J26<{XSF46yvGmwUSkT&O+pmv_gq)|BbBU*cO?@%BH5u<`;LM zQzufh$R$=5^@3z2^H(yTjB|88x4x*~%Y5>Zl~4CQIjB9%B4?##aZt(pE16Gbv+@%Z zy&DNaQSz6SLn@-HCzvAvvQ&(%O<;!g} zbkxW~qU2fmG9XzrX(;s%CBMbim_X6Ay4^_oh2RSkrrBw%8f=qc zJ@c-DF_>;!I=T~x@l}|mrDLp!+qzIMOHZpShQTw=#(0*V!6{}M&qEF0=KL+i_|gH3JD7eMgL;>&Jj z#)s&y`0|fX#kyNj{8_FROl#J3WPFa5b2E#t{3*-+1$`A?bq(@0<7L?T;;RWev=S%G zc4qN`_fcqO?Mh@^Az%*6Tyqantpnps=y-8gCgY>~(2vE}vf136;_E7rV>N$>g%ZtQ zPdHO6301%_7k_>;Fsu15@UVQQH2=lfEbo{C%ufQlhz=3Fl}f zH*SX2F23>0z^vwO;-y`yxi9yzyyH7C!o^=}W+fZ4)#cw}+b2iS(vJhuk_*as+J>g9{?geudKlF7HU>Ufx&|dug zcVJWH^Q6U(vSH0Q02ieA2ZSBQGOqe#gfoqo5j!aUA>nM}-z3uG>@&xBh42$x(_F&? zi&*?5VP(uE3qHk(78+k@{;z|RqW#h5({@biRUGxk&ieu40xj9oJUzi8j2Y419_IkuO0kN#bo z6T+tz%b5j^Hhd*Oe!(0ZZM;?iM9wU5fDwSTEPjRa!~w=+82{p562Sq+W6Od3N@j<9 zXPiBI5!$Y|@Lb^5B^Z2lLTeL{|M~_NAvd$6j)zo6H%3@ePf6B{Erc5g>&7XB8wuNt ze!@+J?ZzPCX2K3*gm4St3?oYTM8cDdF~S=NPu5CaX~a^MtmRo**>3!}cFFpikulS` z5oKEEBULN;ofoTCV*Uuo%uLX#WIK<{W*!88m-v}##XGn!l&N8=Y@A=yC3wD;_bv(@ zoKzB-40bZ!S%QjDF@?qtCj*WVb{Nk>9!qu;&NPm=0gthGw(;~Nzi;PlT z&ag_(dk%x_)a4ATF{-8l`eLdg|GM(oaKs)1ZZB!tr~xUeNx6A9a$ z{QbF-&(k(V?9PKTfP8^S94A#^!jeNo_MjLHOvw!-#_4wFC3Qes zp4}On1LW%~F}53UJVr!5#&Cnf`BRQs?#Ui;IOqC+e2XKv+2Q;(WU=Hvwswod$)B++ zd5ntU4u^9Ha$E8QEn&?h=WihfB~P+g{UqmUP+BEVHKU*ANzPxe&W}$4(ml!f8yKCE z=h*bsxIaX`<02#(hpR)%C2^MHXp=G`oW*9Pz{lFGUch_{&aa)ML`kVoGPOpVbpx6? zGl_q!WiYS2J6Nif%+r|;xJ)aVpM=Y`lKdoGp_MF1!j)P{K>`k-?g>d4bqkX)>Ml&e zsJkc$qwZpXWiVMMC5Ajj%lHTbu-yPhpv0{+U9S8rO%}jt6=2)_D^Q?FXSx(}x*!sw( z>bGaUz2(R`>#z9fDeCrvw@rRY-+Jz>2hT4n{Qeo)J@JztjQ;!UzuNbeNv~WNfBU+J zA0E2ywF{aa{L5q4KRn~<8?y_;OW#;_+j;R5U%Bkf`QR(8wdi|u#) z@T@K0dnfDF$C?g&<)<6_pPaO#s3`aRsoz?>a>4P%{~TG`HhbF2uI|{>;Qdoi-Cg{| zBWIt#G8luFAW!RrQItz0}_Ei^ic{~ zws8s+Na+t4P|Y!F<^X<%W%3LcgtPQVgq=n=n4ICBT9P7x%^V&RX75rzhaxqjNicemj0S>v2igBLg{O( z0hb!<2>*_7r2+M!mCC{UO5f| zhV%Us$53N9;QE%z$$Y)x!WxyzS$u|j6vjrJd{hWp&b#|-Yu+KSyjH&y%=yL_xqug*9O7jHSt1jdSoPwODerf}9oKF5c zT`k}wt<$E<)H4X|m0G7wm#d$_qLo^wO`lb75wT92KBrzL(^+Rq`?XouUO)+JU2YHBSmfcH@9O* zH*I2VIp)yR6Ikt{&cwBcS2BQXl$=b}vJQw(&PlS>Tlqk`aiMAGdPw_ zvh?*zZbEIAI?bvaj91hvNVi-VC^|__P_`?%>vM|E`#k|AcYRDjhSkGZ?V|0{Ph1^@ z$5Z4N1iz00SE#684u?)x+cJR!1lgzLevtM3@#m>Ofu2P>^~W&Li`1@SAR}@xcSv0g zJyaAD6U$t zA%$#X9@I+Ne!|m?05n6{0m9P_{%&;H6@+IP_p{8Egma8Xy@0PGJQH8SxeCbD8GhV0 zcS4|EbCiYkYXewv>hiK(iKDSX5TY!qTh|&qVBxZuh*zfi98`E&T#zZM7j2g96=uj* zZ?f3w(pZlA3mZ5?7B*M4fk(^E6eM3=4}Da2R^kNhUJh-a&=@CZ5RbBRC8tsyIRVId zi4(N1VP8{rz7$)dZUyDbE)Zm$`t5Qc7wd1AfQJ>o6R7MGIVBxb-$YW`e*O3gxQ{L$ zbFPxs@*J+uaB$a%#!?Q~voI88))h>*!&NaIm~{uU$l)r3QY*VoN-lM{ay9@vWR1z; zvU9j!(iy*4<8ZYt0CtOvs>b1R=K}kxV6_g{F!V&(T{>^E)jM2ST-N(^E`7w|S^;?~ z`?mCOp2Kw~T*R{bg}VD4t|y9sJs{WthwA_-@?F8MaJc@9qkd2)t6k}Ey$T<<>|r6@ zRSwtk9AJ;gI1f5p1+4dd$vfn5t%j;8dsOmnaJZV--;*-VBM#Sv;J~tH1pBhXHIJo%}{+3%$HdmOGV zDD<-53wEEwb;TNBe-P{ehwCh|>>Dz&ha9ejHNf5!>`{m7%DKS)DA?l;*OR2+$HJ;l zJ6u<70j9~h)w2%Q1|8V(a$@%a`h#?rStpGzIb7eJ1+2(+J=pyfhie^I(<2{Xc$F82 zDdAHcJWwj&U8r)|9u(XJdX>xOpx{1mVZ|o7`@J1yD>e(*1G`qyE8tGJ6BSzoEVl#P zMsVJjp#oM`oU5-7LdtmCv*LVFg_`nW9u*e|;!tf6tcnW-$y8k3ii-rvR?lEc6&LHg zCZ40s`xwpTS3InLmd){2YsL5FRx7^b3WTq)me!#LIjkQD#WEGYq_yHPL9*pzEEPZ0 zzYh7x(T=~OkvA|aexqNyBRRa+q@bq01G`-DJ3$;O53WhY?-T94&zwIb+T%USiq{3n zQBQ*471ko=s_Q_@3TqAXRIUNUT0$k)5i0&9b@F-Bx#G_P7b;%8tawWX z?+Nk^^$+O8ihl@lx61VZd0&uwRE#V7fgty)zycs23i3^LA#_N^M}mAyd11^e{wc_P z>f9zE{}SZe>Jbv>--3Kc@iP$>9}9B7x|4{-wht(NLZU(!9{#RshDxZg3G$$NsvU^+ ziSF+y2bVijavoA=aYd%u_)(CD)kW1nvTXeD$>XYkqt3SRvoF6;FGDR?OtbMrFCV%- z$^|mRb{*C_C-Gq*&Wd8!`9DEEftKtM3)sL?J z!KLv?4nELyDl|pK5*yo@7oQE|RZ(u6JqWjYD5zCb$|10IC%q2wsSdG*yf`Y zK4y-J$A5&0xa}3IZ2L|{*Stztu}03Rac`sn$Xcta;>RW`*4g;E2^@%XQP<1)e75=? z>02kormK0-9~Je2%urV^1kxZ#j=F>l+bGCP^%NJ?`ZU}u^=t=_W*NY2RRS|ovC+m4 zT-2zkIY4}Zw5b_Teihxeze1^OQ!i%%>9J8ZuX6QF2C`XhDb(9sGuT|OV4XHsge-TG z40W5$)eloru}ubXip_N!v6BTeZ7z{rQ?Tte*D^A(-?|uQbN#RhSU^5$6|uSg3yQvC zr?eThx$Y$sM5VvD%{5HY#H5vdHrEfB7Z>bon~T4@TQMrwIX2f<;geVFmR8QQxyn0% zjY-}GHWv?FD)!hI@4C?Dx|yr8*T!4Qx7b`fl&UyQ>OF3A#Yp|nNWCX*t{xbciqmb3 zgFIz(tpi$dhU8`2UB7_+tTnYsMcy>Pi=3-MDf+;CX~?#tO{0az0_Z@iY``Wjp?`|(zbGT21!pd-m^U#;(_z*=`-@rS$k7yhmimBv*+h;CLxiiY&|iTZ<*Fmc0l8AYW*DW^eVA_5Rr>8f z^3|W9&Z@2!q)kP^$Wry4sXz|u86((nXmj4_hSxfOb^)@i zuU5$&|Niay0y_+T4t#|0Q}_KP5} zmXQToIqm?zXTL-$WE@Z2g#F6?`S*a&d4Ds4o!P(Z4}*xGZ$q+#6|}j7{X<%|gb#Fs zjzaby=?gpL)8p9^GFWQxgBRIymw%Z-&mvpG2gSxs7-Y7D2}%s!#m$y5L8(y!j>>+Q zr*7rOAlrP8oLMO$hHME9ESJzm_WMj#j}r-Vol1?3}l`l&FWmz!TQWWi`ve~FOZxQ z)d-Yfc7Y%pR3DfB1VLI=8#`^2k7Tu}oTWh81vyzwXVWK1u@UtuXS!98kSc>w%RX6< zu-d{!F$IaJ7hyBAw+pgM{R`}!-6u#?IoWByATjk2ivQ0=$55p>aCfEFkPQuGs|m1j0*= z>zH0hxYW1@M5ta!xYD?83E)M9@q2rZfmGFt9T@+dOmISBbI%Yn#tHd=E7_(pepw25IboNvpcC*4wmHwZ7*btbMR>mP4QP<+m4x#($5%E0 zseYE@|0U?0SH1cfj{o*LB(Gr^%^K%g!n$!QOlbAGC4e)H2jB`-ujd%>B?u1Ko9deV zs9W%P@Ktp!m$YCT7QMQT6e;)@Sg*RCjnA5cDl?)9uFMzS%+xYIV5vtioK>rtS+E_` zUA2awR9Ka)Fhk4mF#o4c;um|b>SAU=Hw1T8H^Dh~c46A92Rtzlh1|Y+kg8EL&S(cbL@BT> z%fZ60K9#VJUqV{;9=cn-(?T`-vNvJ6R}Uw09n1Si0@~`4M6P4*NNlIJIz%+X;BS|# z4ily^F9H(zI>s=Io#T52EQxk#HvUxJnvlL6Nwy{|{+h7BQf?$!ZnkF2#WdDL^pjcc zijx5E5?IPzoh+B7*}Ail7uC;axkuUn$1J!Anr%&dyv`HJIx{reH;R!rs(+hxZpr|> zTVQGX?PR$*nr*ZMd1LyoSuUdt@E)ri7s?q=%&APvm;$(983?epkjVwV!ER^mLIK~v z!mM3HaK&@rIQ`$SCYlCF(+|xUh26Ou^w2-fDm+$60K-e-|GdgPoadY z2fp%ZIDNW(3hQnMUY*|s+%bgELyxQVPFo!RH`;dNzfZ4Rt#_f! zYTFr@8khvs*S>v$rv1?>YmYy*n1wSx*4ES@D>(LvCafY|tPPF%(MHVbaVRytLS|Kt zRQ=E8nDrv;Z zc@C*7AF-jNQ%b%ATwC!P6DCRDCrY*3ccYq6bh1!%Kd4e=??$OisrEMU{luqal448H zz}g)Jz^7)u!O?ZCUyNBh&=}ZC)2C&+(PB+2(#}NDni>EH2vh?21^{oeXl*Z2o<|Cn z=?&D$1;DpHBXcL4n2zjsSoCp{gA$Bw|GqdJd z;HR?IqX5nza36p#vU;*u?JG#(&luoUZ;<|fn5=Us4MLFDCzHh*Wb$uJ=Hwe>;%`po z#2baJ{xq3vrPXi9N9~_a)=3Mi_Akj@nO8*2zCs?Ptmw@oI0xv&IPhrx>a z?b6&j;vzM7Os3Rq18zylSEXy)fm7CRJqL$hXdQiN`aP4^p^KU$NIL^%YYqa~Pv9~D zUm~y%z_$p*0X#)u5WuehG}WU85wE1EjZxGfAR=XZ`Ec0KytazcJm*||9Sg8=$wWa& zW|_8%!=d0_JRw_Jvji71OuZoQ!EZ4o(g*lx!iKOA{Og!~NpFIskVK4$Y z8tl>xf5#aZSHO8s}FvS}S&`49<3- zy`=@@(|4s^&pvcKWF#Q!&X^`bTS(dj!miAlhQ8>krdTD}iD5ZTJ!s7d6E+$o&sC!gB7^Zb?;81;OYCuP1K#!fC9MDo3(0d%v z&*7saO6EduR9yo@44iDeoVd*2!o$Rc21|to`+<`$izhvX_U{K)od;ACRr1_1a8=tWX)AHmt^D5 z9HVT7lszR?7NZa%e_=w|J!oB&$G$}Nw~vussS5UzlrE6P!GhWD5ht=>Y<#y0{Q{`}-Ib7ExaMqDeK& zFxOjq>7-iqC_;^(jrRM^>sO zA6u%GhLCJE_7fx}d#Zg7NDx^mGA_YnEs_Ws{|yRtT1g2v^nXCcb!GXO^sE#a=^W{Y zs9P<+ZkCXd-&$04)dFPA7BYUGxR|3{sVQMRk#j@H`ZDvyCzvydKEXeMcZMgM(jC{()oA&P}Xmfy=zZei0hls`z< zPo%njUAlfV)%6?Fbyjwg41cs*?qRzrGWb9SA1uxFU@(2Zw5XGvET`^(bZJ?dD>A4B z8f2DNO2G!1;Z@R2<1Y;~aE+ul@)H~SwHAEa3cv?5u14L>joX|+ZWjc7-nRf)jnyZW zq}8W4t$9R-g50eKtySR-a8)pGEAmS>QyUTN8b*=xae%1w5DJQqxVe=vyfr zF9p3U*K@fv&_s)TD1CSQS_*Z4o*#V@RoxDvKVj6 zNdLt_0qG*npOe%7D)?EzdmxbGZT6DO_`-zIp#Qvtrn?;_MfdSryF?rED}F_pEd_8) z-N%NhNJaPcCX4SSKy`XK0jks60eF*zeK%qbwO_%%2a)W%13(vbUou~G-%pUWiaLQN z#Emh6CQx*ie@f-omPn)8OYFhLArKqlM#Y2;VI{tLlV;AE_NMbOG+M^jI7Zq^#%jcR zt|35sItbvC_Ogo&CC4gFT$QYFZ?cIe2(Zyt0E|!kAja(bBL5x1zb@L$WJ6*%|ANw~ zNxLw@^hwij)+W;a$CIX0ð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

  1. $9pUych8K!M>37)wfBbi`jXPt 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

    E_m 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 z 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 k;IJM)J?g1iha(74cv9+&DTq1r6ZBOo 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

    ?=|d<`Fbz@KgwI$h~w)Td?fS< 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

    +pd@zzii|$sm2>(6D`|5kVNB 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%0D2X;FwwSNqlx2QW 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
    ;tp2> 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

    +~#ooRsCn%V&>waHO9oN{v& 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

    bV0} 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%0At! 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 z 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%0Amh8nY4i6|1K?T#x#}}K-*=ruNJ)iy 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�byxNP;?FXVVi9NBp>!+l4a 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⁣Y%;TSKw$7Vrm& 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�sTKl3fmTjlC{%3)R=m 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

  2. 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ÎZ(d{pl|8R1C(~azGBla}Q{cgM9t) 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 diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a index 312525c6181357b930be2ba1eaeb13ae773ab4d0..bcd22c488045ceb4b9fb0aaf912495214cb752e8 100644 GIT binary patch literal 8317270 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 z z;5x;N6}KwxRJ=>^A;o7DUswD<@v!2zih(R6KT9#9*h8^Wain66;w;5_#g&R16|Yp> zp?HVlBZ_}g{7~_8#qShTupp=X*^2p!Jr(;aj#A{8m&kvb;%3EPDBh%ar{aT(Pbt2t z_@3gYihO@J<6lW?fR$QTYp5k4K4=FyQ_`2c;ihN5r<$tS~ zf|pE@&QmN_tWc~{9IrS-aiQWS#a}31t9Y~G9>sl%&nUj8_^IMQ6_ay}K5Z4lioFyk zDb7?}thhpPgW^SsS1JBl@lM5kiZ3aCrD)?qjs8ei?4Vez*jI6!;ta)wiu@WM>u*r} zrQ#07-zz?$__E?r#iWqhuh>bkhhl%l8pTr-S1UfF_`c#{#qShb;Vr1tuf5_GiZ>|U zp?JR{KM_j)1B!oB{HLNn&y;5=<|~#c@~dI2&ri`17b-R?Zcw~f@oL4J6rWRkL-8}k zZxvHI8oBKi3l&Qh2P%$MoT4~K@ifJaiq|OaR(w$LX~owSKUDle@q5KI+~A>|g^Fd0 zgB8arPFGx@c!uKHidQJ!pm>Mk{fh4^9#;HLu~jGahhi_q;ffO#XDZH9T&&orc#+~( z#j6zWRJ=#=LB+=upHkef_?qH3ivEbvFR0i_v4>(m#Sw~=6lW?fR$QUDLGdERD;0Mr z?oxbI@p;8J6%Q(YrTD#Kt9+wpJH>p(o{Iey7b~t%JWugb#p@MsRlJ*6j{8(fzfN3Y zS#K--F|iNsw<-NKu@v{A3V_4#B2407T+b@qN$Db`OO>u9qTV3lP|F&x`O_3n*8KTO zFI8Nnc(#^br1a%V|4Qkbh>(9baRA;&uk;IwA1WTv@^6*SC^Yr*iKy3A=}M)CC_Pp2 z6vah~%M~{$Zc)6Rh->d#lzve0c_P|*Q|S*B?INQ`E5%NVy@~MeAjM&tKT+xFigk)h zi16=fr8g*jvC>rkx-Wa=Iv1DNfh&1&R%d=PO>O zxLxu0ijNa}Sk}u*ze9w6A1M8$qNmvKm0EtI;w_qg7ZG#mqe?%kahgAwh&4)`(x+V90*Ar3yZlxb4VvV+6={JaI?;WK-R{B$= zk1GA0(&^nz{R$%V9zw*LcY@Nhm9AI1k%()AbCkY_i1sc~`WmITDg7Izf2;I9BIQ%)WcdUPS;TC|VSL$!RQ(vubEC@vwk!3*t`K9>l2=PSKc>0c^+GZFj` zDg6f`?wP!z^gBe<|3K-lwcOtm`Oq&_v8`e|#js+5VmHMS#lDII6o)HD6(=gzDxR!3 zTXB)%sfvw?s};{uJV$Yh;>C)WD_*6zUGYZ6+Z1;x{!Z~e#eIr@P<%@91;tks-%>oF zcu?^Z#V-_(C|cNf9`PxrDx!-dAD4xKAw`^q%y~xVl6Zxp{* z^xMWxz9gD{?4Zc!S4i`XfJFWdO6;ZBN0FaFV*VJ#8pWxKGZp73@^?}4H!7}El;72m zzgg)midQOLt9XOrO^UZG?pC}<@qR`5T@G@eQ2IH=7Zu-C{7_MTKLx-1ehQS|O@Z>e zDUi?0P=7uTL*&eftsv4v6-O(MQ{*RvSUy{Eq2dxnep!g+>lHUCp0CK~Vpx8u zqWta$`Z}d=RNSe^ZxWIJKE6qAdf}&v7b{+(c%|aCiZ?3mROE+S zSpPxA#})sm$S=9D{4K@z73FtL26dzQS-&K+S zN2Q-tl;2kiasPxg@Sx%+ieD@KLy_;$BcD&PonlC_K(UJ=-p4Qey%ej65&RCJI8Jer z;z^39C@xT}S8PyRsmQO#P#!<^MBJ))h2o8hI~DIx+@tu2;vW>BQ+!eJPl|6V@*^@_ z&mC6egB4td`4m$X+bHHMc2?}6SfgP`28vxNmUTI4;8jHQN0Z`q zVjFz+NpU9;e!fj{7ZLuxOYt5e{C>aULqz!hF~ui|=!a(%_Y=_{FDt%IM8CYHcz_te z`d;xPBKql&;$b5C>np{hMD*LYiWb)yJuvWF`!|pYt zVebV**vZfG(!N`XuHJXgdxhQ2e1UGR=gBJ^t_La)1t=&vm5 zJ6z)%`cx`ChzPxADP2c|eoK{ZAVSaeN^c}W-;0&Lgb2Nxl-^E+{-Pw$MQ(>@rzrisgDyM zTc`QC;`pW#o-U3rOnk=pSh0NAxH-3lr;eKo9pjFD{P%!s*oT)HASE&H8x#7tPoZn6`&!D9#^nsNk{F4M z$6h79Os6g2tI+T-!uSu?5|f@gZ(ifV)v=}cPuy5?F5cs@c%cTZsdH@3QohezC89m6 zg#Yr0|Im#UWd2*aWLWKl621#z$vnJjV+97zzqesXb86)BNVW<^2Rxd{2a?aLbRr+i zxOK%I!2V-=W#CC{cLDO8&8G=W2^OY3t4is+&akWq(wrB`!=3F-!X7K{D$txOoz0Oq z4jHlXUXGDRA2{+(MLJd<=Q&3Pl9uC_MM%fW`wH@?5A`ED@-`tIE06PKOY$}#KUUti zG4fi)$h$T{-nYk*cTWNzm2mnRMXnuhB=9AJuOzav&ZUt_bqcy!3M_i%!|R**;i zoz3yzA!NkLON)`0filN`tx+F;uI@a~w4`4O@?+&?#mH+LBain}V&(CC)sj3uryMIU zFGgNgjJ(+i^7244cAd?U&F7k9 zd?dd}khdQ4XeZkaV|VoHi27i4^;-&>bB?n)_U0l#wm&Y9krx58Bd>3Qye81p(b*h% z|Gt$K<-Phx zB4y0bW3RHZzJ2?mysW&Utb+M!=6uIA@8Xa?_L$9)^@ABJ^X4Npq zDh|BSdR&M4;O?|Bq$eHzzAX8`14py0NU`s&$h}r!;ncvch6jqHg*m~a_8_bK*Du(W zUmmp3g4r7OW}%IwXnHhK;IsqjRaQmLKD&r5hI$o8eZRc@XuB$>#UyDl$!*a(U`5!9 zBeQJp1-sIsNih=b!k-<@EGw*k_GsI(9a|u)Y{$C7?tvHHUsu)L-Z%AVa+@7nk}tXa zXkHmx%tDJl)K~7P`y<#r>#EiTt8%KgfBwC9#_$=#8b&wlWv^tzXU+b4?8{UyTP;W5 z&^F%{MtlDo^i<*QZqfXxSK5#FQ_qhNPr6{&14m~xY>N6nFK$&6-4bmV?HGOFXw4;* z;EP(tr|+*-yX-#AE#7|TJzrasMt!w$USQv-uY9A>YDA)9dte{ZHNMZ=*Wnf*%(s+txoCuu>=z6CZlrn-ScM$Rg;V2W zl)l-rD;d$!9NlUhx^}XCGECy+U*0G+Doo?&`Zs822aHed(8+)#<-&#(|S_0cu$todQtbrTN^(? z>xa%*+SsGH?JF?9NZZ@dwi%r%PTLh$esj+>JivbWhube~*VvvEV|zHJ{dUzpp*)4} zpW!PkY`pGhWf?6mT+zDl=ElD?8vE&UM+eTJ2|Dz#4lqtloE2+?IC0r*JLgPi&S@pS zZ>z0)(YlS+TNN()!4};)>6jLq=Tf$J81reQz<*489jcSWT5sVeXwQPbTNN(V7Ar9_ z92>U}54@2neVpm~*?*w>T5tE%7fxGiV;;VBZSRI+wK#&YdH8{(ae4JtkFWM8RVPaw ztLW2%u|8nB*%#@U?VY%8E53-RFM6+ybno!`q{1C5ZY+F%1@sVp)4j|V%x^;S*vWXFWUN;v7g*45;J?XbWZ*8^PE5CJZEMP(_0ufWgeX8 zeAgD%#m^l-KDYhr|IysW7--qP@BS0)OZfr&FgwD&nZwmW=)n#1!-$UXwI4IYR`dyH z$EB9cjGwm_OpdPIlPhyndDJTO98H^Z-SDipT348u#JFMqSFwgwoEdjM<7||2Am^wz z!*kT`lnb&8;URAx3Oqso;edG zMXT=ZD89*aMq)*e0|h$f`bYJg5qEAqoH+)ov8*byLhyx?-$;Xm4!iTCX005>${;J^ zyL$Mjo%@DIb*ayPL9sFw^(fM>e$?;-vQS6 z=%8cy392_&70J?e@+~~WS4CSPihD>DC&BV|V)+Ttb|UF~Sl*-TwB0*~XN>o~U5Kj( zb6zNfcUoO-)^1Kj7e~`&g~Yx}!p`e0-Y@Qqo!79=M*sB1elqs5yP3&t zTUWT&cWJ@8NWS;d_tqxw^jvzwTKm#@YpqLtVtxM#k1%{+)#hG73e8 zzXch7m65435Q)84?6taFHJmGU3m);+S%=TxnDjcX5PDxVJbk|hS1n_Xct%_`JhFex zkqqG1FFd{F!Y%$tN`31C6V}>2|Mr5XBDr8m)Wo4TT6u4vARqDOfma&n-+jHK$;c^- zetppD_Uiuj1?Us;vNxJ@FDXytqk~z%9&RqFq{!O`BS6!)2iFznykJM) z-;x};=3q*F?!BqeR#9K%@`JsjH*E1nF447K4*HV!JtktGj{P+3tFWJoo%2UW8Lx@+ zN2SgmS(rbXXSN@kKaMZ2-+!{avj330U0WRO zu-3}&-9X)W4b;5eG;R5!`H^&)hm)ckclVB_jLnyEd;-RSC9|HD?{j9|s9C4~^B~kj zT(l2gfNPVqsP*@P3~3`N8rWkz+^g`D6&c5Asik;vyvsf;OSmR$^KZ0Q_Mg}u zn!{M|MKcoOGvnWkPrKMZ&b!}J?Avb@Bpt|U@QwTDLAxN-;29Tcup$kkDW97?F2|+W zUTdsOI9kf190N?*crjttzN9Eeai-=KV=SO-A9vha+?zI`M}5|AaFkU(5RhIduB*D2 z5o~q;a({BQxz_*m;6oo%qgt@^dMXLQsTdIZ^pQ!XkL95M;=->{qMyZin9+}ZdGlr_CGyXTz|`!tLm;f zr=Z@7OsRYHW2>mJ?!y-JIJ!4|oIe__Z@0Um{-)uc7ie|*f#ibzxLXvkj1EaSJIfty&8! zbLX#Gfv;uES+cPBgaKex6t7g`H|BX$tM)# zqaPy|E^TfC?;(p*>4%#TE1YK@@IK)+a~t{6ZkQ7Jp^D9%{IG&!ojzjGT=-*R8cx^h z&23Goo-Tf<8HMkZjC6c~w^Z}9M70a~l|uC;A2s0zh4GNfa=Z_J{z|mgET<)ZHkXdB zo*u0oHQ5nQQ41PZ&%s-9m*TzlkWdH5%Lik{SDIwNEL?55O34YmShSV!orK^-|i46RTScayqSfSizLYX$#kh zxryx`Z!A#)r-|-mYkMtnnyxRgX9^GKyz7gmZmlL_G#NzI?MV66H6l@uGcGT~hd}#$3um z@Gn~s!55eCsR<)w{WSA?D~|S^_{}se4R-_h4**#!GhciFgjk%e3c!jnv=fGuz{@>V%vJ@eGXjQ(kELJV~2yv%zy68uWg4 zK68Bjd_2MGS(J*L!}$Fh|NN1JcZXWOfPW&cSABt`&G?x&xf0bfysvoP2Z#SQ{Fd&0 z)kBRe|3VzRuL)uM`LwS0b>Z?@0qXN5_7t|%+Dg7C8_z9x|Lo!aTlw2k;{%?bqsa0{ zaGB(NSA_Wdd@YjqJt30(t^6R~_sjrSvXwj;Y6iT2^_)rxRk#o6JtS$U0cE{^6F#4* z^r=>A^>oYojcGP@q2>M7b1FppQkPiX@1)6OQ~O^+_^ssA@dS*| z>+}AVP5y~WCre+*-FnL#5W@D4z=KQP6d^qRn{kKS+e!$$-~BoGuGo8~cM3Ywzp^8W z)_d2B+3l(HSyJHhUr2M#79!1`j85@x@ctHTS*dfEF1Ebqdg+5A|HueRHVM%s6%&r- zJ>NSYl8dbXJA_H`x8Kl>pwsAot955skl}sSy8ykP-Wy7J_nY)KdjDlFyCwZ+c+SN8 zikID%J`mC4ebvjyiPJYA3cPQa{D+zUrb*9(eD7P5ZqtY_;dtLR`RyqG&nA5n)9;AQ z>3i9^2edBReb2NzfpXqA`QqgdyzH&?&WIWBU&ImV;*^6XeIMm~Z20+{xA(6`P80b* zk+ccGm9SPE(#A?|fN>G;SKe!o=U>T@^sRWnN?m1nzxUEtcw4<6;oYjc-3Ko4*~z0o zVU$#(z049g!FQ&8JF2(!8-@+`yP$%+%(sGv5T15$CRFfPnQx&BeVc_j>j-*XD|GSj z-<*QiAd;*g-+*NYKjSD3zTOu41jpieabIu@3X_7P3J~Xem66}He zR>2Hdof>=$gF7u)0>fGdpGP>Q2j4;PwF$m}(u`mlq-6%b08iWCNiZacX#-42C)@<3 zJ^P_ZQg_?h}Mm}>>71K(mP z9p$xh1O6RDK!*56CjYNFEm@(B(BFT{r>N?~Q}9sIe=Dna_+LE!JLG@9=3uO*w4BXd#hmUoqlvAKD^h>aqbRe`6&Nu0_&>x_;NoVBES!<>Az6Uk4 zVDKDZU@8tzVi#4>P%8vYQA)pI&?0mWf+VHCQTMKVqz9OmzM#Z`Ob0?|qB~OtF`X7F zhYL~$Go2CIiB3ux!gN+>8q-6W&Iw(KFiojqIxp0nGKVo8u{!d<#{zcB*mKzOxzHkI z9Ftb42|b)Lp6QL@F1U}JGLbr4cK981Udm(=_>YYM=g_TS5<@y!9WRHkFR@cjd7kpb zWwV*ILNi!x4qNqwHX#gC=JFq;0wF4pGLMFDfpaJ-@F5P|Rc5x2|2oyF1LXu#R%Ie4 zLnXN=Ud^Nx;y-kytP#nOz#!;w4P02CvUeCdJ8w>dmGV2`%$w6_rQ9uyd2`lSDfciL z2=T>WDfg~IIxUn;ZGO*mdfuFQi>#FU4ncZGs2{bzpZqzY_3Vd7X?R|U54)y3egnK4 z2@PWUiD!^53e88br#y8S>Eh6fwD##%IQGcHmnp53=P0ubX=wI5HLFA#s_m!zL7`u> zZ(qs)e^n^L9(g%}^oTrs_R30mjde$cTIC}D4f2l*%fKHzAW6}p}A^&#snup$Jq=gWacUhir75X9G$G`5z_QL=VSfm45+4V3M$n^p9kn z8Yvm$AIKp&+4ED>8SlTH8cY?o8hZO!zt@MjJGj%VKOy6 z%frYVZx?>V&OgWVOEA9WDSVY>=XnOf@&leidLw0v=LVD=^1ylH#f1z)aq}PO*Jd{h zscxPkoIAk~c@6!@xQXFpmeV0Gl83bzPt81N?FdR_3S_j%(81!V4>-#l8nfx=xhU&o zw@1(=PljvKQVMOpz|=28wX>ux|J^jJi_KXKr^&8+eewnzvY=CWvG28 z1&rh@R3&N4{|G~Gm=MYSzC7Iww|QDfvjT)iP(d{;+MjZg=TV&T{FU%i%1qDsD7XB4 z`C7^>=^US5o}@lSxB~vW+10Z>oIH#CNz`qQbm$oWd2FZ7vmNzo{NHgf&h?yymS*@b zV5iOVF#PNN|DvMvg=p}<#(rNQ#9BX>Rw)ZTd?D&a{|E-#BG3CEw)pq5WU;if-Tyhn zq|{5D8~tZd(IrCM=6{f}f2t67`KPea(}cL+--ZH~3h|i#C7jb!P8Vs2Kut4o|3Iaa%~k(updP8W_pi9BTRrLNgN4#F-R5>Avh zN%loJ1{f)KA|XwCtc)S-KflZ=8JpR9z`GDV??JYenkE0dJsEUr4*zev>no_~SqitN z7Rh_Bm!n%#dtA+;!z{W0vp{Out)PqfzPhyeoSjZsQE9b~K85lVRv|T-LQYuKtFP6% z`a>kW-Ow{9tm<8EwH}8H3d{3X1WxOdIaIQJCnBTETpaQ_7h0K{;EmRQl2uyqN6;(1 z9p6V=d@;H`y}cxB5kl!XlKc#zl^&Ah7np?7J4jNTo5y5_Yalb=>Bd*hhU9%>-I=sP zLnBZ_(mv>L2U$Czcaz%;{*tWxjknDZCQ+SwdO3HoQG= zIyNJtjb&4o<^LnbNgLaygn*UV2J>4RkDU&-;v6_IqYp16vVEO#?3U!?u+LohD;N-* z2ivUR>o}>{!4dFpAUK|LeQ+j@t%9fGm>OJ%V_I+vj;(`N;+P)13CA|Undtb8Am3V; z8N4LIwd2h=27?dcm=$~l$L!!C9NPuG`B>Wp_d>ax;I%M2H+a1TtAqRC%hjW`4$EU#Jc94>K48p*e`J%+Hyh7D~bDF7pfK zXM{GRn=-#-epcu%@_)tN%L!e|X1=}~>AcWK=;+KNbX9XIs?piyC;{3H9)c9$jrw#4m~zOG%plTa;&>ASD_8t`QL3q$JDAyod^Sw?{*? zm-0Ox9NNyJM9;u{Bu}L~I&6j0GTJWnVh#&EMUK<&!_f-y)g5h@?LyiYYJ^>Fmva;a zLa$=7XxqSan&shph1;I-2OK^8*WTcIO3(I1D7Zg*CNHb&Mhcz@YqN^4K+*~gL1bl} za0}AD&}1C5y6wX;5V{h$s$|^mC zWVVkP9oE8aX<5Ar;j+*l$yfd^vJo?6>`hU=(0D{eRz+{H1gtIuk?u6Xs-7sqA*;_9 zU@z{2DK4u&momkF#|)P>pg$No$m_1N2W>z)R06kT52i=0PzbWKhcJx~AT~jn?4c)v zr{kT7$BRAL(*tmMi2s|AJ;PKOh#1H|iP?6D?^ek^nfckF#n2#oCe!Ug=?M7jSvlaz z2^Y~Zrxdg2JmF_C^JUMbvo?Cd|G=2eowpLY3NpjN$xmf>hEDv?s%qciQU`@OnX9Sz<;?DnZ}0z*J4J=owOQty%f;l zdHAq6_oOl43B3$+b5G`&utK>Jq-UBKoeE=fXE7ZJ@x2SVr!bus@^ZGEP5z9~&6GQb z>8udnHJe+=P^GLY6A(m^O-KfPnQ6)IKfJ7JlRk$cfq67 z^c2v==c0>qxA48qfd`Sf35lMTcP)!fL;c(fm{WWrlZb)b zip3oEo6 zJra6>H8VojqFX~Rk|is|cOr&f;sxyG;T*(Q=w)70X4&DPBwitrV~3Yh#H;I2BhL=M zhfoc@Mqd=$;X3#~^g4+XaGm=g0|=x0*Cfk9-fgyf8v!xw(qatEndSw=|h&{ zCqd^0B_sq=I4UN8MXV7+u?llUtPzQe3f%(DeUXG zst1x*s5K_~j;n_w?F(H2!#b{EIuPQ!UOTR3D`}xgsM~QJ(;1;RnSZ8zRN4U63;- zGz<>txP|%SLqDZm7d(ahn$TaFzL5D-Ll3asib86EGrZ#yX_dKUIO)({ug_7;a=t4tG zE?1k#{XH@~ec_IdKl=<0^777BF<-{h@%uNC#I-o|_1T`s;oA=HV-SrApIV5%%UiO* z3ZKT1vO=dKJG_)>JH&h5;nSJ+gytev!poTU%0eT&oM(7nXbt)@+(0RT(9f7YgXy%; zJ~S0>WI7|%g)&z#ofW#8a#k{(6B>v)KD^3;@_Dl82(RXfI}*BxJZqTF4?Tf+3a@3m z1tEUdAiR$0!qA6Ue}&Iv-J;Mx(BI*oFkKwF73PQ6-wXLYWPuYti$<5p0w;Vnc`EW& zG+5ycOjd?QQ{+ab2ZjE@rp{ryDzpdFK=@o%9SOf3h4(tlhs?b2?d;dWUw?ODhI_3eU(?U;TJ`6ud=^3FCruQ+O75WaRk?=#5 zlN0KOvqSjdqu|elRwtm`^EpLqqJp`B@YYX|6{@H1m)?en&&uQH;lr0nzgr$&riU+o z3OpV7dXPx?$}=HKjJb*ps4-VFt;Sr#v?p{cTe+5LHKxfJGcnJ54S0mx;nNAC( z(a3FdWk%>es6Z8zf!E_+RZ=ra_hQU>KgOI7V$At4#+<*zm~+sW^E0aW5w*p7`RAM$K7I{Eha*roE&SP~ zPE&_tn)*DZsV_`ZytD{^X_}JQ`HD4tCU(ANnm34s06j?sU_HWQZbkSX6*zr}E&q&Z z;G38RzBLU!{3Cqx-Eyb5Y%@->X%Bzp(aMQPzw`#Nx@aw<);MM=NRrLBdq<=4D$x)2_}sM$sc zuUs*OGvtcN=a=ar(-uu}*-N*#wWE++6bN^)ze2)@&C@nMqLCf#0|*b>&!`HAW83JY zZODL(h-E&CDzbUm?(a<-J4djttL48Ar=M`K_$J`r3s;3t5K&qFG|u4Ngvjypgcj~DM4rDt z212-p5E1{2Y^0Z{TVxewgnQecP^$4D?GsF=(JM#SX6kR5S~_TLdNQ~h*fI4Xfrmx@QGtnhgIOXRIgJ-uOx6+Thiw%N+$o58}yq}!>5Q^_~DRl#!Ey*$L~3*&(T4Xxs(IE&Yple83Q;V=1cvI z3OZncNzddOWuZwQVg4eM-p+1WY|`y%dA&&wq|7Cf#z?=_ZUbFR%-$w3t1*AO32nbD zDt>E1o4vcsK8F>arJlPrHh6m|e5YD)H66Q0V`B~*yGu&a{AY4H*()U({+Fog@1!Kl z|27N^-z_CM{yS*UJyMd#7JqMl$rdFV?~_i~c)DK*ji(2M(0F=K2#u$GLTEfaB!tG( z!$N30Jt72JtPkI8UtEY5Wr2&I_t7!<-I#s<8zFrD^B7~d2oW$La)Q_rAcgUDCs^>)GkXRZ$0RW15>aLM*`WFU6HgE`F#!{?>x|bk0Q|n2`b=O z)u#<~pi+H&NZf`5Zi6BethFF_p(6D2tPJ$BCwtZ)U2FHXDl1UD3B^)`G=8r|IF)zA z!EW#B4+iLeX=g|O_M-njex*~zIpVfB=5|!Y9w=K`)K6N06lVKVX)0h~GL_HEP2qVP$ImlHI1+DEWtFjxi zu0|F}(=1Fh35bM?L?Kz31}!hGC_j_^<8|$;0FT{N(Z%VHfb_>t(4gs$6tV9{&;!^X zJf%=oJ1r?6b)-M|7H8=X%zUx^!LOW4e|(GtK2Dj1106mP6(xcD*obHQ3%SitmXX-) zrk|l)oOvA*#+ZJrOVb;WMbj&-N`}S{n$GHCdY0v-%<_x!A^wot8bb$R-4#7?8ip)N zxWxMw%9>C;5h`3$C#2w_GVDY`>`hCL2}X5>@9wN-3623f~d>ub`{ATtQCcgbyt7l`$FLC!y$Jx!;~K zhK)TUX{-EFPFuTO5rag;q7xuOdVaUKvl=4I1h-o>`8jCgzCBX&4$}BEy=C9!<8ON( zf)*D%3IC)(7z4A)>c=tiGF@h}#9@=|DtN&eqEqO;ewdc5KwsQLQob1X+GSQH`}}}< zo<5(9Oso8E2GOOiB@JT9QcMHJl1s&sbOh3{C2JZj`*I&27xQebF@{_r6_=v8cV7;M zU;4&ly1SC}6eR2`rJT=i@V6N25Ssr~wL8nGz`hSe%v|&hifuHlc1KXdKMm&=lV$AI z$*3RaxSwDG8LEY1thd$S3n=g`v^NF}9L^^i2CY{)1KG!V;SFeLuTJnnV|T|3tHle4 zz+}9zHr@;Cq~cfvi}Avl;)PYD#S1@?@>@W=UieDYK8_dsXga|QMJB6dFO1T{<9cD1 zVMy{~v|>=T?1i zE#>n;yI%OGs(l64;5aW!?)>r|Mrke%TJsQ+#(C}Ho!4Fj_l4Vy^K!&_{Mxf|Uapk$ zfk4-J)6jMc&Rc1+kLSGeO>wOAZqyp;ysmVD>%7Oc@VL%<%P=H)*?Y%x-aBbzV)!PJO_>2fAc!a`=!XUo8EvAOgQ|_%N5d3!Bomepux%0$5Wt9 z_kZS%JKG!Fye78xY7&=w6&7$jJh$RJs6itWKxzX-B8 zNG{eI+Rw;^xC$INNN(4{V`i9%cqsGUid7}%GIGwjb@EEVXs9w_<=Ot;VJBp3hUKX#N zNLpr`SEQT|H1(rfc#ggltE(2g#z~k{%dbr_M@KQT=(R_*hB(HVspu4X?R_m2m&Q&l zkR@LGr(tls#uJa@H4!K)l_RwEA=hg)V6vOucD?qHc57_&=^xt_|4F}uW=r$~!2hW-S!G3L&AWA;cxX&76s zF{{wl4;b@HEmmXt{h%>Vqg{J@f-!3<9AmbNF?{I47_(iB;Wx#NG26u$enZ?CW9U0U z8)I&WH)e-4^b(3)V}_%xA24RV7OOFpKV(cv74Fg5v$4p<53L-hO&*+4hvOaG%srpk zZJ_8tPQbIhEW4icP7EE;47pwzc%u1fj1{}i%cs&jTkHGPq8e`)^5M$nVI9A1R46-V7ltV_wxpAdc zyn(|1H!1%h53Ve8qYIB_p;LZV38%}oR+&WCqj0+Eq%!FQ{zg*z+f27+1(GJ3%HyM{ zw+OC7aqkP!k+z}vD3v*hR*1MgphxtAf_7gooAz$KYl9no431 z;{~QTcFBsFf!t>L>;WE6zgQ7TUaYYZ4VX|YmPQgvVH-+0t*~@RLMcw9D2;0Atb|gY zI;?&*T6$(eDbDaHoyP+t|J;;9bF1GnNuUc_Qhd#cLVy&WU8}7^~ltV4x<| zh9Sv|n9)&T^*f-2bxt8V1lllwS!a!t&6BlN`4tY%$ww6A$tMuOK)w!)a{nj8Dxb{d zN*gyQccPNrR64*3$~F>|2N5+UDBDOB1>2(hWzGzS9!ff$QD-Eb2HFH^rUq%1xoBuB z4c&}l6QqWI3$zK+posSeVO171Vc(7IZ#=mMWC8Nnce6EbCGyIVN9$LaJg4ufkj=jP zxn#%m-53Z`#(O_Ja}nFyS|qna0@ zZ~~gmHHEl3u_`Y`p3_63hAa;r&xRi@w?{ZS?55}39SLoqN_tmnua*BCmI-4kof#1OPU;2JYhjHv~uG3J06a|>D@jyGzMlVz`h zHqLxcYVt{sVX{=if3Kq4vvs^I+fPDw2SHQWt>c^LfkG3syc56-DVm~j=&m|ssuUTHl>t>wPn;~GDDU+)hh=P-)hE2*1Q&4l>DY$n6| z2`$z&ev%tMC16O5pS7F=cPHq2{t(CIyG7TI?Nry@@}I`lAdRkj;&r`Cgm(8NWu0SGKnLaisH7?R3qPlbbW|b5PJVKi5M3s^y+x&q9N9ynR{GHBzJpT>9ac}5W2=XP*!@V8(# z!b+@|s>K?NDQ*Y15RBP!*QC5-E)-ees%)mT4#OOkSBT0zp+o6?&=Z_@p?gmPZB$+r zukvaU^wU_C|I)I`5mnibrf8AIGf;#7XK9q5AFuoZ5!@Zca;{^T?NIF!1{8H;)I6re>hFKK%2$EG9sIcJ z#)f~e!?FB(c6^O%f(em}hCBYQ5ff%W2XhakMnYt>t1=dpvA;u15kb4Ca$88J$|pkB z4}{1XEmoENuF5ThNO>8;Ir{Qc}@gfg<|8A=Y{yO7ndBOOHSjxj_qP&t31agJJcn*;Ji@;6{EN}9}}~GZBv;kq~(Xfo22?hq$O-_ z7Jfc zoaAc2KnGrE7?Qj)Wy!TK9k?S_D4bZiS^34; z0@t4DdWmkfoA_XWiOrefCBA8+G{S*BQ@qpzXa7>(1y_0k>AYro8R?Q{`WK*$S5JwL z<=N8k9Vj+log-fT6KU~kop`km);PwibA^8nX!i#COBkyycoiaK7W|7T=FbjYki|*R z3+q@T&Z~?^ng6x$7_ZiWfnFVG7#y!Mtd8~Sn^<+)6|Ps;g2`^;qZP)h72?$mFvEDI zZ+xuvlZt%G(|Dy)yz(Sz@k)R3N?OG6$^hXX2HO3(_hU69VIG89;+1braqN#VxzLVY z5yPEW!*nTL8K8wS%{zC4&O&=|hsazt(*y@#hyLvIIdyp|CkOPM10VH6v$wH2=&A}wAEir32W9j|2x|3c92 zg?lIH(n2g@ju5Yvo8s75nxr-2Vre}18A}aXc#PL(fq}7fzF}~@R*!7QYwp=2`e_zy z|KMtraieUzX%t|z+|Bqve%6B#qxrTW`vaa$cY_=w*P4IP1xB?zN_3Dy_!Oo)C1pTP z3kFBPM+16ku?~iBe`qljEys|vUv%_jVAxIHx_Z7yJ+liOJzwN9c^FAPpJua_8S5Q8v2o8aE9}2 zWG}=F=t0};b_p`is$#2h5lS{0&tL}Nr2~5e|AdI%iG~m|_BzK!doTw;d)B1< z)`4L^7}&>qmEkAQ7Pkp1+&(@42KMnYhC%zd@}J0ddU7Sw(JrmwtR+tGVQ8TDsICd{ zCG5SQ!!cu*ELaOZ_TKM7j^;b@>?IrzZ-O*FK268vIGIkCicEJ<&VtMq=8|rZKs(OT zVx0`j9Xl$WSak;_?3Bo?l}L;}4F&B5j{Xsdvzz`v{UyE@FzM&19WRx^F`AEaoIS;1 zMRFDqN6YPx9@KL-NxA#cg90xEY1~^9 zr*3VMm_)b~vC@>%x@-@;3tNy5^_?k!zK3os6DZBCSKiwJ<`ga_`592;+{Xv zu6ZvPu1dzg5?f479E@p>d;SEw<}x_-aa1X=n3`0Yhm|Mx!r_y$;9%~NXC^(LYFXSn z6-_z?mqpw=oiK?NxOeI@@z0RPJ^v^6#CI{sx#wSE*L(!YRj62CF*WHcEFicSRathX z-8ns&>P_#EKCOMGoxxsdhqv<#NFA739mH9!i$(AiS*fW*z=qMTN!Xekw7u!6so+hr z!Q^jkDkfD2E74fMwyT58PsxW2{!dn`HjsjUa|2(1l?-1Ri}CKA_Hn|}n}y+7jOH46 zUc16=W@zppI5JZehCIAT#b*ymO@;1`R>5Mh=b_mw9~y`+%cerC)eisXkWN|c+uLGL zDizOB9fTz}7*i5zE}^L%Tt`T~JXIIx}xDow%s+?_$xn2 z98%y`6YmykHF^!zic}pb>#SM}(S?%OP}e>pr&#?3ZH&K8fWPQ}F{@jQzeK(6;x7b# z4@n?gd*&ndOG@maxe^yiU2`+-w#ijFR}PnEN|W6F@F0B3E;!dlR9!JVw-X>q z%Sz7H;TS6Au_CI2aYA}GcPfQcbhLW~Ywc<6XQZAaM)gUudIee1mnE!<68N^CX|0z8 zTBSqa9uwtN2P<+tXm~(O9g#K=j8-ND;ir{mrK*F2#Gt{bVhu4YYQ|8A(~zYSRjIJB zZ8DuaET#nYhQk>#j3Z*qLg~n6k`Xzom3l4{(^%A1B$a^>=bh2&V)PiBAERxOgw*O7 z5~X-T-RWL3k83Vvo8wC`3fTEwb0gB<6PjgXPAah&Bg@iFPh+l#%Rv2__>5(k5oE($ zZP`{0!6!TZy=9w}=mGN$83|{9tSQH4;T+YxVbY{_1f$9{0;XN&5-8KQaGo<8Rl%Bwr9A*8CP^@iZhN$*N=jX= znzLLko}LYtt5tKBTd_IIt%zAz{tw5trcn1FcBq6inAO=Nag;44i+a;D9;?jlAr=>4 zM`avkV(xjHpxxeAc=NBiC|OpXnX$!^pCmIOo|bt4#GyG~(sQ_8nutH#r)I2nBw z)+BLF8Qxk)5*cda7+BS7rF_55krC7FD6-h~bRAJcfZ5K536q)<7}y?bg;OF(7owQJ zfMxUX<0Pg&84%5ca+jAW1_BBQyzn?yNQ^@qhIlVfCXFC67N8PAeakjjFE&DG49-*J zB#;G;aX68S40j_lvIyfPIh8OGyU~>?R)7(N*=_+-^GpGu!7V_--B^XH5ochB6xJhi zti~YYI;#_CC`BMUw0CMHXrF;n3L+YzL*pXk{~GI};-;yDG1yJtF*Vi{5Ei%vNVpqI z=t81)5rNDJ&gRTRP9hexEGC#r?tF_JnV6k!p&*adH?CW<4I1D?yN-zz?^+{~4GOa}&5>Cc$jAUvScAVb`6k!UO zYA^+ajo3{A67Cjb{YGSxA>QN+FB{kqY)*Z&$$pphYo#61sd&anq zZ_0HU;ysg%5_pE-NQn1L6-uZ%aX5BahB7e{d!lb*;^2SGI5tlIi+iI0J%l(U@U(0q ziK#)RfKY|q6fiXrJ8BRbu$uy=&NKxCyt~*Dg_OLs!KxvYy9G>DVuvUK|C`B(LUngD z+D&$}!`Pu}L$G6}BUDLpDq*}NClfeAz1GUJWvDI!LCKT1F-1kCh>5k>A&5YYDIOsI z!(&Y*$p2WyuQ!ZJwT?=ZT)T~04G>|qgepl+BXH`*v_o*bRlAL;)uw=8+MY%z5jAQF zbP%sp0DVm^!DtjW@n(pm8p5}doI#-a$2zo?Fia+#E6Hhu&Df2Ln7YRl5F8=#6NVYV zwFJ}P^w$%olq8li*6(~Vuz)KRg#=cxKxr;adfvl zq`X#O<2EMxVuw#F0UQTN;wT$Kxdc0863BtLBMddU1mg*}myqM!w4ptNupjHlbmZ!a zgiIc5Yke$pyeCZ*%lTQEm&P*3yRulsHLu6ygwqX~G~oZx6HZJBSHVhj5n&|uAM`w# z(AflsH{S8=JGzWW4uk=Y?)Kl*Y#J1RCWIhatXY4nVd{dOC}ia ziCP+IGJeg_nRfi46QiZ!jT>h1S{`@&wls=j#_xY$f5mu$j>5c67>nKX7gOU+0b#vc zfP}lnxM&$N5qSiMH{L~*!tNj%=4lRd!cfdpPGTqQC?=RnCnDu;=}4iJFiVnhjXoPm zV+2zdn*zd4w*U!uOG66l0fJdh#4VQMji3}7LDaPefr9@%BTOYmvb&k~B_^AYXO)*9m8TNOnHc&J%_9~`x^f$_o22`1Bbs^x;%3u4DKC@NT1;;k zW#U#|oZ;Cj(MakSCn?6zTCgDG2+pXk*~S#DLjj=y`wz|?4nuqwu`0D7F2D|H1TrUd zQ3P4!B*uEASn~VJZ8cW&SpSwsOk*^{-C{jrB*lA#ZV{xIM>Hl@iiu^CKVTcNPSS&A z47Vhsos^qjNMi;dn}na8mJ|HUK4-&3BQ)N^n8-7|6ldZ8`;e;B_K6z74M-Yi$NPw( zKvjtqlCG3hSf!)~Y$KWg8!WddT9OevNyT(Mn?&z8EhqRW*0C)`f$@TzU51OGX@v3E zkDZoG#K=j+@J@~8jUSK3NVC-J3u*4U$^^T)=3$U0=*zxD7J*8j^9c;>WA%yYLBsoB zw!~^Bs>wZ#^^%-{qr36q87EtUDUCbXnNqoLVM^no(v-@biWnb{geclSMOJ`yB7Z7j z8Fo{^R3mnT0)e7U0TS+3hZMt*XvUVim|-?@Wy``bW)xC1I)Y#{t`ROh#Edd|*xs5M zTWZ8iCa{z$#RrOEsC5_;e*H0}QwU|)p#@r;PA#PF$*PZi#Qv*D8WP>_CzIO z`e;0g5dnm$*pF2r#uJA3zie`h(bAk1<0iNmy-X?9ceepZ(Q2X@<#?)!i7G81j>V2p zod{shB1xbJQ>?8E%-vjZsA+(O?&d=Z6$oY$mxtgOgU7lsS$HQCG9_6jm)m*+ZasD~x6KA*K@>|jXnvF8 zPDMw~NTtUpI{GB$UzNb;@H_er(sD;Wf5+hF$Z>F%<~#Kgaii2S!-h#m?j@S<-~y!^ z642o<*8DWZ5=CDEI(k)TzGHt?0v}28a8bimTNQR^V_RJC_rPA}WGenoe;Y^Cs6P^M zqvkvD@ATg#n(yF$M}JSn|4QI{hnNUF_BZ%90~;IE!fuz8l)8WOm!ICSeA&WfD@&0& zefhG|xeZH7*DP7I#EM}8cZ+-tOXsd!w7l{3ALCunxMcOh#ucS&md;&P+PHA;(v=HO zD_zkzzjXPE1q&PgL$#MIo4<6`f`!)n0kaw!moILddwOKilBEk*M2go|_B~FHRq5Nm$%IhEgsMRi5(GsBlF(T~2}yuJnn|dF!z7s$Nn>UL!HNQk z6;^S@&RTJ8s4TjQy|K2ni@WHevX))lRo7nD?|IIB?#!J_;`;yo-*+|q?t9LA-_z^d zk{$>(r3ag;f;Bb4nk5s`M`vYE7`bBX$fm$aEukgw9NCQIj|>K?8kWfB61?ZDzM=X5 zkL~d4@c%N-jSW>x>Z+?fai1`1^r&nn1^>$sI?R<$ODWt^9W7JUp(=d)Z&W5TePl~G zGlI|K1ta0i%G~l<1(p7CmA}N?;({5uQNPNfiP@9Ju>Grz`$aAZ_H$MRJTp&*(_7?O_?^r~B$ z!;wI9gl-sJV5v6H))?_eR<{P})&+xEOZ9S`p(Ba9;yfHdgQ|slS1jRz=s#?gKwG2* zHt9ig&}wkJaE=UxM>pL290)g5N6q00yqbnU9lS8TG0_S~LT%NNwvdSf3^{S7UEK6- zio)L#9t{y=WPPB~-w;~S3<(ePP(mjb6Cw>w!B9*@$@p8te)M$>kruh5RYrnMep52g zL^Pao@<&2}R@5 zLq_}BM$vKDqQtJQD@G*bj9#2Mb>@()xw>RZHZJfToQ|<3W_W7CsL_k2pxV)@`8RXb z+Smmv(tW++FL=dDm_Bf5QB-G)uPuG}NpV5%w-Wl^p4i0|%12hhl116GGKV;ESrT`_ zw^l+lD?= zz7;vX>RMk``ZQnp9AB@TX>kGEm5@++cy4BP$?RwhrcBSwn3CaJUh5lxYZ~Un>A#%t z%W`jjLPE(2E}P?y7@RpY&eBDR2|0O7resYYoN;8vP~WQbA)|+(7@d5Wl3m2Gd${sy zM`FS_-|A6EPj_E5H2$JuUwuwuch^OKVKBbcIY*D4I%r6C=IGN$ly0?z8xkr0?YPu|=roSyPV6$n+gNYUq%-=+@`V9WytBT1Oo|Hq#dvOes zPSP){9REguOI(#B%eOM!cTjwQYrDh;I2t;`r^U6AuwXvc34!Dc$mxTtH_x}|2`ox$>p}M1Gl%66Z#*QG31EMslLe(UjeG+S-wRJr>^yl z%kj13_)Z+PG^=f{{wu0m)HZi*X=V{#I~$At)~*RBp(~Hex&v#*_Fts+$S=}*v1>xk z47A9jvZiF`9iEvnG_J8U=J*alO=*emhCb=4CW^jcbXcL?v^m@@bob%jtp|D?@%*z`RZ~?7EhU$cX-z5xR})+*aPkC z$V!@RrS=zFd9xc6H|nUV?D*mn7s|niR~nbDuN>_u*;BIPd#UCeUw`CXYkY5fad(;T zi%;%_i*=wLwpA<^sO3|k)1hoXk72`TK9y0S#gziFKkWATzvS_qPQ8v z2i+6;#yNcKb@;q{f+>}}vFI7+n$zSt$xE{08sFL;2^qQNnORARzI~{)ZKE>q9Q$?M z)3Xq}xZ=JHii3@j@wBH#Iw$!ATzSXJIk@Vz?&&zca%K9EOi1r`Pmdd$ZZX%7RdqQg z52}x?+yuo(%w@k{na+@(>7G6|E@?c$6pn7>*D<-Qo&4H$%6$yr#8kz%_B5V zCz1J0f%0JWN_d59F;OfFHME2pBCAWVE)O)0wnB}O<(SrE_8AF88d{nUP#JrG%eVtv z#vkA^fl)y^{DGPp%a1jEjaAmNDj2FjC_xLa#tN?R*90N~tGYhW+|1zdsXhNH#4Ly_ zYulQu{eC8)l9TiDU{MPUw1mqe?ZsH21nPpvw*}jnN@Vny(ID)#1(9w3K)9L{dOu&b z-4ZsJ&!n}8WujBhn6w7M;nw<4AdI{YGR3f)hgC^KorRnTtoAqa4N@p?qwME`CKSYyra4%R&_iP$7(#GOSm816XJPr0 zSKr)N&}`+kg+f@w*`;Ult5V_GxhE-N#~;?PesWSn$)qN?I>MsJYiYv=o?FA!ScGsb zh+M}S6{$6u(s8zr?%3H~?_7m6!3wohH8lHK5%|sMSVi==jd7cr-B4F=%_^Cfo;PVy zy4fNz8$el;vc{$l=VBODD>$;X1q~z^f>OAlt{M9+Xl|is z*HDNO4K~-1Wlg#1k_{7w7{ zIXddHiZZ7yls1>v)?zun%8!pyv%fNz`yE@S5t3jYQ?sOzcmuFDjI{q)|rg~lf`yhL>@EC(VvF73$q+MD5k}u zbHHLBHC_>Ol3ZR{krxRyM$4$Yop#un<_Fn5qTefQu5Dpnn{gxBbNXx9dC=V-W`E_3 z8rJOGB0qb9ws6d7unrwcEHUcQty)Aq>>kG!lvVg=7M2uN%(hHk#|qokcC#(JEIV%S zV>)(rk5MjL9H`8Y(bN)JU54#mB*?f_1e*e__2{^ZgH7`|oLFWoiuQRkn0jTlYalKx z^XJXZEtyr2A4_c`_KIqdZ`Ojq@?gPAbdsjX>iif3LfB|xz3?}qw`~X-gd1BT{?;Hy z;TltwPR1yV(40}jkG`eGvKwo1eBQD7?r zjcu-h1RI`mDnrkd>qlA5Mi`A4STK#?_=ipyJr=r24zke!2)jjWN4-U^r`Rslv3#)tERK z`&ZWlT&+KPd9>II!=XI%`N+f>s4P}P*k2Vwo>U`;{lQ2*%d@5?WL39exWXhR9P(q* zfxLE_8~Rf-)p9ZeS&gyNRURA)<7W)9Hc(hmZuc#AeJEo~t1K)oDEF6^ah4QvRs9*k z#+Fr@keHG&c|Vi6!Zusm9FA2`hUc%YZ*;dr%_rSX6_vUE+=`0QJS(rZu3~lAlJewxjY!cMA5SAgg=ad+{t%UAg5oOQCeD5kXvH4YO3qUc5-y0 zbP{aYv57X;F!IdQ(VB*^NseoD!-i{hQ>#^Fy2DyjFU!@WJ=6P=((>ZmBE)kwW;5+p zs21aw-O}02{MiS%VD|0N8G|Vw(u&658A!}@%8rFeO|0H<4wG&9TUlSsI>2d8p?1tr zSGZ~oHQh5N$`h=4=%-wLLbUz6MzKh}zj1Uuc8nWh)v6}6((klkvxYF6%Ir!)XgaHq z2-ZXssj|XSdliJbY}GcjV{RM^r47bg1E@;uAkpUp+gWbdo3^kN2n8^^<{a8gp*6$? zo2y&Q%wtx5aju^eRDUVPTP$5Loorc-mf6g?C&uO2u#8I7fSF07g&7rQnoa}FZ)4k|xG#w}q4F1aOwpPyfYc$x}(+E~M#FC}p>iNwu?r$+U95lPtlF#%{H^1{ z=u0q5iVh^~08nbPf)Ufz6=H3K;lfpL=4V5UKz4Cpc5ES2?R2pXn+_{HvkUIo%rSbn^J=DZRMy&+PShv`C|>EP;D*~Mb7T;2U8 zCsP(KYxY-iZH01J9_^$Mbe2(+_GJLV7>)4|U-a|PGb z0$UW$;DAm6%QcNj&bV!FPWUkL4O>{~dAHbssCuCbSnsH8zmea*teEdKpL%slGQFRaFL7lVzdI`Ok?*6Zqe zY;<5athX??XMGG>;rbTL=EIm$H#f9Yg)Mt|1KZ9Z6stRRoK;0TN(&9$RH|mp-)dUg z(BI%kIjqAm0SPprsj(b!hIIngy0yFn^H8*Nc97ga;I@lvN@SvBY6LnfM5d_?naIfu z0*>|fm~Ej?EUYZ{m$%PotF6UYVFGeYvSPYy=CRNxrai>ZGzK^v|(a)X#DkRv>lAe z&eVZvXDK^5fkDH}n_W$-e4)R1R!ODZ*_geFu*Ln5Ld+GIK~8JM@YR6%3R{+0-MMDk zWl57+YDZ*a+=jGqi#|2dC8RTTK138#GhaWLg9U zpc?K1Ra6xE^JmQRqc@mYIE!O2cd;}CV{Anj*nNuDq1cw1JxrPK{Navz4`dnUP^O01 z{jcka=$IBuq*FB6-rdx^-1725bkh|DB^3oG2ki;L?2;n0<6~xyrb}0EbJip+~UWq1&eQr24Cd4y~AM-_a?Qm#)b~YOxK*58lrDvugJT4PBRRd61Qi*u6d`^ zILg{0d9Go{UI~n`8jxGsI7dH%{RlK^)EbL-ESg0J_Ovi*gB5#jhE0Tm=G^8QG&DMv z^Ea5vxP3RL_e8qomA)2@>ldMg+Ei;YHM4dTR!8}9Vt;@$4UG?+VkfQ76+t@ct4dBNqesn%vH#&%+U z{b+1`LQWj-Hwj4s5Eb`zY^;P z1dheKt05Pb2Qb8xVK8jb%+!nK*hO&vB7G?>O3%PzBK zR8F|?C&1>mMzcOKt9VWr@zXXJPG(;pI`*{F3;<^OtMMG;oLTd8)5EDO93adujb@Gs zTSmjQ9kVaM=^#1@jF5KYjT`M;dCOf&{)%okDjV=aCl>rpC(ELXl()}p;O-2^HRoqs z{shp<0RXYl^erxfvFC=}65J+U&D|2TTWmX_hpWdD+#Xn4TK%Dxrf5L#rY8frlm==HV zUyg3a>55PZobi`fFn3Tkc5wqQ( z@zx)nXnr;{q_$k19q#^bMX{I zfu3SWFSBcMODLQ^VPxC`4afYif8@4b=lv6o1S|2>l%5Bh*L(9GVjg@TD4i!d>cQNU zUh9(9`_4|hC?P*3E6^jQSMEXSjsnPsl3Y47QnIR2aHq31(51r%XmV3}uJf&jmE4r9 zmXw}x{$*}|Sn$IiH-1Ntbe!?eIf`)N3KQ{KV!|BZD1dw@ZAQw_b=}u@JG<*S$s4+y zn{=MO>ms*w(6)H29^v^jdKqZ>z=RncLP? zMyKDpF6)!d_MKz$YT~LMDgAPB)4AK$wgYS>&Y>~44)ZfUyvPCdBH!r5@@bK$Ud(p; zqh6c8JHb8Hg$rSC8Z3 zi*jH5U(&;{(w%@nyB)alzaVAe(v*JY1=x;S4o-4YlGu)h&reB;t5+7Bv7MD>pc4@2$-CLi|DW+MqrbZi@`1`cv?=u;rKa*O!M`(Jc$F9F{OBX$UH|=Wx3uS)cvn_V!tB zUp`T9KYH!x`0U4c91&6ypB!=>%%#}j!{b`<{>kPofXkvPd_X*Q`0$WXynZ*MUldj8 z7CqyM506O2>-RAFHBl`*LghMq$kBNHo<@ImRL5OgXg|fHk0-8NhtEp&_@^3stQ+=$ zN3L9l4^K?Rhu_=i_lssbAA*k^KD@0oUcax=k3?1Y&Xd^Tv-*4V`y2gO{`HS3d`;c6Mw$?DR%hqO_KQd3^4lbQ5C+RF?RT@!#(a{Q0(yGHS6*Ak2d=3r|pC9UymI=>llyzF-CuSROOiH8Bct8zh%7r50!skA9{{KhqPROpkuHM?c%>Ul7&Gj-K(vXN~dbkMYVy1 z<WkzPki{caD4uk8vTh; ztJ?fX6Yexu(ls^yQK z+4=#Ge!$~j?eVYn_y;}yL63i($G^_RC)PjIdGs4R`VB@uE2`BHJ>!YbTJF(bZuDdG zjpZKwCXarT(T|NUO&@<&$Br_ zd_UtKj(Oq?pE&TyZ60~0M_%QTV>1zY_^j0)|C2rPDIWP$j~xFVOP_hQbWFu(oe>jo z=Cjs#rGLHgPqyB6E!pV*fk$@t zDD-Cw;PsXG>x1>zxso|Y?}POfbCmvNM($}b1(ef`oMJsJnRCiMSP#7-nfsc3u-=(K zWgQG}lP5lNJpTKkLnpSxKIm<}lx)YZzr~MG)87v7Q0oZEY&m_fJ{dz#9Sm=(M=tQl zrMjLyM<1+LY9-tDj<8Oa+-m#>TNg-XP3eR6#5Iyxa(%E~xJ$Af|6$hSlJkxK(bh|n zXB+t#>#vgS^c`n?8mB+fNB(H(3KGs}ojbyw27h9J} zw)3mhx(%{(F#P-EzX|7ktmCa`%tXrHoHY-jXhx=}vTlPD6x`03U^Cx9<+tz`< ztVe%0HU3e_zTwV@yx0~yd&nnx6>k{UP4iJV=NHVVE$0^6sD|r)$f%On?SLmP?VBUa z<6ye)ICfvAv2x(echLY{_x4BKqE9$QqY&@HU+rU$heeg5Pa{SRnV+Vk{xOLLoV(|u z%FexAQGN5nf7Cnveu}8GbK64nsyGL8e?j#2T2u5<$#Wx0+`U1%VZ>ykeZ#h~@43Xe zL7SQ0)N223{4=*)$r|DmyOG_PZTqzS+QNxE+j!_wIb>>0t9ftZaC7j5ABb^{hZNIIkPCQ*}v?ZZhQux|+BD z4tmS}`cIF)+Mf*XvDf~jb&q|PwG3T&;yd=MffN4_(;ESI>Tw*T9_M@1DCb^oL$O`FKq4F#1F9SaP2}{{lT@7kV5^XzwWL@in^CqkY=rd@b=&`*+74 zAIc8&`7%>pS4IBK{<1}nk1XpE%HVS(!o~l_-dE(`@%6L>+in`UTj9g*K>EX;i6<^{ z;<1?SuxG--^%2O77w4^s_r&7=v-$Q+EI&**uy6GDdD6L)W49fTH1c06w@>YSV0sqP z9oI3xdwiyN+-c9-8Lu^PPlVi){z#9p2RkNQ*qKgu*kO6n&Jq%K8bMyyO2UpwC**$g zhaFRnurq`*>=co(W3Jz4U;lIQ;V(F}W9+%&WAYhx=FlH@OnxIiramG3dbl$_PW(Ev zlf&y_$HWVEPNEDuYe>i&z{DN)cV}pC6J^-nOx~a`R>8kB`}xqL{YrA5eLd}8#p_?N ztgR&M!jzFavy%mX+L=!7ivBMbH=X=rOz$xI!~U`4KKVnB z@lX8yFRZV~mtPd_Q!%}t4fkIA8}%&zL5vs5e>jPHG@C?xoqByTW#sDxVB)hXC&b^B z6J#e|#tyCD!MKCm}Y_82ebFY8m{bILdPr^|n={HdRKpZt9Z z(eyd-%Ar2eZR!uwTOxTG340-OpZyuM9!Uw-MUCfL>5?@0767$8`Vv$%TR*DP7D%cy8k`OJo zpRH#P$IAC-^&a_!dQTtNf1CP(!kf-??v0HD%P6DXMZmyJ;Ck|@`766I?8D_m#V6Dpr^-=}dB;f|&r z!ktPY+{GlqHT4;KPQS4R?rgW~$ls~o2Tgwhro)}_96|oy+I>-WL1P!}DSLfL#MAUU zh^MK)h^L7+!Y!dc(zy^!yv-gz8Q*1+y>^^@W`D!<=9Bw04#7?hue-xDPD1{FV(0c> zSYA)q`I?AL!J&-LpafISiRm_be6IS6`(n&I@1Ib@F^G+wJSxGS2ci-3dZy3xuh{G| z^#S>l1NTHU-s$86>Tmz9`3RUrcj%k^haD5nK8<^DpG|+*DI&LNK6|UiBeZi~&-tMV z2l_k)jZEN+kF7*(t};Ip_t>9RAp1)mK)!BaM-qI)4wwEW-rx-Bm5PhRT5-A9E}kZy zCvFt47k?+-Dee+61u*eLR1Cim6Oa_f2VIci;UbercYY?C%o9yN26?IECh?c)97)8eb*JK{gZ@5OH2?RfMThlrVCj#wzp7i+|jxJJB4%Eij~7V$>$Iq^;LeevI-b&ws-!Qx@!(c)N<_tdg}m53*Z^}mZ__DZ1d|TWv{$2c3{7U>mOiZ=&p_`Z@_7e{i)5W925#nfZqBvE|7w3p& z;(T$5SS8kr&0<76SzIHYEnXmAEN&666K@yq6Q32|5Z@F3C4MhZ_P8ju0n``655O#rQ1|>&1xp zhWM`dZ}BJbAWUR={h{Ko!~&6Dr=|Z1Vx1Tk*NEqfTf`g0?cy$RxA>~~j`&aUdvQ`< zJKTJ+R9q}B7gvdE#f{>X;?3d?@d@!oaj*EH_=U&?DAV0jOcRHSSz?ZOqS!2+D{dBd zh!2bV#D9q2h)J06Gu&R{KykP@PMjf@ic7@v#4E*{#Jj{##UI3OSRgaJeqy>fLYye( zi)G>xv0jXbYs3r0E#eL0c5#=uTYOdACw?q`BPJcHd=Xy~-x0qMzZH9>+4=*;;o?|v zx>zJG6l=s*@l$TqkZ4uM)S3JH$uC=f!`BUyHthc05wW!^NY;vEnpwzE~wT zizka`iUw*&>%Y=L&QumM_eX0i6@Kah?~XViuZ|6if@Z!2ixJy6&H#@F(jTL{wVfHx34=? z94by0XN&X1DzQa8RXkVxjd+jvi1@ttXYm8^3o#+Xjz@|(UYsE=5NpI0;u+%k;$`CX z;+^6H;?v?Q;)i155Ig(<;!)xlak^M6E*9&=hLVQttgS-wO2$uXA`Ko1oCHHPa?fCR1uf@Keou9qinek3H`&xA#y)X97iIY>Ev%Lt5otL@+Qo;<-S5ZoqWKu&LMBI ztm{c!e+RkQvL2MYn?$(JOWq^-Ey@2Pq2KLj`})4*#i$38N0PXHwB&sGmq=bjZo)pe zIL78t~@?j4<-?hVUlNx3*^33a+pLsPA5;d ztP3S?ArX&z#a(iLTJm#}-;lhQ#P#2cDI;uo7xi zh}X*hM#)c!Z^->E$^Rx1-haq8%Q`sImeWYY`v}RyB~KJ*i^U|a3y7zacU#tZl5Y{8 zBoWSwWXQ7qD*5ju!uglv?<5b%vfc54LUY|Ql1E9NBzYnH>apZI#E0en zq~yPlh}ZjM3)+ulJ~+g9bs^#3OLBk7>5_*@&XQazR>~dkM>lqAB)3S8kO=P*@h0&> z@-fSLT=IVLOSyk9x%X&0UIWQSv@6NuNyK}mI9KlTC7&RBgrq4 z2ydVGH@SZ*`Afl(S=BKZ!dFJWCx!hg8rNs{MCULv_k^68Q{O5Q5@F3FEcens+r$)8E?J|5vA zJ^jeVC=bb_$XD^ZyqG8V63I42w++|sRll-G(-vnFla1#C* zk|#-?CV7G6rIOnupCWmqc)hrTe9*G)m;8$OiP&?Z9qveRDhd5Ll20HJpMd0$ zmzXJzC81X#M#MA8Cvo2n z34522vn}g7$+wfRw@Z9f?$1enN%CIF--~z^fU$QFiR%Z5gGkt)A|5Z+lh0aKv*eB9 zR=M9Kc^8RzK1~)_*6WhrAra2|l0TE&Yr5^;pM?Hcah_O3-ivQZldyX-Im5EfmAsjR z-ODB4Ao+1|Hwpa@#BRB^+@E|3_f?Rvdo+nSjhCED!tPAT$4j0sIUsqBxSquIH;7M) zFOzp-zCzgqHjlJ6v8=LPXy z@munK%lb)jdcLifO~QSGSx91zP$xM=B0j4mpC$RX;!SeDOY%<1kCU+TuK1EmL!hejIFZVf;myw9iauRdSlO?Yw5ufuUUn+Tr_y@T^A^DGzUzPl(H^jq&QwICU>CRBuB*cBkotXa1IK_uj3#Z0;XO7b+xb0n8aUM$&9!v5*vuf=U7;(3SUKZ*O~{=VcNNW`-% z`Yf*94GDfgQs-zs^hm>gE_QJeL@~0&Hzm)uw;Uig?(@_AU2baTUHy1aL*tQ#&Z;sw~)C0 zYRNZCenR{s3H=Yn?&Y?82noAKkg$6+*#q+^$ zOT;V0Ys4GHTg1D>--{25kBWa3pBG;f-xS{w|0aGSekOh`{vcZO?0o4a_7wYwhl+=b zL&T%Rkz%$uQOptZ#93mASS~IWPZVp#lf+iBO7au0C!ak+=jQE21n)s%; zPuws5Tl`x5kC>QX+r=YJ#y%cVFf`9gA-r_SnIhl6!g$OOXNvR0MPj|!D4s$hk!Of! zi|2{I7B3ZV5VwhUiuZ_*i%*NMi+>hB5p|1R=3#gnUD1&3f31T664t{qOD@F4>1Kj=OYlGze)Z`{8Z%oT9}US#h*mH(%Ssa*hd^79wD0N zB-UYnS@LMnJSPG7DUx%=xnij}Uo_82tiyUiGT-mQ-#6REQ^mF7IpSsFmE!fHd0t{2 z)?t$G7XKhVC_X2?D4ORd)>+nG$sdzvVjU@(=P4k6FPUQ}{gcIBVn6Y4ajv5 zK5@VJPw{inJpTdxA0?+I+xGg3hl_*7qr_vyN#Yc-Kr9r?#7ePRG|!75+!o1UaV>cY ze(x4963z1@aKBvg)#44}Ht|mJ9`SzhA@OSSnQv5-*y4vyVDjp>E z5f2fM5HrN%#7uF#_$#qUEE5-qCx}&It=J^45ZlF5#kJx&;%~$&#OuVH#5=^h#Ye>_ z#plJB#5cva#Qoxj;@9H$qOY6sO-vR0ibs;|nD2|D#L?m;af+BP&K66>3URS`qSz#^ z5ZlF5#kJx&;;+R^#j8Z~+z;Y;v*cUFyTzU2gW{v&v*Mq`*Tp}JAB&%gUyJ5>A%vIM z-Oit6@nEsHm?jPsj}(s<$BVxbXNWV!60uwih(WPQTp_L&PZQUP8^p`RE5+-@o5efD zd&I}dHth3@FNiOTZ;Ee;ABg`DKNr6eyY;Z`^%VPxhl)pu$BLuH@uGQt3h~L6JXT#$Q9P8WxYBg8Cmf;d^6Bbw*DU}wJM#o|e13-+%>^V}EY)sokU>%@!1 zi^a>utHqneTgAJ@o#JlsIq?jKM#CGvi@qBTkc$s*mcq`dxS$B#%#rwra#V5r##J`B|isrevM(l$~ zHqXaF_F=Dv_PdHHVjpp+I9$vW$A|@Dp?JJFPdrgH&)XrK5akB^-YuRco+)k+FA%R0 zuM=+(Zx?rn_leJlFNm*+Z;JmA|0RAUekb-!vE$cEOcMu+!^C66Nn|bN-D18tTPzhT z#Gu$9wu%w)6!8r4*W#t3d9DxPZIyhtxKn&kd{lfzd_(-J_@4N&XrAALUA$`5+`p0} z9werU1H>c5q2h4SJg--ceLcxj#9VQ%SSp(5^`O64a*b%7*MobD}c&4~PG|%fn z{~F2WIX%d?NH)*wLEa(RJhun=Vabn+&xkLGuZeGp?~3n>pNe0IKZ*&x?0oDd_7u%? ze+c(b$%DipVzxL=%n_%HbHoyHp14R{Cf11Nxj}^2B6+oVnz&BfAZ`>d5w8%h5pNW4 z5x0vw#K+0S81Kaw#Fxc4#ka(NiT@VA6aOQ2>22HVF7_1<6$gn!#Id4zUJ>z_COJ=> zBbJEE#2T?tY!z3Dr-)~XXN#ALmy27)8^n9Wd&P&u$HYI1&x@~$d&CdO1(x*>@pJJj z@kcSCkFD2NG|yGyxKBi<`M zBt9noQG8z9EAA6N5Wn@e1*GBAU+~K zA-*pDS$s$QoA|N#smR~jXg^s@5&MW4Lh^9Pu)8wq;!@UMJop{$Bip_=xy~_=@<3 z__p}2_?h^n_=9L2YKPlLJVYEM4iS$LM~YL#T(M9r7AwVtqF<~QL*h#Dbnz_lT=7D2 zv$#dvMiyAsZQ?!Rz2ZaSW8$mg9`Uc@d*a{4e~SF@9PKBGJw@}}Gu#JAK0+Kx&akX( zaiW+b=83b!MdDJiMywZG#IU$tJXid+c&T`ec%67Ri67N=iVup9io3<<#J9zF#gD{K z#4p5e#2y1|`zd07ae#Q7m?=&WCyV*wY;hrp`}&rM)nc94EQZ8&;s$Y}c!_w0c#XJS z+#&7~&GXv`_m7gF7vCZ$;rDCtL(x3n4flUbHqUuO?tYl9f3Vn3OcMu-M~dUbNn);8 zAeM;bqIn*Cyk*r=2AjkcV!L>%c(!<+_-pY}@n+FHM-F>;OWr9yC_XB_BEBL1ReVqU zyJ(&_hrJ&qC*a-~#<#n8u-H#b6OSgx;JFWRv^ZXzBIb&7#Zqy;xL9lyTg6r4DdJh; z+2R(_JlBqR+#uOJ-wyds$@hqliBE|yh%bw8if@S@lUew^M>NmFL;hZJkAb#-ir8Nq zAPyHth~_zYTt88=d0rlJp5zK~f#?^j#pPm)xJo=lJYU=>UM5~CUMJop{$Bip_^9}# z_!>D9zwe0q#Qoww#D9t3ia&};N7&bQ6U}q_us2BZF!31CJhu=3X_9A&bH#FTz8DnE z^ZmGPh2%EzH1SOFT=7EjYVo(?E#mFs4)H$mY4KU{74Z%61M*m`hs4jtuf!k4gh95R zd4B-(QzaiF9wv?uv&0GFWU*L0UR)?H5u3%3xLQ0-+$dfmUMXHH-YMQAJ|I3UJ|#XQ zzA3&X{!RQy{7n2({83C8Z0ARJ@nEsPI6%x0hl%6FNn);8AQp*bqF<~Qmy0c;d4Iyu zcn*Uyc%FEXc(wRj@fPuRaff)HxLbTqd{x{d?i2TmAB&%g--thmJ=5)Y^%B#>f#Q+k z(c&m^w3sUvh{fXZVt^cq=W)bFu~j@nTq~X@ULPV9k2c*+MIb02AD2+sCb;1 zDdvg=Vv$%TE)Y);o5U4jyLhU2k$ACqg?Np4vv{lc0Ew~IyjKH!O7b(JdA|nS-;%sv z{80Q_{9a5v(zcf@_7?|;>7scb2kagvIa8b@P7(9P*vi@y=C5U&$&5_gLCi;syrn{5uVo!1_7M*ehm*Z< zznnNmoFGmWXNZ;JLeVc)izkWA;u>+Cc!9V{yj;9myq!E4@3Ro^6L*P^i%*Mhisn5j zxNg7X4@L9d6uAFeau>`QXurGITkJ0m5{HQ9eJc2Ed^}}vikK_T7K_9a#VWBuY!V}) zdG8ABohSJs@lx?}@mBFp@m}!(@dPr?0rHLfk({vK;bvB8M%1HF@3rURI%Sept z^(6YLRuXyMP9AGnYsis$Pdf0bflj=6X_?{A^qezNI!WV(obH9^pi;ZCh}sWpWKY} zlfOaw$;**`@+zdCycX#vuR}U;&^<})CiWE5Na$m^YnU#gNQ|6CqTI)d6G_xtWVzvV z674i!L{^*nP$ZU-z3lG|kP9iJek>7}k*Fs%Vm*mSAxjNgNz|K&*iNGUoGPv%GxWU% za06vT{sM6miF$=BGu%R=eqAMQB~j0A5Vw(8*xwbmlc;w)#QR9pzg^-ZB z{(cnsB4yOeSH(Rf>gQf@ABlRpU;L1qjrU)OpOUDzUx?q3sJ}mm7Rwp+I7#eAR^t7p zVlNW)x}TUvqJEp_0Kjz0sOLk);p8%mcVZTadOud2NTUAdh|@{5gM4u|iNY%q%Sg0~ zN^v2H_OV1%AlIS%#Z4sI)n;)EiS~7s zxRpdZyFuJWZbJEs+ex&$9pZiDW|Y792#I$1gt(hTdwfoOk-Q4!FYY1H-u8<7NVL=a zqPd?K?JWZxFWXrKiS~6ec`)ARLiWP_%Ou*-J`(NcCo&EF3a(*$*+in9+(%~M{SxF* z)QfK5(YQa4L_1hTqW*6qv(OKcsPE%=KOpLP4T<_~?oUL0zMV4a^J^sP@wX)E??A+n z^|paTeZ7!GJ-wSm{oF&MUVcrYK8`#HMEzS!qW)b*qTZSN(oo;b{bjXyA5KrWH{iKO z67|YYqCQd(qW*4)*WJ^YEQE@(0KSH9s_etJQqTGA2{viB*B+7rHw7p%B&2iGqjgPqJ9sTJc2|$FOpnFqQ2KlZX{9f&GQhr zelum%|NG>>i$puvBY7`*CekOFAE;rwNGEaqP!jDUNAh$M?W9Puc|HN{Wr^fvBr0vY zxMRD%AdRr`86uMx+xN< z0wW=t_0CxY9{{#S)dV5|YZN}?YmEv88%NP`RP?LCF(>n>O!LXua6^qt)wuJ+nC2_N z9(}so9|-n%(2zXr0K@*OP)neuIuMTdgOU1R2;VBL33U{X>r28OqYTaYrm)A0;W=Ly z_IU9s*EfYdzPzw=-vhoq?78~DFAaMX7`W@3!yWiWzcuXfW5hc1Gge!|{*{5owxBl; zd13V1#2%x((0m5gdUbNYX z7tMyN1I-;}L`UwP&l<;l3E2~>N7Wm`&wTyZW9VnUdF;`R|N61V)AhmQj(p6gj}P#O zegwG#pZM<{dlZ=K|5d^LiDb|9@gGR`cpmVnWRHLRN0U9C2Yx=;qu?~n+Lq9&K&Ymn zxz1a9rUuvhYl7@?I`WKtP5I}2{jSd>dt%{ap!s03$IsMTeJI)E<^CYD$IJWKV~=-D z@V_W{zL0#t<&Ey|CwqJuQ5WW_<_F{C0gu&f~^JouglHj(#eegIe~e z>;pAo-*fIzC9djptZ~41wmVcipql-hR%^?uU??0|8SGHWsS43=k9Vr2ey&r0SA*+R zM}uLf{?5?SsRDi=->H_FqIK#U{oee~Xat&@F{$jRnVRmk zrL8#aHlo$V(I%-r{51na6r=fIOS!sf^;!dxOICHcP zHGXbR(D4PW=xc-ipYI*xW)CqlD5RQTRa+hU@7fkD3e0(+swxy*X%B9;OJhs5TSOIW zt_y1AU~3%c(%8_9NvQ3MieQbZZfR-?He>0*^@i-16d4fk-6OP}LTJ+5f?T zrM!hDHbW+V;7Bfu*haV|aP^bEkv*A@%rk4(js2(m&2#CF~7{8|^U5{JkH(?E_>M4iQ2mW=Wctg5Xu~5(xbQm zfA0Ky&SkHs^cc_I;?HgG5eVsUa}K9G9*2WlZy$srM+tP&@i5Na;eO!?7h7A=bi9Le zw>`c$Wgs1NIQHIx?6x=XE9}L@+$KE$^aNCQ(-gLOp z9=5}x_6~(Hx4kD|ucLa<7fNn>J790P?Dcoq8|Sf?h6r_(f7u>;dtLSpb=j-%*yBFY zI`}(>lipH~y`-=0Jwv8<0RE`QdJy*5`w$-3{)rxry%vwXB9}e(DUQ9(9(&8MFSIUd z&DNv1$zyM`%ia+#dv|;6@jV)?9oW0WV{fm^-e8x#7d-a(UJPsxMGq&v&v@(&MFm<0 zE#_Ya{+#sw-DB@l*xLqw=Wy)3@3FTI_GUwg_Kw7#W3MaP15~5^^A_w+byS~y&~w+n z=Un!Nx$GV3vDXiUo)3TLaN@`BAG_`K`!-ge*~dHao9wZ-5cZf3=Wy&z@Yu_7**gZx zj=c(xy{)j=n7}jdR)i#$#_A>~%D5ec`beaoL;Tveyg!vAcY~fxR5~JBO2h z+}C&4=c`~Z9ZJlj-ufkp$d}uF#KgZs7kG;fxwx2PAe;j+adF*}cieI(M-m@Ni$(`7H z+GFnvm%X6N-uoVV{7!Mc6FKQoeAi>|2iVJkJJVZ-KPSCiFu!%@Um5I;g}-x9k4FOZ z-1#>GS2_9D0Ds3G-)HBxw+{9yjRpH3$KDW+y?k8d#BaIFUcSfP9@v}SfxYP-dl6Us znq2m(JoeJCxO3t}vrhS*=&^SJ>^b$X#bxgd*>kQN2z%~*5atDs-+1&!K@a~&4@d8I zk6s>>kmTs$=sh95(ehaUJ=QztpdSC;_vqaZy<;6E=}@mb)+MB4Z$I=nuW}B@9^bd; z*5mW(9qE;O^yWivmSYTb?D742ZhKcl@0bqsuJ-6X1-<+Z^d9%<^*9vYqU=ELJ&)cn z=%MR~9!~taqR`#(n+U!1s8%c;M|<@6e7UzC&<@|L=eBoJC-Dn<^wvXfSO?*5@aX-n z6MHv$^q%ZQ?=g?wKIn0M;v9@S|NiRH>y6G}nxiBg>ao*sr?(7x$914L)T4I_^xWg1 z6Ygw}-anw1*MYrukKU*OxEH7cJ-#>39lyoUOYcDMDUaUC&>P%=-hPkX<b2nd{Lz8hV&|Mh{1?$)h(OdL6Y7-k;}=-|^5J618Ug z(f@XjUKn}3eRmYU?pTMp=0a8CJtL3h6N^Cwu_eRlk=ciH262AykYV=g=wx*DeA$M+Jt?LASI zVD8nw4cFZ0vbRC@I9K9v{oR(c`v%;hPhf+d7A156i?jy^re>tOpSn=Wz5gv(n>^>~W(fjh{Gn^k}%-UiQD) zSy|)9k55k@J#oUM(dLR}J8 zu@EYW$IUP<-5ODl{BW7&OYAZV6Q;yWOeGU1Ei*1%AIH#{Xx@WVjK*sDlDZs(j7?19 zoy?`{j7!(s(CzrTbvX=fzHVJlKyY1>x-{T7OkYyh6H$%%xT)pavlag)Cncu9V$u+% zwQJIo__y0V=*<(i!nMl?29dZQCEO*%)9xeSkx1IyjO33yOlgYTwQaAE^I?o5D zPNmIUo~K)V+K`pq5|Zbf!H`GcpX9kbMW&$)lZ$x1rtd?j6Uilvvz5>{nbA0&0)E@< zc{kiPLdhg#u+^sldA%tidFk_Tv$O0(o?59-V1k(JXQ)Z3*LK5s;1#%cOJxL-tC;W& z$Q+vL`5yk^pKNwb`Upb5Uaz9obxUqbMJ-R|>(P=|^3+N_8ScrejAdAu0jFLcA`9!2 ze?JYjd;43hQ2Uf7xmLpYgw|7GvNbMFK50!$whv8YJX%&^3$*5d}!*!bbsbMoDWasR5|(C zerR8boYMe?hB>3d#peWs)cJhHD4|(D^1$ zPdpQ`OiFv6F|&nkX?)wHgq~>+GY@B&YkH-nqNhmCORPrT^h>)8wv%TXpRBZU)~{KK zd_nlwv`-n=LgOs+A61r?TNWiTR4DqIQi5>*4x<$1FmAIrzNsx79|XL zmYIEK;#Mf`O&lY8*n{_T%3)?yuUY0}9l9NvR(tg&vzbZ|9)Ml{{w|6%V<;G?R}{_%Tf zCXdVaZBZ1tDaCNFX5zf(i~&GNLWbZ$2OfeQ7usW`V7P0VP!vfO2Sj$(7BvOHi^Fwrf_@|aP`QKCax z_8HVG>+Mw3p3{;kF-%f1B-64pRb`L2?EkRs8QO#+-dY~kK67b|4aeinbbi)mS@hV2-Jmaqnn@gBNN zW?NK}2Z!@uj`y%ZPQIDWBG0!eXX^1!rldRuLkjcY(x#ZKzj!y>!IbYX^#pel%wRAm zrB7p^cM&Dtm=9xsuM%7rqQ>I0*U@V!Qi`A5O0N&-Mb&fh1v_BRx*7vkLKAzcsc|0W zBQeyCDln;qS2MdH54uTBiV5cPxF?#g;htn3#(k9e0q)6WBD#tc)4)B|oQ}KCS|St&K@tY-#4RxTl-H!F{axSKP;$ehjb~<`}E0NX=^Ez;4rr7}VER!15W}6q_o@@RRJ#(J_qpcJV4i2bh5LMS70SCH`w(R5{AqtiDL(x0!}Gyp)KB8|0Z@$h>_iDC ze-5{C95*!AqY(MTub%}6S2fs__+}DiBB*Rv-R^}FjOw4=_(tB%Ek%0%7>xyFuPnr1^%n7~;$WzL!zrmdB>qD|BvuXDG z`cS5nT$a7rm-1(PRY+e9^*Z9@P7%+OHL_V0~cR5!xbgNsQGw`Ny;3O^7tmA z-K7*$|9yfsnV_iKNieFb1frEPcM^Al&|{@6YKGB20U30qF5V5ZZ#rZ( zbqP7D`TmYu>Pa-~n(J<4CUxn>2s7p)h|T4$)b(@Fx_l3#`cgMo5pIV^>Zx?reOJ-_ zG`f%VH6jP8r_(&ncN=(}y0H{tj5K6HOWjll^F&wLt7x04XOLMtU1{G%hmjhjWtS^0 zA2pu3nM}S669HzE(Nk_l>_jb@fk;BxcUpGtUsZNPb8*jHYSV*=m30=4?exs5hS8_k zl+_Cf@nw)qRyj)VGn8=wLixrkV=*}Go1lz5sKqx?8M9eMd6dJfAHj9>qyvZ%?_uki z@;;1Xmc_@x(|;QpvnTE30OZrR7KKk+Wie|jn37gSv##1e+G?6zzGmbhZ4J$C&9xj7 zm{$E;kn@m$|0k%0oU~IPB(dLsVQHtaZE3z*h)3G#mXt39yV5q&oZ#a@M`@dAPWF8k z8A&@swME}n(hbs_?t2*JPuonh;d={gNo&~0w&XLwvb09J2Yk2E+(dJ>HkNr~5L?`t z8&@rEY0U+=d#K$$s}8b|b{Q4hC(pu-8tkWQp5M`H9mu48hAvq=SS0PUG$!8xsuNIl zRc~>cXB5m?7eb2CK1b)N@v3u4_gw&s$qnq9c{A?1sW$7H9J$>lH>P{cCvcB5xp~)X zUddW9x#2v){4&gm=I>xmGOq;(Mrp27Q26xcE(gtc&(*k3{swNUU{)J)jREh{pJ!tm zGY6TSt*8HFHlq4?_GX$d86N2e7}M_?4-TgPltI#czkw{Izrd%^Yt!yU)u$ii zgJHU!_AS(X`iry}dfHNuNdMVl#F(h3{S$0Ue~BE<(bGCntLZP(G6N5*EI30c22HU9 zy~?(`G}mj)#VhOK67Tso!e%`S@f$mrL9!lWsnV3({sN=UxO9r?*g44k74Wtz@;sQ8 z<6XAnIKH8@dy{M6>YoQm*qqV#I`Zi&MFJW9Z^NkhuB3Te9ENg_?4lHglF^H!RZecRDWjb57lzCY6(ra9f$NIHEq8@^|mRzJJo ziE3hHY&!`00pHumvay}!EZ<7VjWNJDLV{LRpZ>wfp!*Y0_A%aA%y@E;bM2&#)yqV^7Up77n8DD2E4HV$J zK-b?{?r+eT>NjpDFI0x^aAat=BSUvu8RC4~xXY2DZ#%eqx5eGhG0Z(oI2nmu$i%|1 z827GW9vSyp7*cLV!Cg%JhjSnRD)ArDQ@HUA&BBdmX?Cf}zVRH*!j0!0iT~J2oIRBB z6VAPpeSaPU^M0CBHP=aG#{s6CY8WqFi6ni0VAz+LQO)-Vx%djr9^Xmi)6Z#6@ZHOt zzsibC_VL&(<29Q7zFX=33!2k0&1Q*zc@k)*W*fi$i(Q=GIEwRIM{(Y86z6x2;{3Ox zIESp_oWUZz$=qT#-#`KT{a0b}{~g&)Hr`%`gcawGIFfqDk<`0ZQha3lfLVON^0t4tcIFHKPv-B6ursj4^s5 zC{IW*Cg|T`dsAd5N*X)K(MkGS5H8)|`3}ZpXBtx^4b>n6s$?FL%GO^cskhlqr>WF5 zLp9(Nlm%guja)sM!uT^1&66;SPQFFQFxgENC`*Dip};V8KK|$Q_IGK}F$vY0T02C}Y%+ zGsVg*S)8jPcyc*f%o`loX~lb}p?&gobmk2XZ2a+_&(oR2$5D*oa4XDU;tKse7>uVWJS)|^1syx1d9`El_lBu z1zA_CEPjhEb;^=%v87&F4C7AL?mA_eh+MO&PPoM|^g*Wk6bGYBd5dxfXAy87BOVr8@iFdLx58s8E8jIj1w!sTo!J zL*P_jPG?WMW}Kqfwo6OA4Rar3z21TBOj$_*Jym55jb@`>G70waWbY=GEr>sB{0zzC zrIdxBG@8U5%Kc{Dk2q6Sut7Ab_){j30nL_qE_|IJ`MdrV4iMF986?a>r&Dy|_aFutRF3?s+_J*<2tGQ~&qhnS+0r$<$# zi#$E1EFw>jD~rg}_moBCX|J+~JUyW-B2P~$i^$XWl?5rb8Q;>YryxbuC*Q6zfd_Iap z1URh5xT$A29C}d_eLUZXO9*Z=(kD0^o<)xIi4F%oH|dkx19lWV3z764bPhzFXQYFu zp5<_O5E7_QjZ*TrBgC@F-tH_EoX06nPB;%n&37TPJvoujc^==3AUipU%E1$Shfr^m zQ|^X2*~epeCa1mxv)^|G3OIQT&FQ{+9p-TiWBAsgER!?nKGF9y=}(|J;N#M^$yp4O z?F*xRCQqe%j_-NWKY`}izB?FxCc_l?u0qBq&!T&=@7KuS`%K zpTjlY^9#^W41bTYzJ-FTo0dfuP3iqm1^N{UlwqKm5+*-V{edl&CRmgN)&)AP8U455 z5$LjJ^lrorbXzm}MUaF*56zfT^Tg3WuOD$eB#`xY^caCJ)zdf)Ap$oj<1=*qI*qd) z0ag8=`Z8*@s`1<`maP9we*)e);c$nhza+hP7bxg2D~l(mrCHNoQRW0~_OBrM`pN18 zAPR{70M;80gFvnuxq}bQ>KE_19LBtv46($Oe-gTVeWptNL`mPTKA)3UE?%&>Y`C6j^b+-ceXZa)JgD1p-<50 z5+^PRc-`p^q9xdO9q4H5MhFtm~C&bWO3on% zO>>0xMZ+$DpFd4^r$#A_hHrwEP5O>ezHxRsX^yzyar#(oI`TDktUf){N^)GBDosWt zS{yTicfoeXNi@@81(orU9H_t(B(usgQA(*S_y}Q>K|^7pBtE4$;<_}GYzoX(dB_rX z@X&If>d{XcMV8v7F>?@eA~KY%3}^$>lmY$a31GFb0dJns7Bw6$tX#l+mSKjIx(mJe zOkCP5XI|(!J5OJlX=R!$8m*7mww2HOOFO6oPfrBQ9zqy1U0 z`I_>bK@{g2IP(;$x-33)7`BX{L-Id?a)1JS*y`??Bw{LrJdrw0!+~3pF(GD#zefdMJ zTGOJ9J-ywn&|4B{Y3~Sy133c==FQmH+SMQE>+bFd2O4@i1EJ2wP;+yrdE@**Q9s>gaC{ZG_gUHY!W`_h@&tH*RcgYKlo?eqK>t zp`FsdnZn4q5AO*7Pteu!^2x>A?l5WvxB8OW73KB8((2m!@(pkrn44c|@ed&*RSQG3 zcEjCG`Msfrj=sL2!juYV=jX z5HxT$b$7M2x8^mmi-X3(mWKWgX!+dH6AI_Gv4;)!p&M#}*^O<}-A!9yLjM~H0dsE% z{h&A_G}bm-7MQ_(m@$egi4As#i(p0H+Sm|oZ;H@Bm)q9R5p3_>+68aSacBeIqn5t* z&QNdEidG4ApU^AX)!x@F?#=BDtq6h17zbrrXoe&<9nNov>lPGcdPc zVX#T%1~$wb)gb4duBYX@JQ&Svhgo{M%j>Y`$JlRk>F#vhr8|Or)}y;8=`NSUX*Znw zLqk0Sr*T#&NWy|(pH^D4t~S)#*wC~E%X<4ly`Ak{R5sSp9`4h^?PrA$gn}3j^`hel zHidfof-R6Kt*W~Td|rWy2$r??YQZ4Huc3p%S2lFilI3Nc4Yi@BZSV@WXx-tO-uCX^ z_P!l!z>S8EqG2v`hPf0EbD2BLW!^BC`P!CHFO<`1ZQH@>9X);B!8y&LaImSdiK>F> zqSa7iV_hE#s!=^73)s`v5Dsa|*w;w0o%gE!Z)yxIyJvbu+A1mDR9f zN?#j>)#e~9O(aKaj`A+8w7<6(U6oZU%v5_btPmKBef3tB`m~a!zKZ^?rc$aH zgcpKY_{L>GXkeW?Onb-Rm`2A+Xx+cO>F_NzdhXE-4!UBJGZEycvB#^ zv#FdgB_nJ;QVJE7_xjBgFiJ2W)}1v|F}JNX?3eOgUjjV)i* zUDYiu8uWjv?k9-R4dUF{*bDAZ!qMD2y1QBfD1)l+rjB;V9d%G@!S>FcevCvt&~8}Q z5eoHGbTqWuWJ}vnOsW?S_J+b7mba+rL)0b*+nPJzKXhQwtQKXLp|-xRw6C`#!ra;c zHVXDTWg+&P=z1!lyOGROU2LSYL2D02`#4rGsv^vGZg;iX%95%e8&rQdNNX}l`;modD^_rdCy*p~~caL-b#UW1lc5(Jl4fB z4z*j)5v01O91;7wocXBP-dob#(1Z3Rax2{}HDt0I5BG$cFaZoT+heNI-3c*6nYCbR zM|UGeUWaJPWHM;aE`oS~Wz)k`E(Wv4C>JZky`|`zy0l})kSV4XT#g#k+QYrUtsL(n z(u0<-#&o-QU=q6SXvbJtSBpv3c1+(pP-9vR1+czyb$M;Dx<*r#5DmLL)X}|N20c~( zieVKjEQP(LOSmjOe^@JRX|3B4RxDoM(2M$N>gZ-$R+Dg?fxr^u39c^~RC8g}tkh!} zk3xtM$B2xnuESAZXr7!VYpOPm$tX2|+f7(%({8iNtE;QZOV(&ot!JVyr3gu5j)-m; zrR>C+2;I#b!)#jhLz;gh<=&cbSw_`+4eL;P$Y(Vdvjr>4W{y?!H0rG7Xl6}whWgIe z)}aYG0HcC&rqHJ|ZkOO+Kx`$mh z>ZrSWOS|fDqy4R2))k>XRhy@%^9-VyvS&iuo5LCfX*-%i&lV2DWQT_D?wq*<8!`8^ zCMRfJL910`1i-gfC3hGq*ne^ml5n%90_YyMRv4zYV3p5SqhGxkrT&IQ)6VR8tj=H zwg#w3C&G~m34(j7#Z+>FYIphSl?6H;@Tw1wBOx^=R8&@#!y(+<4#CEJG^jFE6ya@C zKPLBKO)+d;9jdjmc5Sd?-5L$e4G(Lj=#onn=N&DOV^X9a!OWk{T|FS-&4T?@tbtBf zu$~h`ytj$`BV)Y%(&nR{;)lMTQ*ZHxJ{kA5LnLhegC}a{fk|dpw_S7USq5e7Wqu&T zYs$zD_Q>c*S>JZ-N-~F>RkKpnRhHl>v91?fT;ASFzN;osyRHON^y(UjKV*?o%BE$t zWsQ%3!Vfg53an@eqN75ui{~p=cuRXPMjh!Jtic4ckuX}(_NK5jqabD_m?agAkeM<> z?hadBC5C*oN;~&>-m(jzydetB)-3s0y%=)FG0}RC31PH?UhbwHmb69YM3_)n9Z;~V zy}NNpFU)}sV%5siNFv<_o;9TRZ|?4AOCUqUCD_`~*@?HWU_DIe{Wv*5Yr|M$J@%{= zJQ*^I@lMrTbk-1gjooJ5*I zCn{2jz9k}P`SKXhf`K1ZkNQ!4on1@nS-~1tRBKSZBRfEhbwe7f^|+*l3?)DIh!}L_ z&ThEQ#|+!eIrFmJimiF2UA6KaY6ODLM;$xze66!5$mzdz8V}~pw8&$f^?cYCwAv5^ zxT&&vKuslWxmR+mdS1t@M-9nQZm+>xaIH3^-W%{q0liUYa|7no!#W9!*^#HruF!VO zfY>HGp(%X8dJUl_6zZh|hh}6;tE;OFmMvd_m&I!;Dp#o1N44*GGl!(MH#r6*HZ3*B zkIpcH_Pm1gGmdJUC|XbCR>x>nscJ)!4nA5in}>ypCDwqqa!r+{WOaD3xp+gM8gsNQ zW5$FwtLT^YclO}*i`Lh@C4~8o)d*IXY|x}itnovh=VUI1?nIt_Ilm^GBDu6!iDqRL zp}O%*JneCs!4Z=^xD?&_E+Z0I)zNm=ku4mmiWTE5N_J3CWQQkDO3`;hd@f_(iN`XK zP_tIMbHcz_W*xm@$-)j!D`cF-nFr`eDIq&72|>pt5`!58X3KS|1~Ho9^#+DU8S_IS zyod-pi&BCKH1f8+0S}m}I)W`dcte0H=7VaZVuNs6O_nIzLDYsSOoMv4#V14d#L^L4 zZ%iy&D3E$%rWj%gK1f?~rCv_h>~VCUL%IPbV|`(;4%K4cTR0Ci*w6Ix=~c}+qcX&) zTTv{l@g6wb9c)vNCYJ0LFHmz>}u ze_C+0@~UhGO{+h(nxjk{?HO7n3JQTl9jS4bO%qSB&5j~OhB^D`IBY){J7s}~Wb|xr z)_U+JrtTEB3$}Y}UZK_1R2Bp)>w+b9!MduFQ_8h2p2J{wDls{#>fRoC4Jwlu^~5A| z6ji)1p3D2xI}&kKql7*BsLq)!zp@KM1q4vNYKhED>iW8S)C(h9yjW$5gD5xWZ|duU z7VdAv9GUwL*bXROVQqC?jl7#K=L@M)yq?8pTTB;Py3}V7d;!7e;ixYZrf{g$IikYX zIhexge0>3{^9?hs&cPGb`ASTq<>E^)tCFpQE`|%6U4=cv-U3mU)chwpFpw>n+o{e( z`ZDX0OFdO#kU=-u(TG=ad?AaEM!ZFz95Me>OpeN~^&C}*hp=tZQf(oO4$P4Lrhx`6 zSXEuRDp-%n8#)84^RONjSE$zw)_V=>$)*S5!}ng!XZv9J2E;{!#U}s=_qr;)QPb+m zYSFnyW|-Ejx{EKw)C)7!St-d0@okQbz3}6w1`GgrVna(R$2>Sv>q=G-Wh(~NX0Tof z<&ZvB4I^#cP)lNuJS=Ko?Lb94o>x?7y}F0J4@k?fI;0>P1`M1b)7#yIcc>azfcI9a zckWg-7@=AgQe7k;_3h!(s>g;-^h|t?Kx0!Cr5Z{Vx-yi>mVavopuUo@ZP>3=lmi}N zN*x01=zpAo>~MApw8Pmc*bZl>fIFO>g6?ph@9387p4I9!^J7R=P*YRWn(FmqUE0$bYhsBPEYXI-=Q1^W zw4cFMcNY~0e3G){z#SF9VAUl3{jBzAsqbcW|@ z9j86kKi1ChB}KS3aD|Jtv@Q-W2r!4pT|GzhCdIE#bdB+(>tpo{x1ne1!pow}w3mj-Oi#IBX0*HO8JDV?QCrJ}t(cqjJPnLrEEf_Anh7wR^R> zL+lA!nb_H~#z0^|+t5c^o|A4BYET9R}T7X6Hfj%GTKhWyNu@Rl95IebY?cAu7w zImD0`82~`GTJl{IcLT z1z!++UGRNDHySDF`vfNlP8X!I2l}@QZWr7o_yxh61n(47XUZeqQ)2(A;Ol~a5d5p4 z7faokPMTmq5R18$`y#;=g7t!pf<1!g30^MvO~DhzToA8*9qPxc)#Ei zg47jHx;&Fh(HC4V*eCe7AeG}V+>3(066B6Uy8lgZ6qW_jK29)Cuvl=B;4;Aq!79O8 z!3~0E2sR6zDcB>pP4FDS3k5F|{Jh|`f?pN9S@1T&y9DnOd|2>%g8KxY5!^5MGr`vc ze3jR|t3DaTH&k!sSTq1a~;CjJk!L5Sl z3+@$sM(}5XzZU$1;Gm!f10B=#3r-ZAAxLdd^j{@N-Q2V{33dyfEqJLQbyYLm*92Xd zuG5|(I9YI}AQkPm0fEW!DLrGnLhrwg_Uh6T?T{G8yI1-~hHkKm(%PYb>v zcr6|)S*}|Iza#jV;0uDU3mz7HUyvIa8J|jld6Tm?KE-l1z7*V3pto!Dhi8!HWdHBzTV?&(a~C z1A^2aM*Hstj|%E|yrO%GV5Zw?sGO8@r- z-Q1!HyH9X}AoZWpy;yLCV4Yx4aEst}!HWd161-dR5yAfw{HfqC1>X{UUyyt5n0}_< zG{Hi_C4!ZL8wIH%n(;0Xyjt)k!QFxn2`WYR2)|$KzYu&&@SlQH@W4j8vjrClRtVM! zHVAGLyhxA=*BGB#WQn^4pA`JD;O_+A75q@p#Kv~UD-c{Fc(UMn!Dhj;1uql)y5ReQ zsnC=`dJ_b51bMaz-IohKA^5!D&jk+&{!?%iUfVF9AvjI2NN}lOmEfs@+XOEXyh`v! z!QF!25!@$uK=7}EanKUM^v4TM7c3TBF1SYUG{F|ZUcvJOKP&hp!8-+?5`0bY_kw>B zbmMgu^WhhqBsf!WzTg_c(*@fE`vor)yi)K6!8-(>5PV+n=Yod>Q=ue+`IsP>BRE%Z zx!^{@PQkMUFBH5~@EXCJ1a}KQB={%6zY2N+!Uy6Cy!Q}$7O?{FJH%c@EQju4v6m9d zuv=B^^~6$5J5}r<;&RNN#eNR4MAI%1`xV4xnszl2<-duzRMWmG_Im^$6?|Io1;N(^ z4-398=+3g}`2;5ja*s6AnIpJVaFyVC!6w093ce-y7eUuli%zQGc)=3{iv&*+JX!D* z!A8L@!LtM}5xiRPCc&o!_X{2s^qN*aG6kmz778vAJX!EG!H{5&;Mszg5l@1`OtF7U z@JYevh!~4r75je^^EB;Uv40@w&bIQEO2iy3Q|tjE=Dhi0KS^*U5zi)dV&6o>Gjp5R zyNG!AaIV;|B#zP4kNNSyL<9+in9eH1YXr?T8||Bj_!u4(-2f4RbBM@K0TF=~5J7ht z5%l}^D((RjodQl@Wnz0r?mkq2wSm$+7V*7O9wRo2t`PNmdCv|+|l8PWvwE~ z!@jXRE`e!p#Ol5<1nKyGn8v7YK5XCoQNEo&msrqUt8i|y$A;6zeL4`$1mCBu-?756 zy)uq7UG@d`&m#u5Z@kJ<{Ro`~*IM*vz|1hbnBGcUPI}8=ABkQW+@18a+9*Bd#iq9z zW+%NW*hiwb5$;ZU2@ZP9mrbufhMwvl;Aa19K7RoY&U8m>e|unX%Bdf6`fwV?KltHMD)#?bRl(=>hqvVS%`ey_64^m_*lKg$jTwEcbp zgEQS9hBPezf2PZ^on>b|{08CdIIwDCax|@m2Km{3zl6a_?@iEKhA^auM}P>uqcQXv zL670=pH1(b7>4v`HKe+>^N}Nz5#kwm^0Wv+mGMroca3-=y9$G0lnm?D7&3H1gYsa63U{CS2y>B0WDYrfJJEjM{58 zcxJVUz-}AyT5w3XnpX7fjs)y*`GpGu&fmwKSy;GWZgH`Su=!)pEF36j4zN#QZiss0;wgAU!Zm%z%_`0W-R{?I6Q1)lGa$&-h~x|Lamk?9#*$^DQnKO zX)|UAWV?Ljib^;Z3``qH(n_&ztrUxCTN>J}5+D?us#}^noo@BreGMIfiiQr9t)zqM zjL3#0t#&|4M{3{-(=2hMs2r9@9FjCHb5zV*WMv>ln-C>7wiHjAqesztC z&D;zG+OU2wgk_tgX9X)L+AurNfsKQ)u2%Hb4NaA0jLR(ch1$tymCbN#yXD-t9Yq*W zW>nsBmn#LeVCgYH#pHlwLD9gBq$I7r4VpE;b(IVnoNWkn!1$m~FQ z1vcYFqRbA|K)kRkn)~S@u1wG&v#9aXRRL_75Xn_J04rA37ZEm{753=sU#^yL-?Ze3JWP03+6RRW*4y3t4r(V zpI029PpGii=~L5y23Zn7!>L@mDp1$o#1*(%Nt(E`$&BPqM+$tX8DW(Lq7`lnL7=O^ z3asE18!9A7t|)<<9jIR!tSVZGdA?QQ%Avfhw6r9+vMLy1Ns?B!154-Io7f!H-rDwU zP)Q-|iaKDsCU<>WywQ-<&{Uc`g$Za^NO)xtl887#Jd&j02UeGq25QS!*nNV-XZiAD zc+^(Jc+^$|$+MhkkUY&2!GK2bE?6)Sz&B)Wr|LyhTR{07n8BPvN~7+D^Bf+<4v#rS z4vz)mp%kW!L`r##NK5$)Cx$Eq`J~kvO$BMFz$3V`1OXHk;R8J^u2qZ~v#pK37LD0z zL%;G`KyD~vpE%Z%lPcN=&=+I>x*8n%x>bK!*#+w8I&9}I=!_B(noHtJwPSf% z`IGLCeK}f@N_`Q!2eg7hupm^hU`Ax5pj+X2tWUJhh%=jVpm4!?6o61c!BF?P#pe|j zE05xc2U>Gr&UpoNEsO@ID;l|SjfPcQQG0g;n!pGdFf__}plo#o3X0Gy<_zVOq~T3S zFLo#Pwz7)|y>WKAMw2f|w#hqzz@AS&%nFH>6LHZ2O2K$lk_G|&U(SOInt zi;i_0DKZAMfTeFP&>jwO&HU<`k-|}~mt(R~w&;_m!MM=%)f_l|T6j}nB0uuHYo=BP;_XRgaREkOJtuA z=xzy6>m--Tqt8$;#KL)bc_Zc-sUxr&0Z~zSbJZ8X_SSAl`|vtqZs}JW+B%ZAir3yi zWehe+XebI}Him9$I5n`V7fQPV%^|!#q^_cdFe0+eszM+y$CLr(F%nHg`t*rLGK!9Y z#s9Rk`l*s_3^hRL0_yc1)rbZ#?QRW?#4GGP!XOgvIsUMrt;Z8q)#h=euXuT!>04os zFa56mjt({A9Y-Fvc83F>B)rJ#aZqkhx~~GuOOA_W61c9ev>VzO!hOdRNg6BL4yOs9 zw9oA74%o7S{;~m&FqkQD1KN;|3tqk5n3ZzG8Qz51C${!>_xA+wYMr@g+r9|nX6vG9 z%{lAKYl;hU3j@Hyg5un{f%;XIHMvEBlJdIT;u(z4-i&a^BHPo@-n+dW&yAmy@~2Kv zjVIGEAPxDCluS=iPXIg2kE{03si=8cac<#Aq@vz)KFYfY3nl&LDUQJPA zMIS}1IJfwtyo*qIEl{cOaj8wi2n>Z9m@YSMQw=4EU2dr9z)9*MI7Ckjlo+$R0$KQt zlqScnKzMt5UsD?(1dW9>juZ>e&eM8k$TQk(bklvkJFw6bKfYJuyYyRd zy^JdZFNC=E{xn?I;@XRg=UErwozWS%!niKM^%Gn(@dBy>S0k=-aD55a-MIb>*Uxdi ziR&-8a`Dot0oT>I?!v{j;=jbjwc+pK;z8IS;>w7__fA|qk-ZVuIk>)r>)W`V!u0{J z0xi9~ak97vMS_ z*TuN*!1Ww1125Os;W`)BcX7RnD;4bG+T1H~J%;O5TwEi22Cn;YCE{boW?Y}e^$@P# z;KBpC#&x8PxIT~Td$``jH5T7BPsa5bT+idm#z*0PT(99uz{@?J0$YKr57#xg?!)yP zTqodV9+W-nv_9YW*jr7`I;c*TYER+vY5Jh#0C zO#UnC#B=*z8XLeC&mDBtQkcXCxKbGy`{oin-<$x6^iN&Cligp54#F=+WHk zQ8%7D8O8lDN#1h}jd!DP-f=AO=$nxb!<&C4soV~pc?)UO#z1|bw`em=9zPHFu*?bm zEb!MdC;J~pqL$e|CODvZ=X?<{(@|g^3ZGJl+pV}%R*}#jS-al(eCg~T&x96|y5>KF zR2I?f@sFnYM4A))^~kPwG0n;TOTkU=5}N(~vzeQdXioRv4r1P=G#h^In(!{8d7^(W zO6@J7IiRIw0uprZ$!xOzN>sad6^)wzZt&e(Mf1+|2kE|sdDiswepHipEiE2hOW6gt zE(B5qnWCjVh0I)~dpF%hdWvOd(5U$rGY7%VFnatm;Noq#5BCH=GvIAx!7l@INGjzD zIDH=mp*i|NNMM4u{}7z~Ut#5Jy96OL|0~Sa_RTPQw9)s1J8j+vM|)U3J(~9+6=qDZ zSMz>H1sN0Eu6ZA(F~QFxE4<&G1#_~Wr~i5%p*eL-u(3t+KFYNH{>cpU7{eR>Jh*s& zz_L#CKScMZxUD4M{|Z_EG`pQ_|6}CKGY4SK@ntN_v!5_$ z3t&dp_LKf%KNrDzUw8-Mm-(mDd{Bp+mX3h}0nPgon@;BSt{yU<1N%skRN(WOFVa`%XLnQH@b>B)SCK9(gR^ZQK7vLt8DM?~*(6~~_$ z0!?qJYZ0QRXVx=Vh4LxLEMY~ia8<*nIJ1JJE0xcJ%okZXt6ZDmh7%`P>NPGl!DX2j z(o(I0mEn|3SZb8d%FLTcV6CeKP?h<0a-?1btI7O;GQCa}r#|xr`V6=X1lus4V(UG} zMNwU;kKaym=ej72Rr+`y!R@`kwH*OpbB+HegwcD6YZ6NSE7$mmZ1I=5E`r}5Twq== z3XD#b$5v<19Pgn(Dwcl(RtL+KRam|QUKw=2p+2~eeE=0fL2?AAlU+miGYq3rz@lLg z`z1K2Zjj=mnvct}kGAdTQ6DGgrs!-=6S(?3*=y>x@Xu7ub(%73nHP{(C+JMZlldW8 zFkNSL^Wa7n9wozl!dW1e>RqZ|Ljvcjx>sgU15dmq%Hqx3Os*~0i$E<|OCfv{5hRBb z_j^xualFmUC4tjjt?<_}If8jNs@n2oa@(4BlM0oP$vq6-GhFOIvop_TIzd&#D>E-5 zfz7T{5x*vLKknWJ*BMA@LnhZ9c^h494{e!qNV-W`dNOZeux4c$$mI41Z^-okLhsCc zlRho3eXv}XS;r!@s&sD7d<3FZN!$+bCq)k?kSX%YhX}GyR-oJDthDH>|_FMOfkVd z7v?MzY>01SZ<93|X(f!?fox=zgH;I`%6J7rB^b*1DB>lIS4L=AzyWB=xD**rn5c}L z5GE$jI5l3+1|*K!14`yI82&W#dnmMSE`!l!o{GEM?8V(&g^L2DkDds(IyWea=^BHY6!aT;@iF=wk7Ys@_ zSK~g`4Bk}0&DU@rZ~hJU3Fe0z@SS9CL|G=A>?Wp|95w^y zbGT=j|Bd@pa~|%d$x~sn%`3FZm7Pd7^tE61FUa?LOofvYpk5F~k)`3x91 z+k6A`bIl&4m}g#zJm;H!_!gL(Q1(LeugH0kc^~4=F(;rBi_Lks&o$TLKF{pHeZF}q z?h8zwj=0d=4f7(CN4}hBJ`ZLuHV@;z#N?#+By&3MOU-iJmzms#RbpO%`*M?8txCyV$2xeKYZ zm^%@s)tnCLY%^a%>h0ztgCt0cUtuO~yhhZVRan56xhMj|D zoi>$dABUABMAUIuqnyWKq2)!7!%DG_!%DS}!}2+g!}3SN@?59Uk;ACe!CGVF)F)(= zzG;zjt(0%NBQ7{H!Z}#h;a)~0nmWfSQ=-XHQsW&~P{H|Eav+y=0+#bQtVzz}u(0JX zdK}gi`#7wC^9U*)hn3|#sfrFCaSoO4CB{DVZq06~!1G7!7hA}~?XH;px6*b616sg68MWL`RA*iT= zT0{$-Xq2>c#m2+dD+Un)ywRJTr9QC$}mh+gvwG;=kZMZzx zKEs({`wU}4UHO`_V0lSRbyct^s*jp_*p$-NVQEKd>sUS`q%CpgM0E5;wD(07>)HBe zW5`;ZDXFWgF10ul<6pfdxV*ds8hgn!r4E={+Z@Lji0VP5j+ZJ;EiHj~FQz_%sM`<; z9dhyx)KFVm&Z&(%XlV)^o`JIRV97cxzybe6AAC$0ysw95@6xI@IDv-&hgDn|v`3d5 z%Xt_>tbB#R+y ztLuVm)>T!NmDIDw*hvggvi`50J`Jmrp+@oH@xytTY#Tv$sXsls9UepVno}5;4 z%-?2o`Z+cQygLvM#Hw7SK+XuIYi1rS1O((2R6j0 z2#zSek0I{p`-btWuDpI#`KiH`WmdP%i3F55#t=Z0!&;uKEkjk(eN0g6aW-GB`xfT!;y1(ZaG9=rAweP+3>cq}6-~C%g<%k{|8; z_)$cTFXHDqODnZHNz2x_iV9O2>Ol$1T4Q+tM)8AWlvy!(it$G$sSa?82^DS0!#c;P z*D!e(-l@?+^--UE=IWe(at`X8>#2!cOhzTi()vmcJ*o?c9K;Y4l=Gze+LF>$m1{qb-s^N`I%~H=gLOPXe z%E~z@BopyTnCJC`TX}#|Z!k7t%0x9A547!9RF#lBLHlTc7|OA^Krf(Y^x!gUL zHXF-`gRJcV2~=GM&ylh96RRbhv6O0xYJ$txRaTV+SFga(U4d2O<;*D>0n`V_hDLFq zpSIL4PfRg}_ztV>A-=gxFFaa1sd6)nU@g3H=5Aj_nT9etCsIG;E z7#3g^vU5m|J@o~1Eu4|VLp)+5TC-DjFtz2Sr<9=z{@*(!FNT+~EWrdy?fR7?2}U^1 z%bHE8^ARwX;ZYjPf7CHGkrN)(DH)>E+dhFNdZ44Dy2^1@MofOBkFH?zu+ITtib{L; zme|nI@oc1tWkqc{=X9l~*bQ#@Bt0he=oDm_gb(TBFuk!(n~{^JV#qLT9n{(fS65@s zfs#0nM6eEtiiu$j24&?VcQ|F$>(>P9%5iiHXo0ajfF$y)q2?|zRMrQ}YEKE)tsm~GMs2K~RasHT|HZ^+ z0JXk$c-&awM2D*m&9M*liJ@fo%cWJ7<>+Qnc5Y{noDebOcnIZRa#bAXU$oM$(_@)2p>-VSJj}GAP4`h)^U8GbG!-vH1v);$YCu( zoHo|!0K4<&=Bq}>&#iV+Mjfa(-1(y(aOaPDznwqo`F8%O*PAc?`Qz8*(M*4&i89n4 zk2LjTJQt$ya{-a>L5a)-5#O5>st*gWGcCGv?=LYRm@SwiI9sqluvl<`;9|jLf@Oj$ z1*-&W1nUJi2yPVIEZ8jACfFg^BiJW6Ab5`8PQhJ*mkC}jc$MI_f?pB5LGWh5TLf0yR@mDp