Task Resources

Overview

Algorithms

LCD Controller

Waveform generation for LCD, supporting any number of GPIO pins. For details, see the resource description .

lcdApplyNextState(); For details, see the procedure description .
lcdInit(idlePatternPos); For details, see the procedure description .
lcdPrepareNextState(nextPatternPos); For details, see the procedure description .

UART Emulator

Full-duplex UART interface emulator. For details, see the resource description .

uartEmulator(); For details, see the procedure description .

Development Tools

Run-Time Logging

Evaluate and optimize performance of Sensor Controller tasks at full speed. For details, see the resource description .

rtlCheckLogDone(done); For details, see the procedure description .
rtlGetLogMask(bvStructs); For details, see the procedure description .
rtlLogCancel(); For details, see the procedure description .
rtlLogStructs(bvStructs); For details, see the procedure description .
rtlWaitLogDoneUs(timeout); For details, see the procedure description .

General-Purpose I/O

Analog Open-Drain Pins

General-purpose analog + open-drain pins (can drive to GND, for cap. touch). For details, see the resource description .

gpioClearOutput(auxio); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Analog Open-Source Pins

General-purpose analog + open-source pins (can drive to VDDS). For details, see the resource description .

gpioClearOutput(auxio); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Analog Pins

General-purpose analog pins, for use with analog peripherals. For details, see the resource description .

Differential Output Pins

General-purpose digital differential output pin pairs. For details, see the resource description .

gpioDisableDiffOutput(#auxioP, #auxioN); For details, see the procedure description .
gpioGenDiffOutput(#auxioP, #auxioN, value); For details, see the procedure description .

Digital Input Pins

General-purpose digital input pins, for manual polling. For details, see the resource description .

gpioCfgMode(auxio, mode); For details, see the procedure description .
gpioClearOutput(auxio); For details, see the procedure description .
gpioDisableInputBuf(auxio); For details, see the procedure description .
gpioEnableInputBuf(auxio); For details, see the procedure description .
gpioGetInputValue(auxio; value); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Digital Open-Drain Pins

General-purpose digital open-drain pins (drive low). For details, see the resource description .

gpioCfgMode(auxio, mode); For details, see the procedure description .
gpioClearOutput(auxio); For details, see the procedure description .
gpioDisableInputBuf(auxio); For details, see the procedure description .
gpioEnableInputBuf(auxio); For details, see the procedure description .
gpioGenPulseTrain(#auxio, #polarity, #activeDuration, #inactiveDuration, count); For details, see the procedure description .
gpioGetInputValue(auxio; value); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Digital Open-Source Pins

General-purpose digital open-source pins (drive high). For details, see the resource description .

gpioCfgMode(auxio, mode); For details, see the procedure description .
gpioClearOutput(auxio); For details, see the procedure description .
gpioDisableInputBuf(auxio); For details, see the procedure description .
gpioEnableInputBuf(auxio); For details, see the procedure description .
gpioGenPulseTrain(#auxio, #polarity, #activeDuration, #inactiveDuration, count); For details, see the procedure description .
gpioGetInputValue(auxio; value); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Digital Output Pins

General-purpose digital output pins. For details, see the resource description .

gpioCfgMode(auxio, mode); For details, see the procedure description .
gpioClearOutput(auxio); For details, see the procedure description .
gpioDisableInputBuf(auxio); For details, see the procedure description .
gpioEnableInputBuf(auxio); For details, see the procedure description .
gpioGenPulseTrain(#auxio, #polarity, #activeDuration, #inactiveDuration, count); For details, see the procedure description .
gpioGetInputValue(auxio; value); For details, see the procedure description .
gpioSetOutput(auxio); For details, see the procedure description .
gpioToggleOutput(auxio); For details, see the procedure description .
gpioWaitForLevel(auxio, #level); For details, see the procedure description .
gpioWaitForLevelUs(auxio, #level, timeout); For details, see the procedure description .

Miscellaneous

AON Domain Functionality

Provides access to always-on domain system functionality. For details, see the resource description .

sysCheckActiveState(isActive); For details, see the procedure description .
sysCheckMcuPmSwitchDet(flag); For details, see the procedure description .
sysCheckVddrRechargeDet(flag); For details, see the procedure description .
sysClearMcuPmSwitchDet(); For details, see the procedure description .
sysDisableVddrRechargeDet(); For details, see the procedure description .
sysEnableVddrRechargeDet(); For details, see the procedure description .
sysForceAndWaitOnVddrRecharge(); For details, see the procedure description .
sysGetBatmonTemp(temperature); For details, see the procedure description .
sysGetBatmonVolt(voltage); For details, see the procedure description .
sysGetPwrSupplyState(isActive); For details, see the procedure description .
sysGetRtcSubsecValue(subsec); For details, see the procedure description .
sysGetRtcValue(sec, subsec); For details, see the procedure description .
sysGetVddrRechargeState(state); For details, see the procedure description .
sysWaitForActiveState(#waitForActive); For details, see the procedure description .
sysWaitForPwrSupplyState(#waitForActive); For details, see the procedure description .
sysWaitForVddrRechargeState(#waitForActive); For details, see the procedure description .

Delay Insertion

Insert timer delays or wait for events in task code. For details, see the resource description .

fwDelayInstrCycles(delay); For details, see the procedure description .
fwDelayUs(delay); For details, see the procedure description .
fwWaitForEvSignal(signal, #level); For details, see the procedure description .
fwWaitForEvSignalOrExitFlag(signal, #level, exitFlagVar, #exitValue); For details, see the procedure description .
fwWaitForEvSignalUs(signal, #level, timeout); For details, see the procedure description .
fwWaitForTwoEvSignals(#waitForBoth, signalA, #levelA, signalB, #levelB); For details, see the procedure description .

Signal Observation

Observation of AUX domain event bus signal on GPIO pin. For details, see the resource description .

obsConnectSignalToGpio(#auxio); For details, see the procedure description .
obsDisconnectSignalFromGpio(#auxio); For details, see the procedure description .
obsSelectSignal(signal); For details, see the procedure description .

Peripherals

ADC

Analog to digital converter. For details, see the resource description .

adcDisable(); For details, see the procedure description .
adcDisableInputScaling(); For details, see the procedure description .
adcEnableAsync(#refSource, #trigger); For details, see the procedure description .
adcEnableSync(#refSource, #sampleTime, #trigger); For details, see the procedure description .
adcFlushFifo(); For details, see the procedure description .
adcGenManualTrigger(); For details, see the procedure description .
adcGetFifoStatus(value); For details, see the procedure description .
adcPopFifo(value); For details, see the procedure description .
adcReadFifo(value); For details, see the procedure description .
adcSelectGpioInput(auxio); For details, see the procedure description .
adcSelectIntInput(intInput); For details, see the procedure description .

COMPA

Continuous time comparator. For details, see the resource description .

compaConnectCapTouchRefIntRes(); For details, see the procedure description .
compaDisable(); For details, see the procedure description .
compaDisconnectCapTouchRefIntRes(); For details, see the procedure description .
compaEnable(#pwrModeSupport); For details, see the procedure description .
compaEnableWithCapTouchRef(); For details, see the procedure description .
compaGetOutput(value); For details, see the procedure description .
compaSelectGpioInput(auxio); For details, see the procedure description .
compaSelectGpioRef(auxio); For details, see the procedure description .
compaSelectIntRef(intRef); For details, see the procedure description .

COMPB

Low-power clocked comparator. For details, see the resource description .

compbDisable(); For details, see the procedure description .
compbEnable(); For details, see the procedure description .
compbGetOutput(value); For details, see the procedure description .
compbSelectGpioInput(auxio); For details, see the procedure description .

ISRC

Current source (for cap. touch and temperature measurement). For details, see the resource description .

compaSelectGpioInput(auxio); For details, see the procedure description .
isrcClamp(auxio); For details, see the procedure description .
isrcDisable(); For details, see the procedure description .
isrcDisableTempMeasWithAdc(); For details, see the procedure description .
isrcEnable(current); For details, see the procedure description .
isrcEnableTempMeasWithAdc(resistor); For details, see the procedure description .
isrcRelease(auxio); For details, see the procedure description .

Pulse Counter

Counts rising edges on a digital input pin or the COMPA output. For details, see the resource description .

pcntDisable(); For details, see the procedure description .
pcntEnable(input); For details, see the procedure description .
pcntGetValue(value); For details, see the procedure description .

Reference DAC

Low-power clocked reference DAC for COMPA and COMPB. For details, see the resource description .

refdacChangeOutputValue(value); For details, see the procedure description .
refdacDisable(); For details, see the procedure description .
refdacEnable(#pwrModeSupport, #intRef); For details, see the procedure description .
refdacStartOutputOnCompaIn(value); For details, see the procedure description .
refdacStartOutputOnCompaRef(value); For details, see the procedure description .
refdacStartOutputOnCompbRef(value); For details, see the procedure description .
refdacStopOutput(); For details, see the procedure description .
refdacWaitForStableOutput(); For details, see the procedure description .

TDC

Time to digital converter. For details, see the resource description .

fwClearManualEv(); For details, see the procedure description .
fwPulseManualEv(); For details, see the procedure description .
fwSetManualEv(); For details, see the procedure description .
tdcArm(startType); For details, see the procedure description .
tdcCheckDoneEv(done); For details, see the procedure description .
tdcDisable(); For details, see the procedure description .
tdcDisablePrescaler(); For details, see the procedure description .
tdcEnable(); For details, see the procedure description .
tdcEnablePrescaler(#div, input); For details, see the procedure description .
tdcGetValue(valueH, valueL); For details, see the procedure description .
tdcSetCntSource(#cntSource); For details, see the procedure description .
tdcSetTriggers(#startTrigger, #stopTrigger, ignoredStopTriggerCount); For details, see the procedure description .
tdcWaitUs(timeout); For details, see the procedure description .

Timer 0

Execution timing and event counting, for use within task iterations. For details, see the resource description .

timer0CheckState(isRunning); For details, see the procedure description .
timer0GetValue(value); For details, see the procedure description .
timer0Start(#mode, mant, #exp); For details, see the procedure description .
timer0StartWithTickSrc(#tickSrc, #edge, #mode, mant, #exp); For details, see the procedure description .
timer0Stop(); For details, see the procedure description .
timer0Wait(); For details, see the procedure description .

Timer 1

Execution timing and event counting, for use within task iterations. For details, see the resource description .

timer1CheckState(isRunning); For details, see the procedure description .
timer1GetValue(value); For details, see the procedure description .
timer1Start(#mode, mant, #exp); For details, see the procedure description .
timer1StartWithTickSrc(#tickSrc, #edge, #mode, mant, #exp); For details, see the procedure description .
timer1Stop(); For details, see the procedure description .
timer1Wait(); For details, see the procedure description .

Timer 2

Asynchronous timer with 4 capture/compare channels. For details, see the resource description .

fwClearManualEv(); For details, see the procedure description .
fwPulseManualEv(); For details, see the procedure description .
fwSetManualEv(); For details, see the procedure description .
timer2CfgCcChannel(#chId, #modeAndAction, #bvEvIds); For details, see the procedure description .
timer2ClearEvent(#evId); For details, see the procedure description .
timer2ConnectEventToGpio(#evId, auxio); For details, see the procedure description .
timer2DisconnectEventFromGpio(auxio); For details, see the procedure description .
timer2GenNarrowPulse(); For details, see the procedure description .
timer2GetCaptValue(#chId; value); For details, see the procedure description .
timer2GetCounter(value); For details, see the procedure description .
timer2GetEvents(bvEvIds); For details, see the procedure description .
timer2GetPulseMeas(#chId; pulseWidth, pulseInterval); For details, see the procedure description .
timer2ModifyEvents(bvEvMod); For details, see the procedure description .
timer2ResetCcChannel(#chId); For details, see the procedure description .
timer2SetCaptSource(#chId, #source, #edge); For details, see the procedure description .
timer2SetClockSource(src); For details, see the procedure description .
timer2SetCounter(value); For details, see the procedure description .
timer2SetEvent(#evId); For details, see the procedure description .
timer2SetInitCmpValue(#chId, value); For details, see the procedure description .
timer2SetInitCounterTarget(value); For details, see the procedure description .
timer2SetNextCmpValue(#chId, value); For details, see the procedure description .
timer2SetNextCounterTarget(value); For details, see the procedure description .
timer2SetPrescaler(value); For details, see the procedure description .
timer2Start(#mode); For details, see the procedure description .
timer2StartWithTarget(#mode); For details, see the procedure description .
timer2Stop(); For details, see the procedure description .
timer2WaitForClockSource(); For details, see the procedure description .
timer2WaitOnEvent(#evId, #level); For details, see the procedure description .

Power Management

Dynamic Power Control

Change power mode dynamically from task code. For details, see the resource description .

pwrRequestActiveMode(); For details, see the procedure description .
pwrRequestAndWaitForActiveMode(); For details, see the procedure description .
pwrRequestAndWaitForLowPowerMode(); For details, see the procedure description .
pwrRequestLowPowerMode(); For details, see the procedure description .
pwrWaitForActiveMode(); For details, see the procedure description .
pwrWaitForLowPowerMode(); For details, see the procedure description .

Serial Interfaces

I2C Master

I2C master interface. For details, see the resource description .

i2cDeviceReadReg16LsbFirst(#i2cAddr, regAddr8; value16); For details, see the procedure description .
i2cDeviceReadReg16MsbFirst(#i2cAddr, regAddr8; value16); For details, see the procedure description .
i2cDeviceReadReg8(#i2cAddr, regAddr8; value8); For details, see the procedure description .
i2cDeviceWriteReg16LsbFirst(#i2cAddr, regAddr8, value16); For details, see the procedure description .
i2cDeviceWriteReg16MsbFirst(#i2cAddr, regAddr8, value16); For details, see the procedure description .
i2cDeviceWriteReg8(#i2cAddr, regAddr8, value8); For details, see the procedure description .
i2cRepeatedStart(); For details, see the procedure description .
i2cRxAck(rxValue); For details, see the procedure description .
i2cRxNack(rxValue); For details, see the procedure description .
i2cStart(); For details, see the procedure description .
i2cStop(); For details, see the procedure description .
i2cTx(txValue); For details, see the procedure description .

SPI Chip Select

SPI master chip select (CSN). For details, see the resource description .

spiBegin(#auxio); For details, see the procedure description .
spiEnd(#auxio); For details, see the procedure description .

SPI Data Transfer

SPI master clock and data (SCLK, MOSI and MISO). For details, see the resource description .

spiCfg(polPha, div); For details, see the procedure description .
spiClearMosi(); For details, see the procedure description .
spiRx16bit(rxValue); For details, see the procedure description .
spiRx8bit(rxValue); For details, see the procedure description .
spiSetMosi(); For details, see the procedure description .
spiTx16bit(txValue); For details, see the procedure description .
spiTx8bit(txValue); For details, see the procedure description .
spiTxRx16bit(txValue; rxValue); For details, see the procedure description .
spiTxRx8bit(txValue; rxValue); For details, see the procedure description .

System CPU Communication

Multi-Buffered Output Data Exchange

Seamless output buffer exchange with ALERT interrupt generation. For details, see the resource description .

fwCheckOutputBuffer(isAvailable); For details, see the procedure description .
fwSwitchOutputBuffer(); For details, see the procedure description .

Peripheral Sharing

Sharing of peripheral hardware modules with the System CPU. For details, see the resource description .

fwAcquirePeripheral(#peripheral); For details, see the procedure description .
fwReleasePeripheral(#peripheral); For details, see the procedure description .

System CPU Alert

Basic ALERT interrupt generation from task code. For details, see the resource description .

fwGenAlertInterrupt(); For details, see the procedure description .
fwGenQuickAlertInterrupt(); For details, see the procedure description .

Task Event Handling

COMPA Event Trigger

Use COMPA to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupCompaTrigger(#evIndex, #level, #type); For details, see the procedure description .

COMPB Event Trigger

Use COMPB to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupCompbTrigger(#evIndex, #level, #type); For details, see the procedure description .

GPIO Event Trigger

Use a single GPIO pin to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupGpioTrigger(#evIndex, #auxio, #level, #type); For details, see the procedure description .

System Event Trigger

Use system events to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupSystemTrigger(#evIndex, aonEvSignal); For details, see the procedure description .

Timer 0 Event Trigger

Use Timer 0 to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupTimer0CustomTrigger(#evIndex); For details, see the procedure description .
evhSetupTimer0Trigger(#evIndex, mant, #exp); For details, see the procedure description .

Timer 1 Event Trigger

Use Timer 1 to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupTimer1CustomTrigger(#evIndex); For details, see the procedure description .
evhSetupTimer1Trigger(#evIndex, mant, #exp); For details, see the procedure description .

Timer 2 Event Trigger

Use Timer 2 to trigger Event Handler Code. For details, see the resource description .

evhCancelTrigger(#evIndex); For details, see the procedure description .
evhGetActiveTrigger(bvEvent); For details, see the procedure description .
evhSetupTimer2Trigger(#evIndex, #timer2EvId, #level, #type); For details, see the procedure description .

Task Execution

RTC-Based Execution Scheduling

Use the Real-Time Clock to trigger the Execution Code. For details, see the resource description .

fwResumeRtcEvents(); For details, see the procedure description .
fwScheduleTask(delay); For details, see the procedure description .
fwSuspendRtcEvents(); For details, see the procedure description .

Timestamping

RTC Multi-Event Capture

RTC capture of every N’th rising edge on a GPIO pin. For details, see the resource description .

rtcmecCheckCaptEv(status); For details, see the procedure description .
rtcmecClearCaptEv(); For details, see the procedure description .
rtcmecInit(#auxio); For details, see the procedure description .
rtcmecSetPeriod(period); For details, see the procedure description .

Utilities

Accumulator-Based Math

40-bit accumulator supporting multiplication, addition and shift. For details, see the resource description .

accAdd16s(value); For details, see the procedure description .
accAdd16u(value); For details, see the procedure description .
accAdd32s(valueH, valueL); For details, see the procedure description .
accAdd32u(valueH, valueL); For details, see the procedure description .
accCountLeadingSignBits(value); For details, see the procedure description .
accCountLeadingZeroBits(value); For details, see the procedure description .
accGet16(accIndex; value); For details, see the procedure description .
accGet32(accIndex; valueH, valueL); For details, see the procedure description .
accGetAll(valueExt, valueH, valueL); For details, see the procedure description .
accGetExt(value); For details, see the procedure description .
accMac16s16s(a, b); For details, see the procedure description .
accMac16s16u(a, b); For details, see the procedure description .
accMac16u16s(a, b); For details, see the procedure description .
accMac16u16u(a, b); For details, see the procedure description .
accMul16s16s(a, b); For details, see the procedure description .
accMul16s16u(a, b); For details, see the procedure description .
accMul16u16s(a, b); For details, see the procedure description .
accMul16u16u(a, b); For details, see the procedure description .
accReset(); For details, see the procedure description .
accSet16s(value); For details, see the procedure description .
accSet16u(value); For details, see the procedure description .
accSet32s(valueH, valueL); For details, see the procedure description .
accSet32u(valueH, valueL); For details, see the procedure description .
accSetAll(valueExt, valueH, valueL); For details, see the procedure description .
accSetExt(value); For details, see the procedure description .
accShiftLeft(shiftCount); For details, see the procedure description .
accShiftRightArith(shiftCount); For details, see the procedure description .
accShiftRightLogic(shiftCount); For details, see the procedure description .

Math and Logic

Basic mathematical and logical operations. For details, see the resource description .

utilIncrAndSat(value, #sat; incrValue); For details, see the procedure description .
utilIncrAndWrap(value, #wrap; incrValue); For details, see the procedure description .
utilSwapEndianess(initialValue; swappedValue); For details, see the procedure description .