MSP430 DriverLib for MSP430FR5xx_6xx Devices  2.91.13.01
saph.h
1 //*****************************************************************************
2 //
3 // saph.h - Driver for the SAPH Module.
4 //
5 //*****************************************************************************
6 
7 #ifndef __MSP430WARE_SAPH_H__
8 #define __MSP430WARE_SAPH_H__
9 
10 #include "inc/hw_memmap.h"
11 
12 #ifdef __MSP430_HAS_SAPH__
13 
14 //*****************************************************************************
15 //
16 // If building with a C++ compiler, make all of the definitions in this header
17 // have a C binding.
18 //
19 //*****************************************************************************
20 #ifdef __cplusplus
21 extern "C"
22 {
23 #endif
24 
25 //*****************************************************************************
26 //
27 // The following value specifies how many configurable channels in physcial
28 // interface.
29 //
30 //*****************************************************************************
31 #define SAPH_PHY_CHANNEL_COUNT 2
32 
33 typedef struct _phy_param {
34  //! Is the physical output channel to configure.
35  //! \n Valid values are:
36  //! - \b SAPH_PHY_CHANNEL_1
37  //! - \b SAPH_PHY_CHANNEL_2
38  uint16_t channel;
39  //! Is the channel output value.
40  //! \n Valid values are:
41  //! - \b SAPH_PHY_OUTPUT_HIGH
42  //! - \b SAPH_PHY_OUTPUT_LOW [Default]
43  uint16_t outputValue;
44  //! Is the channel output enable.
45  //! \n Valid values are:
46  //! - \b SAPH_PHY_OUTPUT_ENABLE
47  //! - \b SAPH_PHY_OUTPUT_DISABLE [Default]
48  uint16_t enableOutput;
49  //! Is the channel output full pull enable.
50  //! \n Valid values are:
51  //! - \b SAPH_PHY_FULLPULL_ENABLE
52  //! - \b SAPH_PHY_FULLPULL_DISABLE [Default]
53  uint16_t enableFullPull;
54  //! Is the channel output termination enable.
55  //! \n Valid values are:
56  //! - \b SAPH_PHY_TERMINATION_ENABLE
57  //! - \b SAPH_PHY_TERMINATION_DISABLE [Default]
59  //! Is the channel output functional select.
60  //! \n Valid values are:
61  //! - \b SAPH_PHY_OUTPUT_GENERAL_PURPOSE [Default]
62  //! - \b SAPH_PHY_OUTPUT_PULSEGENERATOR_SINGLE_DRIVE
63  //! - \b SAPH_PHY_OUTPUT_PULSEGENERATOR_DIFFERENTIAL_DRIVE
64  uint16_t outputFunction;
65  //! Is the channel pull up trim pattern.
66  uint16_t pullUpTrim;
67  //! Is the channel pull down trim pattern.
68  uint16_t pullDownTrim;
69  //! Is the channel termination trim pattern.
70  uint16_t terminationTrim;
72 
73 typedef struct _phy_bias {
74  //! Selects the channel for excitation bias switch.
75  //! \n Valid values are:
76  //! - \b SAPH_PHY_BIAS_SWITCH_OPEN [Default]
77  //! - \b SAPH_PHY_BIAS_SWITCH_CLOSED
78  uint16_t biasSwitch[SAPH_PHY_CHANNEL_COUNT];
79  //! Selects PGA bias.
80  //! \n Valid values are:
81  //! - \b SAPH_PHY_PGA_BIAS_GROUNDED
82  //! - \b SAPH_PHY_PGA_BIAS_LOW_VALUE
83  //! - \b SAPH_PHY_PGA_BIAS_NOMINAL_VALUE
84  //! - \b SAPH_PHY_PGA_BIAS_HIGH_VALUE
85  uint16_t biasPGA;
86  //! Selects excitation bias.
87  //! \n Valid values are:
88  //! - \b SAPH_PHY_EXCITATION_BIAS_GROUNDED
89  //! - \b SAPH_PHY_EXCITATION_BIAS_LOW_VALUE
90  //! - \b SAPH_PHY_EXCITATION_BIAS_NOMINAL_VALUE
91  //! - \b SAPH_PHY_EXCITATION_BIAS_HIGH_VALUE
92  uint16_t biasExcitation;
93  //! Enables charge pump during acquisition.
94  //! \n Valid values are:
95  //! - \b SAPH_PHY_MULTIPLEXER_CHARGEPUMP_ENABLE
96  //! - \b SAPH_PHY_MULTIPLEXER_CHARGEPUMP_DISABLE
97  uint16_t enableChargePump;
98  //! Enables line input leakage compensation.
99  //! \n Valid values are:
100  //! - \b SAPH_PHY_LEAKAGE_COMPENSATION_ENABLE
101  //! - \b SAPH_PHY_LEAKAGE_COMPENSATION_DISABLE
103  //! Selects PGA bias switch open or closed.
104  //! \n Valid values are:
105  //! - \b SAPH_PHY_PGA_BIAS_SWITCH_OPEN
106  //! - \b SAPH_PHY_PGA_BIAS_SWITCH_CLOSED
107  uint16_t biasSwitchPGA;
108  //! Select ASQ bias switch control.
109  //! \n Valid values are:
110  //! - \b SAPH_PHY_BIAS_SWITCH_CONTROLLED_BY_REGISTER
111  //! - \b SAPH_PHY_BIAS_SWITCH_CONTROLLED_BY_ASQ
112  uint16_t biasSwitchASQ;
114 
115 typedef struct _ppg_count
116 {
117  //! Selects high impedance input.
118  //! \n Valid values are:
119  //! - \b SAPH_PPG_HIGH_IMPEDANCE_ON_PAUSE_OUTPUTDRIVE
120  //! - \b SAPH_PPG_HIGH_IMPEDANCE_ON_PAUSE_PLEV
121  uint16_t highImpedance;
122  //! Sets the pause level high or low.
123  //! \n Valid values are:
124  //! - \b SAPH_PPG_PAUSE_LEVEL_LOW
125  //! - \b SAPH_PPG_PAUSE_LEVEL_HIGH
126  uint16_t pauseLevel;
127  //! Sets the pause polarity high or low.
128  //! \n Valid values are:
129  //! - \b SAPH_PPG_PAUSE_POLARITY_HIGH
130  //! - \b SAPH_PPG_PAUSE_POLARITY_LOW
131  uint16_t pausePolarity;
132  //! Sets the stop pulse count.
133  uint16_t stopPauseCount;
134  //! Sets the excitation pulse count.
137 
138 typedef struct _ppg_config
139 {
140  //! Enables PPG prescaler.
141  //! \n Valid values are:
142  //! - \b SAPH_PPG_PRESCALER_ENABLE
143  //! - \b SAPH_PPG_PRESCALER_DISABLE
144  uint16_t enablePrescaler;
145  //! Selects PPG trigger source.
146  //! \n Valid values are:
147  //! - \b SAPH_PPG_TRIGGER_SOURCE_SOFTWARE
148  //! - \b SAPH_PPG_TRIGGER_SOURCE_ASQ
149  //! - \b SAPH_PPG_TRIGGER_SOURCE_TIMER
150  uint16_t triggerSource;
151  //! Selects PPG channel.
152  //! \n Valid values are:
153  //! - \b SAPH_PPG_CHANNEL_0
154  //! - \b SAPH_PPG_CHANNEL_1
155  uint16_t channelSelect;
156  //! Selects PPG or ASEQ in charge of PHY port.
157  //! \n Valid values are:
158  //! - \b SAPH_PPG_PORT_CHARGED_BY_PPG
159  //! - \b SAPH_PPG_PORT_CHARGED_BY_ASEQ
160  uint16_t portSelect;
162 
163 typedef struct _asq_config
164 {
165  //! Enables ASQ abort on errors if the conversion result is outside of expected
166  //! value or an overflow/underflow condition occured.
167  //! \n Valid values are:
168  //! - \b SAPH_ASQ_ABORT_ON_ERROR_ENABLE
169  //! - \b SAPH_ASQ_ABORT_ON_ERROR_DISABLE
170  uint16_t abortOnError;
171  //! Selects ASQ trigger source.
172  //! \n Valid values are:
173  //! - \b SAPH_ASQ_TRIGGER_SOURCE_SOFTWARE
174  //! - \b SAPH_ASQ_TRIGGER_SOURCE_P_SEQUENCER
175  //! - \b SAPH_ASQ_TRIGGER_SOURCE_TIMER
176  uint16_t triggerSource;
177  //! Selects ASQ channel.
178  //! \n Valid values are:
179  //! - \b SAPH_ASQ_CHANNEL_0
180  //! - \b SAPH_ASQ_CHANNEL_1
181  uint16_t channelSelect;
182  //! Selects pwn channel or opposite side channel to receive.
183  //! \n Valid values are:
184  //! - \b SAPH_ASQ_IDENTICAL_CHANNEL
185  //! - \b SAPH_ASQ_DIFFERENT_CHANNEL
186  uint16_t sideOfChannel;
187  //! Selects standby indication.
188  //! \n Valid values are:
189  //! - \b SAPH_ASQ_STANDBY_INDICATION_POWEROFF
190  //! - \b SAPH_ASQ_STANDBY_INDICATION_STANDBY
192  //! Requests OFF in the end of sequence.
193  //! \n Valid values are:
194  //! - \b SAPH_ASQ_END_OF_SEQUENCE_OFF_DISABLE
195  //! - \b SAPH_ASQ_END_OF_SEQUENCE_OFF_ENABLE
196  uint16_t endOfSequence;
197  //! Selects early receive bias generating source.
198  //! \n Valid values are:
199  //! - \b SAPH_ASQ_EARLY_RECEIVE_BIAS_BY_TIMEMARK_C
200  //! - \b SAPH_ASQ_EARLY_RECEIVE_BIAS_BY_TIMEMARK_A
202  //! Enables channel toggle.
203  //! \n Valid values are:
204  //! - \b SAPH_ASQ_TOGGLE_CHANNEL_ENABLE
205  //! - \b SAPH_ASQ_TOGGLE_CHANNEL_DISABLE
208 
209 typedef struct _asq_ping_config
210 {
211  //! Sets ASQ ping counter for polarity.
212  uint16_t polarity;
213  //! Sets ASQ ping counter for pause level.
214  uint16_t pauseLevel;
215  //! Sets ASQ ping counter for high impedance.
218 
219 typedef struct _mcnf_config
220 {
221  //! Enables/disables low power bias operation mode.
222  //! \n Valid values are:
223  //! - \b SAPH_LOW_POWER_BIAS_MODE_DISABLE [Default]
224  //! - \b SAPH_LOW_POWER_BIAS_MODE_ENABLE
226  //! Enables/disables charge pump of the input multiplexer.
227  //! \n Valid values are:
228  //! - \b SAPH_CHARGE_PUMP_ON_SDHS_ASQ_REQUESTS_ONLY [Default]
229  //! - \b SAPH_CHARGE_PUMP_ON_ALWAYS
230  uint16_t chargePump;
231  //! Sets bias impedance for RxBias and TxBias.
232  //! \n Valid values are:
233  //! - \b SAPH_MCNF_500_OHMS_RXBIAS_450_OHMS_TXBIAS
234  //! - \b SAPH_MCNF_900_OHMS_RXBIAS_850_OHMS_TXBIAS
235  //! - \b SAPH_MCNF_1500_OHMS_RXBIAS_1450_OHMS_TXBIAS [Default]
236  //! - \b SAPH_MCNF_2950_OHMS_RXBIAS_2900_OHMS_TXBIAS
237  uint16_t biasImpedance;
239 
240 //*****************************************************************************
241 //
242 // The following are values that can be passed to the mask parameter for
243 // functions: SAPH_clearInterrupt(), SAPH_enableInterrupt(), and
244 // SAPH_disableInterrupt() as well as returned by the
245 // SAPH_getInterruptStatus() function.
246 //
247 //*****************************************************************************
248 #define SAPH_DATA_ERROR_INTERRUPT DATAERR
249 #define SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT TMFTO
250 #define SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT SEQDN
251 #define SAPH_PING_TRANSMIT_DONE_INTERRUPT PNGDN
252 
253 //*****************************************************************************
254 //
255 // The following are values that can be passed to the config parameter for
256 // functions: SAPH_configurePHY().
257 //
258 //*****************************************************************************
259 #define SAPH_PHY_CHANNEL_1 0
260 #define SAPH_PHY_CHANNEL_2 1
261 
262 //*****************************************************************************
263 //
264 // The following are values that can be passed to the config parameter for
265 // functions: SAPH_configurePHY().
266 //
267 //*****************************************************************************
268 #define SAPH_PHY_OUTPUT_HIGH CH0OUT_1
269 #define SAPH_PHY_OUTPUT_LOW CH0OUT_0
270 
271 //*****************************************************************************
272 //
273 // The following are values that can be passed to the config parameter for
274 // functions: SAPH_configurePHY().
275 //
276 //*****************************************************************************
277 #define SAPH_PHY_OUTPUT_ENABLE CH0OE_1
278 #define SAPH_PHY_OUTPUT_DISABLE CH0OE_0
279 
280 //*****************************************************************************
281 //
282 // The following are values that can be passed to the config parameter for
283 // functions: SAPH_configurePHY().
284 //
285 //*****************************************************************************
286 #define SAPH_PHY_FULLPULL_ENABLE CH0FP_1
287 #define SAPH_PHY_FULLPULL_DISABLE CH0FP_0
288 
289 //*****************************************************************************
290 //
291 // The following are values that can be passed to the config parameter for
292 // functions: SAPH_configurePHY().
293 //
294 //*****************************************************************************
295 #define SAPH_PHY_TERMINATION_ENABLE CH0TERM_1
296 #define SAPH_PHY_TERMINATION_DISABLE CH0TERM_0
297 
298 //*****************************************************************************
299 //
300 // The following are values that can be passed to the config parameter for
301 // functions: SAPH_configurePHY().
302 //
303 //*****************************************************************************
304 #define SAPH_PHY_OUTPUT_GENERAL_PURPOSE PCH0SEL_0
305 #define SAPH_PHY_OUTPUT_PULSEGENERATOR_SINGLE_DRIVE PCH0SEL_1
306 #define SAPH_PHY_OUTPUT_PULSEGENERATOR_DIFFERENTIAL_DRIVE PCH0SEL_2
307 
308 //*****************************************************************************
309 //
310 // The following are values that can be passed to the enableDummyLoad parameter
311 // for functions: SAPH_configurePHYMultiplexer().
312 //
313 //*****************************************************************************
314 #define SAPH_PHY_DUMMYLOAD_ENABLE DUMEN_1
315 #define SAPH_PHY_DUMMYLOAD_DISABLE DUMEN_0
316 
317 //*****************************************************************************
318 //
319 // The following are values that can be passed to the sourceControl parameter
320 // for functions: SAPH_configurePHYMultiplexer().
321 //
322 //*****************************************************************************
323 #define SAPH_PHY_SOURCE_CONTROLLED_BY_REGISTER MUXCTL_0
324 #define SAPH_PHY_SOURCE_CONTROLLED_BY_ASQ MUXCTL_1
325 
326 //*****************************************************************************
327 //
328 // The following are values that can be passed to the inputChannel parameter
329 // for functions: SAPH_configurePHYMultiplexer().
330 //
331 //*****************************************************************************
332 #define SAPH_PHY_INPUT_CHANNEL_0 MUXSEL__CH0IN
333 #define SAPH_PHY_INPUT_CHANNEL_1 MUXSEL__CH1IN
334 
335 //*****************************************************************************
336 //
337 // The following are values that can be passed to the config parameter for
338 // functions: SAPH_configurePHYBias().
339 //
340 //*****************************************************************************
341 #define SAPH_PHY_BIAS_SWITCH_OPEN CH0EBSW_0
342 #define SAPH_PHY_BIAS_SWITCH_CLOSED CH0EBSW_1
343 
344 //*****************************************************************************
345 //
346 // The following are values that can be passed to the config parameter for
347 // functions: SAPH_configurePHYBias().
348 //
349 //*****************************************************************************
350 #define SAPH_PHY_PGA_BIAS_GROUNDED PGABIAS_0
351 #define SAPH_PHY_PGA_BIAS_LOW_VALUE PGABIAS_1
352 #define SAPH_PHY_PGA_BIAS_NOMINAL_VALUE PGABIAS_2
353 #define SAPH_PHY_PGA_BIAS_HIGH_VALUE PGABIAS_3
354 
355 //*****************************************************************************
356 //
357 // The following are values that can be passed to the config parameter for
358 // functions: SAPH_configurePHYBias().
359 //
360 //*****************************************************************************
361 #define SAPH_PHY_EXCITATION_BIAS_GROUNDED EXCBIAS_0
362 #define SAPH_PHY_EXCITATION_BIAS_LOW_VALUE EXCBIAS_1
363 #define SAPH_PHY_EXCITATION_BIAS_NOMINAL_VALUE EXCBIAS_2
364 #define SAPH_PHY_EXCITATION_BIAS_HIGH_VALUE EXCBIAS_3
365 
366 //*****************************************************************************
367 //
368 // The following are values that can be passed to the config parameter for
369 // functions: SAPH_configurePHYBias().
370 //
371 //*****************************************************************************
372 #define SAPH_PHY_MULTIPLEXER_CHARGEPUMP_ENABLE CPDA_1
373 #define SAPH_PHY_MULTIPLEXER_CHARGEPUMP_DISABLE CPDA_0
374 
375 //*****************************************************************************
376 //
377 // The following are values that can be passed to the config parameter for
378 // functions: SAPH_configurePHYBias().
379 //
380 //*****************************************************************************
381 #define SAPH_PHY_LEAKAGE_COMPENSATION_ENABLE LILC_1
382 #define SAPH_PHY_LEAKAGE_COMPENSATION_DISABLE LILC_0
383 
384 //*****************************************************************************
385 //
386 // The following are values that can be passed to the config parameter for
387 // functions: SAPH_configurePHYBias().
388 //
389 //*****************************************************************************
390 #define SAPH_PHY_PGA_BIAS_SWITCH_OPEN PGABSW_0
391 #define SAPH_PHY_PGA_BIAS_SWITCH_CLOSED PGABSW_1
392 
393 //*****************************************************************************
394 //
395 // The following are values that can be passed to the config parameter for
396 // functions: SAPH_configurePHYBias().
397 //
398 //*****************************************************************************
399 #define SAPH_PHY_BIAS_SWITCH_CONTROLLED_BY_REGISTER ASQBSC_0
400 #define SAPH_PHY_BIAS_SWITCH_CONTROLLED_BY_ASQ ASQBSC_1
401 
402 //*****************************************************************************
403 //
404 // The following are values that can be passed to the config parameter for
405 // functions: SAPH_configurePPGCount().
406 //
407 //*****************************************************************************
408 #define SAPH_PPG_HIGH_IMPEDANCE_ON_PAUSE_HIGH PHIZ_1
409 #define SAPH_PPG_HIGH_IMPEDANCE_ON_PAUSE_LOW PHIZ_0
410 
411 //*****************************************************************************
412 //
413 // The following are values that can be passed to the config parameter for
414 // functions: SAPH_configurePPGCount().
415 //
416 //*****************************************************************************
417 #define SAPH_PPG_PAUSE_LEVEL_HIGH PLEV_1
418 #define SAPH_PPG_PAUSE_LEVEL_LOW PLEV_0
419 
420 //*****************************************************************************
421 //
422 // The following are values that can be passed to the config parameter for
423 // functions: SAPH_configurePPGCount().
424 //
425 //*****************************************************************************
426 #define SAPH_PPG_PAUSE_POLARITY_HIGH PPOL_0
427 #define SAPH_PPG_PAUSE_POLARITY_LOW PPOL_1
428 
429 //*****************************************************************************
430 //
431 // The following are values that can be passed to the config parameter for
432 // functions: SAPH_configurePPG().
433 //
434 //*****************************************************************************
435 #define SAPH_PPG_PRESCALER_ENABLE PSCEN_1
436 #define SAPH_PPG_PRESCALER_DISABLE PSCEN_0
437 
438 //*****************************************************************************
439 //
440 // The following are values that can be passed to the config parameter for
441 // functions: SAPH_configurePPG().
442 //
443 //*****************************************************************************
444 #define SAPH_PPG_TRIGGER_SOURCE_SOFTWARE TRSEL_0
445 #define SAPH_PPG_TRIGGER_SOURCE_ASQ TRSEL_1
446 #define SAPH_PPG_TRIGGER_SOURCE_TIMER TRSEL_2
447 
448 //*****************************************************************************
449 //
450 // The following are values that can be passed to the config parameter for
451 // functions: SAPH_configurePPG().
452 //
453 //*****************************************************************************
454 #define SAPH_PPG_CHANNEL_0 PPGCHSEL_0
455 #define SAPH_PPG_CHANNEL_1 PPGCHSEL_1
456 
457 //*****************************************************************************
458 //
459 // The following are values that can be passed to the config parameter for
460 // functions: SAPH_configurePPG().
461 //
462 //*****************************************************************************
463 #define SAPH_PPG_PORT_CHARGED_BY_PPG PGSEL_0
464 #define SAPH_PPG_PORT_CHARGED_BY_ASEQ PGSEL_1
465 
466 //*****************************************************************************
467 //
468 // The following are values that can be passed to the config parameter for
469 // functions: SAPH_configureASQ().
470 //
471 //*****************************************************************************
472 #define SAPH_ASQ_ABORT_ON_ERROR_ENABLE ERABRT_1
473 #define SAPH_ASQ_ABORT_ON_ERROR_DISABLE ERABRT_0
474 
475 //*****************************************************************************
476 //
477 // The following are values that can be passed to the config parameter for
478 // functions: SAPH_configureASQ().
479 //
480 //*****************************************************************************
481 #define SAPH_ASQ_TRIGGER_SOURCE_SOFTWARE TRIGSEL__SWTRIG
482 #define SAPH_ASQ_TRIGGER_SOURCE_P_SEQUENCER TRIGSEL__PSQ
483 #define SAPH_ASQ_TRIGGER_SOURCE_TIMER TRIGSEL__TIMER
484 
485 //*****************************************************************************
486 //
487 // The following are values that can be passed to the config parameter for
488 // functions: SAPH_configureASQ().
489 //
490 //*****************************************************************************
491 #define SAPH_ASQ_CHANNEL_0 ASQCHSEL_0
492 #define SAPH_ASQ_CHANNEL_1 ASQCHSEL_1
493 
494 //*****************************************************************************
495 //
496 // The following are values that can be passed to the config parameter for
497 // functions: SAPH_configureASQ().
498 //
499 //*****************************************************************************
500 #define SAPH_ASQ_DIFFERENT_CHANNEL CHOWN_0
501 #define SAPH_ASQ_IDENTICAL_CHANNEL CHOWN_1
502 
503 //*****************************************************************************
504 //
505 // The following are values that can be passed to the config parameter for
506 // functions: SAPH_configureASQ().
507 //
508 //*****************************************************************************
509 #define SAPH_ASQ_STANDBY_INDICATION_POWEROFF STDBY__PWROFF
510 #define SAPH_ASQ_STANDBY_INDICATION_STANDBY STDBY__STDBY
511 
512 //*****************************************************************************
513 //
514 // The following are values that can be passed to the config parameter for
515 // functions: SAPH_configureASQ().
516 //
517 //*****************************************************************************
518 #define SAPH_ASQ_END_OF_SEQUENCE_OFF_DISABLE ESOFF_0
519 #define SAPH_ASQ_END_OF_SEQUENCE_OFF_ENABLE ESOFF_1
520 
521 //*****************************************************************************
522 //
523 // The following are values that can be passed to the config parameter for
524 // functions: SAPH_configureASQ().
525 //
526 //*****************************************************************************
527 #define SAPH_ASQ_EARLY_RECEIVE_BIAS_BY_TIMEMARK_C EARLYRB_0
528 #define SAPH_ASQ_EARLY_RECEIVE_BIAS_BY_TIMEMARK_A EARLYRB_1
529 
530 //*****************************************************************************
531 //
532 // The following are values that can be passed to the config parameter for
533 // functions: SAPH_configureASQ().
534 //
535 //*****************************************************************************
536 #define SAPH_ASQ_TOGGLE_CHANNEL_ENABLE CHTOG_1
537 #define SAPH_ASQ_TOGGLE_CHANNEL_DISABLE CHTOG_0
538 
539 //*****************************************************************************
540 //
541 // The following are values that can be passed to the config parameter for
542 // functions: SAPH_configureMode().
543 //
544 //*****************************************************************************
545 #define SAPH_LOW_POWER_BIAS_MODE_DISABLE LPBE_0
546 #define SAPH_LOW_POWER_BIAS_MODE_ENABLE LPBE_1
547 
548 //*****************************************************************************
549 //
550 // The following are values that can be passed to the config parameter for
551 // functions: SAPH_configureMode().
552 //
553 //*****************************************************************************
554 #define SAPH_CHARGE_PUMP_ON_SDHS_ASQ_REQUESTS_ONLY CPEO_0
555 #define SAPH_CHARGE_PUMP_ON_ALWAYS CPEO_1
556 
557 //*****************************************************************************
558 //
559 // The following are values that can be passed to the config parameter for
560 // functions: SAPH_configureMode().
561 //
562 //*****************************************************************************
563 #define SAPH_MCNF_500_OHMS_RXBIAS_450_OHMS_TXBIAS BIMP_0
564 #define SAPH_MCNF_900_OHMS_RXBIAS_850_OHMS_TXBIAS BIMP_1
565 #define SAPH_MCNF_1500_OHMS_RXBIAS_1450_OHMS_TXBIAS BIMP_2
566 #define SAPH_MCNF_2950_OHMS_RXBIAS_2900_OHMS_TXBIAS BIMP_3
567 
568 //*****************************************************************************
569 //
570 // Prototypes for the APIs.
571 //
572 //*****************************************************************************
573 
574 //*****************************************************************************
575 //
576 //! \brief Unlocks certain SAPH registers.
577 //!
578 //! Unlock SAPH registers with offset address of 0xF or higher. IIDX, MIS, RIS,
579 //! IMSC, ICR, ISR, DESCLO, and DESCHI registers are not affected and the
580 //! registers are not locked. Utilize this function if those registers need to
581 //! be modified.
582 //! \n\b NOTE: Most of the SAPH APIs will not work unless SAPH is unlocked.
583 //!
584 //! \param baseAddress is the base address of the SAPH module.
585 //!
586 //! \return None
587 //
588 //*****************************************************************************
589 extern void SAPH_unlock(uint16_t baseAddress);
590 
591 //*****************************************************************************
592 //
593 //! \brief Locks certain SAPH registers.
594 //!
595 //! Locks SAPH registers with offset address of 0xF or higher. IIDX, MIS, RIS,
596 //! IMSC, ICR, ISR, DESCLO, and DESCHI registers are not affected and the
597 //! registers are not locked. Utilize this function after SAPH_unlock()
598 //! after necessary registers have been modified.
599 //! SAPH registers, with the exception of the list in paragraph above, are
600 //! locked by default.
601 //!
602 //! \param baseAddress is the base address of the SAPH module.
603 //!
604 //! \return None
605 //
606 //*****************************************************************************
607 extern void SAPH_lock(uint16_t baseAddress);
608 
609 //*****************************************************************************
610 //
611 //! \brief Clears SAPH interrupts.
612 //!
613 //! The SAPH interrupt source is cleared, so that it no longer asserts. If the
614 //! interrupt is not enabled, the corresponding bit in the RIS register bit will
615 //! be cleared. If the interrupt is enabled, the corresponding bit both MIS and
616 //! RIS registers will be both cleared.
617 //!
618 //! \param baseAddress is the base address of the SAPH module.
619 //! \param mask is the logical OR of any of the following:
620 //! - \b SAPH_DATA_ERROR_INTERRUPT - SAPH data error interrupt
621 //! - \b SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT - SAPH TMF time out interrupt
622 //! - \b SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT - SAPH acquistion sequencer done interrupt
623 //! - \b SAPH_PING_TRANSMIT_DONE_INTERRUPT - SAPH ping transmit done interrupt
624 //!
625 //! \return None
626 //
627 //*****************************************************************************
628 extern void SAPH_clearInterrupt(uint16_t baseAddress, uint8_t mask);
629 
630 //*****************************************************************************
631 //
632 //! \brief Enables SAPH interrupts.
633 //!
634 //! Enables the indicated SAPH interrupt sources. Only the sources that are
635 //! enabled can be reflected to the processor interrupt; disabled sources have
636 //! no effect on the processor. <b>Does not clear interrupt flags.</b>
637 //!
638 //! \param baseAddress is the base address of the SAPH module.
639 //! \param mask is the logical OR of any of the following:
640 //! - \b SAPH_DATA_ERROR_INTERRUPT - SAPH data error interrupt
641 //! - \b SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT - SAPH TMF time out interrupt
642 //! - \b SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT - SAPH acquistion sequencer done interrupt
643 //! - \b SAPH_PING_TRANSMIT_DONE_INTERRUPT - SAPH ping transmit done interrupt
644 //!
645 //! \return None
646 //
647 //*****************************************************************************
648 extern void SAPH_enableInterrupt(uint16_t baseAddress, uint8_t mask);
649 
650 //*****************************************************************************
651 //
652 //! \brief Disables selected SAPH interrupt sources.
653 //!
654 //! Disables the indicated SAPH interrupt sources. Only the sources that are
655 //! enabled can be reflected to the processor interrupt; disabled sources have
656 //! no effect on the processor.
657 //!
658 //! \param baseAddress is the base address of the SAPH module.
659 //! \param mask is the logical OR of any of the following:
660 //! - \b SAPH_DATA_ERROR_INTERRUPT - SAPH data error interrupt
661 //! - \b SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT - SAPH TMF time out interrupt
662 //! - \b SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT - SAPH acquistion sequencer done interrupt
663 //! - \b SAPH_PING_TRANSMIT_DONE_INTERRUPT - SAPH ping transmit done interrupt
664 //!
665 //! \return None
666 //
667 //*****************************************************************************
668 extern void SAPH_disableInterrupt(uint16_t baseAddress, uint8_t mask);
669 
670 //*****************************************************************************
671 //
672 //! \brief Gets the current SAPH interrupt status.
673 //!
674 //! This returns the interrupt status for the SAPH module based on which flag
675 //! is passed.
676 //!
677 //! \param baseAddress is the base address of the SAPH module.
678 //! \param mask is the logical OR of any of the following:
679 //! - \b SAPH_DATA_ERROR_INTERRUPT - SAPH data error interrupt
680 //! - \b SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT - SAPH TMF time out interrupt
681 //! - \b SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT - SAPH acquistion sequencer done interrupt
682 //! - \b SAPH_PING_TRANSMIT_DONE_INTERRUPT - SAPH ping transmit done interrupt
683 //!
684 //! \return Logical OR of any of the following:
685 //! - \b SAPH_DATA_ERROR_INTERRUPT - SAPH data error interrupt
686 //! - \b SAPH_TIMEMARK_F_TIMEOUT_INTERRUPT - SAPH TMF time out interrupt
687 //! - \b SAPH_ACQUISITION_SEQUENCER_DONE_INTERRUPT - SAPH acquistion sequencer done interrupt
688 //! - \b SAPH_PING_TRANSMIT_DONE_INTERRUPT - SAPH ping transmit done interrupt
689 //
690 //*****************************************************************************
691 extern uint8_t SAPH_getInterruptStatus(uint16_t baseAddress, uint8_t mask);
692 
693 //*****************************************************************************
694 //
695 //! \brief Configures physical interface output and trim values.
696 //!
697 //! This configures SAPH physical interface:
698 //! - channel output
699 //! - channel related trim values
700 //!
701 //! \param baseAddress is the base address of the SAPH module.
702 //! \param config is the pointer to the struct for physical interface configuration.
703 //!
704 //! \return None
705 //!
706 //*****************************************************************************
707 extern void SAPH_configurePHY(uint16_t baseAddress, SAPH_configPHYParam *config);
708 
709 //*****************************************************************************
710 //
711 //! \brief Configures physical interface multiplexer.
712 //!
713 //! This configures SAPH physical interface mutliplexer for dummy load, channel
714 //! multiplexer source control and input channel selection.
715 //!
716 //! \param baseAddress is the base address of the SAPH module.
717 //! \param enableDummyLoad indicates whether to enable/disable dummy load on non-
718 //! selected multiplexer inputs.
719 //! Valid values are:
720 //! - \b SAPH_PHY_DUMMYLOAD_ENABLE
721 //! - \b SAPH_PHY_DUMMYLOAD_DISABLE [Default]
722 //! \param sourceControl selects which controls the multiplexer.
723 //! Valid values are:
724 //! - \b SAPH_PHY_SOURCE_CONTROLLED_BY_REGISTER [Default]
725 //! - \b SAPH_PHY_SOURCE_CONTROLLED_BY_ASQ
726 //! \param inputChannel selects input channel.
727 //! Valid values are:
728 //! - \b SAPH_PHY_INPUT_CHANNEL_0 [Default]
729 //! - \b SAPH_PHY_INPUT_CHANNEL_1
730 //!
731 //! \return None
732 //!
733 //*****************************************************************************
734 extern void SAPH_configurePHYMultiplexer(uint16_t baseAddress,
735  uint16_t enableDummyLoad, uint16_t sourceControl, uint16_t inputChannel);
736 
737 //*****************************************************************************
738 //
739 //! \brief Configures physical interface bias.
740 //!
741 //! This configures SAPH physical interface bias parameters:
742 //! - excitation bias switch
743 //! - PGA bias
744 //! - excitation bias
745 //! - charge pump
746 //! - line input leakage
747 //! - compensation
748 //! - ASQ bias
749 //!
750 //! \param baseAddress is the base address of the SAPH module.
751 //! \param config is the pointer to the struct for physical interface bias configuration.
752 //!
753 //! \return None
754 //!
755 //*****************************************************************************
756 extern void SAPH_configurePHYBias(uint16_t baseAddress,
757  SAPH_configPHYBiasParam *config);
758 
759 //*****************************************************************************
760 //
761 //! \brief Configures pulse generator count.
762 //!
763 //! This configures SAPH pulse generator count:
764 //! - high impedance
765 //! - pause level
766 //! - pause polarity
767 //! - stop pulse
768 //! - excitation pulse
769 //!
770 //! \param baseAddress is the base address of the SAPH module.
771 //! \param config is the pointer to the struct for pulse generator count configuration.
772 //!
773 //! \return None
774 //!
775 //*****************************************************************************
776 extern void SAPH_configurePPGCount(uint16_t baseAddress,
777  SAPH_configPPGCountParam *config);
778 
779 //*****************************************************************************
780 //
781 //! \brief Sets pulse generator low period.
782 //!
783 //! The low phase of period of generator pulses defines the length of low phase
784 //! of the pulses in units of high speed clocks. The minimum count is two regardless
785 //! of the value set in this register.
786 //!
787 //! \param baseAddress is the base address of the SAPH module.
788 //! \param period is the low period value to set.
789 //!
790 //! \return None
791 //!
792 //*****************************************************************************
793 extern void SAPH_setPPGLowPeriod(uint16_t baseAddress, uint16_t period);
794 
795 //*****************************************************************************
796 //
797 //! \brief Sets pulse generator high period.
798 //!
799 //! The high phase of period of generator pulses defines the length of high phase
800 //! of the pulses in units of high speed clocks. The minimum count is two regardless
801 //! of the value set in this register.
802 //!
803 //! \param baseAddress is the base address of the SAPH module.
804 //! \param period is the high period value to set.
805 //!
806 //! \return None
807 //!
808 //*****************************************************************************
809 extern void SAPH_setPPGHighPeriod(uint16_t baseAddress, uint16_t period);
810 
811 //*****************************************************************************
812 //
813 //! \brief Configures pulse generator.
814 //!
815 //! This configures SAPH pulse generator:
816 //! - trigger source
817 //! - prescaler enable
818 //! - channel select
819 //! - control select
820 //!
821 //! \param baseAddress is the base address of the SAPH module.
822 //! \param config is the pointer to the struct for pulse generator configuration.
823 //!
824 //! \return None
825 //!
826 //*****************************************************************************
827 extern void SAPH_configurePPG(uint16_t baseAddress, SAPH_configPPGParam *config);
828 
829 //*****************************************************************************
830 //
831 //! \brief Triggers pulse generator.
832 //!
833 //! This function triggers the pulse generator if SAPH_PPG_TRIGGER_SOURCE_SOFTWARE
834 //! is selected as the trigger sourcce.
835 //!
836 //! \param baseAddress is the base address of the SAPH module.
837 //!
838 //! \return None
839 //!
840 //*****************************************************************************
841 extern void SAPH_triggerPPG(uint16_t baseAddress);
842 
843 //*****************************************************************************
844 //
845 //! \brief Stops pulse generator.
846 //!
847 //! \param baseAddress is the base address of the SAPH module.
848 //!
849 //! \return None
850 //!
851 //*****************************************************************************
852 extern void SAPH_stopPPG(uint16_t baseAddress);
853 
854 //*****************************************************************************
855 //
856 //! \brief Configures acquisition sequencer.
857 //!
858 //! This configures SAPH acquisition sequencer:
859 //! - trigger source
860 //! - abort-on-error control
861 //! - channel select
862 //! - side of channel to receive
863 //! - standby indication
864 //! - OFF at end-of-sequence
865 //! - early receive bias
866 //! - channel toggle
867 //!
868 //! \param baseAddress is the base address of the SAPH module.
869 //! \param config is the pointer to the struct for acquisition sequencer configuration.
870 //!
871 //! \return None
872 //!
873 //*****************************************************************************
874 extern void SAPH_configureASQ(uint16_t baseAddress, SAPH_configASQParam *config);
875 
876 //*****************************************************************************
877 //
878 //! \brief Triggers acquisition sequencer.
879 //!
880 //! This function triggers the acquisition sequencer if SAPH_ASQ_TRIGGER_SOURCE_SOFTWARE
881 //! is selected as the trigger sourcce.
882 //!
883 //! \param baseAddress is the base address of the SAPH module.
884 //!
885 //! \return None
886 //!
887 //*****************************************************************************
888 extern void SAPH_triggerASQ(uint16_t baseAddress);
889 
890 //*****************************************************************************
891 //
892 //! \brief Stops acquisition sequencer.
893 //!
894 //! \param baseAddress is the base address of the SAPH module.
895 //!
896 //! \return None
897 //!
898 //*****************************************************************************
899 extern void SAPH_stopASQ(uint16_t baseAddress);
900 
901 //*****************************************************************************
902 //
903 //! \brief Gets ping counter of acquisition sequencer.
904 //!
905 //! This function returns ping counter which represents the number of acquistion
906 //! turns regardless if up/down direction is changed. The acquistion stops if
907 //! this count decrements from zero.
908 //!
909 //! \param baseAddress is the base address of the SAPH module.
910 //!
911 //! \return None
912 //!
913 //*****************************************************************************
914 extern uint8_t SAPH_getASQPingCounter(uint16_t baseAddress);
915 
916 //*****************************************************************************
917 //
918 //! \brief Configures acquisition sequencer ping parameters.
919 //!
920 //! This configures SAPH acquisition sequencer ping:
921 //! - output polarity
922 //! - pause level
923 //! - pause impedance
924 //!
925 //! \param baseAddress is the base address of the SAPH module.
926 //! \param config is the pointer to the struct for acquisition sequencer ping
927 //! configuration.
928 //!
929 //! \return None
930 //!
931 //*****************************************************************************
932 extern void SAPH_configureASQPing(uint16_t baseAddress,
933  SAPH_configASQPingParam *config);
934 
935 //*****************************************************************************
936 //
937 //! \brief Configures acquisition sequencer time base parameters.
938 //!
939 //! This configures SAPH acquisition sequencer time base parameters:
940 //! - power state
941 //! - prescaler start value
942 //!
943 //! \param baseAddress is the base address of the SAPH module.
944 //! \param prescalerStartValue is the ASQ prescaler start value.
945 //!
946 //! \return None
947 //!
948 //*****************************************************************************
949 extern void SAPH_configureASQTimeBase(uint16_t baseAddress,
950  uint16_t prescalerStartValue);
951 
952 //*****************************************************************************
953 //
954 //! \brief Starts acquisition timer.
955 //!
956 //! \param baseAddress is the base address of the SAPH module.
957 //!
958 //! \return None
959 //!
960 //*****************************************************************************
961 extern void SAPH_startASQTimer(uint16_t baseAddress);
962 
963 //*****************************************************************************
964 //
965 //! \brief Stops acquisition timer.
966 //!
967 //! \param baseAddress is the base address of the SAPH module.
968 //!
969 //! \return None
970 //!
971 //*****************************************************************************
972 extern void SAPH_stopASQTimer(uint16_t baseAddress);
973 
974 //*****************************************************************************
975 //
976 //! \brief Clears acquisition timer.
977 //!
978 //! \param baseAddress is the base address of the SAPH module.
979 //!
980 //! \return None
981 //!
982 //*****************************************************************************
983 extern void SAPH_clearASQTimer(uint16_t baseAddress);
984 
985 //*****************************************************************************
986 //
987 //! \brief Configures certain mode configuration parameters.
988 //!
989 //! This configures SAPH:
990 //! - bias generator impedance
991 //! - charge pump enable timing
992 //! - low power bias mode
993 //! \n\b NOTE: This will modify all elements of SAPH mode configuration register. If there are elements not specified in the config parameter, the register values will be cleared. There are other SAPH functions to modify these features individually.
994 //!
995 //! \param baseAddress is the base address of the SAPH module.
996 //! \param config is the pointer to the struct for mode configuration.
997 //!
998 //! \return None
999 //!
1000 //*****************************************************************************
1001 extern void SAPH_configureMode(uint16_t baseAddress,
1002  SAPH_configModeParam *config);
1003 
1004 //*****************************************************************************
1005 //
1006 //! \brief Enables low power bias operation mode.
1007 //!
1008 //! In this mode, the SAPH acquisition sequencer (ASQ) uses the CHxEBSW and PGABSW as auxiliary values to achieve faster channel setting on reactive input loads. The ASQ has full controls over the bias switch multiplexer.
1009 //! \n\b NOTE: Avoid changing operation mode unless PSQ is in OFF state. Otherwise, it can cause corrupt measurement results and irregular triggers of sub modules by ASQ.
1010 //!
1011 //! \param baseAddress is the base address of the SAPH module.
1012 //!
1013 //! \return None
1014 //!
1015 //*****************************************************************************
1016 extern void SAPH_enableLowPowerBiasMode(uint16_t baseAddress);
1017 
1018 //*****************************************************************************
1019 //
1020 //! \brief Disables low power bias operation mode.
1021 //!
1022 //! Enters manual bias mode and regular ASQ bias mode. In this configuration, the user controls by the ASQBSW has full control over TxBias and RxBias switches.
1023 //! \n\b NOTE: Avoid changing operation mode unless PSQ is in OFF state. Otherwise, it can cause corrupt measurement results and irregular triggers of sub modules by ASQ.
1024 //!
1025 //! \param baseAddress is the base address of the SAPH module.
1026 //!
1027 //! \return None
1028 //!
1029 //*****************************************************************************
1030 extern void SAPH_disableLowPowerBiasMode(uint16_t baseAddress);
1031 
1032 //*****************************************************************************
1033 //
1034 //! \brief Keeps charge pump of the input multiplexer always on.
1035 //!
1036 //! The charge pump of the input multiplexer is on regardless of SDHS and ASQ requests. This setting will override other USS charge pump settings elsewhere.
1037 //!
1038 //! \param baseAddress is the base address of the SAPH module.
1039 //!
1040 //! \return None
1041 //!
1042 //*****************************************************************************
1043 extern void SAPH_enableChargePumpAlways(uint16_t baseAddress);
1044 
1045 //*****************************************************************************
1046 //
1047 //! \brief Charge pump of input multiplexer is only turned on by data acquisition.
1048 //!
1049 //! The charge pump of the input multiplexer is turned on by SDHS and ASQ related requests only. This will also require the charge pump to be enabled explicitly through other methods [controlled by CPDA bit or SAPH_configurePHYBias()] in the SAPH module.
1050 //!
1051 //! \param baseAddress is the base address of the SAPH module.
1052 //!
1053 //! \return None
1054 //!
1055 //*****************************************************************************
1056 extern void SAPH_enableChargePumpOnAcquisitionOnly(uint16_t baseAddress);
1057 
1058 //*****************************************************************************
1059 //
1060 //! \brief Sets impedance of the buffers for RxBias and TxBias.
1061 //!
1062 //! While for resistive loads the lowest impedance shows the fastest settling; this is not the case for reactive loads.
1063 //!
1064 //! \param baseAddress is the base address of the SAPH module.
1065 //! \param biasImpedance sets bias impedance for RxBias and TxBias.
1066 //! Valid values are:
1067 //! - \b SAPH_MCNF_500_OHMS_RXBIAS_450_OHMS_TXBIAS
1068 //! - \b SAPH_MCNF_900_OHMS_RXBIAS_850_OHMS_TXBIAS
1069 //! - \b SAPH_MCNF_1500_OHMS_RXBIAS_1450_OHMS_TXBIAS [Default]
1070 //! - \b SAPH_MCNF_2950_OHMS_RXBIAS_2900_OHMS_TXBIAS
1071 //!
1072 //! \return None
1073 //!
1074 //*****************************************************************************
1075 extern void SAPH_setBiasGeneratorImpedance(uint16_t baseAddress, uint16_t biasImpedance);
1076 
1077 //*****************************************************************************
1078 //
1079 // Mark the end of the C bindings section for C++ compilers.
1080 //
1081 //*****************************************************************************
1082 #ifdef __cplusplus
1083 }
1084 #endif
1085 
1086 #endif
1087 #endif // __MSP430WARE_SAPH_H__
1088 
uint8_t SAPH_getASQPingCounter(uint16_t baseAddress)
Gets ping counter of acquisition sequencer.
Definition: saph.c:162
uint16_t abortOnError
Definition: saph.h:170
uint16_t enableChannelToggle
Definition: saph.h:206
uint16_t polarity
Sets ASQ ping counter for polarity.
Definition: saph.h:212
void SAPH_configurePPGCount(uint16_t baseAddress, SAPH_configPPGCountParam *config)
Configures pulse generator count.
Definition: saph.c:103
uint16_t lowPowerBiasMode
Definition: saph.h:225
uint16_t biasSwitchASQ
Definition: saph.h:112
uint16_t enableFullPull
Definition: saph.h:53
void SAPH_triggerPPG(uint16_t baseAddress)
Triggers pulse generator.
Definition: saph.c:131
void SAPH_clearInterrupt(uint16_t baseAddress, uint8_t mask)
Clears SAPH interrupts.
Definition: saph.c:31
uint16_t biasExcitation
Definition: saph.h:92
void SAPH_clearASQTimer(uint16_t baseAddress)
Clears acquisition timer.
Definition: saph.c:195
uint16_t endOfSequence
Definition: saph.h:196
void SAPH_disableLowPowerBiasMode(uint16_t baseAddress)
Disables low power bias operation mode.
Definition: saph.c:217
void SAPH_triggerASQ(uint16_t baseAddress)
Triggers acquisition sequencer.
Definition: saph.c:152
void SAPH_unlock(uint16_t baseAddress)
Unlocks certain SAPH registers.
Definition: saph.c:21
uint16_t channelSelect
Definition: saph.h:155
void SAPH_configurePHYMultiplexer(uint16_t baseAddress, uint16_t enableDummyLoad, uint16_t sourceControl, uint16_t inputChannel)
Configures physical interface multiplexer.
Definition: saph.c:81
void SAPH_configurePHYBias(uint16_t baseAddress, SAPH_configPHYBiasParam *config)
Configures physical interface bias.
Definition: saph.c:88
void SAPH_enableLowPowerBiasMode(uint16_t baseAddress)
Enables low power bias operation mode.
Definition: saph.c:212
void SAPH_configurePPG(uint16_t baseAddress, SAPH_configPPGParam *config)
Configures pulse generator.
Definition: saph.c:123
void SAPH_configureASQTimeBase(uint16_t baseAddress, uint16_t prescalerStartValue)
Configures acquisition sequencer time base parameters.
Definition: saph.c:179
uint8_t SAPH_getInterruptStatus(uint16_t baseAddress, uint8_t mask)
Gets the current SAPH interrupt status.
Definition: saph.c:46
void SAPH_configureMode(uint16_t baseAddress, SAPH_configModeParam *config)
Configures certain mode configuration parameters.
Definition: saph.c:200
void SAPH_configureASQPing(uint16_t baseAddress, SAPH_configASQPingParam *config)
Configures acquisition sequencer ping parameters.
Definition: saph.c:167
Definition: saph.h:115
uint16_t chargePump
Definition: saph.h:230
uint16_t enableChargePump
Definition: saph.h:97
void SAPH_startASQTimer(uint16_t baseAddress)
Starts acquisition timer.
Definition: saph.c:185
void SAPH_setPPGLowPeriod(uint16_t baseAddress, uint16_t period)
Sets pulse generator low period.
Definition: saph.c:111
uint16_t channelSelect
Definition: saph.h:181
uint16_t portSelect
Definition: saph.h:160
uint16_t biasSwitchPGA
Definition: saph.h:107
uint16_t outputFunction
Definition: saph.h:64
uint16_t pauseLevel
Sets ASQ ping counter for pause level.
Definition: saph.h:214
uint16_t stopPauseCount
Sets the stop pulse count.
Definition: saph.h:133
uint16_t triggerSource
Definition: saph.h:150
void SAPH_enableChargePumpAlways(uint16_t baseAddress)
Keeps charge pump of the input multiplexer always on.
Definition: saph.c:222
Definition: saph.h:209
void SAPH_stopASQTimer(uint16_t baseAddress)
Stops acquisition timer.
Definition: saph.c:190
uint16_t terminationTrim
Is the channel termination trim pattern.
Definition: saph.h:70
void SAPH_setPPGHighPeriod(uint16_t baseAddress, uint16_t period)
Sets pulse generator high period.
Definition: saph.c:117
uint16_t channel
Definition: saph.h:38
uint16_t pullDownTrim
Is the channel pull down trim pattern.
Definition: saph.h:68
void SAPH_configureASQ(uint16_t baseAddress, SAPH_configASQParam *config)
Configures acquisition sequencer.
Definition: saph.c:141
uint16_t standByIndication
Definition: saph.h:191
void SAPH_enableChargePumpOnAcquisitionOnly(uint16_t baseAddress)
Charge pump of input multiplexer is only turned on by data acquisition.
Definition: saph.c:227
uint16_t biasImpedance
Definition: saph.h:237
uint16_t highImpedance
Definition: saph.h:121
uint16_t pausePolarity
Definition: saph.h:131
uint16_t enableOutput
Definition: saph.h:48
Definition: saph.h:138
uint16_t biasPGA
Definition: saph.h:85
uint16_t outputValue
Definition: saph.h:43
Definition: saph.h:73
uint16_t triggerSource
Definition: saph.h:176
void SAPH_stopASQ(uint16_t baseAddress)
Stops acquisition sequencer.
Definition: saph.c:157
uint16_t excitationPulseCount
Sets the excitation pulse count.
Definition: saph.h:135
uint16_t earlyReceiveBias
Definition: saph.h:201
void SAPH_setBiasGeneratorImpedance(uint16_t baseAddress, uint16_t biasImpedance)
Sets impedance of the buffers for RxBias and TxBias.
Definition: saph.c:232
Definition: saph.h:33
void SAPH_enableInterrupt(uint16_t baseAddress, uint8_t mask)
Enables SAPH interrupts.
Definition: saph.c:36
uint16_t enableTermination
Definition: saph.h:58
Definition: saph.h:163
void SAPH_configurePHY(uint16_t baseAddress, SAPH_configPHYParam *config)
Configures physical interface output and trim values.
Definition: saph.c:51
uint16_t pauseHighImpedance
Sets ASQ ping counter for high impedance.
Definition: saph.h:216
void SAPH_lock(uint16_t baseAddress)
Locks certain SAPH registers.
Definition: saph.c:26
Definition: saph.h:219
void SAPH_disableInterrupt(uint16_t baseAddress, uint8_t mask)
Disables selected SAPH interrupt sources.
Definition: saph.c:41
void SAPH_stopPPG(uint16_t baseAddress)
Stops pulse generator.
Definition: saph.c:136
uint16_t pullUpTrim
Is the channel pull up trim pattern.
Definition: saph.h:66
uint16_t enableLeakageCompensation
Definition: saph.h:102
uint16_t pauseLevel
Definition: saph.h:126
uint16_t enablePrescaler
Definition: saph.h:144
uint16_t sideOfChannel
Definition: saph.h:186

Copyright 2020, Texas Instruments Incorporated