![Logo](AFBR-S50.ico) |
AFBR-S50 API Reference Manual
v1.6.5
AFBR-S50 Time-of-Flight Sensor SDK for Embedded Software
|
#if RUN_XTALK_CALIBRATION
#endif
{
return device;
}
{
do
{
do
{
}
HandleError(
status,
false,
"Waiting for measurement data ready (Argus_GetStatus) failed!");
}
{
print(
"%d; %4d.%3d s; Range: %5d mm; Amplitude: %4d LSB; Status: %d; Pow: %d mA; Adepth: %d; Ddepth: %d; Gain: %d LSB\n",
num,
}
{
const uint8_t a = (uint8_t)((value >> 24) & 0xFFU);
const uint8_t b = (uint8_t)((value >> 16) & 0xFFU);
const uint8_t c = (uint8_t)(value & 0xFFFFU);
print(
"\n##### AFBR-S50 API - Simple Example ###########################\n"
" API Version: v%d.%d.%d\n"
" Chip ID: %d\n"
" Module: %s\n"
"###############################################################\n\n",
a, b, c, id, m);
}
{
HAL_GPIO_WritePin(PWR1_GPIO_Port, PWR1_Pin, GPIO_PIN_RESET);
HAL_Delay(1);
do{
}
{
HAL_GPIO_WritePin(PWR1_GPIO_Port, PWR1_Pin, GPIO_PIN_SET);
}
{
HardwareInit();
#if RUN_XTALK_CALIBRATION
#endif // RUN_XTALK_CALIBRATION
for (;;)
{
uint8_t no_of_measurements = 3;
for (int n = 0; n < no_of_measurements; n++)
{
res_arr[n] = res;
}
Sleep(device);
for (int m=0;m<no_of_measurements;m++)
{
}
HAL_Delay(500);
WakeUp(device);
}
}
Provides an interactive crosstalk calibration CLI to the AFBR-S50 API.
status_t Argus_Init(argus_hnd_t *hnd, s2pi_slave_t spi_slave)
Initializes the device with default measurement mode.
argus_meas_frame_t Frame
Definition: argus_res.h:228
status_t Argus_EvaluateData(argus_hnd_t *hnd, argus_results_t *res)
Evaluates measurement data from the raw sensor readout data.
#define UQ10_6_ONE
Definition: fp_def.h:257
status_t S2PI_CaptureGpioControl(s2pi_slave_t slave)
Captures the S2PI pins for GPIO usage.
status_t print(const char *fmt_s,...)
A printf-like function to print formatted data to an debugging interface.
Definition: sci_log.c:106
@ S2PI_MISO
Definition: argus_s2pi.h:147
uq12_4_t OutputPower
Definition: argus_meas.h:118
@ S2PI_CLK
Definition: argus_s2pi.h:138
static void PrintDeviceInfo(argus_hnd_t *device)
Prints information about the initialized devices.
Definition: 01_simple_example.c:180
const char * Argus_GetModuleName(argus_hnd_t *hnd)
Gets the name string of the module.
static void TriggerMeasurementBlocking(argus_hnd_t *device, argus_results_t *res)
Triggers a measurement cycle in blocking manner.
Definition: 01_simple_example.c:102
void Argus_XtalkCalibration_CLI(argus_hnd_t *hnd)
Interactive Xtalk Calibration Procedure CLI.
Definition: argus_xtalk_cal_cli.c:162
uint8_t PixelGain
Definition: argus_meas.h:125
@ ERROR_ARGUS_STALLED
Definition: argus_status.h:231
status_t Argus_TriggerMeasurement(argus_hnd_t *hnd, argus_measurement_ready_callback_t cb)
Triggers a single measurement frame asynchronously.
@ S2PI_MOSI
Definition: argus_s2pi.h:144
struct argus_hnd_t argus_hnd_t
Definition: argus_def.h:320
This file is part of the AFBR-S50 API.
status_t Argus_SetConfigurationFrameTime(argus_hnd_t *hnd, uint32_t value)
Sets the frame time to a specified device.
#define SPI_SLAVE
Definition: examples.h:103
The measurement results data structure.
Definition: argus_res.h:215
status_t S2PI_WriteGpioPin(s2pi_slave_t slave, s2pi_pin_t pin, uint32_t value)
Writes the output for a specified SPI pin in GPIO mode.
#define UQ12_4_ONE
Definition: fp_def.h:237
uint32_t Argus_GetChipID(argus_hnd_t *hnd)
Gets the unique identification number of the chip.
void HandleError(status_t status, bool stop, char const *msg)
A callback function from the example code whenever an error occurs.
Definition: main.c:62
status_t Argus_RestoreDeviceState(argus_hnd_t *hnd)
Restores the device state with a re-write of all register values.
@ STATUS_BUSY
Definition: argus_status.h:89
uint32_t Argus_GetAPIVersion(void)
Gets the version number of the current API library.
int main(void)
Application entry point.
Definition: main.c:48
@ ERROR_FAIL
Definition: argus_status.h:95
int32_t s2pi_slave_t
Definition: argus_api.h:67
ltc_t TimeStamp
Definition: argus_res.h:225
uq12_4_t Amplitude
Definition: argus_res.h:81
@ STATUS_OK
Definition: argus_status.h:80
#define Q9_22_ONE
Definition: fp_def.h:547
@ DFM_MODE_OFF
Definition: argus_dfm.h:73
argus_hnd_t * Argus_CreateHandle(void)
Creates a new device data handle object to store all internal states.
uint32_t usec
Definition: time.h:77
status_t Argus_GetStatus(argus_hnd_t *hnd)
Checks the state of the device/driver.
@ S2PI_IRQ
Definition: argus_s2pi.h:150
AFBR-S50 CAN Demo Application.
@ STATUS_ARGUS_POWERLIMIT
Definition: argus_status.h:167
status_t S2PI_ReleaseGpioControl(s2pi_slave_t slave)
Releases the S2PI pins from GPIO usage and switches back to SPI mode.
argus_results_bin_t Bin
Definition: argus_res.h:269
uq10_6_t AnalogIntegrationDepth
Definition: argus_meas.h:110
status_t Status
Definition: argus_res.h:221
status_t Argus_SetConfigurationDFMMode(argus_hnd_t *hnd, argus_dfm_mode_t value)
Sets the Dual Frequency Mode (DFM) to a specified device.
static void PrintResults(argus_results_t const *res)
Prints measurement results via UART.
Definition: 01_simple_example.c:152
static status_t status
Definition: argus_xtalk_cal_cli.c:140
uint16_t DigitalIntegrationDepth
Definition: argus_meas.h:114
@ S2PI_CS
Definition: argus_s2pi.h:141
static argus_hnd_t * InitializeDevice(s2pi_slave_t slave)
Creates and initializes a new device instance.
Definition: 01_simple_example.c:60
int32_t status_t
Type used for all status and error return values.
Definition: argus_status.h:70
uint32_t sec
Definition: time.h:73
q9_22_t Range
Definition: argus_res.h:75