Appendix B - Acquisition Module API Reference

------------------------------------------------------------------------------
touch_ret_t qtm_acquisition_process(void)
------------------------------------------------------------------------------
Purpose: Signal capture and processing
Input  : (Measured signals, config)
Output : touch_ret_t
Notes  : Called by application after 'touch_measure_complete_callback'

------------------------------------------------------------------------------
touch_ret_t qtm_ptc_init_acquisition_module(qtm_acquisition_control_t* qtm_acq_control_ptr);
------------------------------------------------------------------------------
Purpose: Initialize the PTC & Assign pins
Input  : pointer to acquisition set
Output : touch_ret_t: TOUCH_SUCCESS or INVALID_PARAM
Notes  : ptc_init_acquisition module must be called ONLY once with a pointer to each config set

------------------------------------------------------------------------------
touch_ret_t qtm_ptc_qtlib_assign_signal_memory(uint16_t* qtm_signal_raw_data_ptr);
------------------------------------------------------------------------------
Purpose: Assign raw signals pointer to array defined in application code
Input  : pointer to raw data array
Output : touch_ret_t: TOUCH_SUCCESS
Notes  : none

------------------------------------------------------------------------------
touch_ret_t qtm_enable_sensor_node(qtm_acquisition_control_t* qtm_acq_control_ptr, uint16_t qtm_which_node_number);
------------------------------------------------------------------------------
Purpose:  Enables a sensor node for measurement
Input  :  Node configurations pointer, node (channel) number
Output : touch_ret_t:
Notes  : none

------------------------------------------------------------------------------
touch_ret_t qtm_calibrate_sensor_node(ptc_seq_acq_settings* qtm_acq_control_l_ptr, uint16_t which_node_number)
------------------------------------------------------------------------------
Purpose:  Marks a sensor node for calibration
Input  :  Node configurations pointer, node (channel) number
Output : touch_ret_t:
Notes  : none

------------------------------------------------------------------------------
touch_ret_t qtm_ptc_start_measurement_seq(qtm_acquisition_control_t* qtm_acq_control_pointer, void (*measure_complete_callback) (void));
------------------------------------------------------------------------------
Purpose:  Loads touch configurations for first channel and start,  
Input  :  Node configurations pointer, measure complete callback pointer
Output : touch_ret_t:
Notes  : none

------------------------------------------------------------------------------
touch_ret_t qtm_autoscan_sensor_node(qtm_auto_scan_config_t* qtm_auto_scan_config_ptr, void (*auto_scan_callback)(void));
------------------------------------------------------------------------------
Purpose: Configures the PTC for sleep mode measurement of a single node, with window comparator wake
Input  : Acquisition set, channel number, threshold, scan trigger
Output : touch_ret_t
Notes  : none

------------------------------------------------------------------------------
touch_ret_t qtm_autoscan_node_cancel(void)
------------------------------------------------------------------------------
Purpose: Cancel auto-scan config
Input  : None
Output : touch_ret_t
Notes  : none

------------------------------------------------------------------------------
void qtm_ptc_de_init(void)
------------------------------------------------------------------------------
Purpose: Clear PTC Pin registers, set TOUCH_STATE_NULL
Input  : none
Output : none
Notes  : This API function is used to RESET the PTC during runtime without power cycle the hardware. The application may include this function as part of other soft reset functions to restart the application at runtime.

------------------------------------------------------------------------------
uint16_t qtm_<device_family>_acq_module_get_id(void) 
Applicable <device_family> = m328pb,m324pb,t81x,t161x,samd1x,samd20,samd21,samda1,same51,same53,same54,samd51,tiny321x,samc20,samc21,saml21,saml22,samha1,saml10,saml11,avr_da    
------------------------------------------------------------------------------
Purpose: Returns the module ID
Input  : none
Output : Module ID
Notes  : none

------------------------------------------------------------------------------
uint8_t qtm_<device_family>_acq_module_get_version(void);
Applicable <device_family> = m328pb,m324pb,t81x,t161x,samd1x,samd20,samd21,samda1,same51,same53,same54,samd51,tiny321x,samc20,samc21,saml21,saml22,samha1,saml10,saml11,avr_da    
------------------------------------------------------------------------------
Purpose: Returns the module Firmware version
Input  : none
Output : Module ID - Upper nibble major / Lower nibble minor
Notes  : none

------------------------------------------------------------------------------
void qtm_ptc_clear_interrupt(void) -> ARM Cortex SAMD10,SAMD11,SAME51/E53/E54/D51 
------------------------------------------------------------------------------
Purpose :  Clears the eoc/wcomp interrupt bits
Input   :  none
Output  :  none
Notes   :  none

------------------------------------------------------------------------------
void qtm_<device_family>_ptc_handler_eoc(void) 
Applicable <device_family> = m328pb,m324pb,t81x,t161x,samd1x,samd20,samd21,samda1,same51,same53,same54,samd51,tiny321x,samc20,samc21,saml21,saml22,samha1,saml10,saml11,avr_da   
------------------------------------------------------------------------------
Purpose :  Captures  the  measurement,  starts  the  next  or  End  Of  Sequence  handler
Input   :  none
Output  :  none
Notes   :  none

------------------------------------------------------------------------------
void qtm_<device_family>_ptc_handler_wcomp(void) 
Applicable <device_family> = m328pb,m324pb,t81x,t161x,samd1x,samd20,samd21,samda1,same51,same53,same54,samd51,tiny321x,samc20,samc21,saml21,saml22,samha1,saml10,saml11,avr_da   
------------------------------------------------------------------------------
Purpose :  Captures  the  measurement,  calls the callback
Input   :  none
Output  :  none
Notes   :  none