]> git.earman.xyz Git - sensor-watch.git/commitdiff
remove unused ASF code
authorJoey Castillo <jose.castillo@gmail.com>
Mon, 13 Sep 2021 17:21:33 +0000 (13:21 -0400)
committerJoey Castillo <jose.castillo@gmail.com>
Mon, 13 Sep 2021 17:21:33 +0000 (13:21 -0400)
20 files changed:
make.mk
watch-library/config/hpl_adc_config.h [deleted file]
watch-library/hal/documentation/adc_sync.rst [deleted file]
watch-library/hal/documentation/pwm.rst [deleted file]
watch-library/hal/include/hal_adc_sync.h [deleted file]
watch-library/hal/include/hal_pwm.h [deleted file]
watch-library/hal/include/hpl_adc_async.h [deleted file]
watch-library/hal/include/hpl_adc_dma.h [deleted file]
watch-library/hal/include/hpl_adc_sync.h [deleted file]
watch-library/hal/include/hpl_pwm.h [deleted file]
watch-library/hal/src/hal_adc_sync.c [deleted file]
watch-library/hal/src/hal_pwm.c [deleted file]
watch-library/hpl/adc/hpl_adc.c [deleted file]
watch-library/hpl/adc/hpl_adc_base.h [deleted file]
watch-library/hpl/tc/hpl_tc.c [deleted file]
watch-library/hpl/tc/hpl_tc_base.h [deleted file]
watch-library/hpl/tcc/hpl_tcc.c [deleted file]
watch-library/hpl/tcc/hpl_tcc.h [deleted file]
watch-library/hw/driver_init.c
watch-library/hw/driver_init.h

diff --git a/make.mk b/make.mk
index 21ccc0f53810b7b4eb21f4ece38b03c4ebe4159f..a58aba38df5a432540ec6a4b73b6e6e499a479f3 100644 (file)
--- a/make.mk
+++ b/make.mk
@@ -40,7 +40,6 @@ INCLUDES += \
   -I../../watch-library/hal/utils/include/ \
   -I../../watch-library/hal/utils/src/ \
   -I../../watch-library/hpl/ \
-  -I../../watch-library/hpl/adc/ \
   -I../../watch-library/hpl/core/ \
   -I../../watch-library/hpl/dmac/ \
   -I../../watch-library/hpl/eic/ \
@@ -54,8 +53,6 @@ INCLUDES += \
   -I../../watch-library/hpl/sercom/ \
   -I../../watch-library/hpl/slcd/ \
   -I../../watch-library/hpl/systick/ \
-  -I../../watch-library/hpl/tcc/ \
-  -I../../watch-library/hpl/tc/ \
   -I../../watch-library/hri/ \
   -I../../watch-library/config/ \
   -I../../watch-library/hw/ \
@@ -75,7 +72,6 @@ SRCS += \
   ../../watch-library/startup_saml22.c \
   ../../watch-library/hw/driver_init.c \
   ../../watch-library/watch/watch.c \
-  ../../watch-library/hal/src/hal_adc_sync.c \
   ../../watch-library/hal/src/hal_atomic.c \
   ../../watch-library/hal/src/hal_calendar.c \
   ../../watch-library/hal/src/hal_delay.c \
@@ -84,14 +80,12 @@ SRCS += \
   ../../watch-library/hal/src/hal_i2c_m_sync.c \
   ../../watch-library/hal/src/hal_init.c \
   ../../watch-library/hal/src/hal_io.c \
-  ../../watch-library/hal/src/hal_pwm.c \
   ../../watch-library/hal/src/hal_slcd_sync.c \
   ../../watch-library/hal/src/hal_sleep.c \
   ../../watch-library/hal/utils/src/utils_assert.c \
   ../../watch-library/hal/utils/src/utils_event.c \
   ../../watch-library/hal/utils/src/utils_list.c \
   ../../watch-library/hal/utils/src/utils_syscalls.c \
-  ../../watch-library/hpl/adc/hpl_adc.c \
   ../../watch-library/hpl/core/hpl_core_m0plus_base.c \
   ../../watch-library/hpl/core/hpl_init.c \
   ../../watch-library/hpl/dmac/hpl_dmac.c \
@@ -105,8 +99,6 @@ SRCS += \
   ../../watch-library/hpl/sercom/hpl_sercom.c \
   ../../watch-library/hpl/slcd/hpl_slcd.c \
   ../../watch-library/hpl/systick/hpl_systick.c \
-  ../../watch-library/hpl/tcc/hpl_tcc.c \
-  ../../watch-library/hpl/tc/hpl_tc.c
 
 DEFINES += \
   -D__SAML22J18A__ \
diff --git a/watch-library/config/hpl_adc_config.h b/watch-library/config/hpl_adc_config.h
deleted file mode 100644 (file)
index e15dc52..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-/* Auto-generated config file hpl_adc_config.h */
-#ifndef HPL_ADC_CONFIG_H
-#define HPL_ADC_CONFIG_H
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-#ifndef CONF_ADC_0_ENABLE
-#define CONF_ADC_0_ENABLE 1
-#endif
-
-// <h> Basic Configuration
-
-// <o> Conversion Result Resolution
-// <0x0=>12-bit
-// <0x1=>16-bit (averaging must be enabled)
-// <0x2=>10-bit
-// <0x3=>8-bit
-// <i>  Defines the bit resolution for the ADC sample values (RESSEL)
-// <id> adc_resolution
-#ifndef CONF_ADC_0_RESSEL
-#define CONF_ADC_0_RESSEL 0x0
-#endif
-
-// <o> Reference Selection
-// <0x0=>Internal bandgap reference
-// <0x1=>1/1.6 VDDANA
-// <0x2=>1/2 VDDANA (only for VDDANA > 2.0V)
-// <0x3=>External reference A
-// <0x4=>External reference B
-// <0x5=>VDDANA
-// <i> Select the reference for the ADC (REFSEL)
-// <id> adc_reference
-#ifndef CONF_ADC_0_REFSEL
-#define CONF_ADC_0_REFSEL 0x0
-#endif
-
-// <o> Prescaler configuration
-// <0x0=>Peripheral clock divided by 2
-// <0x1=>Peripheral clock divided by 4
-// <0x2=>Peripheral clock divided by 8
-// <0x3=>Peripheral clock divided by 16
-// <0x4=>Peripheral clock divided by 32
-// <0x5=>Peripheral clock divided by 64
-// <0x6=>Peripheral clock divided by 128
-// <0x7=>Peripheral clock divided by 256
-// <i> These bits define the ADC clock relative to the peripheral clock (PRESCALER)
-// <id> adc_prescaler
-#ifndef CONF_ADC_0_PRESCALER
-#define CONF_ADC_0_PRESCALER 0x0
-#endif
-
-// <q> Free Running Mode
-// <i> When enabled, the ADC is in free running mode and a new conversion will be initiated when a previous conversion completes. (FREERUN)
-// <id> adc_freerunning_mode
-#ifndef CONF_ADC_0_FREERUN
-#define CONF_ADC_0_FREERUN 0
-#endif
-
-// <q> Differential Mode
-// <i> In differential mode, the voltage difference between the MUXPOS and MUXNEG inputs will be converted by the ADC. (DIFFMODE)
-// <id> adc_differential_mode
-#ifndef CONF_ADC_0_DIFFMODE
-#define CONF_ADC_0_DIFFMODE 0
-#endif
-
-// <o> Positive Mux Input Selection
-// <0x00=>ADC AIN0 pin
-// <0x01=>ADC AIN1 pin
-// <0x02=>ADC AIN2 pin
-// <0x03=>ADC AIN3 pin
-// <0x04=>ADC AIN4 pin
-// <0x05=>ADC AIN5 pin
-// <0x06=>ADC AIN6 pin
-// <0x07=>ADC AIN7 pin
-// <0x08=>ADC AIN8 pin
-// <0x09=>ADC AIN9 pin
-// <0x0A=>ADC AIN10 pin
-// <0x0B=>ADC AIN11 pin
-// <0x0C=>ADC AIN12 pin
-// <0x0D=>ADC AIN13 pin
-// <0x0E=>ADC AIN14 pin
-// <0x0F=>ADC AIN15 pin
-// <0x10=>ADC AIN16 pin
-// <0x11=>ADC AIN17 pin
-// <0x12=>ADC AIN18 pin
-// <0x13=>ADC AIN19 pin
-// <0x18=>Temperature reference
-// <0x19=>Bandgap voltage
-// <0x1A=>1/4 scaled core supply
-// <0x1B=>1/4 scaled I/O supply
-// <0x1D=>1/4 Scaled VBAT Supply
-// <0x1E=>CTAT Output
-// <i> These bits define the Mux selection for the positive ADC input. (MUXPOS)
-// <id> adc_pinmux_positive
-#ifndef CONF_ADC_0_MUXPOS
-#define CONF_ADC_0_MUXPOS 0x0
-#endif
-
-// <o> Negative Mux Input Selection
-// <0x00=>ADC AIN0 pin
-// <0x01=>ADC AIN1 pin
-// <0x02=>ADC AIN2 pin
-// <0x03=>ADC AIN3 pin
-// <0x04=>ADC AIN4 pin
-// <0x05=>ADC AIN5 pin
-// <0x06=>ADC AIN6 pin
-// <0x07=>ADC AIN7 pin
-// <0x18=>Internal ground
-// <i> These bits define the Mux selection for the negative ADC input. (MUXNEG)
-// <id> adc_pinmux_negative
-#ifndef CONF_ADC_0_MUXNEG
-#define CONF_ADC_0_MUXNEG 0x0
-#endif
-
-// </h>
-
-// <e> Advanced Configuration
-// <id> adc_advanced_settings
-#ifndef CONF_ADC_0_ADVANCED
-#define CONF_ADC_0_ADVANCED 0
-#endif
-
-// <q> Run in standby
-// <i> Indicates whether the ADC will continue running in standby sleep mode or not (RUNSTDBY)
-// <id> adc_arch_runstdby
-#ifndef CONF_ADC_0_RUNSTDBY
-#define CONF_ADC_0_RUNSTDBY 0
-#endif
-
-// <q>Debug Run
-// <i> If enabled, the ADC is running if the CPU is halted by an external debugger. (DBGRUN)
-// <id> adc_arch_dbgrun
-#ifndef CONF_ADC_0_DBGRUN
-#define CONF_ADC_0_DBGRUN 0
-#endif
-
-// <q> On Demand Control
-// <i> Will keep the ADC peripheral running if requested by other peripherals (ONDEMAND)
-// <id> adc_arch_ondemand
-#ifndef CONF_ADC_0_ONDEMAND
-#define CONF_ADC_0_ONDEMAND 0
-#endif
-
-// <q> Left-Adjusted Result
-// <i> When enabled, the ADC conversion result is left-adjusted in the RESULT register. The high byte of the 12-bit result will be present in the upper part of the result register. (LEFTADJ)
-// <id> adc_arch_leftadj
-#ifndef CONF_ADC_0_LEFTADJ
-#define CONF_ADC_0_LEFTADJ 0
-#endif
-
-// <q> Reference Buffer Offset Compensation Enable
-// <i> The accuracy of the gain stage can be increased by enabling the reference buffer offset compensation. This will decrease the input impedance and thus increase the start-up time of the reference. (REFCOMP)
-// <id> adc_arch_refcomp
-#ifndef CONF_ADC_0_REFCOMP
-#define CONF_ADC_0_REFCOMP 0
-#endif
-
-// <q>Comparator Offset Compensation Enable
-// <i> This bit indicates whether the Comparator Offset Compensation is enabled or not (OFFCOMP)
-// <id> adc_arch_offcomp
-#ifndef CONF_ADC_0_OFFCOMP
-#define CONF_ADC_0_OFFCOMP 0
-#endif
-
-// <q> Digital Correction Logic Enabled
-// <i> When enabled, the ADC conversion result in the RESULT register is then corrected for gain and offset based on the values in the GAINCAL and OFFSETCAL registers. (CORREN)
-// <id> adc_arch_corren
-#ifndef CONF_ADC_0_CORREN
-#define CONF_ADC_0_CORREN 0
-#endif
-
-// <o> Offset Correction Value <0-4095>
-// <i> If the digital correction logic is enabled (CTRLB.CORREN = 1), these bits define how the ADC conversion result is compensated for offset error before being written to the Result register. (OFFSETCORR)
-// <id> adc_arch_offsetcorr
-#ifndef CONF_ADC_0_OFFSETCORR
-#define CONF_ADC_0_OFFSETCORR 0
-#endif
-
-// <o> Gain Correction Value <0-4095>
-// <i> If the digital correction logic is enabled (CTRLB.CORREN = 1), these bits define how the ADC conversion result is compensated for gain error before being written to the result register. (GAINCORR)
-// <id> adc_arch_gaincorr
-#ifndef CONF_ADC_0_GAINCORR
-#define CONF_ADC_0_GAINCORR 0
-#endif
-
-// <o> Adjusting Result / Division Coefficient <0-7>
-// <i> These bits define the division coefficient in 2n steps. (ADJRES)
-// <id> adc_arch_adjres
-#ifndef CONF_ADC_0_ADJRES
-#define CONF_ADC_0_ADJRES 0x0
-#endif
-
-// <o.0..10> Number of Samples to be Collected
-// <0x0=>1 sample
-// <0x1=>2 samples
-// <0x2=>4 samples
-// <0x3=>8 samples
-// <0x4=>16 samples
-// <0x5=>32 samples
-// <0x6=>64 samples
-// <0x7=>128 samples
-// <0x8=>256 samples
-// <0x9=>512 samples
-// <0xA=>1024 samples
-// <i> Define how many samples should be added together.The result will be available in the Result register (SAMPLENUM)
-// <id> adc_arch_samplenum
-#ifndef CONF_ADC_0_SAMPLENUM
-#define CONF_ADC_0_SAMPLENUM 0x0
-#endif
-
-// <o> Sampling Time Length <0-63>
-// <i> These bits control the ADC sampling time in number of CLK_ADC cycles, depending of the prescaler value, thus controlling the ADC input impedance. (SAMPLEN)
-// <id> adc_arch_samplen
-#ifndef CONF_ADC_0_SAMPLEN
-#define CONF_ADC_0_SAMPLEN 0
-#endif
-
-// <o> Window Monitor Mode
-// <0x0=>No window mode
-// <0x1=>Mode 1: RESULT above lower threshold
-// <0x2=>Mode 2: RESULT beneath upper threshold
-// <0x3=>Mode 3: RESULT inside lower and upper threshold
-// <0x4=>Mode 4: RESULT outside lower and upper threshold
-// <i> These bits enable and define the window monitor mode. (WINMODE)
-// <id> adc_arch_winmode
-#ifndef CONF_ADC_0_WINMODE
-#define CONF_ADC_0_WINMODE 0x0
-#endif
-
-// <o> Window Monitor Lower Threshold <0-65535>
-// <i> If the window monitor is enabled, these bits define the lower threshold value. (WINLT)
-// <id> adc_arch_winlt
-#ifndef CONF_ADC_0_WINLT
-#define CONF_ADC_0_WINLT 0
-#endif
-
-// <o> Window Monitor Upper Threshold <0-65535>
-// <i> If the window monitor is enabled, these bits define the lower threshold value. (WINUT)
-// <id> adc_arch_winut
-#ifndef CONF_ADC_0_WINUT
-#define CONF_ADC_0_WINUT 0
-#endif
-
-// <o> Bitmask for positive input sequence <0-4294967295>
-// <i> Use this parameter to input the bitmask for positive input sequence control (refer to datasheet for the device).
-// <id> adc_arch_seqen
-#ifndef CONF_ADC_0_SEQEN
-#define CONF_ADC_0_SEQEN 0x0
-#endif
-
-// </e>
-
-// <e> Event Control
-// <id> adc_arch_event_settings
-#ifndef CONF_ADC_0_EVENT_CONTROL
-#define CONF_ADC_0_EVENT_CONTROL 0
-#endif
-
-// <q> Window Monitor Event Out
-// <i> Enables event output on window event (WINMONEO)
-// <id> adc_arch_winmoneo
-#ifndef CONF_ADC_0_WINMONEO
-#define CONF_ADC_0_WINMONEO 0
-#endif
-
-// <q> Result Ready Event Out
-// <i> Enables event output on result ready event (RESRDEO)
-// <id> adc_arch_resrdyeo
-#ifndef CONF_ADC_0_RESRDYEO
-#define CONF_ADC_0_RESRDYEO 0
-#endif
-
-// <q> Invert flush Event Signal
-// <i> Invert the flush event input signal (FLUSHINV)
-// <id> adc_arch_flushinv
-#ifndef CONF_ADC_0_FLUSHINV
-#define CONF_ADC_0_FLUSHINV 0
-#endif
-
-// <q> Trigger Flush On Event
-// <i> Trigger an ADC pipeline flush on event (FLUSHEI)
-// <id> adc_arch_flushei
-#ifndef CONF_ADC_0_FLUSHEI
-#define CONF_ADC_0_FLUSHEI 0
-#endif
-
-// <q> Invert Start Conversion Event Signal
-// <i> Invert the start conversion event input signal (STARTINV)
-// <id> adc_arch_startinv
-#ifndef CONF_ADC_0_STARTINV
-#define CONF_ADC_0_STARTINV 0
-#endif
-
-// <q> Trigger Conversion On Event
-// <i> Trigger a conversion on event. (STARTEI)
-// <id> adc_arch_startei
-#ifndef CONF_ADC_0_STARTEI
-#define CONF_ADC_0_STARTEI 0
-#endif
-
-// </e>
-
-// <<< end of configuration section >>>
-
-#endif // HPL_ADC_CONFIG_H
diff --git a/watch-library/hal/documentation/adc_sync.rst b/watch-library/hal/documentation/adc_sync.rst
deleted file mode 100644 (file)
index d189565..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-======================
-ADC Synchronous driver
-======================
-
-An ADC (Analog-to-Digital Converter) converts analog signals to digital values.
-A reference signal with a known voltage level is quantified into equally
-sized chunks, each representing a digital value from 0 to the highest number
-possible with the bit resolution supported by the ADC. The input voltage
-measured by the ADC is compared against these chunks and the chunk with the
-closest voltage level defines the digital value that can be used to represent
-the analog input voltage level.
-
-Usually an ADC can operate in either differential or single-ended mode.
-In differential mode two signals (V+ and V-) are compared against each other
-and the resulting digital value represents the relative voltage level between
-V+ and V-. This means that if the input voltage level on V+ is lower than on
-V- the digital value is negative, which also means that in differential
-mode one bit is lost to the sign. In single-ended mode only V+ is compared
-against the reference voltage, and the resulting digital value can only be
-positive, but the full bit-range of the ADC can be used.
-
-Usually multiple resolutions are supported by the ADC, lower resolution can
-reduce the conversion time, but lose accuracy.
-
-Some ADCs has a gain stage on the input lines which can be used to increase the
-dynamic range. The default gain value is usually x1, which means that the
-conversion range is from 0V to the reference voltage.
-Applications can change the gain stage, to increase or reduce the conversion
-range.
-
-The window mode allows the conversion result to be compared to a set of
-predefined threshold values. Applications can use callback function to monitor
-if the conversion result exceeds predefined threshold value.
-
-Usually multiple reference voltages are supported by the ADC, both internal and
-external with difference voltage levels. The reference voltage have an impact
-on the accuracy, and should be selected to cover the full range of the analog
-input signal and never less than the expected maximum input voltage.
-
-There are two conversion modes supported by ADC, single shot and free running.
-In single shot mode the ADC only make one conversion when triggered by the
-application, in free running mode it continues to make conversion from it
-is triggered until it is stopped by the application. When window monitoring,
-the ADC should be set to free running mode.
-
-Features
---------
-* Initialization and de-initialization
-* Support multiple Conversion Mode, Single or Free run
-* Start ADC Conversion
-* Read Conversion Result
-
-Applications
-------------
-* Measurement of internal sensor. E.g., MCU internal temperature sensor value.
-* Measurement of external sensor. E.g., Temperature, humidity sensor value.
-* Sampling and measurement of a signal. E.g., sinusoidal wave, square wave.
-
-Dependencies
-------------
-* ADC hardware
-
-Concurrency
------------
-N/A
-
-Limitations
------------
-N/A
-
-Knows issues and workarounds
-----------------------------
-N/A
-
diff --git a/watch-library/hal/documentation/pwm.rst b/watch-library/hal/documentation/pwm.rst
deleted file mode 100644 (file)
index 71785c6..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-The PWM Driver(bare-bone)
-=========================
-
-Pulse-width modulation (PWM) is used to create an analog behavior
-digitally by controlling the amount of power transferred to the
-connected peripheral. This is achieved by controlling the high period
-(duty-cycle) of a periodic signal.
-
-User can change the period or duty cycle whenever PWM is running. The
-function pwm_set_parameters is used to configure these two parameters.
-Note these are raw register values and the parameter duty_cycle means
-the period of first half during one cycle, which should be not beyond
-total period value.
-
-In addition, user can also get multi PWM channels output from different
-peripherals at the same time, which is implemented more flexible by the
-function pointers.
-
-Features
---------
-
-* Initialization/de-initialization
-* Enabling/disabling
-* Run-time control of PWM duty-cycle and period
-* Notifications about errors and one PWM cycle is done
-
-Applications
-------------
-
-Motor control, ballast, LED, H-bridge, power converters, and
-other types of power control applications.
-
-Dependencies
-------------
-
-The peripheral which can perform waveform generation like frequency
-generation and pulse-width modulation, such as Timer/Counter.
-
-Concurrency
------------
-
-N/A
-
-Limitations
------------
-
-The current driver doesn't support the features like recoverable,
-non-recoverable faults, dithering, dead-time insertion.
-
-Known issues and workarounds
-----------------------------
-
-N/A
diff --git a/watch-library/hal/include/hal_adc_sync.h b/watch-library/hal/include/hal_adc_sync.h
deleted file mode 100644 (file)
index 1b66e3d..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * \file
- *
- * \brief ADC functionality declaration.
- *
- * 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
- *
- */
-
-#ifndef _HAL_ADC_SYNC_H_INCLUDED
-#define _HAL_ADC_SYNC_H_INCLUDED
-
-#include <hpl_adc_sync.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \addtogroup doc_driver_hal_adc_sync
- *
- * @{
- */
-
-/**
- * \brief ADC descriptor
- *
- * The ADC descriptor forward declaration.
- */
-struct adc_sync_descriptor;
-
-/**
- * \brief ADC descriptor
- */
-struct adc_sync_descriptor {
-       /** ADC device */
-       struct _adc_sync_device device;
-};
-
-/**
- * \brief Initialize ADC
- *
- * This function initializes the given ADC descriptor.
- * It checks if the given hardware is not initialized and if the given hardware
- * is permitted to be initialized.
- *
- * \param[out] descr An ADC descriptor to initialize
- * \param[in] hw     The pointer to hardware instance
- * \param[in] func   The pointer to a set of functions pointers
- *
- * \return Initialization status.
- */
-int32_t adc_sync_init(struct adc_sync_descriptor *const descr, void *const hw, void *const func);
-
-/**
- * \brief Deinitialize ADC
- *
- * This function deinitializes the given ADC descriptor.
- * It checks if the given hardware is initialized and if the given hardware is
- * permitted to be deinitialized.
- *
- * \param[in] descr An ADC descriptor to deinitialize
- *
- * \return De-initialization status.
- */
-int32_t adc_sync_deinit(struct adc_sync_descriptor *const descr);
-
-/**
- * \brief Enable ADC
- *
- * Use this function to set the ADC peripheral to enabled state.
- *
- * \param[in] descr    Pointer to the ADC descriptor
- * \param[in] channel  Channel number
- *
- * \return Operation status
- *
- */
-int32_t adc_sync_enable_channel(struct adc_sync_descriptor *const descr, const uint8_t channel);
-
-/**
- * \brief Disable ADC
- *
- * Use this function to set the ADC peripheral to disabled state.
- *
- * \param[in] descr   Pointer to the ADC descriptor
- * \param[in] channel Channel number
- *
- * \return Operation status
- *
- */
-int32_t adc_sync_disable_channel(struct adc_sync_descriptor *const descr, const uint8_t channel);
-
-/**
- * \brief Read data from ADC
- *
- * \param[in] descr    The pointer to the ADC descriptor
- * \param[in] channel  Channel number
- * \param[in] buf      A buffer to read data to
- * \param[in] length   The size of a buffer
- *
- * \return The number of bytes read.
- */
-int32_t adc_sync_read_channel(struct adc_sync_descriptor *const descr, const uint8_t channel, uint8_t *const buffer,
-                              const uint16_t length);
-
-/**
- * \brief Set ADC reference source
- *
- * This function sets ADC reference source.
- *
- * \param[in] descr     The pointer to the ADC descriptor
- * \param[in] reference A reference source to set
- *
- * \return Status of the ADC reference source setting.
- */
-int32_t adc_sync_set_reference(struct adc_sync_descriptor *const descr, const adc_reference_t reference);
-
-/**
- * \brief Set ADC resolution
- *
- * This function sets ADC resolution.
- *
- * \param[in] descr      The pointer to the ADC descriptor
- * \param[in] resolution A resolution to set
- *
- * \return Status of the ADC resolution setting.
- */
-int32_t adc_sync_set_resolution(struct adc_sync_descriptor *const descr, const adc_resolution_t resolution);
-
-/**
- * \brief Set ADC input source of a channel
- *
- * This function sets ADC positive and negative input sources.
- *
- * \param[in] descr     The pointer to the ADC descriptor
- * \param[in] pos_input A positive input source to set
- * \param[in] neg_input A negative input source to set
- * \param[in] channel   Channel number
- *
- * \return Status of the ADC channels setting.
- */
-int32_t adc_sync_set_inputs(struct adc_sync_descriptor *const descr, const adc_pos_input_t pos_input,
-                            const adc_neg_input_t neg_input, const uint8_t channel);
-
-/**
- * \brief Set ADC conversion mode
- *
- * This function sets ADC conversion mode.
- *
- * \param[in] descr The pointer to the ADC descriptor
- * \param[in] mode  A conversion mode to set
- *
- * \return Status of the ADC conversion mode setting.
- */
-int32_t adc_sync_set_conversion_mode(struct adc_sync_descriptor *const descr, const enum adc_conversion_mode mode);
-
-/**
- * \brief Set ADC differential mode
- *
- * This function sets ADC differential mode.
- *
- * \param[in] descr   The pointer to the ADC descriptor
- * \param[in] channel Channel number
- * \param[in] mode    A differential mode to set
- *
- * \return Status of the ADC differential mode setting.
- */
-int32_t adc_sync_set_channel_differential_mode(struct adc_sync_descriptor *const descr, const uint8_t channel,
-                                               const enum adc_differential_mode mode);
-
-/**
- * \brief Set ADC channel gain
- *
- * This function sets ADC channel gain.
- *
- * \param[in] descr   The pointer to the ADC descriptor
- * \param[in] channel Channel number
- * \param[in] gain    A gain to set
- *
- * \return Status of the ADC gain setting.
- */
-int32_t adc_sync_set_channel_gain(struct adc_sync_descriptor *const descr, const uint8_t channel,
-                                  const adc_gain_t gain);
-
-/**
- * \brief Set ADC window mode
- *
- * This function sets ADC window mode.
- *
- * \param[in] descr The pointer to the ADC descriptor
- * \param[in] mode  A window mode to set
- *
- * \return Status of the ADC window mode setting.
- */
-int32_t adc_sync_set_window_mode(struct adc_sync_descriptor *const descr, const adc_window_mode_t mode);
-
-/**
- * \brief Set ADC thresholds
- *
- * This function sets ADC positive and negative thresholds.
- *
- * \param[in] descr         The pointer to the ADC descriptor
- * \param[in] low_threshold A lower thresholds to set
- * \param[in] up_threshold  An upper thresholds to set
- *
- * \return Status of the ADC thresholds setting.
- */
-int32_t adc_sync_set_thresholds(struct adc_sync_descriptor *const descr, const adc_threshold_t low_threshold,
-                                const adc_threshold_t up_threshold);
-
-/**
- * \brief Retrieve threshold state
- *
- * This function retrieves ADC threshold state.
- *
- * \param[in] descr  The pointer to the ADC descriptor
- * \param[out] state The threshold state
- *
- * \return The state of ADC thresholds state retrieving.
- */
-int32_t adc_sync_get_threshold_state(const struct adc_sync_descriptor *const descr,
-                                     adc_threshold_status_t *const           state);
-
-/**
- * \brief Check if conversion is complete
- *
- * This function checks if the ADC has finished the conversion.
- *
- * \param[in] descr   The pointer to the ADC descriptor
- * \param[in] channel Channel number
- *
- * \return The status of ADC conversion completion checking.
- * \retval 1 The conversion is complete
- * \retval 0 The conversion is not complete
- */
-int32_t adc_sync_is_channel_conversion_complete(const struct adc_sync_descriptor *const descr, const uint8_t channel);
-
-/**
- * \brief Retrieve the current driver version
- *
- * \return Current driver version.
- */
-uint32_t adc_sync_get_version(void);
-/**@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <hpl_missing_features.h>
-
-#endif /* _HAL_ADC_SYNC_H_INCLUDED */
diff --git a/watch-library/hal/include/hal_pwm.h b/watch-library/hal/include/hal_pwm.h
deleted file mode 100644 (file)
index d55f7e6..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * \file
- *
- * \brief PWM functionality declaration.
- *
- * 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
- *
- */
-
-#ifndef HAL_PWM_H_INCLUDED
-#define HAL_PWM_H_INCLUDED
-
-#include <hpl_pwm.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \addtogroup doc_driver_hal_pwm_async
- *
- *@{
- */
-
-/**
- * \brief PWM descriptor
- *
- * The PWM descriptor forward declaration.
- */
-struct pwm_descriptor;
-
-/**
- * \brief PWM callback type
- */
-typedef void (*pwm_cb_t)(const struct pwm_descriptor *const descr);
-
-/**
- * \brief PWM callback types
- */
-enum pwm_callback_type { PWM_PERIOD_CB, PWM_ERROR_CB };
-
-/**
- * \brief PWM callbacks
- */
-struct pwm_callbacks {
-       pwm_cb_t period;
-       pwm_cb_t error;
-};
-
-/** \brief PWM descriptor
- */
-struct pwm_descriptor {
-       /** PWM device */
-       struct _pwm_device device;
-       /** PWM callback structure */
-       struct pwm_callbacks pwm_cb;
-       /** PWM HPL interface pointer */
-       struct _pwm_hpl_interface *func;
-};
-
-/** \brief Initialize the PWM HAL instance and hardware
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *  \param[in] hw The pointer to hardware instance
- *  \param[in] func The pointer to a set of functions pointers
- *
- *  \return Operation status.
- */
-int32_t pwm_init(struct pwm_descriptor *const descr, void *const hw, struct _pwm_hpl_interface *const func);
-
-/** \brief Deinitialize the PWM HAL instance and hardware
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *
- *  \return Operation status.
- */
-int32_t pwm_deinit(struct pwm_descriptor *const descr);
-
-/** \brief PWM output start
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *
- *  \return Operation status.
- */
-int32_t pwm_enable(struct pwm_descriptor *const descr);
-
-/** \brief PWM output stop
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *
- *  \return Operation status.
- */
-int32_t pwm_disable(struct pwm_descriptor *const descr);
-
-/** \brief Register PWM callback
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *  \param[in] type Callback type
- *  \param[in] cb A callback function, passing NULL de-registers callback
- *
- *  \return Operation status.
- *  \retval 0 Success
- *  \retval -1 Error
- */
-int32_t pwm_register_callback(struct pwm_descriptor *const descr, enum pwm_callback_type type, pwm_cb_t cb);
-
-/** \brief Change PWM parameter
- *
- *  \param[in] descr Pointer to the HAL PWM descriptor
- *  \param[in] period Total period of one PWM cycle
- *  \param[in] duty_cycle Period of PWM first half during one cycle
- *
- *  \return Operation status.
- */
-int32_t pwm_set_parameters(struct pwm_descriptor *const descr, const pwm_period_t period,
-                           const pwm_period_t duty_cycle);
-
-/** \brief Get PWM driver version
- *
- *  \return Current driver version.
- */
-uint32_t pwm_get_version(void);
-/**@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* HAL_PWM;_H_INCLUDED */
diff --git a/watch-library/hal/include/hpl_adc_async.h b/watch-library/hal/include/hpl_adc_async.h
deleted file mode 100644 (file)
index 1aa4162..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- * \file
- *
- * \brief ADC related 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
- *
- */
-
-#ifndef _HPL_ADC_ASYNC_H_INCLUDED
-#define _HPL_ADC_ASYNC_H_INCLUDED
-
-/**
- * \addtogroup HPL ADC
- *
- * \section hpl_async_adc_rev Revision History
- * - v1.0.0 Initial Release
- *
- *@{
- */
-
-#include "hpl_adc_sync.h"
-#include "hpl_irq.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief ADC device structure
- *
- * The ADC device structure forward declaration.
- */
-struct _adc_async_device;
-
-/**
- * \brief ADC callback types
- */
-enum _adc_async_callback_type { ADC_ASYNC_DEVICE_CONVERT_CB, ADC_ASYNC_DEVICE_MONITOR_CB, ADC_ASYNC_DEVICE_ERROR_CB };
-
-/**
- * \brief ADC interrupt callbacks
- */
-struct _adc_async_callbacks {
-       void (*window_cb)(struct _adc_async_device *device, const uint8_t channel);
-       void (*error_cb)(struct _adc_async_device *device, const uint8_t channel);
-};
-
-/**
- * \brief ADC channel interrupt callbacks
- */
-struct _adc_async_ch_callbacks {
-       void (*convert_done)(struct _adc_async_device *device, const uint8_t channel, const uint16_t data);
-};
-
-/**
- * \brief ADC descriptor device structure
- */
-struct _adc_async_device {
-       struct _adc_async_callbacks    adc_async_cb;
-       struct _adc_async_ch_callbacks adc_async_ch_cb;
-       struct _irq_descriptor         irq;
-       void *                         hw;
-};
-
-/**
- * \name HPL functions
- */
-//@{
-/**
- * \brief Initialize synchronous ADC
- *
- * This function does low level ADC configuration.
- *
- * param[in] device The pointer to ADC device instance
- * param[in] hw     The pointer to hardware instance
- *
- * \return Initialization status
- */
-int32_t _adc_async_init(struct _adc_async_device *const device, void *const hw);
-
-/**
- * \brief Deinitialize ADC
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_async_deinit(struct _adc_async_device *const device);
-
-/**
- * \brief Enable ADC peripheral
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_async_enable_channel(struct _adc_async_device *const device, const uint8_t channel);
-
-/**
- * \brief Disable ADC peripheral
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_async_disable_channel(struct _adc_async_device *const device, const uint8_t channel);
-
-/**
- * \brief Retrieve ADC conversion data size
- *
- * \param[in] device The pointer to ADC device instance
- *
- * \return The data size in bytes
- */
-uint8_t _adc_async_get_data_size(const struct _adc_async_device *const device);
-
-/**
- * \brief Check if conversion is done
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- *
- * \return The status of conversion
- * \retval true The conversion is done
- * \retval false The conversion is not done
- */
-bool _adc_async_is_channel_conversion_done(const struct _adc_async_device *const device, const uint8_t channel);
-
-/**
- * \brief Make conversion
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_async_convert(struct _adc_async_device *const device);
-
-/**
- * \brief Retrieve the conversion result
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- *
- * The result value
- */
-uint16_t _adc_async_read_channel_data(const struct _adc_async_device *const device, const uint8_t channel);
-
-/**
- * \brief Set reference source
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] reference A reference source to set
- */
-void _adc_async_set_reference_source(struct _adc_async_device *const device, const adc_reference_t reference);
-
-/**
- * \brief Set resolution
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] resolution A resolution to set
- */
-void _adc_async_set_resolution(struct _adc_async_device *const device, const adc_resolution_t resolution);
-
-/**
- * \brief Set ADC input source of a channel
- *
- * \param[in] device    The pointer to ADC device instance
- * \param[in] pos_input A positive input source to set
- * \param[in] neg_input A negative input source to set
- * \param[in] channel   Channel number
- */
-void _adc_async_set_inputs(struct _adc_async_device *const device, const adc_pos_input_t pos_input,
-                           const adc_neg_input_t neg_input, const uint8_t channel);
-
-/**
- * \brief Set conversion mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode A conversion mode to set
- */
-void _adc_async_set_conversion_mode(struct _adc_async_device *const device, const enum adc_conversion_mode mode);
-
-/**
- * \brief Set differential mode
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- * \param[in] mode    A differential mode to set
- */
-void _adc_async_set_channel_differential_mode(struct _adc_async_device *const device, const uint8_t channel,
-                                              const enum adc_differential_mode mode);
-
-/**
- * \brief Set gain
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- * \param[in] gain     A gain to set
- */
-void _adc_async_set_channel_gain(struct _adc_async_device *const device, const uint8_t channel, const adc_gain_t gain);
-
-/**
- * \brief Set window mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode   A mode to set
- */
-void _adc_async_set_window_mode(struct _adc_async_device *const device, const adc_window_mode_t mode);
-
-/**
- * \brief Set lower threshold
- *
- * \param[in] device        The pointer to ADC device instance
- * \param[in] low_threshold  A lower threshold to set
- * \param[in] up_threshold   An upper thresholds to set
- */
-void _adc_async_set_thresholds(struct _adc_async_device *const device, const adc_threshold_t low_threshold,
-                               const adc_threshold_t up_threshold);
-
-/**
- * \brief Retrieve threshold state
- *
- * \param[in] device The pointer to ADC device instance
- * \param[out] state The threshold state
- */
-void _adc_async_get_threshold_state(const struct _adc_async_device *const device, adc_threshold_status_t *const state);
-
-/**
- * \brief Enable/disable ADC channel interrupt
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- * \param[in] type     The type of interrupt to disable/enable if applicable
- * \param[in] state    Enable or disable
- */
-void _adc_async_set_irq_state(struct _adc_async_device *const device, const uint8_t channel,
-                              const enum _adc_async_callback_type type, const bool state);
-
-//@}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _HPL_ADC_ASYNC_H_INCLUDED */
diff --git a/watch-library/hal/include/hpl_adc_dma.h b/watch-library/hal/include/hpl_adc_dma.h
deleted file mode 100644 (file)
index bb3a054..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/**
- * \file
- *
- * \brief ADC related functionality declaration.
- *
- * Copyright (c) 2016-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
- *
- */
-
-#ifndef _HPL_ADC_DMA_H_INCLUDED
-#define _HPL_ADC_DMA_H_INCLUDED
-
-/**
- * \addtogroup HPL ADC
- *
- * \section hpl_dma_adc_rev Revision History
- * - v1.0.0 Initial Release
- *
- *@{
- */
-
-#include <hpl_adc_sync.h>
-#include <hpl_irq.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief ADC device structure
- *
- * The ADC device structure forward declaration.
- */
-struct _adc_dma_device;
-
-/**
- * \brief ADC callback types
- */
-enum _adc_dma_callback_type { ADC_DMA_DEVICE_COMPLETE_CB, ADC_DMA_DEVICE_ERROR_CB };
-
-/**
- * \brief ADC interrupt callbacks
- */
-struct _adc_dma_callbacks {
-       void (*complete)(struct _adc_dma_device *device, const uint16_t data);
-       void (*error)(struct _adc_dma_device *device);
-};
-
-/**
- * \brief ADC descriptor device structure
- */
-struct _adc_dma_device {
-       struct _adc_dma_callbacks adc_dma_cb;
-       struct _irq_descriptor    irq;
-       void *                    hw;
-};
-
-/**
- * \name HPL functions
- */
-//@{
-/**
- * \brief Initialize synchronous ADC
- *
- * This function does low level ADC configuration.
- *
- * param[in] device The pointer to ADC device instance
- * param[in] hw The pointer to hardware instance
- *
- * \return Initialization status
- */
-int32_t _adc_dma_init(struct _adc_dma_device *const device, void *const hw);
-
-/**
- * \brief Deinitialize ADC
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_dma_deinit(struct _adc_dma_device *const device);
-
-/**
- * \brief Enable ADC peripheral
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_dma_enable_channel(struct _adc_dma_device *const device, const uint8_t channel);
-
-/**
- * \brief Disable ADC peripheral
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_dma_disable_channel(struct _adc_dma_device *const device, const uint8_t channel);
-
-/**
- * \brief Return address of ADC DMA source
- *
- * \param[in] device The pointer to ADC device instance
- *
- * \return ADC DMA source address
- */
-uint32_t _adc_get_source_for_dma(struct _adc_dma_device *const device);
-
-/**
- * \brief Retrieve ADC conversion data size
- *
- * \param[in] device The pointer to ADC device instance
- *
- * \return The data size in bytes
- */
-uint8_t _adc_dma_get_data_size(const struct _adc_dma_device *const device);
-
-/**
- * \brief Check if conversion is done
- *
- * \param[in] device   The pointer to ADC device instance
- *
- * \return The status of conversion
- * \retval true The conversion is done
- * \retval false The conversion is not done
- */
-bool _adc_dma_is_conversion_done(const struct _adc_dma_device *const device);
-
-/**
- * \brief Make conversion
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_dma_convert(struct _adc_dma_device *const device);
-
-/**
- * \brief Set reference source
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] reference A reference source to set
- */
-void _adc_dma_set_reference_source(struct _adc_dma_device *const device, const adc_reference_t reference);
-
-/**
- * \brief Set resolution
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] resolution A resolution to set
- */
-void _adc_dma_set_resolution(struct _adc_dma_device *const device, const adc_resolution_t resolution);
-
-/**
- * \brief Set ADC input source of a channel
- *
- * \param[in] device    The pointer to ADC device instance
- * \param[in] pos_input A positive input source to set
- * \param[in] neg_input A negative input source to set
- * \param[in] channel   Channel number
- */
-void _adc_dma_set_inputs(struct _adc_dma_device *const device, const adc_pos_input_t pos_input,
-                         const adc_neg_input_t neg_input, const uint8_t channel);
-
-/**
- * \brief Set conversion mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode A conversion mode to set
- */
-void _adc_dma_set_conversion_mode(struct _adc_dma_device *const device, const enum adc_conversion_mode mode);
-
-/**
- * \brief Set differential mode
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- * \param[in] mode    A differential mode to set
- */
-void _adc_dma_set_channel_differential_mode(struct _adc_dma_device *const device, const uint8_t channel,
-                                            const enum adc_differential_mode mode);
-
-/**
- * \brief Set gain
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- * \param[in] gain    A gain to set
- */
-void _adc_dma_set_channel_gain(struct _adc_dma_device *const device, const uint8_t channel, const adc_gain_t gain);
-
-/**
- * \brief Set window mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode A mode to set
- */
-void _adc_dma_set_window_mode(struct _adc_dma_device *const device, const adc_window_mode_t mode);
-
-/**
- * \brief Set thresholds
- *
- * \param[in] device        The pointer to ADC device instance
- * \param[in] low_threshold A lower thresholds to set
- * \param[in] up_threshold  An upper thresholds to set
- */
-void _adc_dma_set_thresholds(struct _adc_dma_device *const device, const adc_threshold_t low_threshold,
-                             const adc_threshold_t up_threshold);
-
-/**
- * \brief Retrieve threshold state
- *
- * \param[in] device The pointer to ADC device instance
- * \param[out] state The threshold state
- */
-void _adc_dma_get_threshold_state(const struct _adc_dma_device *const device, adc_threshold_status_t *const state);
-
-//@}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _HPL_ADC_DMA_H_INCLUDED */
diff --git a/watch-library/hal/include/hpl_adc_sync.h b/watch-library/hal/include/hpl_adc_sync.h
deleted file mode 100644 (file)
index 3bfbc61..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/**
- * \file
- *
- * \brief ADC related functionality declaration.
- *
- * 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
- *
- */
-
-#ifndef _HPL_ADC_SYNC_H_INCLUDED
-#define _HPL_ADC_SYNC_H_INCLUDED
-
-/**
- * \addtogroup HPL ADC
- *
- * \section hpl_adc_sync_rev Revision History
- * - v1.0.0 Initial Release
- *
- *@{
- */
-
-#include "compiler.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief ADC reference source
- */
-typedef uint8_t adc_reference_t;
-
-/**
- * \brief ADC resolution
- */
-typedef uint8_t adc_resolution_t;
-
-/**
- * \brief ADC positive input for channel
- */
-typedef uint8_t adc_pos_input_t;
-
-/**
- * \brief ADC negative input for channel
- */
-typedef uint8_t adc_neg_input_t;
-
-/**
- * \brief ADC threshold
- */
-typedef uint16_t adc_threshold_t;
-
-/**
- * \brief ADC gain
- */
-typedef uint8_t adc_gain_t;
-
-/**
- * \brief ADC conversion mode
- */
-enum adc_conversion_mode { ADC_CONVERSION_MODE_SINGLE_CONVERSION = 0, ADC_CONVERSION_MODE_FREERUN };
-
-/**
- * \brief ADC differential mode
- */
-enum adc_differential_mode { ADC_DIFFERENTIAL_MODE_SINGLE_ENDED = 0, ADC_DIFFERENTIAL_MODE_DIFFERENTIAL };
-
-/**
- * \brief ADC window mode
- */
-typedef uint8_t adc_window_mode_t;
-
-/**
- * \brief ADC threshold status
- */
-typedef bool adc_threshold_status_t;
-
-/**
- * \brief ADC sync descriptor device structure
- */
-struct _adc_sync_device {
-       void *hw;
-};
-
-/**
- * \name HPL functions
- */
-//@{
-/**
- * \brief Initialize synchronous ADC
- *
- * This function does low level ADC configuration.
- *
- * param[in] device The pointer to ADC device instance
- * param[in] hw     The pointer to hardware instance
- *
- * \return Initialization status
- */
-int32_t _adc_sync_init(struct _adc_sync_device *const device, void *const hw);
-
-/**
- * \brief Deinitialize ADC
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_sync_deinit(struct _adc_sync_device *const device);
-
-/**
- * \brief Enable ADC
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_sync_enable_channel(struct _adc_sync_device *const device, const uint8_t channel);
-
-/**
- * \brief Disable ADC
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- */
-void _adc_sync_disable_channel(struct _adc_sync_device *const device, const uint8_t channel);
-
-/**
- * \brief Retrieve ADC conversion data size
- *
- * \param[in] device The pointer to ADC device instance
- *
- * \return The data size in bytes
- */
-uint8_t _adc_sync_get_data_size(const struct _adc_sync_device *const device);
-
-/**
- * \brief Check if conversion is done
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- *
- * \return The status of conversion
- * \retval true The conversion is done
- * \retval false The conversion is not done
- */
-bool _adc_sync_is_channel_conversion_done(const struct _adc_sync_device *const device, const uint8_t channel);
-
-/**
- * \brief Make conversion
- *
- * \param[in] device The pointer to ADC device instance
- */
-void _adc_sync_convert(struct _adc_sync_device *const device);
-
-/**
- * \brief Retrieve the conversion result
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- *
- * \return The result value of channel
- */
-uint16_t _adc_sync_read_channel_data(const struct _adc_sync_device *const device, const uint8_t channel);
-
-/**
- * \brief Set reference source
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] reference A reference source to set
- */
-void _adc_sync_set_reference_source(struct _adc_sync_device *const device, const adc_reference_t reference);
-
-/**
- * \brief Set resolution
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] resolution A resolution to set
- */
-void _adc_sync_set_resolution(struct _adc_sync_device *const device, const adc_resolution_t resolution);
-
-/**
- * \brief Set ADC input source of a channel
- *
- * \param[in] device    The pointer to ADC device instance
- * \param[in] pos_input A positive input source to set
- * \param[in] neg_input A negative input source to set
- * \param[in] channel   Channel number
- */
-void _adc_sync_set_inputs(struct _adc_sync_device *const device, const adc_pos_input_t pos_input,
-                          const adc_neg_input_t neg_input, const uint8_t channel);
-
-/**
- * \brief Set conversion mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode A conversion mode to set
- */
-void _adc_sync_set_conversion_mode(struct _adc_sync_device *const device, const enum adc_conversion_mode mode);
-
-/**
- * \brief Set differential mode
- *
- * \param[in] device  The pointer to ADC device instance
- * \param[in] channel Channel number
- * \param[in] mode    A differential mode to set
- */
-void _adc_sync_set_channel_differential_mode(struct _adc_sync_device *const device, const uint8_t channel,
-                                             const enum adc_differential_mode mode);
-
-/**
- * \brief Set gain
- *
- * \param[in] device   The pointer to ADC device instance
- * \param[in] channel  Channel number
- * \param[in] gain     A gain to set
- */
-void _adc_sync_set_channel_gain(struct _adc_sync_device *const device, const uint8_t channel, const adc_gain_t gain);
-
-/**
- * \brief Set window mode
- *
- * \param[in] device The pointer to ADC device instance
- * \param[in] mode   A mode to set
- */
-void _adc_sync_set_window_mode(struct _adc_sync_device *const device, const adc_window_mode_t mode);
-
-/**
- * \brief Set threshold
- *
- * \param[in] device        The pointer to ADC device instance
- * \param[in] low_threshold  A lower threshold to set
- * \param[in] up_threshold   An upper thresholds to set
- */
-void _adc_sync_set_thresholds(struct _adc_sync_device *const device, const adc_threshold_t low_threshold,
-                              const adc_threshold_t up_threshold);
-
-/**
- * \brief Retrieve threshold state
- *
- * \param[in] device The pointer to ADC device instance
- * \param[out] state The threshold state
- */
-void _adc_sync_get_threshold_state(const struct _adc_sync_device *const device, adc_threshold_status_t *const state);
-//@}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _HPL_ADC_SYNC_H_INCLUDED */
diff --git a/watch-library/hal/include/hpl_pwm.h b/watch-library/hal/include/hpl_pwm.h
deleted file mode 100644 (file)
index ea056de..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * \file
- *
- * \brief PWM related functionality declaration.
- *
- * 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
- *
- */
-#ifndef _HPL_PWM_H_INCLUDED
-#define _HPL_PWM_H_INCLUDED
-
-/**
- * \addtogroup HPL PWM
- *
- * \section hpl_pwm_rev Revision History
- * - v1.0.0 Initial Release
- *
- *@{
- */
-
-#include <compiler.h>
-#include "hpl_irq.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief PWM callback types
- */
-enum _pwm_callback_type { PWM_DEVICE_PERIOD_CB, PWM_DEVICE_ERROR_CB };
-
-/**
- * \brief PWM pulse-width period
- */
-typedef uint32_t pwm_period_t;
-
-/**
- * \brief PWM device structure
- *
- * The PWM device structure forward declaration.
- */
-struct _pwm_device;
-
-/**
- * \brief PWM interrupt callbacks
- */
-struct _pwm_callback {
-       void (*pwm_period_cb)(struct _pwm_device *device);
-       void (*pwm_error_cb)(struct _pwm_device *device);
-};
-
-/**
- * \brief PWM descriptor device structure
- */
-struct _pwm_device {
-       struct _pwm_callback   callback;
-       struct _irq_descriptor irq;
-       void *                 hw;
-};
-
-/**
- * \brief PWM functions, pointers to low-level functions
- */
-struct _pwm_hpl_interface {
-       int32_t (*init)(struct _pwm_device *const device, void *const hw);
-       void (*deinit)(struct _pwm_device *const device);
-       void (*start_pwm)(struct _pwm_device *const device);
-       void (*stop_pwm)(struct _pwm_device *const device);
-       void (*set_pwm_param)(struct _pwm_device *const device, const pwm_period_t period, const pwm_period_t duty_cycle);
-       bool (*is_pwm_enabled)(const struct _pwm_device *const device);
-       pwm_period_t (*pwm_get_period)(const struct _pwm_device *const device);
-       uint32_t (*pwm_get_duty)(const struct _pwm_device *const device);
-       void (*set_irq_state)(struct _pwm_device *const device, const enum _pwm_callback_type type, const bool disable);
-};
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _HPL_PWM_H_INCLUDED */
diff --git a/watch-library/hal/src/hal_adc_sync.c b/watch-library/hal/src/hal_adc_sync.c
deleted file mode 100644 (file)
index 8d2e872..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-/**
- * \file
- *
- * \brief ADC 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
- *
- */
-
-/**
- * \brief Indicates HAL being compiled. Must be defined before including.
- */
-#define _COMPILING_HAL
-
-#include "hal_adc_sync.h"
-#include <utils_assert.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-/**
- * \brief Maximum amount of ADC interface instances
- */
-#define MAX_ADC_AMOUNT ADC_INST_NUM
-
-/**
- * \brief Initialize ADC
- */
-int32_t adc_sync_init(struct adc_sync_descriptor *const descr, void *const hw, void *const func)
-{
-       ASSERT(descr && hw);
-       (void)func;
-
-       return _adc_sync_init(&descr->device, hw);
-}
-
-/**
- * \brief Deinitialize ADC
- */
-int32_t adc_sync_deinit(struct adc_sync_descriptor *const descr)
-{
-       ASSERT(descr);
-       _adc_sync_deinit(&descr->device);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Enable ADC
- */
-int32_t adc_sync_enable_channel(struct adc_sync_descriptor *const descr, const uint8_t channel)
-{
-       ASSERT(descr);
-       _adc_sync_enable_channel(&descr->device, channel);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Disable ADC
- */
-int32_t adc_sync_disable_channel(struct adc_sync_descriptor *const descr, const uint8_t channel)
-{
-       ASSERT(descr);
-       _adc_sync_disable_channel(&descr->device, channel);
-       return ERR_NONE;
-}
-
-/*
- * \brief Read data from ADC
- */
-int32_t adc_sync_read_channel(struct adc_sync_descriptor *const descr, const uint8_t channel, uint8_t *const buffer,
-                              const uint16_t length)
-{
-       uint8_t  data_size;
-       uint16_t offset = 0;
-
-       ASSERT(descr && buffer && length);
-       data_size = _adc_sync_get_data_size(&descr->device);
-       ASSERT(!(length % data_size));
-
-       do {
-               uint16_t result;
-               _adc_sync_convert(&descr->device);
-
-               while (!_adc_sync_is_channel_conversion_done(&descr->device, channel))
-                       ;
-
-               result         = _adc_sync_read_channel_data(&descr->device, channel);
-               buffer[offset] = result;
-               if (1 < data_size) {
-                       buffer[offset + 1] = result >> 8;
-               }
-               offset += data_size;
-       } while (offset < length);
-
-       return offset;
-}
-
-/**
- * \brief Set ADC reference source
- */
-int32_t adc_sync_set_reference(struct adc_sync_descriptor *const descr, const adc_reference_t reference)
-{
-       ASSERT(descr);
-       _adc_sync_set_reference_source(&descr->device, reference);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC resolution
- */
-int32_t adc_sync_set_resolution(struct adc_sync_descriptor *const descr, const adc_resolution_t resolution)
-{
-       ASSERT(descr);
-       _adc_sync_set_resolution(&descr->device, resolution);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC input source of a channel
- */
-int32_t adc_sync_set_inputs(struct adc_sync_descriptor *const descr, const adc_pos_input_t pos_input,
-                            const adc_neg_input_t neg_input, const uint8_t channel)
-{
-       ASSERT(descr);
-       _adc_sync_set_inputs(&descr->device, pos_input, neg_input, channel);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC thresholds
- */
-int32_t adc_sync_set_thresholds(struct adc_sync_descriptor *const descr, const adc_threshold_t low_threshold,
-                                const adc_threshold_t up_threshold)
-{
-       ASSERT(descr);
-       _adc_sync_set_thresholds(&descr->device, low_threshold, up_threshold);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC gain
- */
-int32_t adc_sync_set_channel_gain(struct adc_sync_descriptor *const descr, const uint8_t channel, const adc_gain_t gain)
-{
-       ASSERT(descr);
-       _adc_sync_set_channel_gain(&descr->device, channel, gain);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC conversion mode
- */
-int32_t adc_sync_set_conversion_mode(struct adc_sync_descriptor *const descr, const enum adc_conversion_mode mode)
-{
-       ASSERT(descr);
-       _adc_sync_set_conversion_mode(&descr->device, mode);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC differential mode
- */
-int32_t adc_sync_set_channel_differential_mode(struct adc_sync_descriptor *const descr, const uint8_t channel,
-                                               const enum adc_differential_mode mode)
-{
-       ASSERT(descr);
-       _adc_sync_set_channel_differential_mode(&descr->device, channel, mode);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Set ADC window mode
- */
-int32_t adc_sync_set_window_mode(struct adc_sync_descriptor *const descr, const adc_window_mode_t mode)
-{
-       ASSERT(descr);
-       _adc_sync_set_window_mode(&descr->device, mode);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Retrieve threshold state
- */
-int32_t adc_sync_get_threshold_state(const struct adc_sync_descriptor *const descr, adc_threshold_status_t *const state)
-{
-       ASSERT(descr && state);
-       _adc_sync_get_threshold_state(&descr->device, state);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Check if conversion is complete
- */
-int32_t adc_sync_is_channel_conversion_complete(const struct adc_sync_descriptor *const descr, const uint8_t channel)
-{
-       ASSERT(descr);
-       return _adc_sync_is_channel_conversion_done(&descr->device, channel);
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t adc_sync_get_version(void)
-{
-       return DRIVER_VERSION;
-}
-
-//@}
diff --git a/watch-library/hal/src/hal_pwm.c b/watch-library/hal/src/hal_pwm.c
deleted file mode 100644 (file)
index bc0629f..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * \file
- *
- * \brief PWM 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_pwm.h"
-#include <utils_assert.h>
-#include <utils.h>
-
-/**
- * \brief Driver version
- */
-#define DRIVER_VERSION 0x00000001u
-
-static void pwm_period_expired(struct _pwm_device *device);
-static void pwm_detect_fault(struct _pwm_device *device);
-
-/**
- * \brief Initialize pwm
- */
-int32_t pwm_init(struct pwm_descriptor *const descr, void *const hw, struct _pwm_hpl_interface *const func)
-{
-       ASSERT(descr && hw && func);
-       descr->func = func;
-       descr->func->init(&descr->device, hw);
-       descr->device.callback.pwm_period_cb = pwm_period_expired;
-       descr->device.callback.pwm_error_cb  = pwm_detect_fault;
-       return ERR_NONE;
-}
-
-/**
- * \brief Deinitialize pwm
- */
-int32_t pwm_deinit(struct pwm_descriptor *const descr)
-{
-       ASSERT(descr && descr->func);
-       descr->func->deinit(&descr->device);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Start pwm
- */
-int32_t pwm_enable(struct pwm_descriptor *const descr)
-{
-       ASSERT(descr && descr->func);
-       if (descr->func->is_pwm_enabled(&descr->device)) {
-               return ERR_DENIED;
-       }
-       descr->func->start_pwm(&descr->device);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Stop pwm
- */
-int32_t pwm_disable(struct pwm_descriptor *const descr)
-{
-       ASSERT(descr && descr->func);
-       if (!descr->func->is_pwm_enabled(&descr->device)) {
-               return ERR_DENIED;
-       }
-       descr->func->stop_pwm(&descr->device);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Register PWM callback
- */
-int32_t pwm_register_callback(struct pwm_descriptor *const descr, enum pwm_callback_type type, pwm_cb_t cb)
-{
-       switch (type) {
-       case PWM_PERIOD_CB:
-               descr->pwm_cb.period = cb;
-               break;
-
-       case PWM_ERROR_CB:
-               descr->pwm_cb.error = cb;
-               break;
-
-       default:
-               return ERR_INVALID_ARG;
-       }
-       ASSERT(descr && descr->func);
-       descr->func->set_irq_state(&descr->device, (enum _pwm_callback_type)type, NULL != cb);
-       return ERR_NONE;
-}
-
-/**
- * \brief Change PWM parameter
- */
-int32_t pwm_set_parameters(struct pwm_descriptor *const descr, const pwm_period_t period, const pwm_period_t duty_cycle)
-{
-       ASSERT(descr && descr->func);
-       descr->func->set_pwm_param(&descr->device, period, duty_cycle);
-       return ERR_NONE;
-}
-
-/**
- * \brief Retrieve the current driver version
- */
-uint32_t pwm_get_version(void)
-{
-       return DRIVER_VERSION;
-}
-
-/**
- * \internal Process interrupts caused by period experied
- */
-static void pwm_period_expired(struct _pwm_device *device)
-{
-       struct pwm_descriptor *const descr = CONTAINER_OF(device, struct pwm_descriptor, device);
-
-       if (descr->pwm_cb.period) {
-               descr->pwm_cb.period(descr);
-       }
-}
-
-/**
- * \internal Process interrupts caused by pwm fault
- */
-static void pwm_detect_fault(struct _pwm_device *device)
-{
-       struct pwm_descriptor *const descr = CONTAINER_OF(device, struct pwm_descriptor, device);
-
-       if (descr->pwm_cb.error) {
-               descr->pwm_cb.error(descr);
-       }
-}
diff --git a/watch-library/hpl/adc/hpl_adc.c b/watch-library/hpl/adc/hpl_adc.c
deleted file mode 100644 (file)
index c9db19b..0000000
+++ /dev/null
@@ -1,771 +0,0 @@
-
-/**
- * \file
- *
- * \brief SAM Analog Digital Converter
- *
- * 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 <hpl_adc_async.h>
-#include <hpl_adc_dma.h>
-#include <hpl_adc_sync.h>
-#include <utils_assert.h>
-#include <utils_repeat_macro.h>
-#include <hpl_adc_config.h>
-
-#ifndef CONF_ADC_0_ENABLE
-#define CONF_ADC_0_ENABLE 0
-#endif
-#ifndef CONF_ADC_1_ENABLE
-#define CONF_ADC_1_ENABLE 0
-#endif
-
-/**
- * \brief Macro is used to fill ADC configuration structure based on its number
- *
- * \param[in] n The number of structures
- */
-#define ADC_CONFIGURATION(n)                                                                                           \
-       {                                                                                                                  \
-               (n),                                                                                                           \
-                   (CONF_ADC_##n##_RUNSTDBY << ADC_CTRLA_RUNSTDBY_Pos) | (CONF_ADC_##n##_ONDEMAND << ADC_CTRLA_ONDEMAND_Pos), \
-                   ADC_CTRLB_PRESCALER(CONF_ADC_##n##_PRESCALER),                                                             \
-                   (CONF_ADC_##n##_REFCOMP << ADC_REFCTRL_REFCOMP_Pos) | ADC_REFCTRL_REFSEL(CONF_ADC_##n##_REFSEL),           \
-                   (CONF_ADC_##n##_WINMONEO << ADC_EVCTRL_WINMONEO_Pos)                                                       \
-                       | (CONF_ADC_##n##_RESRDYEO << ADC_EVCTRL_RESRDYEO_Pos)                                                 \
-                       | (CONF_ADC_##n##_STARTINV << ADC_EVCTRL_STARTINV_Pos)                                                 \
-                       | (CONF_ADC_##n##_FLUSHINV << ADC_EVCTRL_FLUSHINV_Pos)                                                 \
-                       | (CONF_ADC_##n##_STARTEI << ADC_EVCTRL_STARTEI_Pos)                                                   \
-                       | (CONF_ADC_##n##_FLUSHEI << ADC_EVCTRL_FLUSHEI_Pos),                                                  \
-                   ADC_INPUTCTRL_MUXNEG(CONF_ADC_##n##_MUXNEG) | ADC_INPUTCTRL_MUXPOS(CONF_ADC_##n##_MUXPOS),                 \
-                   ADC_CTRLC_WINMODE(CONF_ADC_##n##_WINMODE) | ADC_CTRLC_RESSEL(CONF_ADC_##n##_RESSEL)                        \
-                       | (CONF_ADC_##n##_CORREN << ADC_CTRLC_CORREN_Pos) | (CONF_ADC_##n##_FREERUN << ADC_CTRLC_FREERUN_Pos)  \
-                       | (CONF_ADC_##n##_LEFTADJ << ADC_CTRLC_LEFTADJ_Pos)                                                    \
-                       | (CONF_ADC_##n##_DIFFMODE << ADC_CTRLC_DIFFMODE_Pos),                                                 \
-                   ADC_AVGCTRL_ADJRES(CONF_ADC_##n##_ADJRES) | ADC_AVGCTRL_SAMPLENUM(CONF_ADC_##n##_SAMPLENUM),               \
-                   (CONF_ADC_##n##_OFFCOMP << ADC_SAMPCTRL_OFFCOMP_Pos) | ADC_SAMPCTRL_SAMPLEN(CONF_ADC_##n##_SAMPLEN),       \
-                   ADC_WINLT_WINLT(CONF_ADC_##n##_WINLT), ADC_WINUT_WINUT(CONF_ADC_##n##_WINUT),                              \
-                   ADC_GAINCORR_GAINCORR(CONF_ADC_##n##_GAINCORR), ADC_OFFSETCORR_OFFSETCORR(CONF_ADC_##n##_OFFSETCORR),      \
-                   CONF_ADC_##n##_DBGRUN << ADC_DBGCTRL_DBGRUN_Pos, ADC_SEQCTRL_SEQEN(CONF_ADC_##n##_SEQEN),                  \
-       }
-
-/**
- * \brief ADC configuration
- */
-struct adc_configuration {
-       uint8_t                  number;
-       hri_adc_ctrla_reg_t      ctrl_a;
-       hri_adc_ctrlb_reg_t      ctrl_b;
-       hri_adc_refctrl_reg_t    ref_ctrl;
-       hri_adc_evctrl_reg_t     ev_ctrl;
-       hri_adc_inputctrl_reg_t  input_ctrl;
-       hri_adc_ctrlc_reg_t      ctrl_c;
-       hri_adc_avgctrl_reg_t    avg_ctrl;
-       hri_adc_sampctrl_reg_t   samp_ctrl;
-       hri_adc_winlt_reg_t      win_lt;
-       hri_adc_winut_reg_t      win_ut;
-       hri_adc_gaincorr_reg_t   gain_corr;
-       hri_adc_offsetcorr_reg_t offset_corr;
-       hri_adc_dbgctrl_reg_t    dbg_ctrl;
-       hri_adc_seqctrl_reg_t    seq_ctrl;
-};
-
-#define ADC_AMOUNT (CONF_ADC_0_ENABLE + CONF_ADC_1_ENABLE)
-
-/**
- * \brief Array of ADC configurations
- */
-static const struct adc_configuration _adcs[] = {
-#if CONF_ADC_0_ENABLE == 1
-    ADC_CONFIGURATION(0),
-#endif
-#if CONF_ADC_1_ENABLE == 1
-    ADC_CONFIGURATION(1),
-#endif
-};
-
-static void _adc_set_reference_source(void *const hw, const adc_reference_t reference);
-
-/**
- * \brief Retrieve ordinal number of the given adc hardware instance
- */
-static uint8_t _adc_get_hardware_index(const void *const hw)
-{
-
-       (void)hw;
-       return 0;
-}
-
-/** \brief Return the pointer to register settings of specific ADC
- *  \param[in] hw_addr The hardware register base address.
- *  \return Pointer to register settings of specific ADC.
- */
-static uint8_t _adc_get_regs(const uint32_t hw_addr)
-{
-       uint8_t n = _adc_get_hardware_index((const void *)hw_addr);
-       uint8_t i;
-
-       for (i = 0; i < sizeof(_adcs) / sizeof(struct adc_configuration); i++) {
-               if (_adcs[i].number == n) {
-                       return i;
-               }
-       }
-
-       ASSERT(false);
-       return 0;
-}
-
-/**
- * \brief Retrieve IRQ number for the given hardware instance
- */
-static uint8_t _adc_get_irq_num(const struct _adc_async_device *const device)
-{
-
-       (void)device;
-       return ADC_IRQn;
-}
-
-/**
- * \brief Init irq param with the given afec hardware instance
- */
-static void _adc_init_irq_param(const void *const hw, struct _adc_async_device *dev)
-{
-       (void)hw;
-       (void)dev;
-}
-
-/**
- * \brief Initialize ADC
- *
- * \param[in] hw The pointer to hardware instance
- * \param[in] i The number of hardware instance
- */
-static int32_t _adc_init(void *const hw, const uint8_t i)
-{
-       uint16_t calib_reg = 0;
-       calib_reg          = ADC_CALIB_BIASREFBUF((*(uint32_t *)ADC_FUSES_BIASREFBUF_ADDR >> ADC_FUSES_BIASREFBUF_Pos))
-                   | ADC_CALIB_BIASCOMP((*(uint32_t *)ADC_FUSES_BIASCOMP_ADDR >> ADC_FUSES_BIASCOMP_Pos));
-
-       ASSERT(hw == ADC);
-
-       if (!hri_adc_is_syncing(hw, ADC_SYNCBUSY_SWRST)) {
-               if (hri_adc_get_CTRLA_reg(hw, ADC_CTRLA_ENABLE)) {
-                       hri_adc_clear_CTRLA_ENABLE_bit(hw);
-                       hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_ENABLE);
-               }
-               hri_adc_write_CTRLA_reg(hw, ADC_CTRLA_SWRST);
-       }
-       hri_adc_wait_for_sync(hw, ADC_SYNCBUSY_SWRST);
-
-       hri_adc_write_CALIB_reg(hw, calib_reg);
-       hri_adc_write_CTRLB_reg(hw, _adcs[i].ctrl_b);
-       hri_adc_write_REFCTRL_reg(hw, _adcs[i].ref_ctrl);
-       hri_adc_write_EVCTRL_reg(hw, _adcs[i].ev_ctrl);
-       hri_adc_write_INPUTCTRL_reg(hw, _adcs[i].input_ctrl);
-       hri_adc_write_CTRLC_reg(hw, _adcs[i].ctrl_c);
-       hri_adc_write_AVGCTRL_reg(hw, _adcs[i].avg_ctrl);
-       hri_adc_write_SAMPCTRL_reg(hw, _adcs[i].samp_ctrl);
-       hri_adc_write_WINLT_reg(hw, _adcs[i].win_lt);
-       hri_adc_write_WINUT_reg(hw, _adcs[i].win_ut);
-       hri_adc_write_GAINCORR_reg(hw, _adcs[i].gain_corr);
-       hri_adc_write_OFFSETCORR_reg(hw, _adcs[i].offset_corr);
-       hri_adc_write_DBGCTRL_reg(hw, _adcs[i].dbg_ctrl);
-       hri_adc_write_SEQCTRL_reg(hw, _adcs[i].seq_ctrl);
-       hri_adc_write_CTRLA_reg(hw, _adcs[i].ctrl_a);
-
-       return ERR_NONE;
-}
-
-/**
- * \brief De-initialize ADC
- *
- * \param[in] hw The pointer to hardware instance
- */
-static inline void _adc_deinit(void *hw)
-{
-       hri_adc_clear_CTRLA_ENABLE_bit(hw);
-       hri_adc_set_CTRLA_SWRST_bit(hw);
-}
-
-/**
- * \brief Initialize ADC
- */
-int32_t _adc_sync_init(struct _adc_sync_device *const device, void *const hw)
-{
-       ASSERT(device);
-
-       device->hw = hw;
-
-       return _adc_init(hw, _adc_get_regs((uint32_t)hw));
-}
-
-/**
- * \brief Initialize ADC
- */
-int32_t _adc_async_init(struct _adc_async_device *const device, void *const hw)
-{
-       int32_t init_status;
-
-       ASSERT(device);
-
-       init_status = _adc_init(hw, _adc_get_regs((uint32_t)hw));
-       if (init_status) {
-               return init_status;
-       }
-       device->hw = hw;
-       _adc_init_irq_param(hw, device);
-       NVIC_DisableIRQ(_adc_get_irq_num(device));
-       NVIC_ClearPendingIRQ(_adc_get_irq_num(device));
-       NVIC_EnableIRQ(_adc_get_irq_num(device));
-
-       return ERR_NONE;
-}
-
-/**
- * \brief Initialize ADC
- */
-int32_t _adc_dma_init(struct _adc_dma_device *const device, void *const hw)
-{
-       ASSERT(device);
-
-       device->hw = hw;
-
-       return _adc_init(hw, _adc_get_regs((uint32_t)hw));
-}
-
-/**
- * \brief De-initialize ADC
- */
-void _adc_sync_deinit(struct _adc_sync_device *const device)
-{
-       _adc_deinit(device->hw);
-}
-
-/**
- * \brief De-initialize ADC
- */
-void _adc_async_deinit(struct _adc_async_device *const device)
-{
-       NVIC_DisableIRQ(_adc_get_irq_num(device));
-       NVIC_ClearPendingIRQ(_adc_get_irq_num(device));
-
-       _adc_deinit(device->hw);
-}
-
-/**
- * \brief De-initialize ADC
- */
-void _adc_dma_deinit(struct _adc_dma_device *const device)
-{
-       _adc_deinit(device->hw);
-}
-
-/**
- * \brief Enable ADC
- */
-void _adc_sync_enable_channel(struct _adc_sync_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_set_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Enable ADC
- */
-void _adc_async_enable_channel(struct _adc_async_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_set_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Enable ADC
- */
-void _adc_dma_enable_channel(struct _adc_dma_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_set_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Disable ADC
- */
-void _adc_sync_disable_channel(struct _adc_sync_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_clear_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Disable ADC
- */
-void _adc_async_disable_channel(struct _adc_async_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_clear_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Disable ADC
- */
-void _adc_dma_disable_channel(struct _adc_dma_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_clear_CTRLA_ENABLE_bit(device->hw);
-}
-
-/**
- * \brief Return address of ADC DMA source
- */
-uint32_t _adc_get_source_for_dma(struct _adc_dma_device *const device)
-{
-       return (uint32_t) & (((Adc *)(device->hw))->RESULT.reg);
-}
-
-/**
- * \brief Retrieve ADC conversion data size
- */
-uint8_t _adc_sync_get_data_size(const struct _adc_sync_device *const device)
-{
-       return hri_adc_read_CTRLC_RESSEL_bf(device->hw) == ADC_CTRLC_RESSEL_8BIT_Val ? 1 : 2;
-}
-
-/**
- * \brief Retrieve ADC conversion data size
- */
-uint8_t _adc_async_get_data_size(const struct _adc_async_device *const device)
-{
-       return hri_adc_read_CTRLC_RESSEL_bf(device->hw) == ADC_CTRLC_RESSEL_8BIT_Val ? 1 : 2;
-}
-
-/**
- * \brief Retrieve ADC conversion data size
- */
-uint8_t _adc_dma_get_data_size(const struct _adc_dma_device *const device)
-{
-       return hri_adc_read_CTRLC_RESSEL_bf(device->hw) == ADC_CTRLC_RESSEL_8BIT_Val ? 1 : 2;
-}
-
-/**
- * \brief Check if conversion is done
- */
-bool _adc_sync_is_channel_conversion_done(const struct _adc_sync_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       return hri_adc_get_interrupt_RESRDY_bit(device->hw);
-}
-
-/**
- * \brief Check if conversion is done
- */
-bool _adc_async_is_channel_conversion_done(const struct _adc_async_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       return hri_adc_get_interrupt_RESRDY_bit(device->hw);
-}
-
-/**
- * \brief Check if conversion is done
- */
-bool _adc_dma_is_conversion_done(const struct _adc_dma_device *const device)
-{
-       return hri_adc_get_interrupt_RESRDY_bit(device->hw);
-}
-
-/**
- * \brief Make conversion
- */
-void _adc_sync_convert(struct _adc_sync_device *const device)
-{
-       hri_adc_set_SWTRIG_START_bit(device->hw);
-}
-
-/**
- * \brief Make conversion
- */
-void _adc_async_convert(struct _adc_async_device *const device)
-{
-       hri_adc_set_SWTRIG_START_bit(device->hw);
-}
-
-/**
- * \brief Make conversion
- */
-void _adc_dma_convert(struct _adc_dma_device *const device)
-{
-       hri_adc_set_SWTRIG_START_bit(device->hw);
-}
-
-/**
- * \brief Retrieve the conversion result
- */
-uint16_t _adc_sync_read_channel_data(const struct _adc_sync_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       return hri_adc_read_RESULT_reg(device->hw);
-}
-
-/**
- * \brief Retrieve the conversion result
- */
-uint16_t _adc_async_read_channel_data(const struct _adc_async_device *const device, const uint8_t channel)
-{
-       (void)channel;
-
-       return hri_adc_read_RESULT_reg(device->hw);
-}
-
-/**
- * \brief Set reference source
- */
-void _adc_sync_set_reference_source(struct _adc_sync_device *const device, const adc_reference_t reference)
-{
-       _adc_set_reference_source(device->hw, reference);
-}
-
-/**
- * \brief Set reference source
- */
-void _adc_async_set_reference_source(struct _adc_async_device *const device, const adc_reference_t reference)
-{
-       _adc_set_reference_source(device->hw, reference);
-}
-
-/**
- * \brief Set reference source
- */
-void _adc_dma_set_reference_source(struct _adc_dma_device *const device, const adc_reference_t reference)
-{
-       _adc_set_reference_source(device->hw, reference);
-}
-
-/**
- * \brief Set resolution
- */
-void _adc_sync_set_resolution(struct _adc_sync_device *const device, const adc_resolution_t resolution)
-{
-       hri_adc_write_CTRLC_RESSEL_bf(device->hw, resolution);
-}
-
-/**
- * \brief Set resolution
- */
-void _adc_async_set_resolution(struct _adc_async_device *const device, const adc_resolution_t resolution)
-{
-       hri_adc_write_CTRLC_RESSEL_bf(device->hw, resolution);
-}
-
-/**
- * \brief Set resolution
- */
-void _adc_dma_set_resolution(struct _adc_dma_device *const device, const adc_resolution_t resolution)
-{
-       hri_adc_write_CTRLC_RESSEL_bf(device->hw, resolution);
-}
-
-/**
- * \brief Set channels input sources
- */
-void _adc_sync_set_inputs(struct _adc_sync_device *const device, const adc_pos_input_t pos_input,
-                          const adc_neg_input_t neg_input, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_write_INPUTCTRL_MUXPOS_bf(device->hw, pos_input);
-       hri_adc_write_INPUTCTRL_MUXNEG_bf(device->hw, neg_input);
-}
-
-/**
- * \brief Set channels input sources
- */
-void _adc_async_set_inputs(struct _adc_async_device *const device, const adc_pos_input_t pos_input,
-                           const adc_neg_input_t neg_input, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_write_INPUTCTRL_MUXPOS_bf(device->hw, pos_input);
-       hri_adc_write_INPUTCTRL_MUXNEG_bf(device->hw, neg_input);
-}
-
-/**
- * \brief Set channels input source
- */
-void _adc_dma_set_inputs(struct _adc_dma_device *const device, const adc_pos_input_t pos_input,
-                         const adc_neg_input_t neg_input, const uint8_t channel)
-{
-       (void)channel;
-
-       hri_adc_write_INPUTCTRL_MUXPOS_bf(device->hw, pos_input);
-       hri_adc_write_INPUTCTRL_MUXNEG_bf(device->hw, neg_input);
-}
-
-/**
- * \brief Set thresholds
- */
-void _adc_sync_set_thresholds(struct _adc_sync_device *const device, const adc_threshold_t low_threshold,
-                              const adc_threshold_t up_threshold)
-{
-       hri_adc_write_WINLT_reg(device->hw, low_threshold);
-       hri_adc_write_WINUT_reg(device->hw, up_threshold);
-}
-
-/**
- * \brief Set thresholds
- */
-void _adc_async_set_thresholds(struct _adc_async_device *const device, const adc_threshold_t low_threshold,
-                               const adc_threshold_t up_threshold)
-{
-       hri_adc_write_WINLT_reg(device->hw, low_threshold);
-       hri_adc_write_WINUT_reg(device->hw, up_threshold);
-}
-
-/**
- * \brief Set thresholds
- */
-void _adc_dma_set_thresholds(struct _adc_dma_device *const device, const adc_threshold_t low_threshold,
-                             const adc_threshold_t up_threshold)
-{
-       hri_adc_write_WINLT_reg(device->hw, low_threshold);
-       hri_adc_write_WINUT_reg(device->hw, up_threshold);
-}
-
-/**
- * \brief Set gain
- */
-void _adc_sync_set_channel_gain(struct _adc_sync_device *const device, const uint8_t channel, const adc_gain_t gain)
-{
-       (void)device, (void)channel, (void)gain;
-}
-
-/**
- * \brief Set gain
- */
-void _adc_async_set_channel_gain(struct _adc_async_device *const device, const uint8_t channel, const adc_gain_t gain)
-{
-       (void)device, (void)channel, (void)gain;
-}
-
-/**
- * \brief Set gain
- */
-void _adc_dma_set_channel_gain(struct _adc_dma_device *const device, const uint8_t channel, const adc_gain_t gain)
-{
-       (void)device, (void)channel, (void)gain;
-}
-
-/**
- * \brief Set conversion mode
- */
-void _adc_sync_set_conversion_mode(struct _adc_sync_device *const device, const enum adc_conversion_mode mode)
-{
-       if (ADC_CONVERSION_MODE_FREERUN == mode) {
-               hri_adc_set_CTRLC_FREERUN_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_FREERUN_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set conversion mode
- */
-void _adc_async_set_conversion_mode(struct _adc_async_device *const device, const enum adc_conversion_mode mode)
-{
-       if (ADC_CONVERSION_MODE_FREERUN == mode) {
-               hri_adc_set_CTRLC_FREERUN_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_FREERUN_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set conversion mode
- */
-void _adc_dma_set_conversion_mode(struct _adc_dma_device *const device, const enum adc_conversion_mode mode)
-{
-       if (ADC_CONVERSION_MODE_FREERUN == mode) {
-               hri_adc_set_CTRLC_FREERUN_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_FREERUN_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set differential mode
- */
-void _adc_sync_set_channel_differential_mode(struct _adc_sync_device *const device, const uint8_t channel,
-                                             const enum adc_differential_mode mode)
-{
-       (void)channel;
-
-       if (ADC_DIFFERENTIAL_MODE_DIFFERENTIAL == mode) {
-               hri_adc_set_CTRLC_DIFFMODE_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_DIFFMODE_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set differential mode
- */
-void _adc_async_set_channel_differential_mode(struct _adc_async_device *const device, const uint8_t channel,
-                                              const enum adc_differential_mode mode)
-{
-       (void)channel;
-
-       if (ADC_DIFFERENTIAL_MODE_DIFFERENTIAL == mode) {
-               hri_adc_set_CTRLC_DIFFMODE_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_DIFFMODE_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set differential mode
- */
-void _adc_dma_set_channel_differential_mode(struct _adc_dma_device *const device, const uint8_t channel,
-                                            const enum adc_differential_mode mode)
-{
-       (void)channel;
-
-       if (ADC_DIFFERENTIAL_MODE_DIFFERENTIAL == mode) {
-               hri_adc_set_CTRLC_DIFFMODE_bit(device->hw);
-       } else {
-               hri_adc_clear_CTRLC_DIFFMODE_bit(device->hw);
-       }
-}
-
-/**
- * \brief Set window mode
- */
-void _adc_sync_set_window_mode(struct _adc_sync_device *const device, const adc_window_mode_t mode)
-{
-       hri_adc_write_CTRLC_WINMODE_bf(device->hw, mode);
-}
-
-/**
- * \brief Set window mode
- */
-void _adc_async_set_window_mode(struct _adc_async_device *const device, const adc_window_mode_t mode)
-{
-       hri_adc_write_CTRLC_WINMODE_bf(device->hw, mode);
-}
-
-/**
- * \brief Set window mode
- */
-void _adc_dma_set_window_mode(struct _adc_dma_device *const device, const adc_window_mode_t mode)
-{
-       hri_adc_write_CTRLC_WINMODE_bf(device->hw, mode);
-}
-
-/**
- * \brief Retrieve threshold state
- */
-void _adc_sync_get_threshold_state(const struct _adc_sync_device *const device, adc_threshold_status_t *const state)
-{
-       *state = hri_adc_get_interrupt_WINMON_bit(device->hw);
-}
-
-/**
- * \brief Retrieve threshold state
- */
-void _adc_async_get_threshold_state(const struct _adc_async_device *const device, adc_threshold_status_t *const state)
-{
-       *state = hri_adc_get_interrupt_WINMON_bit(device->hw);
-}
-
-/**
- * \brief Retrieve threshold state
- */
-void _adc_dma_get_threshold_state(const struct _adc_dma_device *const device, adc_threshold_status_t *const state)
-{
-       *state = hri_adc_get_interrupt_WINMON_bit(device->hw);
-}
-
-/**
- * \brief Enable/disable ADC channel interrupt
- */
-void _adc_async_set_irq_state(struct _adc_async_device *const device, const uint8_t channel,
-                              const enum _adc_async_callback_type type, const bool state)
-{
-       (void)channel;
-
-       void *const hw = device->hw;
-
-       if (ADC_ASYNC_DEVICE_MONITOR_CB == type) {
-               hri_adc_write_INTEN_WINMON_bit(hw, state);
-       } else if (ADC_ASYNC_DEVICE_ERROR_CB == type) {
-               hri_adc_write_INTEN_OVERRUN_bit(hw, state);
-       } else if (ADC_ASYNC_DEVICE_CONVERT_CB == type) {
-               hri_adc_write_INTEN_RESRDY_bit(hw, state);
-       }
-}
-
-/**
- * \brief Retrieve ADC sync helper functions
- */
-void *_adc_get_adc_sync(void)
-{
-       return (void *)NULL;
-}
-
-/**
- * \brief Retrieve ADC async helper functions
- */
-void *_adc_get_adc_async(void)
-{
-       return (void *)NULL;
-}
-
-/**
- * \brief Set ADC reference source
- *
- * \param[in] hw The pointer to hardware instance
- * \param[in] reference The reference to set
- */
-static void _adc_set_reference_source(void *const hw, const adc_reference_t reference)
-{
-       bool enabled = hri_adc_get_CTRLA_ENABLE_bit(hw);
-
-       hri_adc_clear_CTRLA_ENABLE_bit(hw);
-       hri_adc_write_REFCTRL_REFSEL_bf(hw, reference);
-
-       if (enabled) {
-               hri_adc_set_CTRLA_ENABLE_bit(hw);
-       }
-}
diff --git a/watch-library/hpl/adc/hpl_adc_base.h b/watch-library/hpl/adc/hpl_adc_base.h
deleted file mode 100644 (file)
index e9b9528..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * \file
- *
- * \brief ADC related functionality declaration.
- *
- * Copyright (c) 2016-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
- *
- */
-
-#ifndef _HPL_ADC_ADC_H_INCLUDED
-#define _HPL_ADC_ADC_H_INCLUDED
-
-#include <hpl_adc_sync.h>
-#include <hpl_adc_async.h>
-
-/**
- * \addtogroup HPL ADC
- *
- * \section hpl_adc_rev Revision History
- * - v1.0.0 Initial Release
- *
- *@{
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \name HPL functions
- */
-//@{
-
-/**
- * \brief Retrieve ADC helper functions
- *
- * \return A pointer to set of ADC helper functions
- */
-void *_adc_get_adc_sync(void);
-void *_adc_get_adc_async(void);
-
-//@}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _HPL_USART_UART_H_INCLUDED */
diff --git a/watch-library/hpl/tc/hpl_tc.c b/watch-library/hpl/tc/hpl_tc.c
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/watch-library/hpl/tc/hpl_tc_base.h b/watch-library/hpl/tc/hpl_tc_base.h
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/watch-library/hpl/tcc/hpl_tcc.c b/watch-library/hpl/tcc/hpl_tcc.c
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/watch-library/hpl/tcc/hpl_tcc.h b/watch-library/hpl/tcc/hpl_tcc.h
deleted file mode 100644 (file)
index e69de29..0000000
index 564ec7a729cbdc96a1e423f35571a0809c231f20..273852cfad3f324913f22b4a4a01576009bf03f7 100644 (file)
 #include <utils.h>
 #include <hal_init.h>
 
-#include <hpl_adc_base.h>
-
 struct slcd_sync_descriptor SEGMENT_LCD_0;
 
 struct calendar_descriptor CALENDAR_0;
 
 struct i2c_m_sync_desc I2C_0;
 
-struct pwm_descriptor PWM_0;
-
-struct pwm_descriptor PWM_1;
-
 void CALENDAR_0_CLOCK_init(void) {
        hri_mclk_set_APBAMASK_RTC_bit(MCLK);
 }
index 1e53f9a0705c5633f4f7581fb2ea1a25140ed826..a6a3b5656983dbc1360a0b09ee6f8441a0d92ae8 100644 (file)
@@ -20,22 +20,10 @@ extern "C" {
 #include <hal_init.h>
 #include <hal_io.h>
 #include <hal_sleep.h>
-
-#include <hal_adc_sync.h>
-
 #include <hal_ext_irq.h>
-
 #include <hal_calendar.h>
-
 #include <hal_i2c_m_sync.h>
-
 #include <hal_delay.h>
-#include <hpl_tc_base.h>
-#include <hal_pwm.h>
-#include <hpl_tc_base.h>
-
-#include <hal_pwm.h>
-#include <hpl_tcc.h>
 #include <hal_slcd_sync.h>
 
 extern struct adc_sync_descriptor ADC_0;