summaryrefslogtreecommitdiffstats
path: root/watch-library/hal/src
diff options
context:
space:
mode:
Diffstat (limited to 'watch-library/hal/src')
-rw-r--r--watch-library/hal/src/hal_atomic.c66
-rw-r--r--watch-library/hal/src/hal_calendar.c0
-rw-r--r--watch-library/hal/src/hal_delay.c80
-rw-r--r--watch-library/hal/src/hal_ext_irq.c188
-rwxr-xr-xwatch-library/hal/src/hal_flash.c314
-rw-r--r--watch-library/hal/src/hal_gpio.c44
-rw-r--r--watch-library/hal/src/hal_i2c_m_sync.c258
-rw-r--r--watch-library/hal/src/hal_init.c47
-rw-r--r--watch-library/hal/src/hal_io.c58
-rwxr-xr-xwatch-library/hal/src/hal_rand_sync.c122
-rw-r--r--watch-library/hal/src/hal_slcd_sync.c150
-rw-r--r--watch-library/hal/src/hal_sleep.c73
-rwxr-xr-xwatch-library/hal/src/hal_spi_m_sync.c201
-rwxr-xr-xwatch-library/hal/src/hal_usart_sync.c276
14 files changed, 0 insertions, 1877 deletions
diff --git a/watch-library/hal/src/hal_atomic.c b/watch-library/hal/src/hal_atomic.c
deleted file mode 100644
index f56418ee..00000000
--- a/watch-library/hal/src/hal_atomic.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * \file
- *
- * \brief Critical sections related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_atomic.h"
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief Disable interrupts, enter critical section
- */
-void atomic_enter_critical(hal_atomic_t volatile *atomic)
-{
- *atomic = __get_PRIMASK();
- __disable_irq();
- __DMB();
-}
-
-/**
- * \brief Exit atomic section
- */
-void atomic_leave_critical(hal_atomic_t volatile *atomic)
-{
- __DMB();
- __set_PRIMASK(*atomic);
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t atomic_get_version(void)
-{
- return DRIVER_VERSION;
-}
diff --git a/watch-library/hal/src/hal_calendar.c b/watch-library/hal/src/hal_calendar.c
deleted file mode 100644
index e69de29b..00000000
--- a/watch-library/hal/src/hal_calendar.c
+++ /dev/null
diff --git a/watch-library/hal/src/hal_delay.c b/watch-library/hal/src/hal_delay.c
deleted file mode 100644
index 6f77cc70..00000000
--- a/watch-library/hal/src/hal_delay.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * \file
- *
- * \brief HAL delay related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include <hpl_irq.h>
-#include <hpl_reset.h>
-#include <hpl_sleep.h>
-#include "hal_delay.h"
-#include <hpl_delay.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief The pointer to a hardware instance used by the driver.
- */
-static void *hardware;
-
-/**
- * \brief Initialize Delay driver
- */
-void delay_init(void *const hw)
-{
- _delay_init(hardware = hw);
-}
-
-/**
- * \brief Perform delay in us
- */
-void delay_us(const uint16_t us)
-{
- _delay_cycles(hardware, _get_cycles_for_us(us));
-}
-
-/**
- * \brief Perform delay in ms
- */
-void delay_ms(const uint16_t ms)
-{
- _delay_cycles(hardware, _get_cycles_for_ms(ms));
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t delay_get_version(void)
-{
- return DRIVER_VERSION;
-}
diff --git a/watch-library/hal/src/hal_ext_irq.c b/watch-library/hal/src/hal_ext_irq.c
deleted file mode 100644
index 2c383b4b..00000000
--- a/watch-library/hal/src/hal_ext_irq.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * \file
- *
- * \brief External interrupt functionality imkplementation.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_ext_irq.h"
-
-#define EXT_IRQ_AMOUNT 6
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief External IRQ struct
- */
-struct ext_irq {
- ext_irq_cb_t cb;
- uint32_t pin;
-};
-
-/* Remove KEIL compiling error in case no IRQ line selected */
-#if EXT_IRQ_AMOUNT == 0
-#undef EXT_IRQ_AMOUNT
-#define EXT_IRQ_AMOUNT 1
-#endif
-
-/**
- * \brief Array of external IRQs callbacks
- */
-static struct ext_irq ext_irqs[EXT_IRQ_AMOUNT];
-
-static void process_ext_irq(const uint32_t pin);
-
-/**
- * \brief Initialize external irq component if any
- */
-int32_t ext_irq_init(void)
-{
- uint16_t i;
-
- for (i = 0; i < EXT_IRQ_AMOUNT; i++) {
- ext_irqs[i].pin = 0xFFFFFFFF;
- ext_irqs[i].cb = NULL;
- }
-
- return _ext_irq_init(process_ext_irq);
-}
-
-/**
- * \brief Deinitialize external irq if any
- */
-int32_t ext_irq_deinit(void)
-{
- return _ext_irq_deinit();
-}
-
-/**
- * \brief Register callback for the given external interrupt
- */
-int32_t ext_irq_register(const uint32_t pin, ext_irq_cb_t cb)
-{
- uint8_t i = 0, j = 0;
- bool found = false;
-
- for (; i < EXT_IRQ_AMOUNT; i++) {
- if (ext_irqs[i].pin == pin) {
- ext_irqs[i].cb = cb;
- found = true;
- break;
- }
- }
-
- if (NULL == cb) {
- if (!found) {
- return ERR_INVALID_ARG;
- }
- return _ext_irq_enable(pin, false);
- }
-
- if (!found) {
- for (i = 0; i < EXT_IRQ_AMOUNT; i++) {
- if (NULL == ext_irqs[i].cb) {
- ext_irqs[i].cb = cb;
- ext_irqs[i].pin = pin;
- found = true;
- break;
- }
- }
- for (; (j < EXT_IRQ_AMOUNT) && (i < EXT_IRQ_AMOUNT); j++) {
- if ((ext_irqs[i].pin < ext_irqs[j].pin) && (ext_irqs[j].pin != 0xFFFFFFFF)) {
- struct ext_irq tmp = ext_irqs[j];
-
- ext_irqs[j] = ext_irqs[i];
- ext_irqs[i] = tmp;
- }
- }
- }
-
- if (!found) {
- return ERR_INVALID_ARG;
- }
-
- return _ext_irq_enable(pin, true);
-}
-
-/**
- * \brief Enable external irq
- */
-int32_t ext_irq_enable(const uint32_t pin)
-{
- return _ext_irq_enable(pin, true);
-}
-
-/**
- * \brief Disable external irq
- */
-int32_t ext_irq_disable(const uint32_t pin)
-{
- return _ext_irq_enable(pin, false);
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t ext_irq_get_version(void)
-{
- return DRIVER_VERSION;
-}
-
-/**
- * \brief Interrupt processing routine
- *
- * \param[in] pin The pin which triggered the interrupt
- */
-static void process_ext_irq(const uint32_t pin)
-{
- uint8_t lower = 0, middle, upper = EXT_IRQ_AMOUNT;
-
- while (upper >= lower) {
- middle = (upper + lower) >> 1;
- if (middle >= EXT_IRQ_AMOUNT) {
- return;
- }
-
- if (ext_irqs[middle].pin == pin) {
- if (ext_irqs[middle].cb) {
- ext_irqs[middle].cb();
- }
- return;
- }
-
- if (ext_irqs[middle].pin < pin) {
- lower = middle + 1;
- } else {
- upper = middle - 1;
- }
- }
-}
diff --git a/watch-library/hal/src/hal_flash.c b/watch-library/hal/src/hal_flash.c
deleted file mode 100755
index b1a58b71..00000000
--- a/watch-library/hal/src/hal_flash.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- * \file
- *
- * \brief Flash functionality implementation.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_flash.h"
-#include <utils_assert.h>
-#include <utils.h>
-#include <hal_atomic.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-static void flash_ready(struct _flash_device *device);
-static void flash_error(struct _flash_device *device);
-
-static int32_t flash_is_address_aligned(struct flash_descriptor *flash, const uint32_t flash_addr);
-
-/**
- * \brief Initialize the FLASH HAL instance and hardware for callback mode.
- */
-int32_t flash_init(struct flash_descriptor *flash, void *const hw)
-{
- int32_t rc;
-
- ASSERT(flash && hw);
-
- rc = _flash_init(&flash->dev, hw);
- if (rc) {
- return rc;
- }
-
- flash->dev.flash_cb.ready_cb = flash_ready;
- flash->dev.flash_cb.error_cb = flash_error;
-
- return ERR_NONE;
-}
-
-/**
- * \brief Deinitialize the FLASH HAL instance.
- */
-int32_t flash_deinit(struct flash_descriptor *flash)
-{
- ASSERT(flash);
-
- _flash_deinit(&flash->dev);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Reads a number of bytes to a page in the internal Flash
- */
-int32_t flash_read(struct flash_descriptor *flash, uint32_t src_addr, uint8_t *buffer, uint32_t length)
-{
- ASSERT(flash && buffer && length);
-
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
-
- /* Check if the address is valid */
- if ((src_addr > page_size * total_pages) || (src_addr + length > page_size * total_pages)) {
- return ERR_BAD_ADDRESS;
- }
-
- _flash_read(&flash->dev, src_addr, buffer, length);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Updates several bytes to the internal Flash
- */
-int32_t flash_write(struct flash_descriptor *flash, uint32_t dst_addr, uint8_t *buffer, uint32_t length)
-{
- ASSERT(flash && buffer && length);
-
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
-
- /* Check if the address is valid */
- if ((dst_addr > page_size * total_pages) || (dst_addr + length > page_size * total_pages)) {
- return ERR_BAD_ADDRESS;
- }
-
- if (_flash_is_locked(&flash->dev, dst_addr)) {
- return ERR_DENIED;
- }
-
- _flash_write(&flash->dev, dst_addr, buffer, length);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Appends a number of bytes to a page in the internal Flash
- */
-int32_t flash_append(struct flash_descriptor *flash, uint32_t dst_addr, uint8_t *buffer, uint32_t length)
-{
- ASSERT(flash && buffer && length);
-
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
-
- /* Check if the address is valid */
- if ((dst_addr > page_size * total_pages) || (dst_addr + length > page_size * total_pages)) {
- return ERR_BAD_ADDRESS;
- }
-
- if (_flash_is_locked(&flash->dev, dst_addr)) {
- return ERR_DENIED;
- }
-
- _flash_append(&flash->dev, dst_addr, buffer, length);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Execute erase in the internal flash
- */
-int32_t flash_erase(struct flash_descriptor *flash, const uint32_t dst_addr, const uint32_t page_nums)
-{
- ASSERT(flash && page_nums);
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
- int32_t rc;
-
- rc = flash_is_address_aligned(flash, dst_addr);
- if (rc) {
- return rc;
- }
-
- if ((page_nums > total_pages) || (dst_addr / page_size + page_nums > total_pages)) {
- return ERR_INVALID_ARG;
- }
-
- _flash_erase(&flash->dev, dst_addr, page_nums);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Register a function as FLASH transfer completion callback
- */
-int32_t flash_register_callback(struct flash_descriptor *flash, const enum flash_cb_type type, flash_cb_t func)
-{
- ASSERT(flash);
-
- switch (type) {
- case FLASH_CB_READY:
- flash->callbacks.cb_ready = func;
- break;
-
- case FLASH_CB_ERROR:
- flash->callbacks.cb_error = func;
- break;
-
- default:
- return ERR_INVALID_ARG;
- }
-
- _flash_set_irq_state(&flash->dev, (enum _flash_cb_type)type, NULL != func);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Execute lock in the internal flash
- */
-int32_t flash_lock(struct flash_descriptor *flash, const uint32_t dst_addr, const uint32_t page_nums)
-{
- ASSERT(flash && page_nums);
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
- int32_t rc;
-
- rc = flash_is_address_aligned(flash, dst_addr);
- if (rc) {
- return rc;
- }
-
- if ((page_nums > total_pages) || (dst_addr / page_size + page_nums > total_pages)) {
- return ERR_INVALID_ARG;
- }
-
- return _flash_lock(&flash->dev, dst_addr, page_nums);
-}
-
-/**
- * \brief Execute unlock in the internal flash
- */
-int32_t flash_unlock(struct flash_descriptor *flash, const uint32_t dst_addr, const uint32_t page_nums)
-{
- ASSERT(flash && page_nums);
- uint32_t page_size = _flash_get_page_size(&flash->dev);
- uint32_t total_pages = _flash_get_total_pages(&flash->dev);
- int32_t rc;
-
- rc = flash_is_address_aligned(flash, dst_addr);
- if (rc) {
- return rc;
- }
-
- if ((page_nums > total_pages) || (dst_addr / page_size + page_nums > total_pages)) {
- return ERR_INVALID_ARG;
- }
-
- return _flash_unlock(&flash->dev, dst_addr, page_nums);
-}
-
-/**
- * \brief Get the flash page size.
- */
-uint32_t flash_get_page_size(struct flash_descriptor *flash)
-{
- ASSERT(flash);
- return _flash_get_page_size(&flash->dev);
-}
-
-/**
- * \brief Get the numbers of flash page.
- */
-uint32_t flash_get_total_pages(struct flash_descriptor *flash)
-{
- ASSERT(flash);
- return _flash_get_total_pages(&flash->dev);
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t flash_get_version(void)
-{
- return DRIVER_VERSION;
-}
-
-/**
- * \internal check the address whether it is aligned
- * \param[in, out] flash Pointer to the HAL FLASH instance.
- * \param[in] flash_addr address to be check in flash
- *
- * \return whether it is valid
- * \retval 0 Valid.
- * \retval -1 Error, invalid.
- */
-static int32_t flash_is_address_aligned(struct flash_descriptor *flash, const uint32_t flash_addr)
-{
- ASSERT(flash);
-
- uint32_t page_size = _flash_get_page_size(&flash->dev);
-
- /* Check if the read address not aligned to the start of a page */
- if (flash_addr & (page_size - 1)) {
- return ERR_BAD_ADDRESS;
- }
- return ERR_NONE;
-}
-
-/**
- * \internal Ready for a new flash command
- *
- * \param[in] device The pointer to flash device structure
- */
-static void flash_ready(struct _flash_device *device)
-{
- struct flash_descriptor *const descr = CONTAINER_OF(device, struct flash_descriptor, dev);
- if (descr->callbacks.cb_ready) {
- descr->callbacks.cb_ready(descr);
- }
-}
-
-/**
- * \internal Error occurs in flash command
- *
- * \param[in] device The pointer to flash device structure
- */
-static void flash_error(struct _flash_device *device)
-{
- struct flash_descriptor *const descr = CONTAINER_OF(device, struct flash_descriptor, dev);
- if (descr->callbacks.cb_error) {
- descr->callbacks.cb_error(descr);
- }
-}
diff --git a/watch-library/hal/src/hal_gpio.c b/watch-library/hal/src/hal_gpio.c
deleted file mode 100644
index 00dfea6f..00000000
--- a/watch-library/hal/src/hal_gpio.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * \file
- *
- * \brief Port
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_gpio.h"
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-uint32_t gpio_get_version(void)
-{
- return DRIVER_VERSION;
-}
diff --git a/watch-library/hal/src/hal_i2c_m_sync.c b/watch-library/hal/src/hal_i2c_m_sync.c
deleted file mode 100644
index 9be16be4..00000000
--- a/watch-library/hal/src/hal_i2c_m_sync.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- * \file
- *
- * \brief I/O I2C related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-#include <hal_i2c_m_sync.h>
-#include <utils.h>
-#include <utils_assert.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief Sync version of I2C I/O read
- */
-static int32_t i2c_m_sync_read(struct io_descriptor *io, uint8_t *buf, const uint16_t n)
-{
- struct i2c_m_sync_desc *i2c = CONTAINER_OF(io, struct i2c_m_sync_desc, io);
- struct _i2c_m_msg msg;
- int32_t ret;
-
- msg.addr = i2c->periph_addr;
- msg.len = n;
- msg.flags = I2C_M_STOP | I2C_M_RD;
- msg.buffer = buf;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret) {
- return ret;
- }
-
- return n;
-}
-
-/**
- * \brief Sync version of I2C I/O write
- */
-static int32_t i2c_m_sync_write(struct io_descriptor *io, const uint8_t *buf, const uint16_t n)
-{
- struct i2c_m_sync_desc *i2c = CONTAINER_OF(io, struct i2c_m_sync_desc, io);
- struct _i2c_m_msg msg;
- int32_t ret;
-
- msg.addr = i2c->periph_addr;
- msg.len = n;
- msg.flags = I2C_M_STOP;
- msg.buffer = (uint8_t *)buf;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret) {
- return ret;
- }
-
- return n;
-}
-
-/**
- * \brief Sync version of i2c initialize
- */
-int32_t i2c_m_sync_init(struct i2c_m_sync_desc *i2c, void *hw)
-{
- int32_t init_status;
- ASSERT(i2c);
-
- init_status = _i2c_m_sync_init(&i2c->device, hw);
- if (init_status) {
- return init_status;
- }
-
- /* Init I/O */
- i2c->io.read = i2c_m_sync_read;
- i2c->io.write = i2c_m_sync_write;
-
- return ERR_NONE;
-}
-
-/**
- * \brief deinitialize
- */
-int32_t i2c_m_sync_deinit(struct i2c_m_sync_desc *i2c)
-{
- int32_t status;
- ASSERT(i2c);
-
- status = _i2c_m_sync_deinit(&i2c->device);
- if (status) {
- return status;
- }
-
- i2c->io.read = NULL;
- i2c->io.write = NULL;
-
- return ERR_NONE;
-}
-
-/**
- * \brief Sync version of i2c enable
- */
-int32_t i2c_m_sync_enable(struct i2c_m_sync_desc *i2c)
-{
- return _i2c_m_sync_enable(&i2c->device);
-}
-
-/**
- * \brief Sync version of i2c disable
- */
-int32_t i2c_m_sync_disable(struct i2c_m_sync_desc *i2c)
-{
- return _i2c_m_sync_disable(&i2c->device);
-}
-
-/**
- * \brief Sync version of i2c set peripheral address
- */
-int32_t i2c_m_sync_set_periphaddr(struct i2c_m_sync_desc *i2c, int16_t addr, int32_t addr_len)
-{
- return i2c->periph_addr = (addr & 0x3ff) | (addr_len & I2C_M_TEN);
-}
-
-/**
- * \brief Sync version of i2c set baudrate
- */
-int32_t i2c_m_sync_set_baudrate(struct i2c_m_sync_desc *i2c, uint32_t clkrate, uint32_t baudrate)
-{
- return _i2c_m_sync_set_baudrate(&i2c->device, clkrate, baudrate);
-}
-
-/**
- * \brief Sync version of i2c write command
- */
-int32_t i2c_m_sync_cmd_write(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length)
-{
- struct _i2c_m_msg msg;
- int32_t ret;
-
- msg.addr = i2c->periph_addr;
- msg.len = 1;
- msg.flags = 0;
- msg.buffer = &reg;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret != 0) {
- /* error occurred */
- return ret;
- }
-
- msg.flags = I2C_M_STOP;
- msg.buffer = buffer;
- msg.len = length;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret != 0) {
- /* error occurred */
- return ret;
- }
-
- return ERR_NONE;
-}
-
-/**
- * \brief Sync version of i2c read command
- */
-int32_t i2c_m_sync_cmd_read(struct i2c_m_sync_desc *i2c, uint8_t reg, uint8_t *buffer, uint8_t length)
-{
- struct _i2c_m_msg msg;
- int32_t ret;
-
- msg.addr = i2c->periph_addr;
- msg.len = 1;
- msg.flags = 0;
- msg.buffer = &reg;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret != 0) {
- /* error occurred */
- return ret;
- }
-
- msg.flags = I2C_M_STOP | I2C_M_RD;
- msg.buffer = buffer;
- msg.len = length;
-
- ret = _i2c_m_sync_transfer(&i2c->device, &msg);
-
- if (ret != 0) {
- /* error occurred */
- return ret;
- }
-
- return ERR_NONE;
-}
-
-/**
- * \brief Sync version of i2c transfer command
- */
-int32_t i2c_m_sync_transfer(struct i2c_m_sync_desc *const i2c, struct _i2c_m_msg *msg)
-{
- return _i2c_m_sync_transfer(&i2c->device, msg);
-}
-
-/**
- * \brief Sync version of i2c send stop condition command
- */
-int32_t i2c_m_sync_send_stop(struct i2c_m_sync_desc *const i2c)
-{
- return _i2c_m_sync_send_stop(&i2c->device);
-}
-
-/**
- * \brief Retrieve I/O descriptor
- */
-int32_t i2c_m_sync_get_io_descriptor(struct i2c_m_sync_desc *const i2c, struct io_descriptor **io)
-{
- *io = &i2c->io;
- return ERR_NONE;
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t i2c_m_sync_get_version(void)
-{
- return DRIVER_VERSION;
-}
diff --git a/watch-library/hal/src/hal_init.c b/watch-library/hal/src/hal_init.c
deleted file mode 100644
index fb65341f..00000000
--- a/watch-library/hal/src/hal_init.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * \file
- *
- * \brief HAL initialization related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_init.h"
-
-/**
- * \brief Driver version
- */
-#define HAL_INIT_VERSION 0x00000001u
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t init_get_version(void)
-{
- return HAL_INIT_VERSION;
-}
diff --git a/watch-library/hal/src/hal_io.c b/watch-library/hal/src/hal_io.c
deleted file mode 100644
index ae787d42..00000000
--- a/watch-library/hal/src/hal_io.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * \file
- *
- * \brief I/O functionality implementation.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include <hal_io.h>
-#include <utils_assert.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief I/O write interface
- */
-int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length)
-{
- ASSERT(io_descr && buf);
- return io_descr->write(io_descr, buf, length);
-}
-
-/**
- * \brief I/O read interface
- */
-int32_t io_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length)
-{
- ASSERT(io_descr && buf);
- return io_descr->read(io_descr, buf, length);
-}
diff --git a/watch-library/hal/src/hal_rand_sync.c b/watch-library/hal/src/hal_rand_sync.c
deleted file mode 100755
index 8b29ed1b..00000000
--- a/watch-library/hal/src/hal_rand_sync.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * \file
- *
- * \brief Generic Random Number Generator (RNG) functionality declaration.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include <utils.h>
-#include "hal_rand_sync.h"
-
-#define HAL_RNG_SYNC_VERSION 0x00000001u
-
-int32_t rand_sync_init(struct rand_sync_desc *const desc, void *const hw)
-{
- ASSERT(desc);
-
- return _rand_sync_init(&desc->dev, hw);
-}
-
-void rand_sync_deinit(struct rand_sync_desc *const desc)
-{
- ASSERT(desc);
- _rand_sync_deinit(&desc->dev);
-}
-
-int32_t rand_sync_enable(struct rand_sync_desc *const desc)
-{
- ASSERT(desc);
- return _rand_sync_enable(&desc->dev);
-}
-
-void rand_sync_disable(struct rand_sync_desc *const desc)
-{
- ASSERT(desc);
- _rand_sync_disable(&desc->dev);
-}
-
-int32_t rand_sync_set_seed(struct rand_sync_desc *const desc, const uint32_t seed)
-{
- ASSERT(desc);
- return _rand_sync_set_seed(&desc->dev, seed);
-}
-
-/**
- * \brief Read data bits
- */
-static uint32_t _rand_sync_read_data(const struct _rand_sync_dev *dev, const uint8_t n_bits)
-{
- uint8_t r_bits = (dev->n_bits < 1) ? 32 : dev->n_bits;
- if (r_bits < n_bits) {
- uint8_t i;
- uint32_t d = 0;
- /* Join read bits */
- for (i = 0; i < n_bits; i += r_bits) {
- d |= (uint32_t)(_rand_sync_read_one(dev) << i);
- }
- return d;
- } else {
- return _rand_sync_read_one(dev);
- }
-}
-
-uint8_t rand_sync_read8(const struct rand_sync_desc *const desc)
-{
- ASSERT(desc);
- return (uint8_t)_rand_sync_read_data(&desc->dev, 8);
-}
-
-uint32_t rand_sync_read32(const struct rand_sync_desc *const desc)
-{
- ASSERT(desc);
- return (uint32_t)_rand_sync_read_data(&desc->dev, 32);
-}
-
-void rand_sync_read_buf8(const struct rand_sync_desc *const desc, uint8_t *buf, uint32_t len)
-{
- uint32_t i;
- ASSERT(desc && (buf && len));
- for (i = 0; i < len; i++) {
- buf[i] = (uint8_t)_rand_sync_read_data(&desc->dev, 8);
- }
-}
-
-void rand_sync_read_buf32(const struct rand_sync_desc *const desc, uint32_t *buf, uint32_t len)
-{
- uint32_t i;
- ASSERT(desc && (buf && len));
- for (i = 0; i < len; i++) {
- buf[i] = (uint32_t)_rand_sync_read_data(&desc->dev, 32);
- }
-}
-
-uint32_t rand_sync_get_version(void)
-{
- return HAL_RNG_SYNC_VERSION;
-}
diff --git a/watch-library/hal/src/hal_slcd_sync.c b/watch-library/hal/src/hal_slcd_sync.c
deleted file mode 100644
index 573eb0e2..00000000
--- a/watch-library/hal/src/hal_slcd_sync.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * \file
- *
- * \brief SLCD Segment Liquid Crystal Display Controller(Sync) functionality
- * declaration.
- *
- * Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include <hal_slcd_sync.h>
-#include <utils_assert.h>
-
-/**
- * \brief Initialize SLCD Descriptor
- */
-int32_t slcd_sync_init(struct slcd_sync_descriptor *const descr, void *const hw)
-{
- ASSERT(descr && hw);
- return _slcd_sync_init(&descr->dev, hw);
-}
-
-/**
- * \brief Deinitialize SLCD Descriptor
- */
-int32_t slcd_sync_deinit(struct slcd_sync_descriptor *const descr)
-{
- ASSERT(descr);
- return _slcd_sync_deinit(&descr->dev);
-}
-
-/**
- * \brief Enable SLCD driver
- *
- */
-int32_t slcd_sync_enable(struct slcd_sync_descriptor *const descr)
-{
- ASSERT(descr);
- return _slcd_sync_enable(&descr->dev);
-}
-/**
- * \brief Disable SLCD driver
- *
- */
-int32_t slcd_sync_disable(struct slcd_sync_descriptor *const descr)
-{
- ASSERT(descr);
- return _slcd_sync_disable(&descr->dev);
-}
-/**
- * \brief Turn on a Segment
- */
-int32_t slcd_sync_seg_on(struct slcd_sync_descriptor *const descr, uint32_t seg)
-{
- ASSERT(descr);
- return _slcd_sync_seg_on(&descr->dev, seg);
-}
-/**
- * \brief Turn off a Segment
- */
-int32_t slcd_sync_seg_off(struct slcd_sync_descriptor *const descr, uint32_t seg)
-{
- ASSERT(descr);
- return _slcd_sync_seg_off(&descr->dev, seg);
-}
-/**
- * \brief Blink a Segment
- */
-int32_t slcd_sync_seg_blink(struct slcd_sync_descriptor *const descr, uint32_t seg, const uint32_t period)
-{
- ASSERT(descr && period);
- return _slcd_sync_seg_blink(&descr->dev, seg, period);
-}
-
-/**
- * \brief Displays a character
- */
-int32_t slcd_sync_write_char(struct slcd_sync_descriptor *const descr, const uint8_t character, uint32_t index)
-{
- ASSERT(descr);
- return _slcd_sync_write_char(&descr->dev, character, index);
-}
-
-/**
- * \brief Displays character string string
- */
-int32_t slcd_sync_write_string(struct slcd_sync_descriptor *const descr, uint8_t *const str, uint32_t len,
- uint32_t index)
-{
- uint32_t i;
- ASSERT(descr && len);
-
- for (i = 0; i < len; i++) {
- if (_slcd_sync_write_char(&descr->dev, *(str + i), index + i) != ERR_NONE) {
- return ERR_INVALID_ARG;
- }
- }
- return ERR_NONE;
-}
-/**
- * \brief Start animation play by a segment array
- */
-int32_t slcd_sync_start_animation(struct slcd_sync_descriptor *const descr, const uint32_t segs[], uint32_t len,
- const uint32_t period)
-{
- ASSERT(descr && segs && len && period);
- return _slcd_sync_start_animation(&descr->dev, segs, len, period);
-}
-
-/**
- * \brief Stop animation play by a segment array
- */
-int32_t slcd_sync_stop_animation(struct slcd_sync_descriptor *const descr, const uint32_t segs[], uint32_t len)
-{
- ASSERT(descr && segs && len);
- return _slcd_sync_stop_animation(&descr->dev, segs, len);
-}
-
-/**
- * \brief Set animation Frequency
- */
-int32_t slcd_sync_set_animation_period(struct slcd_sync_descriptor *const descr, const uint32_t period)
-{
- ASSERT(descr && period);
- return _slcd_sync_set_animation_period(&descr->dev, period);
-}
diff --git a/watch-library/hal/src/hal_sleep.c b/watch-library/hal/src/hal_sleep.c
deleted file mode 100644
index 89472f15..00000000
--- a/watch-library/hal/src/hal_sleep.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * \file
- *
- * \brief Sleep related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_sleep.h"
-#include <hpl_sleep.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief Set the sleep mode of the device and put the MCU to sleep
- *
- * For an overview of which systems are disabled in sleep for the different
- * sleep modes, see the data sheet.
- *
- * \param[in] mode Sleep mode to use
- *
- * \return The status of a sleep request
- * \retval -1 The requested sleep mode was invalid or not available
- * \retval 0 The operation completed successfully, returned after leaving the
- * sleep
- */
-int sleep(const uint8_t mode)
-{
- if (ERR_NONE != _set_sleep_mode(mode))
- return ERR_INVALID_ARG;
-
- _go_to_sleep();
-
- return ERR_NONE;
-}
-
-/**
- * \brief Retrieve the current driver version
- *
- * \return Current driver version
- */
-uint32_t sleep_get_version(void)
-{
- return DRIVER_VERSION;
-}
diff --git a/watch-library/hal/src/hal_spi_m_sync.c b/watch-library/hal/src/hal_spi_m_sync.c
deleted file mode 100755
index 1a64296a..00000000
--- a/watch-library/hal/src/hal_spi_m_sync.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * \file
- *
- * \brief I/O SPI related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_spi_m_sync.h"
-#include <utils_assert.h>
-#include <utils.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief Driver version
- */
-#define SPI_M_SYNC_DRIVER_VERSION 0x00000001u
-
-#define SPI_DEACTIVATE_NEXT 0x8000
-
-static int32_t _spi_m_sync_io_write(struct io_descriptor *const io, const uint8_t *const buf, const uint16_t length);
-static int32_t _spi_m_sync_io_read(struct io_descriptor *const io, uint8_t *const buf, const uint16_t length);
-
-/**
- * \brief Initialize the SPI HAL instance function pointer for HPL APIs.
- */
-void spi_m_sync_set_func_ptr(struct spi_m_sync_descriptor *spi, void *const func)
-{
- ASSERT(spi);
- spi->func = (struct _spi_m_sync_hpl_interface *)func;
-}
-
-int32_t spi_m_sync_init(struct spi_m_sync_descriptor *spi, void *const hw)
-{
- int32_t rc = 0;
- ASSERT(spi && hw);
- spi->dev.prvt = (void *)hw;
- rc = _spi_m_sync_init(&spi->dev, hw);
-
- if (rc < 0) {
- return rc;
- }
-
- spi->flags = SPI_DEACTIVATE_NEXT;
- spi->io.read = _spi_m_sync_io_read;
- spi->io.write = _spi_m_sync_io_write;
-
- return ERR_NONE;
-}
-
-void spi_m_sync_deinit(struct spi_m_sync_descriptor *spi)
-{
- ASSERT(spi);
- _spi_m_sync_deinit(&spi->dev);
-}
-
-void spi_m_sync_enable(struct spi_m_sync_descriptor *spi)
-{
- ASSERT(spi);
- _spi_m_sync_enable(&spi->dev);
-}
-
-void spi_m_sync_disable(struct spi_m_sync_descriptor *spi)
-{
- ASSERT(spi);
- _spi_m_sync_disable(&spi->dev);
-}
-
-int32_t spi_m_sync_set_baudrate(struct spi_m_sync_descriptor *spi, const uint32_t baud_val)
-{
- ASSERT(spi);
- return _spi_m_sync_set_baudrate(&spi->dev, baud_val);
-}
-
-int32_t spi_m_sync_set_mode(struct spi_m_sync_descriptor *spi, const enum spi_transfer_mode mode)
-{
- ASSERT(spi);
- return _spi_m_sync_set_mode(&spi->dev, mode);
-}
-
-int32_t spi_m_sync_set_char_size(struct spi_m_sync_descriptor *spi, const enum spi_char_size char_size)
-{
- ASSERT(spi);
- return _spi_m_sync_set_char_size(&spi->dev, char_size);
-}
-
-int32_t spi_m_sync_set_data_order(struct spi_m_sync_descriptor *spi, const enum spi_data_order dord)
-{
- ASSERT(spi);
- return _spi_m_sync_set_data_order(&spi->dev, dord);
-}
-
-/** \brief Do SPI read in polling way
- * For SPI master, activate CS, do send 0xFFs and read data, deactivate CS.
- *
- * It blocks until all data read or error.
- *
- * \param[in, out] spi Pointer to the HAL SPI instance.
- * \param[out] buf Pointer to the buffer to store read data.
- * \param[in] size Size of the data in number of characters.
- * \return Operation status.
- * \retval size Success.
- * \retval >=0 Time out, with number of characters read.
- */
-static int32_t _spi_m_sync_io_read(struct io_descriptor *io, uint8_t *buf, const uint16_t length)
-{
- ASSERT(io);
-
- struct spi_m_sync_descriptor *spi = CONTAINER_OF(io, struct spi_m_sync_descriptor, io);
- struct spi_xfer xfer;
-
- xfer.rxbuf = buf;
- xfer.txbuf = 0;
- xfer.size = length;
-
- return spi_m_sync_transfer(spi, &xfer);
-}
-
-/** \brief Do SPI data write in polling way
- * For SPI master, activate CS, do buffer send and deactivate CS. The data back
- * is discarded.
- *
- * The data read back is discarded.
- *
- * It blocks until all data sent or error.
- *
- * \param[in, out] spi Pointer to the HAL SPI instance.
- * \param[in] p_xfer Pointer to the transfer information (\ref spi_transfer).
- * \return Operation status.
- * \retval size Success.
- * \retval >=0 Timeout, with number of characters transferred.
- */
-static int32_t _spi_m_sync_io_write(struct io_descriptor *const io, const uint8_t *const buf, const uint16_t length)
-{
- ASSERT(io);
-
- struct spi_m_sync_descriptor *spi = CONTAINER_OF(io, struct spi_m_sync_descriptor, io);
- struct spi_xfer xfer;
-
- xfer.rxbuf = 0;
- xfer.txbuf = (uint8_t *)buf;
- xfer.size = length;
-
- return spi_m_sync_transfer(spi, &xfer);
-}
-
-int32_t spi_m_sync_transfer(struct spi_m_sync_descriptor *spi, const struct spi_xfer *p_xfer)
-{
- struct spi_msg msg;
-
- ASSERT(spi && p_xfer);
-
- msg.txbuf = p_xfer->txbuf;
- msg.rxbuf = p_xfer->rxbuf;
- msg.size = p_xfer->size;
- return _spi_m_sync_trans(&spi->dev, &msg);
-}
-
-int32_t spi_m_sync_get_io_descriptor(struct spi_m_sync_descriptor *const spi, struct io_descriptor **io)
-{
- ASSERT(spi && io);
- *io = &spi->io;
- return 0;
-}
-
-uint32_t spi_m_sync_get_version(void)
-{
- return SPI_M_SYNC_DRIVER_VERSION;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/watch-library/hal/src/hal_usart_sync.c b/watch-library/hal/src/hal_usart_sync.c
deleted file mode 100755
index ab99c1d1..00000000
--- a/watch-library/hal/src/hal_usart_sync.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/**
- * \file
- *
- * \brief I/O USART related functionality implementation.
- *
- * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Subject to your compliance with these terms, you may use Microchip
- * software and any derivatives exclusively with Microchip products.
- * It is your responsibility to comply with third party license terms applicable
- * to your use of third party software (including open source software) that
- * may accompany Microchip software.
- *
- * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
- * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
- * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
- * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
- * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
- * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
- * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
- * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
- * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
- * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
- *
- * \asf_license_stop
- *
- */
-
-#include "hal_usart_sync.h"
-#include <utils_assert.h>
-#include <utils.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-static int32_t usart_sync_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length);
-static int32_t usart_sync_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length);
-
-/**
- * \brief Initialize usart interface
- */
-int32_t usart_sync_init(struct usart_sync_descriptor *const descr, void *const hw, void *const func)
-{
- int32_t init_status;
- ASSERT(descr && hw);
- init_status = _usart_sync_init(&descr->device, hw);
- if (init_status) {
- return init_status;
- }
-
- descr->io.read = usart_sync_read;
- descr->io.write = usart_sync_write;
-
- return ERR_NONE;
-}
-
-/**
- * \brief Uninitialize usart interface
- */
-int32_t usart_sync_deinit(struct usart_sync_descriptor *const descr)
-{
- ASSERT(descr);
- _usart_sync_deinit(&descr->device);
-
- descr->io.read = NULL;
- descr->io.write = NULL;
-
- return ERR_NONE;
-}
-
-/**
- * \brief Enable usart interface
- */
-int32_t usart_sync_enable(struct usart_sync_descriptor *const descr)
-{
- ASSERT(descr);
- _usart_sync_enable(&descr->device);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Disable usart interface
- */
-int32_t usart_sync_disable(struct usart_sync_descriptor *const descr)
-{
- ASSERT(descr);
- _usart_sync_disable(&descr->device);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Retrieve I/O descriptor
- */
-int32_t usart_sync_get_io_descriptor(struct usart_sync_descriptor *const descr, struct io_descriptor **io)
-{
- ASSERT(descr && io);
-
- *io = &descr->io;
- return ERR_NONE;
-}
-
-/**
- * \brief Specify action for flow control pins
- */
-int32_t usart_sync_set_flow_control(struct usart_sync_descriptor *const descr,
- const union usart_flow_control_state state)
-{
- ASSERT(descr);
- _usart_sync_set_flow_control_state(&descr->device, state);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart baud rate
- */
-int32_t usart_sync_set_baud_rate(struct usart_sync_descriptor *const descr, const uint32_t baud_rate)
-{
- ASSERT(descr);
- _usart_sync_set_baud_rate(&descr->device, baud_rate);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart data order
- */
-int32_t usart_sync_set_data_order(struct usart_sync_descriptor *const descr, const enum usart_data_order data_order)
-{
- ASSERT(descr);
- _usart_sync_set_data_order(&descr->device, data_order);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart mode
- */
-int32_t usart_sync_set_mode(struct usart_sync_descriptor *const descr, const enum usart_mode mode)
-{
- ASSERT(descr);
- _usart_sync_set_mode(&descr->device, mode);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart parity
- */
-int32_t usart_sync_set_parity(struct usart_sync_descriptor *const descr, const enum usart_parity parity)
-{
- ASSERT(descr);
- _usart_sync_set_parity(&descr->device, parity);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart stop bits
- */
-int32_t usart_sync_set_stopbits(struct usart_sync_descriptor *const descr, const enum usart_stop_bits stop_bits)
-{
- ASSERT(descr);
- _usart_sync_set_stop_bits(&descr->device, stop_bits);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Set usart character size
- */
-int32_t usart_sync_set_character_size(struct usart_sync_descriptor *const descr, const enum usart_character_size size)
-{
- ASSERT(descr);
- _usart_sync_set_character_size(&descr->device, size);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Retrieve the state of flow control pins
- */
-int32_t usart_sync_flow_control_status(const struct usart_sync_descriptor *const descr,
- union usart_flow_control_state *const state)
-{
- ASSERT(descr && state);
- *state = _usart_sync_get_flow_control_state(&descr->device);
-
- return ERR_NONE;
-}
-
-/**
- * \brief Check if the usart transmitter is empty
- */
-int32_t usart_sync_is_tx_empty(const struct usart_sync_descriptor *const descr)
-{
- ASSERT(descr);
- return _usart_sync_is_ready_to_send(&descr->device);
-}
-
-/**
- * \brief Check if the usart receiver is not empty
- */
-int32_t usart_sync_is_rx_not_empty(const struct usart_sync_descriptor *const descr)
-{
- ASSERT(descr);
- return _usart_sync_is_byte_received(&descr->device);
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t usart_sync_get_version(void)
-{
- return DRIVER_VERSION;
-}
-
-/*
- * \internal Write the given data to usart interface
- *
- * \param[in] descr The pointer to an io descriptor
- * \param[in] buf Data to write to usart
- * \param[in] length The number of bytes to write
- *
- * \return The number of bytes written.
- */
-static int32_t usart_sync_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length)
-{
- uint32_t offset = 0;
- struct usart_sync_descriptor *descr = CONTAINER_OF(io_descr, struct usart_sync_descriptor, io);
-
- ASSERT(io_descr && buf && length);
- while (!_usart_sync_is_ready_to_send(&descr->device))
- ;
- do {
- _usart_sync_write_byte(&descr->device, buf[offset]);
- while (!_usart_sync_is_ready_to_send(&descr->device))
- ;
- } while (++offset < length);
- while (!_usart_sync_is_transmit_done(&descr->device))
- ;
- return (int32_t)offset;
-}
-
-/*
- * \internal Read data from usart interface
- *
- * \param[in] descr The pointer to an io descriptor
- * \param[in] buf A buffer to read data to
- * \param[in] length The size of a buffer
- *
- * \return The number of bytes read.
- */
-static int32_t usart_sync_read(struct io_descriptor *const io_descr, uint8_t *const buf, const uint16_t length)
-{
- uint32_t offset = 0;
- struct usart_sync_descriptor *descr = CONTAINER_OF(io_descr, struct usart_sync_descriptor, io);
-
- ASSERT(io_descr && buf && length);
- do {
- while (!_usart_sync_is_byte_received(&descr->device))
- ;
- buf[offset] = _usart_sync_read_byte(&descr->device);
- } while (++offset < length);
-
- return (int32_t)offset;
-}